qq发消息时键盘挡住了_python一个神奇的第三方库:QQ自动聊天

7c4ca46b41639c804c810d9386c88180.png

今天给大家分享一个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.4virtualenv_qqScripts>activate
 
(env_qq) c:Python3.6.4virtualenv_qqScripts>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/文件夹下

e2abdafe535a70ea7b0e1b540cda753e.png

保持之前的命令行窗口运行,再重新启动一个,执行

qq plug recall

其中“recall”时刚才我们放进去的py文件名称

93671fc97ab55dfa034d0c3dba80a7fe.png

测试可行

be18161a1102a06a335b1cf8e131c9da.png

参数说明:

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'])

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

本节分享结束,希望能够帮助到大家

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值