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 初始化多维数组代码
Sep 06 Python
python通过pil模块将raw图片转换成png图片的方法
Mar 16 Python
初步解析Python中的yield函数的用法
Apr 03 Python
Python获取当前路径实现代码
May 08 Python
python中实现指定时间调用函数示例代码
Sep 08 Python
Python中顺序表的实现简单代码分享
Jan 09 Python
python如何解析配置文件并应用到项目中
Jun 27 Python
对Python3中列表乘以某一个数的示例详解
Jul 20 Python
Python中正反斜杠(‘/’和‘\’)的意义与用法
Aug 12 Python
Python实现线性插值和三次样条插值的示例代码
Nov 13 Python
将自己的数据集制作成TFRecord格式教程
Feb 17 Python
python-图片流传输的思路及示例(url转换二维码)
Dec 21 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实现微信企业付款到个人零钱功能
2018/10/09 PHP
JavaScript学习笔记(十七)js 优化
2010/02/04 Javascript
js鼠标点击事件在各个浏览器中的写法及Event对象属性介绍
2013/01/24 Javascript
jQuery fadeTo方法调整图片的透明度使用介绍
2013/05/06 Javascript
jquery实现的一个导航滚动效果具体代码
2013/05/27 Javascript
网页中表单按回车就自动提交的问题的解决方案
2014/11/03 Javascript
使用jquery 简单实现下拉菜单
2015/01/14 Javascript
JavaScript控制table某列不显示的方法
2015/03/16 Javascript
基于JavaScript实现移动端点击图片查看大图点击大图隐藏
2015/11/04 Javascript
Vuex2.0+Vue2.0构建备忘录应用实践
2016/11/30 Javascript
JavaScript提高加载和执行效率的方法
2017/02/03 Javascript
Vue.js 单页面多路由区域操作的实例详解
2017/07/17 Javascript
vue中的非父子间的通讯问题简单的实例代码
2017/07/19 Javascript
tangram.js库实现js类的方式实例分析
2018/01/06 Javascript
解决淘宝cnpm 安装后cnpm不是内部或外部命令的问题
2018/05/17 Javascript
微信小程序如何使用云开发
2019/05/17 Javascript
浅谈pyhton学习中出现的各种问题(新手必看)
2017/05/17 Python
Python实现的爬虫刷回复功能示例
2018/06/07 Python
django缓存配置的几种方法详解
2018/07/16 Python
Python 判断奇数偶数的方法
2018/12/20 Python
python 实现将txt文件多行合并为一行并将中间的空格去掉方法
2018/12/20 Python
Pytorch 实现权重初始化
2019/12/31 Python
Python单元测试模块doctest的具体使用
2020/02/10 Python
Python日期格式和字符串格式相互转换的方法
2020/02/18 Python
HTML5单选框、复选框、下拉菜单、文本域的实现代码
2020/12/01 HTML / CSS
丝芙兰美国官网:SEPHORA美国
2016/08/03 全球购物
蒂芙尼澳大利亚官方网站:Tiffany&Co. Australia
2017/08/27 全球购物
如何让Java程序执行效率更高
2014/06/25 面试题
SQL面试题
2013/04/30 面试题
调解协议书
2014/04/16 职场文书
投资协议书范本
2014/04/21 职场文书
工会文体活动总结
2015/05/07 职场文书
幼儿园开学家长寄语(2015秋季)
2015/05/27 职场文书
《角的度量》教学反思
2016/02/18 职场文书
导游词之河姆渡遗址博物馆
2019/10/10 职场文书
Ajax请求超时与网络异常处理图文详解
2021/05/23 Javascript