开发一个QQ 群聊机器人

相信大家平时可能也在各种 QQ 群里遇到过一种叫做 QQ 群机器人的存在,其大多是基于腾讯 SmartQQ 协议实现的,在 github 上有很多关于此的开源项目。实验楼就用 QQ 机器人,配合图灵机器人的 api,实现一个实现自动回复,自定义回复,满足群里日常聊天互动所需的群聊机器人。

效果图:

开发一个QQ 群聊机器人_第1张图片
效果图

实验步骤

1 QQRobot 源码

项目地址:https://github.com/zeruniverse/QQRobot**

clone or download 到本地。

打开 Xfce 终端:

$ cd Code
$ git clone https://github.com/zeruniverse/QQRobot

2 图灵机器人

访问图灵机器人官网。注册一个账号。

创建机器人

选择 QQ 机器人。

设置机器人

得到 APIkey

3 代码配置

机器人 API

编辑 Code\QQRobot\目录下的 QQbot.py,修改其第34行,加入刚刚申请到的图灵机器人 APIkey。

tulingkey='图灵 API'

群监控

编辑 Code\QRobot\目录下的 groupfollow.txt,将需要机器人监控、回复的群的名字写入,每行一个群名。(注意 : 中文群名格式为 utf-8。)

启动

在 Code\QQRobot\ 目录下执行命令,:

$ sudo nohup python2 QQBot.py >qbot.log&

如果没有问题,会在当前目录下生成一个名为 v.png 的二维码图片,通过手机 QQ 扫描该图片,完成登陆。

$ cat log.log

执行可以输出运行 LOG,查看程序运行过程。

功能

启动成功以后,你的 QQ 就成功绑定了一个群聊机器人,你可以通过使用其他小号或者好友向你目前绑定的 QQ 号发起私聊,如果绑定成功,会有自动回复。

之后,使用其他 QQ 号在监控的群里发送消息指令,群聊机器人会根据指令做出相应动作:

  • 群聊智能回复,在群中通过发送 !ai 问题语句,r如: !ai 谁最帅?,则机器人向AI平台请求问题的回复并回复到群,带有!ai关键字时优先触发此功能。
  • 群聊学习功能,在群中通过发送 !learn {ha}{哈哈}语句,则机器人检测到发言中包含"ha"时将自动回复"哈哈"。!delete {ha}{哈哈}可以删除该内容。学习内容会自动储存在database.群号.save文件。!deleteall 可删除该群所有记录。
  • 群聊复读功能,检测到群聊中连续两个回复内容相同,将自动复读该内容1次。

QQRobot 分析

这个部分内容如下:

  • 1 登录
  • 2 收发消息
  • 3 好友相关
  • 4 群和讨论组相关

由于篇幅原因,这里就不展示此部分的详细过程了,项目的完整代码、详细步骤及demo,可以在实验楼查看并在线完成:Python - 基于图灵机器人实现QQ群聊机器人

你可能感兴趣的:(开发一个QQ 群聊机器人)