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自定义函数的创建、调用和函数的参数详解
Mar 11 Python
Python中使用异常处理来判断运行的操作系统平台方法
Jan 22 Python
介绍Python的Django框架中的QuerySets
Apr 20 Python
以windows service方式运行Python程序的方法
Jun 03 Python
python+matplotlib绘制简单的海豚(顶点和节点的操作)
Jan 02 Python
python求最大公约数和最小公倍数的简单方法
Feb 13 Python
Python try except异常捕获机制原理解析
Apr 18 Python
django中嵌套的try-except实例
May 21 Python
Python二元算术运算常用方法解析
Sep 15 Python
浅谈matplotlib默认字体设置探索
Feb 03 Python
python推导式的使用方法实例
Feb 28 Python
python实现大文本文件分割成多个小文件
Apr 20 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中cookies使用指南
2007/03/16 PHP
PHP的switch判断语句的“高级”用法详解
2014/10/01 PHP
PHP面向对象精要总结
2014/11/07 PHP
PHP超全局数组(Superglobals)介绍
2015/07/01 PHP
使用Jquery来实现可以输入值的下拉选单 雏型
2011/12/06 Javascript
JavaScript中的onerror事件概述及使用
2013/04/01 Javascript
基于jquery实现拆分姓名的方法(纯JS版)
2013/05/08 Javascript
jquery队列queue与原生模仿其实现方法分享
2014/03/25 Javascript
js打造数组转json函数
2015/01/14 Javascript
动态加载jQuery的方法
2015/06/16 Javascript
Extjs4.0 ComboBox如何实现三级联动
2016/05/11 Javascript
简单的js表格操作
2016/09/24 Javascript
js学习笔记之事件处理模型
2016/10/31 Javascript
jQuery图片拖动组件Dropzone用法示例
2017/01/17 Javascript
Bootstrap表单制作代码
2017/03/17 Javascript
微信小程序实现文件预览
2020/10/22 Javascript
Python的ORM框架SQLAlchemy入门教程
2014/04/28 Python
Python读写配置文件的方法
2015/06/03 Python
解决Python中字符串和数字拼接报错的方法
2016/10/23 Python
对python numpy数组中冒号的使用方法详解
2018/04/17 Python
Django 连接sql server数据库的方法
2018/06/30 Python
基于python实现从尾到头打印链表
2019/11/02 Python
使用Bazel编译TensorBoard教程
2020/02/15 Python
css3中检验表单的required,focus,valid和invalid样式
2014/02/21 HTML / CSS
幼儿园大班毕业感言
2014/02/06 职场文书
学校后勤岗位职责
2014/02/19 职场文书
职业生涯规划书结束语
2014/04/15 职场文书
热爱祖国的演讲稿
2014/05/04 职场文书
旅游文化节策划方案
2014/06/06 职场文书
应届毕业生求职信范文
2014/07/07 职场文书
网上祭先烈心得体会
2014/09/01 职场文书
SQL SERVER中常用日期函数的具体使用
2021/04/08 SQL Server
python实现的web监控系统
2021/04/27 Python
Nginx 路由转发和反向代理location配置实现
2021/11/11 Servers
SQL SERVER存储过程用法详解
2022/02/24 SQL Server
CSS link与@import的区别和用法解析
2023/05/07 HTML / CSS