qqBot 搭建#
这两天在搭 qqBot,记录一下
整体技术#
在遇到风控问题时,我使用了unidbg-fetch-qsign。
过程#
-
整个过程比我着手搭建前所想的要困难许多,踩了许多坑。不过很棒的一点是,这三个项目的 issue 都十分活跃。我踩的坑,在 issue 中几乎都能搜到。我使用过的开源项目不多,但这三个给了我很好的印象,希望自己以后能做些自己的贡献。
-
之前没想到最难的一点不是机器人程序的编写,而在于登录。我使用的号是新号(创建一个礼拜左右),风控等级比较高。
而我的需求是:将 bot 部署在地点在非我所在地的一个服务器上,这更是增加了被风控的概率。
尝试许多种方法后,我最终的解决方法是:
- 在本地先使用手表协议扫码登录。(
"sort_version_name":8.9.73
,protocol:2
) - 成功登录后将得到的文件移至服务器上并配置
signsever
, 再次进行登录
-
但最后 bot 还是被风控,无法发送群消息。
我短时间内也不想再进一步折腾了。
-
今天把自己写的插件EuDs63/nonebot-plugin-yesman: nonebot2 插件发布到插件商店 | NoneBot了。过了一遍插件发布的流程,还蛮有意思的。有几点值得说下:
- Create an account · PyPI的 username 要求是我见过的最苛刻的。但也能理解。
Choose a strong password that contains letters (uppercase and lowercase), numbers and special characters. Avoid common words or repetition.
- About NoneFlow 好强大。有机会想自己试试写一个类似的,或者了解是怎么做到的。
- Create an account · PyPI的 username 要求是我见过的最苛刻的。但也能理解。
感想#
- 想起搭 telegram bot 时,只需要申请一个 token,甚至教程官方都有在写。而这里却是道高一尺魔高一丈般的猫鼠游戏。不免五味杂陈。
- nonebot 这种插件系统我觉得很棒。省了不少力气。
- 感觉 qqBot 可玩性还是蛮高的,在其他群里也常常能见到些有趣的 bot。但可惜的是腾讯的态度。
收获#
nohup
- 使用:例:
nphup nb run
- 关闭:例:
ps aux | grep `nb` #找到对应的进程号 kill $进程号
守护进程(Systemd)
注:以下复制自使用 NoneBot2 和 go-cqhttp 打造自己的 FF14 QQ 机器人- 创建
# vim /lib/systemd/system/go-cqhttp.service [Unit] Description=GO-CQHTTP Wants=network-online.target After=network-online.target [Service] Type=simple User=root WorkingDirectory= GO-CQHTTP的运行目录 ExecStart= nohup go-cqhttp KillMode=process [Install] WantedBy=multi-user.target
- 使用
systemctl status go-cqhttp #查看状态 systemctl enable go-cqhttp #启用开机自启 systemctl restart go-cqhttp #重启进程 systemctl stop go-cqhttp #停止进程 systemctl start go-cqhttp #开始进程
- python 虚拟环境
- 新建
python -m venv myenv # 创建一个名为myenv的虚拟环境
- 激活
source ./qqVenv/bin/activate # bash source ./qqVenv/bin/activate.fish # fish