维护花了一点时间,抱歉。。。。。。。。。
在本次攻击事件中暴露了一些网站安全性相关的问题。为了应对未来可能遭遇的各种类型的攻击。在这段时间里我们可能会进行各种安全相关的更新。
本次更新新增了发帖验证码系统,任何人发布新主题或者是回帖都需要完成验证码。
此外我们建立了MiraiForumGithub组织,开放了几个由我们编写的插件,欢迎大家提出意见或者是建议。如果无法通过论坛联系我们也可以通过组织联系我们。
请阅读: 论坛规则 常见问题QA 无法登录的临时处理方案
源代码和文档: mamoe/mirai, docs.mirai.mamoe.net
闲聊TG群: @mirai_mamoe, Gitter群 mamoe/mirai
52d432dc-a4a2-4b08-98a0-796d59ae88a4-image.png
→klibs.io←
使用俺维护的GOCQ维护分支:https://github.com/ProtocolScience/AstralGocq
登录流程巨大优化(如果出现签名异常,可以修改config移除ws协议的签名,该属于实验性特性)
开源了一个没有完全过检测的版本,可以正常运行高版本的so文件,希望起到抛砖引玉,促进研究的作用 https://github.com/zhaodice/Astral-QSignigngnn
——出现CC攻击后的措施——当服务器负载较大时,优先拒绝消耗量较大的IP的请求,如需IP白名单请联系。
——服务器目前开放的版本——9.0.55-9.0.95
9.1.0-9.1.15
(这就是直连的下场,由于被打流量打成黑洞,已无法连接)
服务器地址(自2024-08,租赁1年时间):http://8.216.82.28/
服务器地址(主要A,cloudflare):https://qsign.trpgbot.com
服务器地址(CDN线路):http://qsign-v3.trpgbot.com
服务器地址(端口转发,月流限制1G):http://qsign.w1.luyouxia.net
服务器地址(主要B,huggingface):https://zyr15r-astralqsign.hf.space
——注意事项——新的key:miraibbs
对本贴内容做了门户:https://qsign-guide.trpgbot.com/
1.服务器已全部迁移至主服务器,处理了一下主机的散热器问题,现在性能应该足够了。
2.除了 qsign.trpgbot.com ,其他的都是它的镜像,如果有条件也可以自己反向代理
ANDROID_PAD
{ "apk_id": "com.tencent.mobileqq", "app_id": 537220362, "sub_app_id": 537220362, "app_key": "0S200MNJT807V3GE", "sort_version_name": "9.0.56.16830", "build_time": 1713424357, "apk_sign": "a6b745bf24a2c277527716f6f36eb68d", "sdk_version": "6.0.0.2560", "sso_version": 21, "misc_bitmap": 150470524, "main_sig_map": 34869472, "sub_sig_map": 66560, "dump_time": 1713424357, "qua": "V1_AND_SQ_9.0.56_6372_YYB_D", "protocol_type": 6 } Mirai - 傻瓜式插件直接安装插件即可正常登录 https://github.com/MrXiaoM/fpv/releases/tag/v1.13.1
(它属于 fix-protocol-version 插件的开发分支,因为功能相同所以可能冲突,一山不容二虎哦,使用时请注意禁用相关插件)
mirai KFCFactory.json 使用配置:
{ "9.0.56": { "base_url": "https://qsign.trpgbot.com", "type": "fuqiuluo/unidbg-fetch-qsign", "key": "miraibbs" } }同时请另存为 协议配置文件(ANDROID_PAD)的数据内容到 ANDROID_PAD.json ,数据内容上文已给出
控制台输入 protocol load ANDROID_PAD
即可用ANDROID_PAD协议登录你的QQ
gocq config.yml使用配置:
sign-servers: - url: 'http://8.216.82.28/' key: 'miraibbs' authorization: '-' - url: https://qsign.trpgbot.com/' key: 'miraibbs' authorization: '-' auto-register: true同时请另存为 协议配置文件(ANDROID_PAD)的数据内容到 /data/versions/6.json ,数据内容上文已给出
测试结果607af2d3-ed77-49ea-a9b5-b3ac8adb98c4.png
新注册的账号使用本sign,在24小时后仍未出现冻结现象,证明已经通关。
有任何问题欢迎进行交流讨论,最后感谢fuqiuluo提供的unidbg调用思路以及各位逆向工作者的支持。
提取码:oHoM,点击下载 DeepseekMirai[1.31](123云盘)
虽然是这一天更的新,但是还是希望没有人会开玩笑。
新增功能:
1.添加了聊天命令“%usage”,可以随时查看当前会话的总tokens使用量,将enableTokenCounting设置为True即可正常使用。(可能会稍微影响性能。)
2.自动骚扰!将chatMode更改成annoyingBot即可体验!!
3.“%model”命令改为了从配置文件(DsModelList.json)中加载模型,使用 %model 快捷名称 即可快速切换。首次使用自动创建deepseek的配置文件,可以自行添加修改。
4.可以在配置文件(DsModel.json)中修改到更多的api参数,比如说重复惩罚,但是请去官网的文档学习一下怎么配置哦!
5.优化了传给AI的用户信息,包含群名、群u是否是管理员、是否@bot等。
6.高仿的Mirai后台输出
已知问题:
1.annoyingBot模式下不会响应任何命令,你执行其他mirai 命令的消息也有概率被获取
2.可执行文件比以前“更大”了
3.%apibalance还是会报错,原因是==写错成in了,下个版本修复。
有没有什么新功能建议啊,要不然真的没法更新了
看见有人不会配置MiraiHttpAPI了,在这里贴上一份配置文件。
adapters: - http - ws enableVerify: true verifyKey: <你的密钥,可以随意设置> debug: false singleMode: false cacheSize: 4096 adapterSettings: http: host: 0.0.0.0 port: <绑定的端口> cors: ["*"] unreadQueueMaxSize: 100 ws: host: 0.0.0.0 port: <绑定的端口,可以与http端口相同> reservedSyncId: -1 过往内容:没啥太大用了,点击展开即可查看。
... ================================ 2025-3-27更新:提取码:zJ3Z,点击下载 DeepseekMirai[1.2](123云盘)
稍微测试了一下,新功能全部好用!
配置文件内容更新:
请按照下方详解,重新修改配置文件
或查看修改详情:
太麻烦了,现在都是自动更新了!☺️
确保原有配置文件可读,运行第一次自动更新!
新增功能:
1.对于特别长特别长的回复做了一个"激进的"优化,同时设置breakLongSentence和RadicalOptimization为true即可体验!(其实就是优化了一下回复速度)
2.添加了可以把群友信息发送给AI的选项,设置sendUserInfo为true即可体验。该功能会自动把【群友群昵称(群友QQ号)】添加在发送给AI的内容的前面,并尝试修补提示词来让AI识别到用户的信息 (里面自带的可能不咋好用😭)
3.可以自定义设置在拆开的长句的前面的随机小前缀。(最后一位留空的是关闭拆开长句时的回复前缀,如果喜欢可以填上。)
修复问题:
1.每次升级后要手动更新配置文件,太麻烦了,改成自动升级了。
已知问题:
1"激进优化"下通1000问在回复中出现emoji会导致对话整个被截断,因为ds没问题所以怀疑是阿里的问题
2.在新运行自动创建配置文件的时候添加的管理员可能以str形式写入了配置文件,不知道会不会因此产生问题(?)
3.%apibalance用不了了,好像是验证出错。。
提取码:T61O,点击下载 DeepseekMirai[1.1]废.exe(123云盘)
提取码4NmD,点击下载 DeepseekMirai[1.1](123云盘)
更新的有点着急了(笑),没怎么测试,但是我猜应该没什么问题吧(叉腰)
配置文件内容更新:
请按照下方详解,重新修改配置文件
或查看修改详情:
在chatConfig里加入了atUser,和adminMode两个布尔值,
在chatConfig.commandPrefix里加入了addAdmin 文本值,默认为"%adda"
当你遇到TypeError: startswith first arg must be str or a tuple of str, not NoneType这样的问题,就是没有更新配置文件导致的
新增功能:
1.多人同时触发回复时会在回复内容中@触发者,并在拆开的长句的每一句前面都加上了随机的小前缀(共11种)
2.加入了白名单模式,如果开启将只回复所有群中的被配置的管理员,其他任何人无法触发,私聊不受影响。
3.加入快捷添加管理员的指令,默认前缀为"%adda"
4.(链接2)新增可以自定义temperature和max_tokens的配置文件
下次许愿什么功能呢?
修复问题:
1.当一次性收到太多的消息时会出现多提供参数的问题,导致没有一条消息被回复。
2.(链接2)当不拆开长句时开启atUser导致消息链没有被正确组装
提取码:qzhV,点击下载 DeepseekMirai-1.0.exe(123云盘)
(运行效果可能不太好,尽力了)
小提示:
1.将commandPrefix中的answerUser设置为空,同时打开atBot,可以做到@bot直接触发,无需其他前缀。私聊直接触发,无需@。
2.你可以去Deepseek官网的聊天页面,让它帮你生成人设,然后填到提醒词里,这样你就拥有了属于自己的"QQ智能体?"
3.如果愿意,可以加一下群哦 (虽然没啥人) ~ 1028466667
更新啦~(≧▽≦)/~
版本v1.1
插件地址: ChineseChess
这是一个用java写的中国象棋插件
效果展示
功能介绍
如何使用
项目地址
效果展示
红黑方视角
1.黑方"士6进5"行棋完毕,出现黑方走子提示。当前该红方行棋,所以棋盘是红方视角。
1.jpg
2.红方"炮8进7"行棋完毕,出现红方走子提示。当前该黑方行棋,所以棋盘是黑方视角。
2.jpg
棋盘和棋子风格
3.支持棋盘风格,棋子风格的切换(需要对应素材)。目前上传了几款棋盘风格,可以在imgae/map/文件夹下查看
3.1 花时舞者-神里凌华
3.jpg
3.2 清凉夏日-猫羽雫
4.jpg
注:双方的棋盘和棋盘风格是独立的,棋子和棋盘也可以任意搭配
别急,看看下面再走啊
功能介绍
目前完成了基本的中国象棋功能,需通过标准命令(棋谱命令)行棋
双人棋和四人棋(联棋),多人棋
5.jpg
盲棋
开启盲棋功能则不发送图片,改为发送文字提示,盲棋功能可随时关闭
7.jpg
其他功能:悔棋,认输,换人,掀棋盘等
注:考虑到难度与性能问题,暂时没有绝杀判断,需要吃掉对方的将帅或者认输才能判定输赢
插件地址: ChineseChess
克隆: git clone https://github.com/BigCherryBall/ChineseChess.git
我的mirai http插件版本是mirai-api-http-2.10.0.mirai2.jar
我用python的websockets库连接mirai http的ws适配器
我发送的json消息是:
{"syncId": 0, "command": "roamingMessages", "subCommand": null, "content": {"timeStart": 1744524555, "timeEnd": 1744524565, "target": 2956718371}}
收到了:{'code': 400, 'msg': '无效参数'}
timeStart是好友撤回的消息的发送时间(我要获取好友撤回的消息之后的所有消息),timeEnd是我发起请求前用round(time.time())获取的,target确实是好友,api文档里也写了这三个参数都要以数字形式发送,为什么说我参数无效呢?
“不好!这里要撑不下去了”
“A4 求救,A4 求救,A32 地区的沙雕数量超过阈值,即将突破防线!”
“什么!?啧。。”
“B8 已完成沙雕清除任务,现赶往 A32 地区”
“这样。。什么时候是个头啊。。”
如果想订阅本贴更新可以点击右上角铃铛🔔按钮
【持续时间】
1970.1.1 ~ 114514.12.31
【活动内容】
糟糕!沙雕小别墅遭到了从未知之处涌出的沙雕攻击,防御工事濒临崩溃,如果能用其他的方法击退它们的话。。
对了!沙雕图!
【参与方式】
在本贴中回复沙雕图,协助沙雕防御工事击退沙雕。
【活动奖励】
从其他 miraier 获取的沙雕图!是不是非常丰厚呢?
【注意事项】
遵守摸鱼区规则。
是沙雕图不是涩图!
【样例】
3c2dfb62-5555-4c00-a17b-d76715bf2088-image.png
13:42:47 [INFO] iTX Technologies Mirai Console Loader version 2.1.2-61c8bd8
13:42:47 [INFO] Runtime: OpenJDK 64-Bit Server VM 17.0.14 (arch: 64)
13:42:47 [INFO] https://github.com/iTXTech/mirai-console-loader
13:42:47 [INFO] This program is licensed under GNU AGPL v3
13:42:48 [INFO] Mirai Console Loader Announcement:
Mirai Console Loader 公告栏
如果在图片上传的时候遇到问题请与我们联系 (需要提供图片文件源本)
- 如 Unsupported image type for ExternalResource * considering use gif/png/bmp/jpg format.
`- Tracker: https://github.com/mamoe/mirai/issues/new/choose
常用资源整合
`- https://mirai.mamoe.net/topic/653
MCL 已推出 2.1.0,更好的支持 Mirai 2.11 的插件系统,建议更新。
13:42:48 [INFO] Verifying "net.mamoe:mirai-console" v2.16.0
13:42:49 [INFO] Verifying "net.mamoe:mirai-console-terminal" v2.16.0
13:42:49 [INFO] Verifying "net.mamoe:mirai-core-all" v2.16.0
13:42:50 [INFO] Verifying "org.itxtech:mcl-addon" v2.1.1
2025-03-25 13:42:52 I/main: Starting mirai-console...
2025-03-25 13:42:52 I/main:
===================================[ Mirai console 2.16.0 ]===================================
| \ / \ \ | / \ |
| ▓▓\ / ▓▓\▓▓ ______ ______ \▓▓ ▓▓▓▓▓▓\ ______ _______ _______ ______ | ▓▓ ______
| ▓▓▓\ / ▓▓▓ / \ | | \ ▓▓ \▓▓/ | \ / / | ▓▓/
| ▓▓▓▓\ ▓▓▓▓ ▓▓ ▓▓▓▓▓▓\ \▓▓▓▓▓▓\ ▓▓ ▓▓ | ▓▓▓▓▓▓\ ▓▓▓▓▓▓▓\ ▓▓▓▓▓▓▓ ▓▓▓▓▓▓\ ▓▓ ▓▓▓▓▓▓
| ▓▓\▓▓ ▓▓ ▓▓ ▓▓ ▓▓ \▓▓/ ▓▓ ▓▓ ▓▓ | ▓▓ | ▓▓ ▓▓ | ▓▓\▓▓ | ▓▓ | ▓▓ ▓▓ ▓▓ ▓▓
| ▓▓ \▓▓▓| ▓▓ ▓▓ ▓▓ | ▓▓▓▓▓▓▓ ▓▓ ▓▓/ \ ▓▓__/ ▓▓ ▓▓ | ▓▓_\▓▓▓▓▓▓\ ▓▓__/ ▓▓ ▓▓ ▓▓▓▓▓▓▓▓
| ▓▓ \▓ | ▓▓ ▓▓ ▓▓ \▓▓ ▓▓ ▓▓\▓▓ ▓▓\▓▓ ▓▓ ▓▓ | ▓▓ ▓▓\▓▓ ▓▓ ▓▓\▓▓
\▓▓ \▓▓\▓▓\▓▓ \▓▓▓▓▓▓▓\▓▓ \▓▓▓▓▓▓ \▓▓▓▓▓▓ \▓▓ \▓▓\▓▓▓▓▓▓▓ \▓▓▓▓▓▓ \▓▓ \▓▓▓▓▓▓▓
2025-03-25 13:42:52 I/main: Backend: version 2.16.0, built on 2023-10-20 06:28:10.
2025-03-25 13:42:52 I/main: Frontend Terminal: version 2.16.0, provided by Mamoe Technologies
2025-03-25 13:42:52 I/main: Welcome to visit https://mirai.mamoe.net/
2025-03-25 13:43:00 I/plugin: Successfully loaded plugin mirai-api-http v2.10.0
2025-03-25 13:43:01 W/mirai-login-solver-sakura: default port 22333 already in use.
java.net.BindException: Address already in use: bind
at java.base/sun.nio.ch.Net.bind0(Native Method)
at java.base/sun.nio.ch.Net.bind(Unknown Source)
at java.base/sun.nio.ch.Net.bind(Unknown Source)
at java.base/sun.nio.ch.NioSocketImpl.bind(Unknown Source)
at java.base/java.net.ServerSocket.bind(Unknown Source)
at java.base/java.net.ServerSocket.bind(Unknown Source)
at mirai-login-solver-sakura-0.0.12.mirai2.jar//com.kasukusakura.mlss.slovbroadcast.SakuraTransmitDaemon.bootServer(SakuraTransmitDaemon.kt:73)
at mirai-login-solver-sakura-0.0.12.mirai2.jar//com.kasukusakura.mlss.slovbroadcast.SakuraTransmitDaemon.bootServer$default(SakuraTransmitDaemon.kt:66)
at mirai-login-solver-sakura-0.0.12.mirai2.jar//com.kasukusakura.mlss.console.ConsolePluginMain.onLoad(ConsolePluginMain.kt:50)
at net.mamoe.mirai.console.internal.plugin.JvmPluginInternal.internalOnLoad$mirai_console(JvmPluginInternal.kt:388)
at net.mamoe.mirai.console.internal.plugin.BuiltInJvmPluginLoaderImpl.load(BuiltInJvmPluginLoaderImpl.kt:371)
at net.mamoe.mirai.console.internal.plugin.BuiltInJvmPluginLoaderImpl.load(BuiltInJvmPluginLoaderImpl.kt:40)
at net.mamoe.mirai.console.plugin.jvm.JvmPluginLoader$BuiltIn.load(JvmPluginLoader.kt)
at net.mamoe.mirai.console.plugin.jvm.JvmPluginLoader$BuiltIn.load(JvmPluginLoader.kt:54)
at net.mamoe.mirai.console.internal.plugin.PluginManagerImpl.loadPluginNoEnable(PluginManagerImpl.kt:100)
at net.mamoe.mirai.console.internal.plugin.PluginManagerImpl.loadAllPluginsUsingBuiltInLoaders$mirai_console(PluginManagerImpl.kt:164)
at net.mamoe.mirai.console.internal.MiraiConsoleImplementationBridge.doStart$mirai_console(MiraiConsoleImplementationBridge.kt:303)
at net.mamoe.mirai.console.MiraiConsoleImplementation$Companion.start(MiraiConsoleImplementation.kt:512)
at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.startAsDaemon(MiraiConsoleTerminalLoader.kt:182)
at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.startAsDaemon$default(MiraiConsoleTerminalLoader.kt:181)
at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.main(MiraiConsoleTerminalLoader.kt:59)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.itxtech.mcl.Utility.bootJars(Utility.java:86)
at org.itxtech.mcl.Utility.bootJars(Utility.java:76)
at org.itxtech.mcl.Utility.bootMirai(Utility.java:98)
at org.itxtech.mcl.module.builtin.Boot.boot(Boot.java:113)
at org.itxtech.mcl.module.ModuleManager.phaseBoot(ModuleManager.java:123)
at org.itxtech.mcl.Loader.lambda$start$4(Loader.java:196)
at org.itxtech.mcl.Loader.tryCatching(Loader.java:151)
at org.itxtech.mcl.Loader.start(Loader.java:196)
at org.itxtech.mcl.Loader.main(Loader.java:84)
2025-03-25 13:43:01 I/plugin: Successfully loaded plugin mirai-login-solver-sakura v0.0.12
2025-03-25 13:43:01 I/trpgbot: 协议版本检查更新...
2025-03-25 13:43:02 I/trpgbot: ANDROID_PAD load from
file:///D:/summer/desktop/Miari_Console_Launcher/android_pad.json
2025-03-25 13:43:02 I/trpgbot: 注册服务...
2025-03-25 13:43:02 I/trpgbot: 服务配置文件:
file:///D:/summer/desktop/Miari_Console_Launcher/network.json
2025-03-25 13:43:02 W/trpgbot: 您正在使用远程签名服务,数据包将经过签名服务器,请勿添加不可信源
2025-03-25 13:43:02 W/EncryptService.alert: Encrypt service was loaded: trpgbot.NetworkServiceFactory(config=file:///D:/summer/desktop/Miari_Console_Launcher/network.json)
2025-03-25 13:43:02 W/EncryptService.alert: All outgoing message may be leaked by this service.
2025-03-25 13:43:02 W/EncryptService.alert: Use this service if and only if you trusted this service and the service provider.
2025-03-25 13:43:02 W/EncryptService.alert: Service details:
2025-03-25 13:43:02 W/EncryptService.alert: - Jvm Class: class xyz.cssxsh.mirai.tool.NetworkServiceFactory 2025-03-25 13:43:02 W/EncryptService.alert: - ClassLoader: JvmPluginClassLoader{trpgbot-1.13.5.mirai2.jar}
2025-03-25 13:43:02 W/EncryptService.alert: - Source: file:/D:/summer/desktop/Miari_Console_Launcher/plugins/trpgbot-1.13.5.mirai2.jar 2025-03-25 13:43:02 W/EncryptService.alert: - Protected Domain: ProtectionDomain (file:/D:/summer/desktop/Miari_Console_Launcher/plugins/trpgbot-1.13.5.mirai2.jar <no signer certificates>)
JvmPluginClassLoader{trpgbot-1.13.5.mirai2.jar}
<no principals>
java.security.Permissions@21527b8 (
("java.io.FilePermission" "D:\summer\desktop\Miari_Console_Launcher\plugins\trpgbot-1.13.5.mirai2.jar" "read")
)
2025-03-25 13:43:02 I/trpgbot: 正在运行 trpgbot.qsign v1.13.5
2025-03-25 13:43:02 I/trpgbot: 正在检查可用的签名服务器
2025-03-25 13:43:02 I/trpgbot.factory: 正在尝试连接 主服务器 https://qsign.trpgbot.com
2025-03-25 13:43:03 I/trpgbot.factory: 服务器 https://qsign.trpgbot.com 可用
2025-03-25 13:43:03 I/trpgbot.factory: 签名服务器推荐版本: 9.0.56
2025-03-25 13:43:03 I/trpgbot.factory: 支持签名+在仓库中的版本: 9.1.60, 9.1.55, 9.1.50, 9.1.5, 9.1.35, 9.1.30, 9.1.25, 9.1.20, 9.1.16, 9.1.15, 9.1.10, 9.1.0, 9.0.95, 9.0.90, 9.0.85, 9.0.81, 9.0.65, 9.0.60, 9.0.56
2025-03-25 13:43:03 I/trpgbot.factory: 配置指定的目标版本: latest
2025-03-25 13:43:03 I/trpgbot.factory: 已将 ANDROID_PAD 从本地配置自动升级至 9.0.56.16830
2025-03-25 13:43:03 I/plugin: Successfully loaded plugin trpgbot v1.13.5
2025-03-25 13:43:03 I/plugin: Successfully loaded plugin MCL Addon v2.1.1
2025-03-25 13:43:03 I/main: Prepared built-in commands: autoLogin, help, login, logout, permission, status, stop
2025-03-25 13:43:05 W/mirai-api-http: USING INITIAL KEY, please edit the key
2025-03-25 13:43:05 I/Mirai HTTP API: ********************************************************
2025-03-25 13:43:05 I/MahKtorAdapter[http,ws]: Autoreload is disabled because the development mode is off.
2025-03-25 13:43:05 I/MahKtorAdapter[http,ws]: Application started in 0.291 seconds.
2025-03-25 13:43:05 E/mirai-api-http: kotlinx.coroutines.JobCancellationException: LazyStandaloneCoroutine is cancelling; job=LazyStandaloneCoroutine{Cancelling}@65d7eea4
kotlinx.coroutines.JobCancellationException: LazyStandaloneCoroutine is cancelling; job=LazyStandaloneCoroutine{Cancelling}@65d7eea4
Caused by: java.net.BindException: Address already in use: bind
at java.base/sun.nio.ch.Net.bind0(Native Method)
at java.base/sun.nio.ch.Net.bind(Unknown Source)
at java.base/sun.nio.ch.ServerSocketChannelImpl.netBind(Unknown Source)
at java.base/sun.nio.ch.ServerSocketChannelImpl.bind(Unknown Source)
at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.network.sockets.ConnectUtilsJvmKt.bind(ConnectUtilsJvm.kt:35)
at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.network.sockets.TcpSocketBuilder.bind(TcpSocketBuilder.kt:45)
at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.network.sockets.TcpSocketBuilder.bind(TcpSocketBuilder.kt:29)
at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.network.sockets.TcpSocketBuilder.bind$default(TcpSocketBuilder.kt:25)
at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.server.cio.backend.HttpServerKt$httpServer$acceptJob$1.invokeSuspend(HttpServer.kt:48)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
2025-03-25 13:43:05 E/MahKtorAdapter[http,ws]: java.net.BindException: Address already in use: bind
java.net.BindException: Address already in use: bind
at java.base/sun.nio.ch.Net.bind0(Native Method)
at java.base/sun.nio.ch.Net.bind(Unknown Source)
at java.base/sun.nio.ch.ServerSocketChannelImpl.netBind(Unknown Source)
at java.base/sun.nio.ch.ServerSocketChannelImpl.bind(Unknown Source)
at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.network.sockets.ConnectUtilsJvmKt.bind(ConnectUtilsJvm.kt:35)
at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.network.sockets.TcpSocketBuilder.bind(TcpSocketBuilder.kt:45)
at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.network.sockets.TcpSocketBuilder.bind(TcpSocketBuilder.kt:29)
at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.network.sockets.TcpSocketBuilder.bind$default(TcpSocketBuilder.kt:25)
at mirai-api-http-2.10.0.mirai2.jar[shared]//io.ktor.server.cio.backend.HttpServerKt$httpServer$acceptJob$1.invokeSuspend(HttpServer.kt:48)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
2025-03-25 13:43:05 I/trpgbot: 当前各登录协议版本日期:
ANDROID_PHONE 8.9.58.11170 2023-05-19T11:35+08:00
ANDROID_PAD 9.0.56.16830 2024-04-18T15:12:37+08:00
ANDROID_WATCH 9.0.3 2022-03-23T10:14:56+08:00
IPAD 8.9.50.611 2023-02-16T15:10:14+08:00
MACOS 6.8.2.21241 2022-03-14T11:11:35+08:00
2025-03-25 13:43:05 I/MCL Addon: iTXTech MCL Version: 2.1.2-61c8bd8
2025-03-25 13:43:05 W/MCL Addon: iTXTech Soyuz 未安装,Soyuz MCL Handler 特性已禁用
2025-03-25 13:43:05 I/main: 4 plugin(s) enabled.
2025-03-25 13:43:05 I/main: Auto-login 1829881350, protocol: ANDROID_PAD, heartbeatStrategy: STAT_HB
2025-03-25 13:43:05 I/trpgbot.factory: 创建 EncryptService(id=1829881350), protocol=ANDROID_PAD(9.0.56) from file:///D:/summer/desktop/Miari_Console_Launcher/network.json
2025-03-25 13:43:05 I/trpgbot.factory: 正在尝试连接 主服务器 https://qsign.trpgbot.com
2025-03-25 13:43:06 I/trpgbot.factory: 服务器 https://qsign.trpgbot.com 可用
2025-03-25 13:43:06 I/trpgbot.factory: trpgbot from https://qsign.trpgbot.com 测试连接成功
{"code":0,"data":{"protocol":{"code":"6372","package_name":"com.tencent.mobileqq","qua":"V1_AND_SQ_9.0.56_6372_YYB_D","version":"9.0.56"},"stat":{"Speed":{"SIGN-OPM5":1044,"SIGN-OPS":3,"SIGN-OPM":232,"SIGN-OPM10":2088},"Call":{"Energy":9379,"Sign":70107},"Errors":{"Attack":868},"Performance":{"Energy":72,"Sign":849}},"instances":["0c1b","0c21-2","0c21","0c1b-3","0c21-5","0c1b-2","0c21-4","0c21-3","0c19","0c1f-2","0c1f"],"version":"1.2.4","support":["9.0.65","9.0.55","9.0.85","9.0.56","9.0.81","9.0.70","9.0.60","9.1.20","9.1.16","9.1.15","9.0.95","9.1.55","9.1.35","9.1.50","9.1.60","9.0.90","9.1.30","9.1.25","9.0.25","9.0.3","9.1.10","9.1.5","9.1.0"]}}
IAA 云天明 章北海 赵怡然内部签名
2025-03-25 13:43:06 W/trpgbot.factory: trpgbot key is empty
2025-03-25 13:43:07 I/trpgbot.adapter.http: Bot(1829881350) initialize by https://qsign.trpgbot.com
2025-03-25 13:43:08 I/trpgbot.adapter.http: Bot(1829881350) register, 注册成功。
2025-03-25 13:43:08 I/trpgbot.adapter.http: Bot(1829881350) initialize complete
2025-03-25 13:43:10 I/Bot.1829881350: Calculating type 2 PoW, it can take some time....
2025-03-25 13:43:10 I/Bot.1829881350: Got PoW result, cost: 107 ms
2025-03-25 13:43:44 I/Bot.1829881350: Login successful
2025-03-25 13:43:45 I/Bot.1829881350: Saved account secrets to local cache for fast login.
2025-03-25 13:43:45 I/Bot.1829881350: Login successful.
2025-03-25 13:43:45 V/Bot.1829881350: Event: BotOnlineEvent(bot=Bot(1829881350))
2025-03-25 13:43:45 I/Bot.1829881350: Bot login successful.
2025-03-25 13:43:45 I/main: Auto-login 3930700296, protocol: ANDROID_PAD, heartbeatStrategy: STAT_HB
2025-03-25 13:43:45 I/trpgbot.factory: 创建 EncryptService(id=3930700296), protocol=ANDROID_PAD(9.0.56) from file:///D:/summer/desktop/Miari_Console_Launcher/network.json
2025-03-25 13:43:45 I/trpgbot.factory: 正在尝试连接 主服务器 https://qsign.trpgbot.com
2025-03-25 13:43:48 I/trpgbot.factory: 服务器 https://qsign.trpgbot.com 可用
2025-03-25 13:43:48 I/trpgbot.factory: trpgbot from https://qsign.trpgbot.com 测试连接成功
{"code":0,"data":{"protocol":{"code":"6372","package_name":"com.tencent.mobileqq","qua":"V1_AND_SQ_9.0.56_6372_YYB_D","version":"9.0.56"},"stat":{"Speed":{"SIGN-OPM5":1032,"SIGN-OPS":3,"SIGN-OPM":225,"SIGN-OPM10":2091},"Call":{"Energy":9387,"Sign":70183},"Errors":{"Attack":868},"Performance":{"Energy":77,"Sign":49}},"instances":["0c1b","0c21-2","0c21","0c1b-3","0c21-5","0c1b-2","0c21-4","0c21-3","0c19","0c1f-2","0c1f"],"version":"1.2.4","support":["9.0.65","9.0.55","9.0.85","9.0.56","9.0.81","9.0.70","9.0.60","9.1.20","9.1.16","9.1.15","9.0.95","9.1.55","9.1.35","9.1.50","9.1.60","9.0.90","9.1.30","9.1.25","9.0.25","9.0.3","9.1.10","9.1.5","9.1.0"]}}
2025-03-25 13:43:48 V/Bot.1829881350: Event: AutoLoginEvent.Success(bot=1829881350, protocol=ANDROID_PAD, heartbeatStrategy=STAT_HB)
IAA 云天明 章北海 赵怡然内部签名
2025-03-25 13:43:48 W/trpgbot.factory: trpgbot key is empty
2025-03-25 13:43:48 I/trpgbot.adapter.http: Bot(3930700296) initialize by https://qsign.trpgbot.com
2025-03-25 13:43:54 I/trpgbot.adapter.http: Bot(3930700296) register, 注册成功。
2025-03-25 13:43:55 I/trpgbot.adapter.http: Bot(3930700296) initialize complete
2025-03-25 13:43:59 I/Bot.3930700296: Calculating type 2 PoW, it can take some time....
2025-03-25 13:43:59 I/Bot.3930700296: Got PoW result, cost: 18 ms
2025-03-25 13:44:11 I/trpgbot.adapter.http: Bot(3930700296) destroy, 销毁失败,该实例为公有实例,您没有权限进行销毁,请 确保你提供了正确的uin和qua/ver版本号
2025-03-25 13:44:11 E/main: net.mamoe.mirai.network.BotAuthorizationException: BotAuthorization(BotAuthorization.byPassword(<ERASED>)) threw an exception during authorization process. See cause below.
net.mamoe.mirai.network.BotAuthorizationException: BotAuthorization(BotAuthorization.byPassword(<ERASED>)) threw an exception during authorization process. See cause below.
at net.mamoe.mirai.internal.network.components.SsoProcessorImpl.login(SsoProcessor.kt:263)
at net.mamoe.mirai.internal.network.handler.CommonNetworkHandler$StateConnecting$startState$2.invokeSuspend(CommonNetworkHandler.kt:247)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
Suppressed: net.mamoe.mirai.network.WrongPasswordException: Error(bot=Bot(3930700296), code=45, title=禁止登录, message=你当前使用的QQ版本过低,请前往QQ官网im.qq.com下载最新版QQ后重试。, errorInfo=)
at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$SlowLoginImpl.doLogin(SsoProcessor.kt:490)
at net.mamoe.mirai.internal.network.components.SsoProcessorImpl$SlowLoginImpl$doLogin$1.invokeSuspend(SsoProcessor.kt)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.internal.ScopeCoroutine.afterResume(Scopes.kt:33)
at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:102)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
... 5 more
Caused by: [CIRCULAR REFERENCE: net.mamoe.mirai.network.WrongPasswordException: Error(bot=Bot(3930700296), code=45, title=禁止登录, message=你当前使用的QQ版本过低,请前往QQ官网im.qq.com下载最新版QQ后重试。, errorInfo=)]
2025-03-25 13:44:11 I/Bot.3930700296: Bot cancelled: Bot closed
2025-03-25 13:44:11 V/Bot.3930700296: Event: AutoLoginEvent.Failure(bot=3930700296, protocol=ANDROID_PAD, cause=net.mamoe.mirai.network.BotAuthorizationException: BotAuthorization(BotAuthorization.byPassword(<ERASED>)) threw an exception during authorization process. See cause below.)
2025-03-25 13:44:11 I/main: mirai-console started successfully.
斗地主,一个能在QQ上斗地主的mirai插件。适用于mirai-console 2.6.7+
1.1.1更新:
修复了结束游戏无限循环和王炸不能炸普通炸弹的bug、更正了部分bot的措辞。使用方法:
将本插件添加至plugins文件夹。
在游戏群内发送“创建游戏”,即可创建一个游戏。
创建游戏后,发送“上桌”即可加入游戏
当上桌人数达3人后,任意玩家发送“开始游戏”即可开始斗
地主。抢地主阶段,发送“不抢”即可不抢,发送“抢”、“抢地主”、即可抢地主。出牌阶段,发送“/<你要出的牌>”在与bot的私聊或者群聊中即可出牌,如“/10jqka”就表示出了一个顺子。发送”过“、”不要“、”要不起“即可跳过。
当管理员发送“结束游戏”时,游戏会被强制结束。
注意,游玩斗地主的群内不要开启发言频率限制,否则会导致bot发不出消息而报错,产生收走了你的牌但没有跳出回合的bug。
插件的特性:
覆盖全部的斗地主规则。 能够自动识别玩家出的牌是否合法。 在私聊中告知玩家所剩的牌。v1.1新特性:
加入货币系统,斗地主能赢钱了 支持胜率的统计与查询未来可能会有的特性:
还没想到,欢迎大家留言游戏指令:
破产时申请补助:在群内输入“/d beg” 查询自己的point数量与胜率:在群内输入“/d me”console指令:
添加群为游戏群:在console输入指令"/dc addgroup <群号>"即可。如"/dc addgroup 123456789"。 添加管理员:在console输入指令"/dc addadmin <QQ号>"即可。如"/dc addadmin 123456789"基于 OneBot 的 Telegram机器人OneBot v11 Java实现端,可以将mirai无缝迁移至Telegram使用
写的不好,请多指教
底层 Java Telegram Bot API: Telegram Bot API的Java实现 兼容性完全兼容Onebot-v11协议,可与Onebot-v11协议的框架相连接,实现大部分功能
使用SpringBoot框架,可直接打包为jar文件在Jdk17环境下运行
提供OneBot-v11正向Websocket方式连接该项目。
TeleOA支持以下连接方式:
纯http轮询 getmsg获取信息 webhook获取 (to-do)支持连接 Mirai-Overflow
其他项目暂未测试
理论上可以与支持OneBotV11适配器的项目相连接使用
内置网页控制面板,ip为onebot配置ip端口根页面
使用方法请确保设备环境安装了JDK17,否则将无法正常运行
前往 TeleOA Release 下载最新版本的jar文件
将项目主体放置在任意目录中,确保文件夹中没有其他文件
使用以下命令启动项目
java -jar Telegram-Onebot-Adapter-[version].jar如果是第一次启动,项目将自动生成配置文件,请根据需要修改配置文件
修改配置后,重新启动项目
配置指南该项目目前仅支持数组格式消息转发/接收,请确保你的框架支持该格式
后续会逐渐适配其他格式,若有问题请移步issue提出
支持proxy代理(HTTP(未测试)/SOCKS 账密),若有需要请在config.yml中配置
下方的需配置 均为config.yml的配置项,配置项右侧有注释解释和格式例子
command: commandMap: start: 开始 help: 帮助 [Telegram发送内容]: [转发至Onebot内容] prefix: [指令前缀 默认为"/"] onebot: ip: 0.0.0.0 path: [Onebot ws连接路径] port: [Onebot ws连接端口] useArray: [是否启用Array消息 true/false] spring: database: dataType: [数据库类型, H2/SQLITE/MYSQL] mysqlPassword: [数据库密码, 若使用H2/SQLITE可不填] mysqlUrl: [数据库连接url, 若使用H2/SQLITE可不填] mysqlUser: [数据库用户名, 若使用H2/SQLITE可不填] webui: password: [网页面板密码] userName: [网页面板用户名] telegram: bot: proxy: host: [代理IP地址,不建议纯域名] port: [代理端口] secret: [代理密码] type: [HTTP/SOCKS/DIRECT] username: [代理账号] token: [你的bot token] username: [你的bot 用户名,随意设置] 功能 HTTP API 反向 HTTP POST 正向 WebSocket 反向 WebSocket 连接多个ws地址 网页控制台 后台操作收发消息 代理支持 Telegram聊天信息区分用户和群组 实现注意下列表格中的✅表示已实现,❌表示未实现,✅❓表示已实现但未测试
已实现 API
符合 OneBot 标准的 API API 功能 实现情况 /send_private_msg [发送私聊消息] ✅ /send_group_msg [发送群消息] ✅ /send_msg [发送消息] ✅ /delete_msg [撤回信息] ✅ /set_group_kick [群组踢人] ✅❓ /set_group_ban [群组单人禁言] ❌ /set_group_whole_ban [群组全员禁言] ❌ /set_group_admin [群组设置管理员] ✅❓ /set_group_card [设置群名片(群备注)] ✅❓ /set_group_name [设置群名] ✅❓ /set_group_leave [退出群组] ✅❓ /set_group_special_title [设置群组专属头衔] ✅❓ /set_friend_add_request [处理加好友请求] ❌ /set_group_add_request [处理加群请求/邀请] ❌ /get_login_info [获取登录号信息] ✅ /get_stranger_info [获取陌生人信息] ❌ /get_friend_list [获取好友列表] ✅ /get_group_info [获取群信息] ✅ /get_group_list [获取群列表] ✅ /get_group_member_info [获取群成员信息] ✅ /get_group_member_list [获取群成员列表] ✅ /get_group_honor_info [获取群荣誉信息] ❌ /can_send_image [检查是否可以发送图片] ❌ /can_send_record [检查是否可以发送语音] ❌ /get_version_info [获取版本信息] ✅ /set_restart [重启TOA] ❌ /get_image [获取图片信息] ❌ /get_msg [获取消息] ❌ /get_status [获取状态] ✅已实现 Event
符合 OneBot 标准的事件 事件类型 事件描述 实现情况 消息事件 [私聊信息] ✅ 消息事件 [群消息] ✅ 通知事件 [群文件上传] ❌ 通知事件 [群管理员变动] ❌ 通知事件 [群成员减少] ❌ 通知事件 [群成员增加] ❌ 通知事件 [群禁言] ❌ 通知事件 [群消息撤回] ❌ 通知事件 [好友消息撤回] ❌ 请求事件 [加好友请求] ❌ 请求事件 [加群请求/邀请] ❌已实现 Message
消息类型 收情况 发情况 纯文本 ✅ ✅ 图片 ❌ ✅ 图文混合(图片描述) ❌ ✅ 语音 ❌ ❌ 短视频 ❌ ❌ at某人 ✅ ✅ 回复 ❌ ✅ QQ表情(替代为Sticker) ❌ ❌其余MessageTelegram不支持
实现效果 ...ac8ba97a-2c8f-4d9c-8610-fcd0d6d4f2a6-image.png
108a20c6-32e2-4601-a872-50ed17cc55df-QQ_1744449911186.png
在IDEA使用MiraiConsole来新建项目,依赖都下载完成后,明明External Libraries中有依赖,还是找不到类,大佬支支招!e172cdf5-f086-4eb6-8415-61545baa291c-image.png 0e025b91-6660-4363-920e-a4024228a066-image.png
目前个人搭建机器人进度 - 正在 window 下跑 mcl,在 Android 下用 sakura 做验证码操作, 提示 code 45.
不想一步一步的踩坑了,第三方验证服务什么的还没研究, 自己搭不确定能不能一步到位。
希望有朋友帮忙搭一下 (预算有限,只能v50 红包,当交个朋友)
需求是
主机长期运行 qq 机器人在线(几天重启一次也没关系) http 或者 ws 插件安装,可以让我用 node.js 编写机器人的收发逻辑处理。只需要协助帮忙搭建和登录运行机器人,其他任何业务逻辑都是这边处理的。
本人有服务器有主机,希望可以给个可靠的搭建路径和出错后直接的问题解决办法。
https://blast.tv/counter-strikle/multiplayer
🌱 插件处于初期开发阶段 只实现了基础功能 | 有任何建议或者想法可以在issue中提出 🛠️安装&依赖前置 从Release中下载最新版本 将Zip文件解压并放入 %mirai文件根目录%/ 中 重新启动你的mirai-console 在群内输入 /开始猜选手 开始游戏 🛠️依赖前置(请安装到你搭建机器人的服务器上) mirai-skia-plugin Mirai-console 2.16版本或以上 Chat-Command 🚀代办清单 (可以订阅Release来获取更新) 制作完整版 🧐已拥有的功能 基本的猜选手小游戏实现 国旗显示支持 170个选手数据 🔑指令 /开始猜选手 /结束猜选手指令需要给予相关权限才可以使用
org.bcz.guesscs2proplayer:command.开始猜选手 org.bcz.guesscs2proplayer:command.结束猜选手 📷插件截图施工中
💡 选手数据整理为csv文件放置在/data/org.bcz.guesscs2proplayer/中 💡 目前使用的爬取方法为我自己的python项目,效果一般 💡如有较为完美的思路或者程序可以在issue中告诉我 💡prodown仓库地址
Bot is Watching you.👁️
若APIKey与欲查询的用户为同一个账号时,设置游戏私密功能将无效 新成就大约4分钟后才能被Bot发现 修改刷新间隔配置后需要重载插件依赖文件 libHarfBuzzSharp.dll libSkiaSharp.dll 放置在框架/加载器的 根目录 或者 x86 文件夹 或者 libraies 文件夹 Assets.zip 解压后放置在插件的数据目录内,保留 Assets 文件夹
5dfe2e77-1fe4-469c-91b2-ac26d0b8a6ac-image.png
7f17bccd-8625-48d2-841a-9c2fa50a14fc-image.png
不是所有人都能够科学上网,这里我将整合好的仓库放在这里
一个简单的整合心血来潮想弄一个QQ的机器人,然后找到这样的框架,在登录的时候遇到些问题,在官方的帖子里翻了翻,以及对应启动控制台的错误信息自己做了一些调整,做了这样一个整合的包,大家可以直接down下来直接用,我这里简单介绍一下如何使用。
登录登录的步骤我们需要前往这个仓库,下载一个app,你问我为什么要下这个app,我也不知道,这是日志提示的需要我去下,安装后,点开是这个界面。
d1ac17eb18b1a39be8e614fe8d94a924.jpg
考虑到并不是所有人都能科学上网,我将这个apk放到仓库,你可以down下来直接用,名字叫这个
apk-release.apk完成后,我们在mcl的控制台输入以下命令
login qq账号 qq密码 ANDROID_PAD1742820154892.png
接着使用你下载好的扫码app扫码登录
1742820249339.png
1742820398165.png
这样就完成登录了,我这个目前只是完成了登录操作,后面就是api的使用,然后我这个是没有安装http模块,大家可以依靠根据需求自行安装。
问题解决依据觉得解决你的问题就点个赞吧
如题,这是一个参考了yiri-mirai,用来接入onebot实现的python sdk。
对习惯了yiri-mirai的开发者来说,几乎不需要任何学习成本即可上手使用。
在隔壁群看到的,但是无论怎么搜关键字都找不到类似的,有没有用过的大佬知道
3647b18f-97f6-425a-979a-e29c79522b39-image.png