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中使用判断语句和循环的教程
Apr 25 Python
python 写入csv乱码问题解决方法
Oct 23 Python
微信 用脚本查看是否被微信好友删除
Oct 28 Python
python爬虫之BeautifulSoup 使用select方法详解
Oct 23 Python
Python+tkinter使用40行代码实现计算器功能
Jan 30 Python
Python闭包执行时值的传递方式实例分析
Jun 04 Python
Python生命游戏实现原理及过程解析(附源代码)
Aug 01 Python
ipad上运行python的方法步骤
Oct 12 Python
Django 解决阿里云部署同步数据库报错的问题
May 14 Python
pytorch实现ResNet结构的实例代码
May 17 Python
opencv检测动态物体的实现
Jul 21 Python
python语言中pandas字符串分割str.split()函数
Aug 05 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输出不同的心形图案
2016/04/22 PHP
LINUX下PHP程序实现WORD文件转化为PDF文件的方法
2016/05/13 PHP
PHP命名空间namespace用法实例分析
2016/09/27 PHP
php自定义时间转换函数示例
2016/12/07 PHP
JavaScript高级程序设计 读书笔记之八 Function类及闭包
2012/02/27 Javascript
推荐40款强大的 jQuery 导航插件和教程(上篇)
2012/09/14 Javascript
自定义右键属性覆盖浏览器默认右键行为实现代码
2013/02/02 Javascript
js动态生成指定行数的表格
2013/07/11 Javascript
将文本输入框内容加入表中的js代码
2013/08/18 Javascript
jQuery中ajax的load()与post()方法实例详解
2016/01/05 Javascript
jQuery实现的网格线绘制方法
2016/06/20 Javascript
Javascript删除指定元素节点的方法
2016/06/21 Javascript
jQuery中checkbox反复调用attr('checked', true/false)只有第一次生效的解决方法
2016/11/16 Javascript
js 判断一个数字是不是2的n次方幂的实例
2017/11/26 Javascript
vue实现简单的星级评分组件源码
2018/11/16 Javascript
小程序实现新用户判断并跳转激活的方法
2019/05/20 Javascript
js 下拉菜单点击旁边收起实现(踩坑记)
2019/09/29 Javascript
jQuery+ajax实现用户登录验证
2020/09/13 jQuery
python实现根据用户输入从电影网站获取影片信息的方法
2015/04/07 Python
解决出现Incorrect integer value: '' for column 'id' at row 1的问题
2017/10/29 Python
详解python中的装饰器
2018/07/10 Python
Python判断字符串是否xx开始或结尾的示例
2019/08/08 Python
python 发送get请求接口详解
2020/11/17 Python
python读取excel数据并且画图的实现示例
2021/02/08 Python
野兽派官方旗舰店:THE BEAST 野兽派
2016/08/05 全球购物
研修第一天随笔感言
2014/02/15 职场文书
《赠汪伦》教学反思
2014/04/12 职场文书
大专生找工作自荐书
2014/06/10 职场文书
四风剖析查摆对照检查材料思想汇报
2014/09/24 职场文书
党员专题组织生活会发言材料
2014/10/17 职场文书
致运动员赞词
2015/07/22 职场文书
2016大学军训通讯稿
2015/11/25 职场文书
2016北大自主招生自荐信模板
2016/01/28 职场文书
2019年最新证婚词精选集!
2019/06/28 职场文书
2019如何书写演讲稿?
2019/07/01 职场文书
创业计划书之蛋糕店
2019/08/29 职场文书