Python QQBot库的QQ聊天机器人
程序员文章站
2022-05-25 21:46:03
本文实例为大家分享了python qqbot库的qq聊天机器人的具体代码,供大家参考,具体内容如下
项目地址:
1.安装
pip install qqbot...
本文实例为大家分享了python qqbot库的qq聊天机器人的具体代码,供大家参考,具体内容如下
项目地址:
1.安装
pip install qqbot
2.主动发出消息
from qqbot import _bot as bot # 登录qq bot.login(['-q', '2816626661']) ''' buddy 获取指定名称/备注的好友 group 获取群 ''' buddy = bot.list('buddy', 'b.k') # 判断是佛存在这个好友 if buddy: b = buddy[0] # 发送消息 bot.sendto(b, 'nihao')
3.根据事件回复消息
首先我们需要在命令行启动qq
c:\python3.6.4\virtual\env_qq\scripts>activate (env_qq) c:\python3.6.4\virtual\env_qq\scripts>qqbot -q 2816626661
接下来编写自动回复的脚本
from qqbot import _bot as bot def onqqmessage(bot, contact, member, content): if content == '-hello': bot.sendto(contact, '你好,我是qq机器人') elif content == '-stop': bot.sendto(contact, 'qq机器人已关闭') bot.stop()
接下来将其放入 c:\用户/xxxx/.qqbot-tmp/plugins/文件夹下
保持之前的命令行窗口运行,再重新启动一个,执行
qq plug recall
其中“recall”时刚才我们放进去的py文件名称
测试可行
参数说明:
bot : qqbot 对象,提供 list/sendto/stop/restart 等接口、
contact : qcontact 对象,消息的发送者,具有 ctype/qq/uin/nick/mark/card/name 等属性
member : qcontact 对象,仅当本消息为 群消息或讨论组消息 时有效,代表实际发消息的成员
content : str 对象,消息内容
4.结合图灵机器人
在这里注册一个图灵机器人账号http://www.tuling123.com/
重新编写刚才的脚本
from qqbot import _bot as bot import requests import json def getreplay(message): url = 'http://openapi.tuling123.com/openapi/api/v2' data = { "perception": { "inputtext": { "text": message }, }, "userinfo": { "apikey": "你的apikey", "userid": "你的uesrid" } } response = requests.post(url=url, json=data) return response.text def onqqmessage(bot, contact, member, content): if content == '-hello': bot.sendto(contact, '你好,我是qq机器人') else: response = getreplay(content) bot.sendto(contact, json.loads(response)['results'][0]['values']['text'])
接下来重新加载一下就可以了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: ImageSpan添加点击事件
下一篇: Hexo 图片不显示