基于SmartQQ的Python QQ机器人框架

2015/7/21 15:44 下午

项目地址:https://github.com/Yinzo/SmartQQBot

这是一个原本是自己在看到某一个QQ群中的机器人后,以娱乐的心态写的一个QQ机器人。登陆部分逻辑与代码参考了原名:SmartQQ-for-Raspberry-Pi(PiWebQQV2)这一项目,结合自己的需求写出来的一个以娱乐为主的小玩具。

习惯性地把自己写的小东西发布到Github,意外地发现受到了一定的支持。加上在进一步开发失物招领功能的时候发现代码逻辑有点混乱,于是决定进行一次完全的重构,希望能够开发出一个便于二次开发的QQ机器人框架。

以下为没有重构之前的机器人的README,但是近期(两到三个星期)机器人就将重构,所以以下内容可能会马上过时。


如何使用

  • python QQBot.py
  • 等待提示“登陆二维码下载成功,请扫描”,打开脚本所在目录的v.jpg图片扫描二维码。
  • 等待登陆成功的提示 <!–+ 登陆成功后出现">>“表示可输入命令,此时私聊问答功能自动激活,群聊各功能需要手动关注该群才会激活,关注群的命令为group 群号,此命令为控制台命令,不是在qq中发送。–>
  • 修改config文件夹中的QQBot_default.conf配置文件
  • 群聊各功能需要在groupCheckList中添加群号,每行一个,来关注群以激活群功能。

功能

注:以下命令皆是在qq中发送,群聊命令发送到所在群中

  • 群聊学习功能,类似于小黄鸡,在群中通过发送!learn {ha}{哈哈}语句,则机器人检测到发言中包含“ha”时将自动回复“哈哈”。!delete {ha}{哈哈}可以删除该内容。学习内容会自动储存在groupReplys目录中群号.save文件

  • 群聊复读功能,检测到群聊中连续两个回复内容相同,将自动复读该内容1次。

  • 群聊关注功能,使用命令!follow qq号可以使机器人复读此人所有发言(除命令外)使用命令!unfollow qq号解除关注。qq号处可使用"me"来快速关注与解除关注自己,例:!follow me

  • 私聊问答功能,可以自定义机器人私聊时提出问题,并可储存对方的回复,一般用于自动问卷调查。

TODO

  • logging模块优化分离,保证主程序无任何print输出。私聊与群消息提醒使用单独的文件输出。
  • 细化配置项(tucao_auth = (all/self/custom/none))
  • tucao内容储存优化,使用cPickle库
  • 工程模块化重构
  • 群成员外号表