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 相关文章推荐
把MySQL表结构映射为Python中的对象的教程
Apr 07 Python
浅谈scrapy 的基本命令介绍
Jun 13 Python
Python实现购物车功能的方法分析
Nov 10 Python
Python  unittest单元测试框架的使用
Sep 08 Python
Scrapy使用的基本流程与实例讲解
Oct 21 Python
Windows系统下PhantomJS的安装和基本用法
Oct 21 Python
python assert的用处示例详解
Apr 01 Python
用uWSGI和Nginx部署Flask项目的方法示例
May 05 Python
python实现五子棋人机对战游戏
Mar 25 Python
Python matplotlib绘制图形实例(包括点,曲线,注释和箭头)
Apr 17 Python
Python爬虫入门案例之爬取去哪儿旅游景点攻略以及可视化分析
Oct 16 Python
Python echarts实现数据可视化实例详解
Mar 03 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调用MySQL存储过程的方法集合(推荐)
2013/07/03 PHP
php的SimpleXML方法读写XML接口文件实例解析
2014/06/16 PHP
PHP安装memcached扩展笔记
2015/05/28 PHP
提交表单后 PHP获取提交内容的实现方法
2016/05/25 PHP
Yii核心验证器api详解
2016/11/23 PHP
简单的无缝滚动程序-仅几行代码
2007/05/08 Javascript
jQuery hover 延时器实现代码
2011/03/12 Javascript
javascript学习基础笔记之DOM对象操作
2011/11/03 Javascript
jQuery实现form表单reset按钮重置清空表单功能
2012/12/18 Javascript
详解javascript实现瀑布流列式布局
2016/01/29 Javascript
JavaScript从0开始构思表情插件
2016/07/26 Javascript
javascript实现根据函数名称字符串动态执行函数的方法示例
2016/12/28 Javascript
详解JS中的立即执行函数
2017/02/24 Javascript
Angular 4依赖注入学习教程之组件服务注入(二)
2017/06/04 Javascript
微信小程序中换行空格(多个空格)写法详解
2018/07/10 Javascript
Vue axios设置访问基础路径方法
2018/09/19 Javascript
Vue的H5页面唤起支付宝支付功能
2019/04/18 Javascript
深入浅析vue-cli@3.0 使用及配置说明
2019/05/08 Javascript
vue拖拽组件 vuedraggable API options实现盒子之间相互拖拽排序
2019/07/08 Javascript
Vue.extend 登录注册模态框的实现
2020/12/29 Vue.js
用TensorFlow实现多类支持向量机的示例代码
2018/04/28 Python
Python对列表的操作知识点详解
2019/08/20 Python
浅谈Pytorch torch.optim优化器个性化的使用
2020/02/20 Python
Html5移动端弹幕动画实现示例代码
2018/08/27 HTML / CSS
html5中svg canvas和图片之间相互转化思路代码
2014/01/24 HTML / CSS
通过canvas转换颜色为RGBA格式及性能问题的解决
2019/11/22 HTML / CSS
Spartoo芬兰:欧洲最大的网上鞋店
2016/08/28 全球购物
The North Face北面美国官网:美国著名户外品牌
2018/09/15 全球购物
LUISAVIAROMA德国官网:时尚奢侈品牌购物网站
2020/11/12 全球购物
linux面试题参考答案(3)
2012/09/13 面试题
《有趣的发现》教学反思
2014/04/15 职场文书
医德考评自我评价
2014/09/14 职场文书
政风行风评议整改方案
2014/09/15 职场文书
文案策划岗位个人自我评价(范文)
2019/08/08 职场文书
mybatis 获取更新记录的id
2022/05/20 Java/Android
Docker部署Mysql8的实现步骤
2022/07/07 Servers