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 ValueError: invalid literal for int() with base 10 实用解决方法
Jun 21 Python
python中pandas.DataFrame对行与列求和及添加新行与列示例
Mar 12 Python
numpy 对矩阵中Nan的处理:采用平均值的方法
Oct 30 Python
pygame游戏之旅 添加游戏介绍
Nov 20 Python
python实现坦克大战游戏 附详细注释
Mar 27 Python
在自动化中用python实现键盘操作的方法详解
Jul 19 Python
Django为窗体加上防机器人的验证码功能过程解析
Aug 14 Python
windows 10 设定计划任务自动执行 python 脚本的方法
Sep 11 Python
python实现对列表中的元素进行倒序打印
Nov 23 Python
Python 实现Serial 与STM32J进行串口通讯
Dec 18 Python
python 等差数列末项计算方式
May 03 Python
Python爬虫requests库多种用法实例
May 28 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调用Webservice实例代码
2011/07/29 PHP
使用PHP把HTML生成PDF文件的几个开源项目介绍
2014/11/17 PHP
php判断输入是否是纯数字,英文,汉字的方法
2015/03/05 PHP
php抛出异常与捕捉特定类型的异常详解
2016/10/26 PHP
用jQuery打造TabPanel效果代码
2010/05/22 Javascript
jquery鼠标滑过提示title具体实现代码
2013/08/06 Javascript
javascript 获取图片尺寸及放大图片
2013/09/04 Javascript
js 实现浏览历史记录示例
2014/04/20 Javascript
javascript实现复选框选中属性
2015/03/25 Javascript
Node.js事件驱动
2015/06/18 Javascript
浅谈JavaScript的Polymer框架中的behaviors对象
2015/07/29 Javascript
利用Vue.js指令实现全选功能
2016/09/08 Javascript
React实现点击删除列表中对应项
2017/01/10 Javascript
使用JS 插件qrcode.js生成二维码功能
2017/02/20 Javascript
详解如何使用node.js的开发框架express创建一个web应用
2018/12/20 Javascript
Vue通过配置WebSocket并实现群聊功能
2019/12/31 Javascript
JavaScript编写开发动态时钟
2020/07/29 Javascript
vue cli3.0打包上线静态资源找不到路径的解决操作
2020/08/03 Javascript
Python获取服务器信息的最简单实现方法
2015/03/05 Python
使用Python程序抓取新浪在国内的所有IP的教程
2015/05/04 Python
微信小程序跳一跳游戏 python脚本跳一跳刷高分技巧
2018/01/04 Python
python实时监控cpu小工具
2018/06/21 Python
Pycharm2017版本设置启动时默认自动打开项目的方法
2018/10/29 Python
django Layui界面点击弹出对话框并请求逻辑生成分页的动态表格实例
2020/05/12 Python
利用HTML5+CSS3实现3D转换效果实例详解
2017/05/02 HTML / CSS
html5 分层屏幕适配的方法
2018/03/16 HTML / CSS
HTML5新增的Css选择器、伪类介绍
2013/08/07 HTML / CSS
优质美利奴羊毛袜,不只是徒步旅行:Darn Tough Vermont
2018/11/05 全球购物
迪奥美国官网:Dior美国
2019/12/07 全球购物
幼儿园安全责任书
2014/04/14 职场文书
禁止高声喧哗的标语
2014/06/11 职场文书
企业贷款委托书格式
2014/09/12 职场文书
工程项目经理岗位职责
2015/02/02 职场文书
鲁滨孙漂流记读书笔记
2015/06/30 职场文书
浅谈Python响应式类库RxPy
2021/06/14 Python
微软发布Windows 11今年最大更新22H2(附 ISO 镜像官方下载)
2022/09/23 数码科技