本文实例为大家分享了Python QQBot库的QQ聊天机器人的具体代码,供大家参考,具体内容如下
项目地址:https://github.com/pandolia/qqbot
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'])
接下来重新加载一下就可以了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。