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解析文件示例
Jan 23 Python
用C++封装MySQL的API的教程
May 06 Python
Python中encode()方法的使用简介
May 18 Python
Flask的图形化管理界面搭建框架Flask-Admin的使用教程
Jun 13 Python
利用标准库fractions模块让Python支持分数类型的方法详解
Aug 11 Python
zookeeper python接口实例详解
Jan 18 Python
Python实现Pig Latin小游戏实例代码
Feb 02 Python
Python实现简单生成验证码功能【基于random模块】
Feb 10 Python
Python实现的多进程和多线程功能示例
May 29 Python
opencv实现图片模糊和锐化操作
Nov 19 Python
python 利用turtle模块画出没有角的方格
Nov 23 Python
动态设置django的model field的默认值操作步骤
Mar 30 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安装xdebug/php安装pear/phpunit详解步骤(图)
2013/12/22 PHP
php绘制一个矩形的方法
2015/01/24 PHP
PHP实现简单汉字验证码
2015/07/28 PHP
PHP去除字符串最后一个字符的三种方法实例
2017/03/01 PHP
利用php操作memcache缓存的基础方法示例
2017/08/02 PHP
让焦点自动跳转
2006/07/01 Javascript
Prototype 1.5.0_rc1 及 Prototype 1.5.0 Pre0小抄本
2006/09/22 Javascript
Extjs列表详细信息窗口新建后自动加载解决方法
2010/04/02 Javascript
Js数组的操作push,pop,shift,unshift等方法详细介绍
2012/12/28 Javascript
原生js做的手风琴效果的导航菜单
2013/11/08 Javascript
javascript回车完美实现tab切换功能
2014/03/13 Javascript
jquery实现点击页面计算点击次数
2015/01/23 Javascript
Javascript基础回顾之(二) js作用域
2017/01/31 Javascript
jQuery制作图片旋转效果
2017/02/02 Javascript
jQuery事件_动力节点Java学院整理
2017/07/05 jQuery
js HTML5 canvas绘制图片的方法
2017/09/08 Javascript
fullpage.js最后一屏滚动方式
2018/02/06 Javascript
jQuery中将json数据显示到页面表格的方法
2018/05/27 jQuery
bootstrap下拉分页样式 带跳转页码
2018/12/29 Javascript
使用 JavaScript 创建并下载文件(模拟点击)
2019/10/25 Javascript
python抓取豆瓣图片并自动保存示例学习
2014/01/10 Python
Python标准库与第三方库详解
2014/07/22 Python
全面了解Python环境配置及项目建立
2016/06/30 Python
python 通过字符串调用对象属性或方法的实例讲解
2018/04/21 Python
基于pycharm导入模块显示不存在的解决方法
2018/10/13 Python
python 求定积分和不定积分示例
2019/11/20 Python
Ranorex通过Python将报告发送到邮箱的方法
2020/01/12 Python
利用python汇总统计多张Excel
2020/09/22 Python
会议开场欢迎词
2014/01/15 职场文书
新学期家长寄语
2014/01/19 职场文书
售房协议书
2014/08/19 职场文书
小学生我的梦想演讲稿
2014/08/21 职场文书
政风行风整改方案
2014/10/25 职场文书
2015年大学辅导员工作总结
2015/05/12 职场文书
Tensorflow与RNN、双向LSTM等的踩坑记录及解决
2021/05/31 Python
详解Flutter网络请求Dio库的使用及封装
2022/04/14 Java/Android