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编写暴力破解FTP密码小工具
Nov 19 Python
Python封装shell命令实例分析
May 05 Python
python实现的简单窗口倒计时界面实例
May 05 Python
Python实现iOS自动化打包详解步骤
Oct 03 Python
python之Flask实现简单登录功能的示例代码
Dec 24 Python
Python 一句话生成字母表的方法
Jan 02 Python
Django实现文件上传下载
Oct 06 Python
30秒学会30个超实用Python代码片段【收藏版】
Oct 15 Python
OpenCV模板匹配matchTemplate的实现
Oct 18 Python
如何基于python实现脚本加密
Dec 28 Python
python获得命令行输入的参数的两种方式
Nov 02 Python
python多线程爬取西刺代理的示例代码
Jan 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抓取页面与代码解析 推荐
2010/07/23 PHP
smarty 缓存控制前的页面静态化原理
2013/03/15 PHP
YII中Ueditor富文本编辑器文件和图片上传的配置图文教程
2017/03/15 PHP
thinkPHP5使用Rabc实现权限管理
2019/08/28 PHP
sina的lightbox效果。
2007/01/09 Javascript
JS 文字符串转换unicode编码函数
2009/05/30 Javascript
js获取IP地址的方法小结
2014/07/01 Javascript
浅析javascript 定时器
2014/12/23 Javascript
jQuery分组选择器用法实例
2014/12/23 Javascript
js获取图片宽高的方法
2015/11/25 Javascript
基于AngularJS+HTML+Groovy实现登录功能
2016/02/17 Javascript
在JSP中如何实现MD5加密的方法
2016/11/02 Javascript
jquery仿京东侧边栏导航效果
2017/03/02 Javascript
vue Render中slots的使用的实例代码
2017/07/19 Javascript
详解利用 Vue.js 实现前后端分离的RBAC角色权限管理
2017/09/15 Javascript
小程序点击图片实现png转jpg
2019/10/22 Javascript
Vue最新防抖方案(必看篇)
2019/10/30 Javascript
python实现查找excel里某一列重复数据并且剔除后打印的方法
2015/05/26 Python
R vs. Python 数据分析中谁与争锋?
2017/10/18 Python
Python扩展内置类型详解
2018/03/26 Python
python3 判断列表是一个空列表的方法
2018/05/04 Python
python使用PIL实现多张图片垂直合并
2019/01/15 Python
PyTorch中 tensor.detach() 和 tensor.data 的区别详解
2020/01/06 Python
python给list排序的简单方法
2020/12/10 Python
pycharm 快速解决python代码冲突的问题
2021/01/15 Python
兰蔻法国官方网站:Lancôme法国
2020/02/22 全球购物
Happy Socks英国官网:购买五颜六色的袜子
2020/11/03 全球购物
数百万免费的图形资源:Freepik
2020/09/21 全球购物
难忘的一课教学反思
2014/04/30 职场文书
法人委托书
2014/07/31 职场文书
杭州黄龙洞导游词
2015/02/10 职场文书
毕业生就业推荐表自我评价
2015/03/02 职场文书
2016反腐倡廉警示教育心得体会
2016/01/13 职场文书
Python趣味挑战之用pygame实现简单的金币旋转效果
2021/05/31 Python
Oracle配置dblink访问PostgreSQL的操作方法
2022/03/21 PostgreSQL
请求模块urllib之PYTHON爬虫的基本使用
2022/04/08 Python