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 04 Python
django传值给模板, 再用JS接收并进行操作的实例
May 28 Python
解决pandas中读取中文名称的csv文件报错的问题
Jul 04 Python
超简单使用Python换脸实例
Mar 27 Python
python验证身份证信息实例代码
May 06 Python
在python中将list分段并保存为array类型的方法
Jul 15 Python
Django 用户认证组件使用详解
Jul 23 Python
在Python3 numpy中mean和average的区别详解
Aug 24 Python
使用Python paramiko模块利用多线程实现ssh并发执行操作
Dec 05 Python
Python编程快速上手——Excel到CSV的转换程序案例分析
Feb 28 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧(自定义信号与槽)详解与实例
Mar 06 Python
解决Django中checkbox复选框的传值问题
Mar 31 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 中的一些经验积累
2006/10/09 PHP
php 设计模式之 单例模式
2008/12/19 PHP
一个PHP验证码类代码分享(已封装成类)
2011/07/17 PHP
js 键盘记录实现(兼容FireFox和IE)
2010/02/07 Javascript
jquery select下拉框操作的一些说明
2010/04/02 Javascript
为JavaScript提供睡眠功能(sleep) 自编译JS引擎
2010/08/16 Javascript
javascript权威指南 学习笔记之null和undefined
2011/09/25 Javascript
js相册效果代码(点击创建即可)
2013/04/16 Javascript
JQuery实现动态添加删除评论的方法
2015/05/18 Javascript
js密码强度检测
2016/01/07 Javascript
AngularJS ng-controller 指令简单实例
2016/08/01 Javascript
Three.js的使用及绘制基础3D图形详解
2017/04/27 Javascript
Vue.extend构造器的详解
2017/07/17 Javascript
vue-cli3中vue.config.js配置教程详解
2019/05/29 Javascript
element-ui和vue表单(对话框)验证提示语(残留)清除操作
2020/09/11 Javascript
使用Pyrex来扩展和加速Python程序的教程
2015/04/13 Python
Python写的一个简单监控系统
2015/06/19 Python
python机器学习理论与实战(二)决策树
2018/01/19 Python
python 实现在Excel末尾增加新行
2018/05/02 Python
python3中函数参数的四种简单用法
2018/07/09 Python
浅谈pandas筛选出表中满足另一个表所有条件的数据方法
2019/02/08 Python
Python warning警告出现的原因及忽略方法
2020/01/31 Python
用python介绍4种常用的单链表翻转的方法小结
2020/02/24 Python
英国在线潜水商店:Simply Scuba
2019/03/25 全球购物
凌阳科技股份有限公司C++程序员面试题笔试题
2014/11/20 面试题
JavaScript实现前端网页版倒计时
2021/03/24 Javascript
年终自我鉴定
2013/10/09 职场文书
工作分析计划书
2014/04/30 职场文书
婚礼秀策划方案
2014/05/19 职场文书
本科生就业推荐信
2014/05/19 职场文书
自愿离婚协议书范本
2015/01/26 职场文书
向雷锋同志学习倡议书
2015/04/27 职场文书
2015年妇女工作总结
2015/05/14 职场文书
傅雷家书读书笔记
2015/06/29 职场文书
2016年大学生社区服务活动总结
2016/04/06 职场文书
2019年最新版见习人员管理制度!
2019/07/08 职场文书