Python QQBot库的QQ聊天机器人


Posted in Python onJune 19, 2019

本文实例为大家分享了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

Python QQBot库的QQ聊天机器人

接下来编写自动回复的脚本

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/文件夹下

Python QQBot库的QQ聊天机器人

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

qq plug recall

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

Python QQBot库的QQ聊天机器人

测试可行

Python QQBot库的QQ聊天机器人

参数说明:

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

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
深入讲解Python函数中参数的使用及默认参数的陷阱
Mar 13 Python
Python优化技巧之利用ctypes提高执行速度
Sep 11 Python
python安装教程 Pycharm安装详细教程
May 02 Python
利用Python3分析sitemap.xml并抓取导出全站链接详解
Jul 04 Python
python机器学习实战之树回归详解
Dec 20 Python
python爬取淘宝商品销量信息
Nov 16 Python
浅谈Python基础—判断和循环
Mar 22 Python
Flask框架路由和视图用法实例分析
Nov 07 Python
解决springboot yml配置 logging.level 报错问题
Feb 21 Python
利用django创建一个简易的博客网站的示例
Sep 29 Python
python 如何将两个实数矩阵合并为一个复数矩阵
May 19 Python
python内置进制转换函数的操作
Jun 02 Python
python替换字符串中的子串图文步骤
Jun 19 #Python
python实现QQ批量登录功能
Jun 19 #Python
python里 super类的工作原理详解
Jun 19 #Python
Python创建或生成列表的操作方法
Jun 19 #Python
Django REST framework 分页的实现代码
Jun 19 #Python
python获取磁盘号下盘符步骤详解
Jun 19 #Python
对PyQt5基本窗口控件 QMainWindow的使用详解
Jun 19 #Python
You might like
php下利用curl判断远程文件是否存在的实现代码
2011/10/08 PHP
joomla jce editor 解决上传中文名文件失败问题
2013/06/09 PHP
php循环创建目录示例分享(php创建多级目录)
2014/03/04 PHP
php微信开发之自定义菜单完整流程
2016/10/08 PHP
深入浅出讲解:php的socket通信原理
2016/12/03 PHP
javascript 在网页中的运用(asp.net)
2009/11/23 Javascript
javaScript同意等待代码实现心得
2011/01/01 Javascript
Jquery 复选框取值兼容FF和IE8(测试有效)
2013/10/29 Javascript
JavaScript实现ASC转汉字及汉字转ASC的方法
2016/01/23 Javascript
省市联动效果的简单实现代码(推荐)
2016/06/06 Javascript
JQuery获取鼠标进入和离开容器的方向
2016/12/29 Javascript
vue项目实战总结篇
2018/02/11 Javascript
Vue.js 表单控件操作小结
2018/03/29 Javascript
微信小程序基于高德地图查找位置并显示文字
2019/10/30 Javascript
JS几个常用的函数和对象定义与用法示例
2020/01/15 Javascript
JavaScript实现字符串与HTML格式相互转换
2020/03/17 Javascript
js禁止查看源文件屏蔽Ctrl+u/s、F12、右键等兼容IE火狐chrome
2020/10/01 Javascript
vue-cli中实现响应式布局的方法
2021/03/02 Vue.js
wxPython使用系统剪切板的方法
2015/06/16 Python
详解Django缓存处理中Vary头部的使用
2015/07/24 Python
Python判断变量是否为Json格式的字符串示例
2017/05/03 Python
Pycharm远程调试openstack的方法
2017/11/21 Python
PyQt5每天必学之QSplitter实现窗口分隔
2018/04/19 Python
python2与python3中关于对NaN类型数据的判断和转换方法
2018/10/30 Python
使用Keras预训练好的模型进行目标类别预测详解
2020/06/27 Python
美国著名的团购网站:Woot
2016/08/02 全球购物
贝佳斯官方网站:Borghese
2020/05/08 全球购物
联谊会主持词
2014/03/26 职场文书
第二课堂活动总结
2014/05/07 职场文书
保护野生动物倡议书
2014/05/16 职场文书
六年级学生期末评语
2014/12/26 职场文书
张丽莉观后感
2015/06/16 职场文书
生日寿星公答谢词
2015/09/29 职场文书
医务人员岗前培训心得体会
2016/01/08 职场文书
解决golang在import自己的包报错的问题
2021/04/29 Golang
Spring Boot 排除某个类加载注入IOC的操作
2021/08/02 Java/Android