python一个神奇的第三方库:QQ自动聊天
2019-07-25 本文已影响6人
python兜兜
今天给大家分享一个QQ聊天机器人的开发 ,基于QQbot这个第三方库,感兴趣的童鞋可以来了解一下它是如何实现的,首先要去安装QQbot这个库
安装库
pip install qqbot
自动发送QQ消息
from qqbot import _bot as bot
# 登录QQ
bot.Login(['-q', '1022889648'])
'''
buddy 获取指定名称/备注的好友
group 获取群 看个人简介获取资料
'''
buddy = bot.List('buddy', 'b.K')
# 判断是佛存在这个好友
if buddy:
b = buddy[0]
# 发送消息
bot.SendTo(b, '你好!')
根据事件回复消息
首先我们需要在命令行启动qq
c:\Python3.6.4\virtual\env_qq\Scripts>activate
(env_qq) c:\Python3.6.4\virtual\env_qq\Scripts>qqbot -q 1022889648
接下来编写自动回复的脚本
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 对象,消息内容
结合图灵机器人
在这里注册一个图灵机器人账号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'])
接下来重新加载一下就可以了
本节分享结束,希望能够帮助到大家