Python QQBot库的QQ聊天机器人

 更新时间:2021年07月07日 13:55:18   作者:偷亲  
这篇文章主要为大家详细介绍了基于Python QQBot库的QQ聊天机器人,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了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

接下来编写自动回复的脚本

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/文件夹下

保持之前的命令行窗口运行,再重新启动一个,执行

qq plug recall

其中“recall”时刚才我们放进去的py文件名称

测试可行

参数说明:

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使用PyGame模块播放声音的方法

    python使用PyGame模块播放声音的方法

    这篇文章主要介绍了python使用PyGame模块播放声音的方法,实例分析了PyGame模块的使用技巧,需要的朋友可以参考下
    2015-05-05
  • python中exec函数的实现

    python中exec函数的实现

    exec()是Python内置的一个函数,用于在运行时执行动态生成的Python代码,下面就来介绍一下python中exec函数的实现,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10
  • djang常用查询SQL语句的使用代码

    djang常用查询SQL语句的使用代码

    这篇文章主要介绍了djang常用查询SQL语句的使用代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-02-02
  • python经典练习百题之猴子吃桃三种解法

    python经典练习百题之猴子吃桃三种解法

    这篇文章主要给大家介绍了关于python经典练习百题之猴子吃桃三种解法的相关资料, Python猴子吃桃子编程是一个趣味性十足的编程练习,在这个练习中,我们将要使用Python语言来模拟一只猴子吃桃子的过程,需要的朋友可以参考下
    2023-10-10
  • python re的findall和finditer的区别详解

    python re的findall和finditer的区别详解

    这篇文章主要介绍了python re的findall和finditer的区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • python检测服务器端口代码实例

    python检测服务器端口代码实例

    这篇文章主要介绍了python检测服务器端口代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • python实现删除列表中空字符串元素的两种方法

    python实现删除列表中空字符串元素的两种方法

    本文主要介绍了python实现删除列表中空字符串元素的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-03-03
  • 使用Python监控屏幕变化并截图的方法详解

    使用Python监控屏幕变化并截图的方法详解

    这篇文章主要介绍了如何使用Python监控屏幕变化并截图,文中通过代码示例给大家讲解的非常详细,并对大家的学习工作有一定的帮助,需要的朋友可以参考下
    2024-04-04
  • python利用插值法对折线进行平滑曲线处理

    python利用插值法对折线进行平滑曲线处理

    这篇文章主要为大家详细介绍了python利用插值法对折线进行平滑曲线处理,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • centos 下面安装python2.7 +pip +mysqld

    centos 下面安装python2.7 +pip +mysqld

    这篇文章主要介绍了centos 下面安装python2.7 +pip +mysqld,需要的朋友可以参考下
    2014-11-11

最新评论