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开发环境搭建
Dec 16 Python
python pandas dataframe 按列或者按行合并的方法
Apr 12 Python
python3+PyQt5+Qt Designer实现堆叠窗口部件
Apr 20 Python
详解python执行shell脚本创建用户及相关操作
Apr 11 Python
pyqt5、qtdesigner安装和环境设置教程
Sep 25 Python
基于python实现从尾到头打印链表
Nov 02 Python
安装Pycharm2019以及配置anconda教程的方法步骤
Nov 11 Python
Python用5行代码实现批量抠图的示例代码
Apr 14 Python
Python使用jupyter notebook查看ipynb文件过程解析
Jun 02 Python
Python+MySQL随机试卷及答案生成程序的示例代码
Feb 01 Python
Python plt 利用subplot 实现在一张画布同时画多张图
Feb 26 Python
python利用pandas分析学生期末成绩实例代码
Jul 09 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
ajax完美实现两个网页 分页功能的实例代码
2013/04/16 PHP
php 如何获取数组第一个值
2013/08/06 PHP
CodeIgniter实现从网站抓取图片并自动下载到文件夹里的方法
2015/06/17 PHP
php微信开发之批量生成带参数的二维码
2016/06/26 PHP
PHP读MYSQL中文乱码的快速解决方法
2016/10/01 PHP
php代码调试利器firephp安装与使用方法分析
2018/08/21 PHP
Valerio 发布了 Mootools
2006/09/23 Javascript
jscript之List Excel Color Values
2007/06/13 Javascript
DOM2非标准但却支持很好的几个属性小结
2012/01/21 Javascript
IE下JS读取xml文件示例代码
2013/08/05 Javascript
JavaScript中定义函数的三种方法
2015/03/12 Javascript
解决jQuery ajax请求在IE6中莫名中断的问题
2016/06/20 Javascript
node.js中使用Export和Import的方法
2017/09/18 Javascript
echarts学习笔记之箱线图的分析与绘制详解
2017/11/22 Javascript
解决easyui日期时间框ie的兼容的问题
2018/03/01 Javascript
一步步教会你微信小程序的登录鉴权
2018/04/09 Javascript
微信小程序如何刷新当前界面的实现方法
2019/06/07 Javascript
详细教你微信公众号正文页SVG交互开发技巧
2019/07/25 Javascript
微信小程序实现吸顶效果
2020/01/08 Javascript
微信小程序实现抖音播放效果的实例代码
2020/04/11 Javascript
Python的Django中django-userena组件的简单使用教程
2015/05/30 Python
Python实现单词翻译功能
2017/06/06 Python
理解python中生成器用法
2017/12/20 Python
微信跳一跳游戏python脚本
2020/04/01 Python
Python wxPython库消息对话框MessageDialog用法示例
2018/09/03 Python
Python 获取命令行参数内容及参数个数的实例
2019/12/20 Python
pycharm内无法import已安装的模块问题解决
2020/02/12 Python
15个应该掌握的Jupyter Notebook使用技巧(小结)
2020/09/23 Python
SQL Server的固定数据库角色都有哪些?对应的服务器权限有哪些?
2013/05/18 面试题
工商管理系学生的自我评价分享
2013/11/29 职场文书
长安大学毕业生自我鉴定
2014/01/17 职场文书
检察院起诉意见书
2015/05/20 职场文书
离婚案件答辩状
2015/05/22 职场文书
口袋妖怪冰系十大最强精灵,几何雪花排第七,第六类似北极熊
2022/03/18 日漫
nginx 配置指令之location使用详解
2022/05/25 Servers
使用scrapy实现增量式爬取方式
2022/06/21 Python