QQ机器人

=Start=

缘由:

整理一下最近做的QQ机器人相关的资料,方便需要的同学参考。

正文:

参考解答:
1、酷Q

以前:基于 SmartQQ 协议(2019年1月3日该协议已废弃);
现在:基于 手机QQ 协议;

以前的很多QQ机器人都是通过 WebQQ(SmartQQ协议) 和QQ进行的交互(在GitHub上可以搜到很多),但当2019年1月3日该协议废弃之后,现在还可用的基本都是基于酷Q来实现的QQ机器人。

酷Q 扮演着「无头 QQ 客户端」的角色,它进行实际的QQ消息、通知、请求的接收和发送,更多功能需要在它的基础上安装“应用/插件”来实现。接下来我们介绍一个简单易用的酷Q插件。

2、CoolQ HTTP API 插件

此插件通过 HTTP 或 WebSocket 对酷 Q 的事件进行上报以及接收请求来调用酷 Q 的 DLL 接口,从而可以使用其它语言编写酷 Q 插件。支持 Windows 7 和 Windows Server 2008 及更新版本,也可以运行在 Wine、Docker。

该插件起到的主要是接收、解析、转发QQ消息的作用。

3、简单使用样例

情形一:Windows系统

①下载——去「[发布]酷Q Air」页面下载酷Q Air;

②解压——下载完请解压后再从解压出来的文件中打开主程序,请不要直接从解压软件中打开。

③登录QQ——初次使用时软件会下载需要的程序文件,更新完成后,AIR版会直接进入登录界面,PRO版会进入提示授权界面,如果你已经有授权码,复制后粘贴到授权栏就可以进入登录界面了。

安装CoolQ HTTP API 插件——先到 Releases 页面下载最新的 cpk 文件放到 酷Q 的 app 文件夹;(在登录成功后会看到你机器人的头像)右键单击该头像以显示酷Q的主菜单,然后在其中的「应用管理」处可以在此进行应用的管理,启用对应的插件即可。

注意!如果 酷Q 启动时报错说插件加载失败,或者系统弹窗提示缺少 DLL 文件,则需要安装 VC++ 2017 运行库一定要装 x86 也就是 32 位版本!),如果你的系统是 Windows 7 或 Windows Server 2008、或者安装 VC++ 2017 运行库之后仍然加载失败,则还需要安装 通用 C 运行库更新,在这个链接里选择你系统对应的版本下载安装即可。如果此时还加载失败,请尝试重启系统。

接收/发送QQ消息——在启用插件后,它将开启一个 HTTP 服务器来接收请求,默认监听 0.0.0.0:5700,首次启用会生成一个默认配置文件,在 酷Q 的 data\app\io.github.richardchien.coolqhttpapi\config 文件夹中,文件名为 <user_id>.json<user_id> 为登录的 QQ 号),使用 JSON 格式填写。关于配置项的说明,见 配置

  • 接收。酷Q 收到的消息、事件会被 POST 到配置文件中指定的 post_url,为空则不上报。
  • 发送。通过 http://192.168.1.123:5700/ 即可调用 酷Q 的函数,例如 http://192.168.1.123:5700/send_private_msg?user_id=123456&message=你好,注意这里的 192.168.1.123 要换成你自己电脑的 IP,如果在本地跑,可以用 127.0.0.1user_id 也要换成你想要发送到的 QQ 号。具体的 API 列表见 API 描述。如果需要使用 HTTPS 来访问,见 HTTPS

情形二:Linux/Mac系统

因为酷Q是Windows上的一个应用,所以可以在Windows系统上运行会比较简单直接。但借助于 Docker 我们也可以在大部分操作系统下使用最新版本的 酷Q 。(不过要注意的是:由于 wine 技术原理为 Windows 系统,实现与原生系统尚有差距,部分应用运行或有兼容性问题。

①先安装docker

②在安装 docker 后,在命令行中键入以下命令下载 酷Q Docker 镜像:

下载后,在任意目录创建一个空文件夹,用于持久化存放 酷Q 数据:

然后运行 酷Q 镜像:
docker run -ti –name=coolq -d -p 8080:9000 -p 5700:5700-v /root/coolq-data:/home/user/coolq -e VNC_PASSWD=12345678 -e COOLQ_ACCOUNT=123456 coolq/wine-coolq

其中部分参数根据自己的需求替换,参见下表:

参数含义参数示例
远程监听端口8080
数据存放位置/root/coolq-data
远程访问密码12345678
机器人帐号123456

运行如果没有报错,则说明已启动成功。此时,在浏览器中访问 http://你的服务器IP:你的端口 即可看到远程操作登录页面,输入密码,即可看到 酷Q Air 的登录界面啦。 在登录后,右键点击悬浮窗 -> 昵称 -> 勾选「自动登录」,即可保证 酷Q 能自动登录。 

【查看运行状况】

【启动/停止服务】

③安装CoolQ HTTP API 插件 ④接收/发送QQ消息  在本地起一个简单的HTTP Server,监听在配置文件中设置的post_url地址,就可以在本地查看QQ收到的消息了。一个简单的Python Flask HTTP Server如下: 

参考链接:

=END=

声明: 除非注明,ixyzero.com文章均为原创,转载请以链接形式标明本文地址,谢谢!
https://ixyzero.com/blog/archives/4463.html

《QQ机器人》上有4条评论

  1. 丢失msvcp140.dll,msvcp110.dll问题解决
    https://blog.csdn.net/lhh08hasee/article/details/79270949

    windows 2008 无法启动此程序 因为丢失 msvcp140.dll

    所有msvcp类文件都是微软VC++运行库的文件,140版本号代表是VC++2015的文件,缺少这个就安装VC++2015一般即可解决;

    如果是32位程序出现这个提示就安装x86版VC++2015,64位程序就安装x64版;
    安装哪个版本跟你的系统是否64位版并没有关系!是要看调用VC++的那个程序本身是32位还是64位!比如64位的系统安装了32位的游戏,就需要相应安装32位的VC++。

    如果不知道运行的程序是32位还是64位可以两个版本都装,不影响。

    Visual C++ Redistributable for Visual Studio 2015
    https://www.microsoft.com/en-US/download/details.aspx?id=48145
    https://www.microsoft.com/zh-cn/download/details.aspx?id=48145

    最新Apache安装丢失VCRUNTIME140.DLL的解决办法
    https://my.oschina.net/chinacion/blog/647641

  2. A complete and graceful API for Wechat. 微信个人号接口、微信机器人及命令行微信,三十行即可自定义个人号机器人。
    https://github.com/littlecodersh/ItChat

    Python网页微信API
    https://github.com/liuwons/wxBot

    微信公共帐号自动回复机器人 A Node.js robot for wechat.
    https://github.com/node-webot/weixin-robot

    基于 php 7 的 web 微信机器人(The best wechat robot base on web api!)
    https://github.com/Hanson/vbot
    http://create.hanc.cc/vbot/

发表评论

电子邮件地址不会被公开。 必填项已用*标注