该分支使用登陆部分逻辑与代码参考了原名:SmartQQ-for-Raspberry-Pi(PiWebQQV2)这一项目,以此为基础制作了基于SmartQQ的自动机器人。
登陆时采用QQ安全中心的二维码做为登陆条件, 不需要在程序里输入QQ号码及QQ密码。
##如何使用
python QQBot.py
- 等待提示“登陆二维码下载成功,请扫描”,打开脚本所在目录的v.jpg图片扫描二维码。
- 等待登陆成功的提示
- 修改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库
- 工程模块化重构
- 群成员外号表
##原README 在Pi上通过SSH后台运行的例子:
sudo nohup python WebQQ.py /data/http/v.jpg &
上面的命令在启动WebQQ之后会将QRCode
保存到 /data/http/v.jpg
这个位置,然后用QQ安全中心 扫描这个QRCode
完成登陆.
例子2:
sudo nohup python WebQQ.py /data/http/v.jpg 48080163 &
上面的命令执行后的效果与第一个例子中的不同之处在于, 启动后的WebQQ只对48080163
这个QQ号发送过来的消息做响应,其他的会忽略掉.
这样做的好处在于, 如果你的QRCode被别人扫描了,那么WebQQ就会登陆别人的QQ,然后别人就可以控制你的Pi了, 但如果加了第二个参数48080163
,
则就算登陆了别人的QQ, 但消息的发送者并不是48080163
, 所以发送的指令并不会被Pi所执行,从而保证安全性.
如果省略掉第2个参数,则所有人给登陆到Pi上的这个QQ发送的消息都会被解析并执行.
V2版的好处在于不需要在程序里设置QQ号码和密码,在Pi所登陆的账号及密码由QQ安全中心中指定,而且登陆时也不再需要验证码了.
QRCode
文件在登陆成功之后会被自动删除掉,以确保安全.
如需使用QQ号码和密码的方式登陆可以尝试V1版本. 地址: PiWebQQ