python开发酷q插件gui_Python酷Q应用开发
用Python开发酷Q机器人应用
前言酷Q机器人应用一般都是用易语言开发的,但是一方面不想再多学一门易语言,另一方面开发脚本还是用Python比较舒服。关于Python的酷Q的SDK我在论坛找了一下,目前用的比较多的有两个(现在应该是三个了,见文末),一个是基于http的none-bot,功能更强大,但上手有一定难度,所以最简单的我觉得还是慕晓飞大大的
本站更多关于酷Q的文章:点我
环境配置
首先需要按照文档的说明配置开发环境,这点文档讲的很详细,就不赘述了,需要注意的是:酷Q本身是32位程序,开发时只支持32位的Python。
还有一点就是app_id应该按照官方规范来,否则可能会出问题,
酷Q升级后开发环境的目录移动至酷Q的dev目录下,如果酷Q没有自动更正的话请手动更正。更正方法为,在dev目录下新建cn.muxiaofei.coolq_sdk_x文件夹,将原来的cn.muxiaofei.coolq_sdk_x.dll和cn.muxiaofei.coolq_sdk_x.json重命名为app.dll和app.json移动至新建的文件夹下,其他不变。
配置完环境,如果不出意外的话,应该就能在酷Q日志的DEBUG里看到输出的hello world。
编写程序接下来就是敲自己的代码了,这个SDK的所有事件处理和API调用都在CQPlusHandler.py文件的 MainHandler类中进行编写,关于事件和参数的说明在开发文档中都有说明,API可以通过输入self.api的代码提示进行查看,也可以转到一个_api.py的文件中查看,至于这些API函数和参数的意义基本上看名字就能猜到八九分了,具体使用方法需要自己去尝试。
新手需要注意的是这个CQPlusHandler.py程序是由酷Q软件自动执行的,不需要在Python的IDE里点运行,当然你点了也没用,如果setting里的DEBUG参数你没改的话,只要修改代码并保存,修改的代码就会实时生效。
然后需要说明的就是@和表情,这个需要使用CQ码,
举个例子,在CQPlusHandler.py文件中写入以下代码就能实现在群聊里复读并@发言的人的功能:# -*- coding:utf-8 -*-
import cqplus
class MainHandler(cqplus.CQPlusHandler):
def handle_event(self, event, params):
if event == "on_group_msg":
msg = '[CQ:at,qq=' + str(params['from_qq']) + ']' + params['msg']
self.api.send_group_msg(params['from_group'], msg)
案例然后下面是我根据需求给群友写的一个自助Roll游戏的插件,和论坛上我能找到的抽奖插件相比,这个插件的特点在于完全由qq消息进行命令,可以直接丢到服务器上就不用管了,另一个特点是可以同时进行多个Roll游戏活动而互不干扰,以下是一个使用案例。这个应用其实还有一些功能我想过但还没加进去,以后根据需要有时间再看看吧,我把我写的垃圾代码放在了GitHub上,希望可以给有需要的人一点有价值的参考:
已知问题
打包最后就是应用的打包,直接使用打包生成的cpk文件会报错,需要像开发应用一样配置好环境并把源程序也放进去,唯一的差别就在于可以不用进入酷Q的开发者模式,所以要丢到服务器上的话,还有一丢丢的麻烦。由于Python的SDK的特性,编写的插件就不能像论坛上别的插件一样只发布cpk文件即可,而且使用者还需配置环境,对于普通用户来说过于麻烦了,所以这个还是只适合开发者自己使用。
消息并发处理由于Python的GLI锁机制,本插件不支持并发处理。表现为有事件发生时,比如各种消息和定时器事件,插件便会调用一次CQPlusHandler.py进行事件处理,所以当上一次事件还未处理完时,下一个事件又紧接着发,这时便会发生内存报错。虽然报错了程序并不会崩溃,不过如果程序要处理网络请求一类的耗时任务,这个缺陷是致命的。要想避免这种报错,只在CQPlusHandler.py文件里下功夫(比如用多线程)应该是不行的,估计得从源码上想想办法才行。不过我的机器人不需要处理大量消息,消息处理的也很快,所以凑合用用也还行。
后来有大神重新写了个支持并发的
python开发酷q插件gui_Python酷Q应用开发相关推荐
- 如何用python写html的插件,使用python开发vim插件及心得分享
如何使vim下开发python调试更方便 如何用 Python 给 Vim 写插件 如何使 Vim 下开发 Python 调试更方便 怎么用python调用matlab? 打算用vim写Python ...
- python开发酷q插件_基于python和酷Q的QQ机器人开发实践(1)
基本框架 (1) 酷Q:目前最常用的QQ机器人软件(尤其是在smartQQ失效以后). (2) 酷Q HTTP插件:通过HTTP对酷Q的事件进行上报以及接收HTTP请求来调用酷Q的DLL接口,从而可以 ...
- python开发酷q插件gui_基于python和酷Q的QQ机器人开发实践(1)
基本框架 (1) 酷Q:目前最常用的QQ机器人软件(尤其是在smartQQ失效以后). (2) 酷Q HTTP插件:通过HTTP对酷Q的事件进行上报以及接收HTTP请求来调用酷Q的DLL接口,从而可以 ...
- 酷Q插件_SDK———入门与使用
1.这里使用的是易语言的SDK,所以请看不惯的人自行离开.{wymbf.} 1.2 这里不会直接给你工程,请用动手打代码,动脑思考. 1.3 不知道.不了解酷Q是干嘛的,请访问:https://cqp ...
- 酷q插件开发Java_如何使用Java开发QQ机器人 方法一
使用Java开发QQ机器人- CQ & HTTP API 使用库Q平台下的CQ HTTP API插件以及simple-robot核心标准库作为依赖. 此插件与框架的 简陋 简单介绍:文档处简介 ...
- 帮助你高效开发Ajax应用的超酷jQuery插件 - AjaxML
日期:2012-4-20 来源:GBin1.com 如果你使用jQuery进行Ajax开发的话,你一定要试试今天我们这里介绍的这一款jQuery插件 - AjaxML.它是一款能够帮助你提高ajax ...
- 我用 Python 写了一款炫酷音乐播放器,想听啥随便搜!
作者:Dragon少年 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/hhladminh ...
- IntelliJ IDEA(五) :酷炫插件系列
最近项目比较忙,很久没有更新IDEA系列了,今天介绍一下IDEA的一些炫酷的插件,IDEA强大的插件库,不仅能给我们带来一些开发的便捷,还能体现我们的与众不同. 1.插件的安装 打开setting文件 ...
- IDEA的一些炫酷的插件
最近项目比较忙,很久没有更新IDEA系列了,今天介绍一下IDEA的一些炫酷的插件,IDEA强大的插件库,不仅能给我们带来一些开发的便捷,还能体现我们的与众不同. 打开setting文件选择Plugin ...
- unity vr 粒子系统_Unity粒子系统插件,酷炫特效唾手可得
原标题:Unity粒子系统插件,酷炫特效唾手可得 随着全球使用Unity进行游戏或VR/AR开发的开发者越来越多,Asset Store资源商店也不断为大家提供着越来越丰富的资源.今天我们就为大家分享 ...
最新文章
- 存储过程和存储函数初步
- Ubuntu16.04LTS安装集成开发工具IDE: CodeBlocks 和Eclipse-cdt
- Python用urlib爬虫基础及格式入门
- oracle pipelined返回值函数 针对数据汇总统计 返回结果集方法
- 班级的每日作业和任务目标
- (转)淘淘商城系列——在业务逻辑中添加缓存
- 测试面试问道MySQL_Mysql精华总结,解决测试人员面试中碰到的一切Mysql问题(二)...
- android人物移动设计软件,实现在SurfaceView上移动游戏人物
- 95年计算机专业的电脑,1995年Windows 95系统正式发行,开创互联网新时代
- 计算机子网掩码作用,子网掩码计算器有什么用,有哪些优势
- linux检测不到声卡设备,解决 Deepin V20、Ubuntu 20.04、Linux Mint 20 声卡无法识别导致的没有声音...
- 细胞自动机_细胞自动机和音乐
- 2:STM32CubeMX配置STM32F103C8T6驱动-TIM1配置
- 物流快递发货单接口API代码-快递100API
- 播放视频无声音,视频编码来解决
- Vue-vue-cli的安装
- 中科蓝汛------DUT模式的使用与五击检测
- 【职场 菜鸟→老鸟】你应该知道的一些规则
- LS-DYNA模拟炸药在无限空域中的爆炸
- matlab 植物生长算法,基于模拟植物生长的BP神经网络学习算法研究