利用python + qqbot + 聚合数据api 实现qq智能聊天机器人
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用python + qqbot + 聚合数据api 实现qq智能聊天机器人相关的知识,希望对你有一定的参考价值。
参考技术A from qqbot import QQBotSlot as qqbotslot,RunBotfrom random import randint
@qqbotslot
def onQQMessage(bot, contact, member, content):
#在这里过滤过来的输入, content的内容是监听qq上所有的输入
# 当群里有人@你的时候 传入过来的会被转化为[@ME]
# 所以使用 @ME 来过滤其他人在群里面at你
if '@ME' in content:
#四个参数的详细
#bot : QQBot 对象,提供 List/SendTo/Stop/Restart 四个接口,详见本文档第五节
#contact : QContact 对象,消息的发送者,具有 ctype/qq/uin/nick/mark/card/name 属性,这些属性都是 str 对象
#member : QContact 对象,仅当本消息为 群或讨论组 消息时有效,代表实际发消息的成员
#content : str 对象,消息内容
bot.SendTo(contact,'@'+ member.name+ " 哈哈 ")
#这里是因为部分群里面的at无法转化为[@ME]所以自己过滤at自己的内容
elif '@' in content and '光' in content:
bot.SendTo(contact,'@'+ member.name+ " 哈哈 ")
RunBot()```
Python3.6 Linux下配置 QQBot 教程
qqbot 是一个用 python 实现的、基于腾讯 SmartQQ 协议的 QQ 机器人,可运行在 Linux, Windows 和 Mac OSX 平台下。
使用 pip3(我这边是pip3,这个根据你自己的环境来选择)安装 QQBot 扩展
1 pip3 install qqbot
安装成功后,启动 QQBot 服务
如果启动 QQBot 遇到 No module named \'_sqlite3\' 错误,需要手动安装 sqlite-devel 模块
1 yum install sqlite-devel
然后回到你解压的 Python3.6 的安装包目录下,重新编译安装 Python3.6
1 ./configure 2 3 make 4 5 make install
这样,就能正常启动 QQBot 服务了,由于是在 Linux 中,所以启动 QQBot 的时候,授权二维码打不开,我试了 eog 扩展还是不行,最后我不得已使用了了复制二维码到 80 端口指定目录,然后通过 IP 地址访问服务器 80 窗口图片所在的目录,成功扫描授权。
我的复制步骤下图中红色框中的路径就是这次启动 qqbot 时,生成的临时授权二维码图片的路径。
我们将这路径下的图片复制到我们的网站根目录中,我的网站目录是 /home/wwwroot/default/ ,所以我们可以通过 Linux 的 cp 命令来复制文件:
1 cp /root/.qqbot-tmp/17f5b4e5f91b40449561aefe0ac71c13.png /home/wwwroot/default/
最后我们切换到我们复制的目录底下查看是否复制成功:
很好,我们已经看到了我们的图片复制过去了,现在我们在浏览器中输入:http:// 你的ip(或者域名)/ 你的网站目录(我这是两级目录,一级目录可以省略)/ 二维码图片名称(如:17f5b4e5f91b40449561aefe0ac71c13.png),结果如下:
这个方法的前提是:你需要开启你服务器的80端口的访问权限,并且指定你80端口访问的文件目录路径,我使用的是 PHP+nginx 搭配的 web 服务器,这样打开了图片之后,我们就能通过手机的 qq 扫描授权二维码进行授权登录了:
以上 QQBot 服务就已经启动成功了。
新建另一个窗口,控制 qq 机器人操作,先执行 qq help 命令
1 qq help
现在我们已经将 Python3.6 的 QQBot 安装完成。
下节我们将来操作这些命令。
参考资料:
git 项目地址:https://github.com/pandolia/qqbot/
以上是关于利用python + qqbot + 聚合数据api 实现qq智能聊天机器人的主要内容,如果未能解决你的问题,请参考以下文章
基于python使用qqbot接入qq做一个简单的文字消息自动回复
利用Python的几行代码开发一个QQ机器人!小白也能快速上手的案例