背景
希望将特定的 QQ 群消息同步创建到外部任务清单中。
注意
- 由于 QQ 官方封杀机器人十分频繁,因此不能保证服务的持续运行。见 https://github.com/MrXiaoM/qsign/releases/tag/1.2.0-final;
- 本文写作时间为 2023 年 10 月 29 日,不保证时效性。
步骤
- 准备一台 Ubuntu 22.04 Server,我使用的是 华为云;
- 下载 https://github.com/iTXTech/mcl-installer/releases/tag/ae9f946 到
/data/mirai
下 - 给予文件安装权限:
sudo chmod +x mcl-installer-ae9f946-linux-amd64
- 安装并一路回车
./mcl-installer-ae9f946-linux-amd64
- 安装 2 个插件:
# chat-command:允许在聊天环境通过以 “/” 起始的消息执行指令
./mcl --update-package net.mamoe:chat-command --channel stable --type plugin
# mirai-api-http :提供 HTTP 支持,允许使用其他编程语言的插件
./mcl --update-package net.mamoe:mirai-api-http --channel stable-v2 --type plugin
- 根据 https://github.com/MrXiaoM/qsign/tree/mirai#部署方法 安装
qsign
- 登录 QQ
/login <QQ 账户> <QQ 密码> ANDROID_PHONE
- 如需要进行验证,可以使用 https://maupdate.rainchan.win/txcaptcha.apk 进行滑块验证:
- 将 terminal 中的链接贴在这个 APK 应用中;
- 获取到 Ticket 后,粘贴在 Terminal 中;
- 如遇登录失败,参考 https://mirai.mamoe.net/topic/2357/qsign-签名-大概率解决code-45
进阶
原始需求是将群消息转发到外部服务,因此在安装了 mirai-api-http
后进行了配置:
- 关于 Adaptors 地址:https://github.com/project-mirai/mirai-api-http/blob/master/docs/adapter/Adapter.md
- 创建了一个 Webhook 地址;
- 更新
/root/data/mirai/config/net.mamoe.mirai-api-http/settings.yml
配置
adapters:
- webhook
debug: true
enableVerify: true
verifyKey: <配置 VerifyKey>
singleMode: false
cacheSize: 4096
persistenceFactory: 'built-in'
adapterSettings:
webhook:
timeout:
requestTimeoutMillis: 100000
connectTimeoutMillis: 100000
socketTimeoutMillis: 100000
destinations:
- 'https://qq-to-feishu.juzhiyuan.me'
参考
- http://xfxuezhang.cn/index.php/archives/246/
- https://mirai.mamoe.net/topic/2357/qsign-签名-大概率解决code-45
- https://blog.csdn.net/qq_43576891/article/details/121576879
- https://mirai.mamoe.net/topic/653/常用资源整合?lang=en-GB
- https://blog.ukenn.top/mirai/
- https://mirai.mamoe.net/
Oct 29, 2023
- 补充:在发送了一些随机消息后,腾讯官方会直接风控账户。