首页 > 编程 > Python > 正文

Python QQBot库的QQ聊天机器人

2019-11-25 12:42:38
字体:
来源:转载
供稿:网友

本文实例为大家分享了Python QQBot库的QQ聊天机器人的具体代码,供大家参考,具体内容如下

项目地址:https://github.com/pandolia/qqbot

1.安装

pip install qqbot

2.主动发出消息

from qqbot import _bot as bot# 登录QQbot.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 botdef 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 botimport requestsimport jsondef 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.textdef 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'])

接下来重新加载一下就可以了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表