维护花了一点时间,抱歉。。。。。。。。。
在本次攻击事件中暴露了一些网站安全性相关的问题。为了应对未来可能遭遇的各种类型的攻击。在这段时间里我们可能会进行各种安全相关的更新。
本次更新新增了发帖验证码系统,任何人发布新主题或者是回帖都需要完成验证码。
此外我们建立了MiraiForumGithub组织,开放了几个由我们编写的插件,欢迎大家提出意见或者是建议。如果无法通过论坛联系我们也可以通过组织联系我们。
请阅读: 论坛规则 常见问题QA 无法登录的临时处理方案
源代码和文档: mamoe/mirai, docs.mirai.mamoe.net
闲聊TG群: @mirai_mamoe, Gitter群 mamoe/mirai
😋在论坛找了几圈,没找到可以拿来接AI的插件(还是说找的不仔细),思来想去就弄了这么一个东西:DeepseekMirai。
使用python编写,调用mirai-http-api控制收发信息。
提取码:qzhV,点击下载 DeepseekMirai.exe(123云盘)
没有毒,不信可以去测测到底有没有
网不太好,不愿意用github,用魔法又被移动针对。所以,想要源码可以直接找我要(虽然写的是一堆屎山)
配置文件详解:
{ "code": "0", "host": "你的api插件地址,只支持http/s协议,末尾要带斜杠/", "verifykeys": "你的api插件的密钥", "botqq": "绑定的机器人", "deepseekapiaddress": "https://api.deepseek.com", "deepseekapikey": "去Deepseek官网申请来的api密钥", "deepseekapimodel": "支持deepseek-chat和deepseek-reasoner", "requesttimeSleep": (int)刷新消息延迟,默认为1秒,过长可能出问题, "chatConfig": { "chatMode": "answerUser", "annoyingBotModeConfig": { "annoyingBotDefaultPrompt": "自动骚扰的默认提醒词,这一部分还得修一修,所以改了没效果", "hitChance": 100, "getChatHistoryCount": 1, "replyAlltime":[] }, "tipsA0": "没什么用", "listenGroups": [ 123456, 789109 ], "listenFriends": [ 10000 10011 ], "blockuserList": [ 12345678 ], "showblockMessages": true, 是否提醒被拉黑的用户 "atBot": false, 触发是否需要@bot "breaklongSentence": true, 把长句拆开,分开发送 "commandPrefix": { "answerUser": "%chat,触发提问的消息前缀", "adminQQs": [ 2146187991 ], "tipsA1": "还是没啥用。以下涉及到写文件的操作只有管理员qq列表的第一位可以使用,比如说保存。", "changeModel": "%model,快速更改模型的命令前缀", "changePrompt": "%prompt,快速修改当前群/私聊提醒词的命令前缀", "clearChatLog": "%rmrf,删除当前聊天历史", "checkApiBalance": "%apibalance,查询已配置的API密钥的余额", "addBlackList": "%black,拉黑某用户的命令前缀", "memorySync": "%memory,大记忆恢复术(加载其他会话或保存的聊天历史)的命令前缀", "addGroupList": "%addg,添加检测群的命令前缀", "addFriendsList": "%addf,添加检测私聊的命令前缀", "memorySave":"%save,保存当前对话的命令前缀,没提供名字默认群号/私聊QQ号" }, "defaultPrompt": "默认提醒词,没填就是猫娘咯" } } ...六百六十六我们某群群友已经把机器人哄成npy了
本插件参考和使用了OpenAI ChatBot 插件,已添加预设功能(为啥你们都想整猫娘)的源代码,因此遵循AGPL-3.0协议公开源代码
https://github.com/Tki-sor/mirai-deepai-plugin
额外实现了,多模型支持(但是还没写绑定功能),流式输出(ds这种的)
效果:
8fbd684c-148a-4aac-8b1e-2e30f2546a56-image.png
由于功能有些从头写的,还没做到原插件所有功能(才...才不是偷懒)
要什么功能发issues吧...
使用俺维护的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调用思路以及各位逆向工作者的支持。
“不好!这里要撑不下去了”
“A4 求救,A4 求救,A32 地区的沙雕数量超过阈值,即将突破防线!”
“什么!?啧。。”
“B8 已完成沙雕清除任务,现赶往 A32 地区”
“这样。。什么时候是个头啊。。”
如果想订阅本贴更新可以点击右上角铃铛🔔按钮
【持续时间】
1970.1.1 ~ 114514.12.31
【活动内容】
糟糕!沙雕小别墅遭到了从未知之处涌出的沙雕攻击,防御工事濒临崩溃,如果能用其他的方法击退它们的话。。
对了!沙雕图!
【参与方式】
在本贴中回复沙雕图,协助沙雕防御工事击退沙雕。
【活动奖励】
从其他 miraier 获取的沙雕图!是不是非常丰厚呢?
【注意事项】
遵守摸鱼区规则。
是沙雕图不是涩图!
【样例】
3c2dfb62-5555-4c00-a17b-d76715bf2088-image.png
寻会写企鹅协议的ZC 算法 来个技术长期合作
寻求一款插件,自动转发私聊接收的文件至qq群,qq群文件进行文件保存。
https://github.com/Hellobaka/Another-Mirai-Native
下载https://github.com/Hellobaka/Another-Mirai-Native/releases/latest
特点相较于Mirai-Native具有以下特点:
由插件异常导致程序崩溃时,不会导致Mirai框架崩溃 图形化界面 可对单个插件重载 可对单个插件进行消息逻辑测试,省去在群内发消息 服务器端可使用64位的JRE了 部署更加自由,比如可以Linux服务器部署Mirai主体,之后随便找个Win机器/虚拟机再跑本程序 依赖 .net framework 4.8 mirai-api-http v2 安装与配置mirai-api-httphttps://github.com/project-mirai/mirai-api-http#安装mirai-api-http
开放ws,配置verifyKey 如需公网访问,请将ws-host设置为0.0.0.0,服务器开放ws的监听端口 注意 能够使用的插件仅限为直接编译出的dll与json,不支持cqk与使用json修补的dll(缺少导出表) 插件需要特殊依赖文件时,没有特殊说明直接放在根目录即可 三天糊出来的程序,免不了有bug,有问题请务必反馈 目录说明├─conf:程序配置与插件启用状态记录
├─data
│ ├─app:插件配置
│ │ └─me.cqp.luohuaming.SteamHeyboxQuery:每个插件的配置文件夹
│ ├─image:图片缓存与发送图片的相对目录
│ ├─plugins:需要读取插件的目录
│ │ └─tmp:插件临时目录
│ └─record:语音未实现
├─logs:日志目录
│ ├─3020887057:每个QQ号所属的日志
│ └─cqp:cqp.dll生成的日志
想看看图片?
...c246f8f8-8d30-4d6c-84f6-0bfa68955cd0-image.png
19e2835d-32cc-404a-a11e-bd8ce2366b25-image.png
baa00da3-0e6f-4d43-8419-22f24364d8fa-image.png
欢迎大家查看、批评、指正、优化代码
Github地址:https://github.com/AfeiBaili/Gobang插件配置项,在首次运行会抛出PropertiesFileNotFoundException异常,
此异常是提醒配置群聊过滤文件(防止不该出现的群聊发出消息),异常信息会有指定的路径提示,
当然也可以在mirai主目录下的, config目录下找到gobang.properties配置key为groups的群聊使用"|"符号可以配置多个群聊。
机器人指令简单来说,首次运行后再退出,根据控制台的报错信息拿到配置文件路径,填写想要启用的群聊使用|分割多群聊
没有等级限制,群里面的所有人都可以使用
菜单:打印可用命令 下棋:通过下棋@QQ进行邀请 接受:接受下棋的邀请 拒绝:拒绝下棋的邀请 认输:认输并结束此局 取消:取消发送的邀请使用棋盘序号 0-14、a-o 匹配格子,大小写兼容,越界不会计算在内
4e2dbdcc52965e998a5d8d48119e38bf.png
请教一个论坛里的大神们,小弟有几个群需要管理,有时候需要发布一些重要通知,但是很多人群消息都是直接忽略的,所有有没有办法基于Mirai框架实现自动批量私聊群里的成员,发送一些重要通知呢?在线急等!!!
感谢各路大神
基于 Mirai 框架的群聊机器人,还在开发中...
kookie的诞生起源于写代码时的无聊,就像写一个玩一下,并且在新建文件夹的时候恰巧正在吃饼干,遂诞生了Kookie,希望各位喜欢她。
本次开源一部分插件功能。
仓库地址: https://github.com/GeneralK1ng/Kookies
欢迎各位PR,欢迎一起交流。
Features 答案之书 群聊内发送 答案之书 <询问内容> 今日运势 群聊内发送 今日运势 评价一下 群聊内发送 评价一下 <@想要评价的目标> 吃什么 群聊内发送 吃什么 <具体地址> <city> (如果地址非常具体可以不加city) 说一下 群聊内发送 说一下 <需要说的文字>,会发送语音,语音模块需要自己部署推理服务器。 今日老婆 群聊内发送 今日老婆 代码运行 群聊内发送 代码运行 <语言> <代码> 此部分用的runoob的API,自己去拿一个token即可使用。 今日词云 群聊内发送 今日词云 昨日词云 群聊内发送 昨日词云 地狱笑话 群聊内发送 地狱笑话 目前是英文的,后面考虑能不能翻译,但是其实很多笑话是欧美梗,如果翻译过来的话,可能就没内味了。后面的功能还在想,语音功能部分比较的复杂,需要另外自己部署推理服务器,并且自己使用模型,而且还需要自己编译ffmpeg,这部分代码写的比较死,这部分需要一个详细的文档,但是本人学生空余时间并不是很多,所以后续会不定期开发。
需要填写的API 百度大模型采用的是百度的 Yi-34B-Chat 的中文模型,选择这个的理由是首先中文识别以及短回复比较适合群聊场景,其次是调用它不要钱(bushi,对学生党比较友好。
去 百度智能云控制台 新建一个应用,获取 API key 和 Secret Key 填入 config.json 即可
高德地图主要是吃什么功能,需要用到高德的周边搜索以及地理坐标转换。\
去 高德开放平台 建立一个应用,然后复制 API Key 填入即可,注意周边搜索免费额度只能每天免费100次数,所以建议节省一些,后续会开发一个缓存池来延长每天的时间,咕咕。
语音功能这部分需要自己搭建推理服务器并且还涉及本地的ffmpeg的编译,比较的麻烦,所以因为时间限制暂且不表。
Runoob需要去菜鸟教程的在线编译器抓包拿一下token,这里感谢菜鸟教程的无私奉献()
Config在kookie插件加载成功后会在 ./kookie/ 目录下生成 config.json 文件,需要手动填写一些相关参数:
{ "botInfo": { "birthday": "2024-05-20", "name": "Kookie", "owner": "your owner", "age": 16, "baiduApiConfig": { "apiKey": "your apiKey", "secretKey": "your secretKey" }, "gaodeApiConfig": { "apiKey": "your apiKey" }, "voiceApiConfig": { "apiUrl": "your apiUrl", "ref_audio_path": "your ref_audio_path", "gpt_weights_path": "your gpt_weights_path", "sovits_weights_path": "your sovits_weights_path" }, "runoobToken": "your runoobToken" }, "maxTodayGirlTimes": 3, "adminList": [ 123456789, 987654321 ], "userBlackList": [ 11111111, 22222222 ], "enableGroupList": [ { "id": 666666, "tag": [ "test1", "test2" ] }, { "id": 777777, "tag": [ "test3", "test4" ] } ] }voiceApiConfig 目前可以先不填写,在后续文档跟进后再使用,这部分只是关于语音推理的。
然后黑名单和允许的群聊这两部分是权限管理必须需要的,所以一定要填写!
请注意如果词云采用的字体是宋体,如果服务端没有安装会导致图片生成失败!!!
字体下载请到 fonts 这个文件夹下下载然后安装,目前还在研究java的字体安装,如果无法自动安装就手动下载安装吧。
如果可以的话,请点一个star,非常感谢 >_<
一个基于 Mirai 的控制台机器人。
它能:
发送、接收消息/图片 撤回消息 回复消息 踢出某人 删除好友 发送私聊消息 自动回复消息 支持语言文件 内置简体中文、繁體中文、English三种语言无需繁琐的配置,开箱即用
项目地址:
1689295608/MiraiBot
懒得写了(
java.util.NoSuchElementException: group 2055561833
at net.mamoe.mirai.Bot.getGroupOrFail(Bot.kt:152)
at net.mamoe.mirai.internal.message.OnlineMessageSourceFromTempImpl.<init>(incomingSourceImpl.kt:139)
at net.mamoe.mirai.internal.message.ReceiveMessageTransformer.createMessageSource(ReceiveMessageHandler.kt:109)
at net.mamoe.mirai.internal.message.ReceiveMessageHandlerKt.toMessageChain(ReceiveMessageHandler.kt:83)
at net.mamoe.mirai.internal.message.ReceiveMessageHandlerKt.toMessageChainOnline(ReceiveMessageHandler.kt:49)
at net.mamoe.mirai.internal.network.protocol.packet.chat.receive.MessageSvc_PbGetMsgKt.transform(MessageSvc.PbGetMsg.kt:515)
at net.mamoe.mirai.internal.network.protocol.packet.chat.receive.MessageSvc_PbGetMsgKt.transform$default(MessageSvc.PbGetMsg.kt:248)
at net.mamoe.mirai.internal.network.protocol.packet.chat.receive.MessageSvcPbGetMsg$decode$messages$5.invokeSuspend(MessageSvc.PbGetMsg.kt:184)
at net.mamoe.mirai.internal.network.protocol.packet.chat.receive.MessageSvcPbGetMsg$decode$messages$5.invoke(MessageSvc.PbGetMsg.kt)
at kotlinx.coroutines.flow.FlowKt__MergeKt$flatMapConcat$$inlined$map$1$2.emit(Collect.kt:134)
at net.mamoe.mirai.internal.network.protocol.packet.chat.receive.MessageSvcPbGetMsg$decode$$inlined$filter$1$2.emit(Collect.kt:135)
at net.mamoe.mirai.internal.network.protocol.packet.chat.receive.MessageSvcPbGetMsg$decode$messages$2$invokeSuspend$$inlined$filter$1$2.emit(Collect.kt:135)
at kotlinx.coroutines.flow.FlowKt__BuildersKt$asFlow$$inlined$unsafeFlow$3.collect(SafeCollector.common.kt:115)
at net.mamoe.mirai.internal.network.protocol.packet.chat.receive.MessageSvcPbGetMsg$decode$messages$2$invokeSuspend$$inlined$filter$1.collect(SafeCollector.common.kt:114)
at kotlinx.coroutines.flow.FlowKt__MergeKt$flattenConcat$$inlined$unsafeFlow$1$lambda$1.emit(Collect.kt:134)
at kotlinx.coroutines.flow.FlowKt__MergeKt$flatMapConcat$$inlined$map$1$2.emit(Collect.kt:134)
at net.mamoe.mirai.internal.network.protocol.packet.chat.receive.MessageSvcPbGetMsg$decode$$inlined$filterNot$1$2.emit(Collect.kt:135)
at kotlinx.coroutines.flow.FlowKt__BuildersKt$asFlow$$inlined$unsafeFlow$3.collect(SafeCollector.common.kt:115)
at net.mamoe.mirai.internal.network.protocol.packet.chat.receive.MessageSvcPbGetMsg$decode$$inlined$filterNot$1.collect(SafeCollector.common.kt:114)
at kotlinx.coroutines.flow.FlowKt__MergeKt$flatMapConcat$$inlined$map$1.collect(SafeCollector.common.kt:114)
at kotlinx.coroutines.flow.FlowKt__MergeKt$flattenConcat$$inlined$unsafeFlow$1.collect(SafeCollector.common.kt:114)
at net.mamoe.mirai.internal.network.protocol.packet.chat.receive.MessageSvcPbGetMsg$decode$$inlined$filter$1.collect(SafeCollector.common.kt:114)
at kotlinx.coroutines.flow.FlowKt__MergeKt$flatMapConcat$$inlined$map$1.collect(SafeCollector.common.kt:114)
at kotlinx.coroutines.flow.FlowKt__MergeKt$flattenConcat$$inlined$unsafeFlow$1.collect(SafeCollector.common.kt:114)
at kotlinx.coroutines.flow.FlowKt__CollectionKt.toCollection(Collection.kt:32)
at kotlinx.coroutines.flow.FlowKt.toCollection(Unknown Source)
at kotlinx.coroutines.flow.FlowKt__CollectionKt.toList(Collection.kt:15)
at kotlinx.coroutines.flow.FlowKt.toList(Unknown Source)
at kotlinx.coroutines.flow.FlowKt__CollectionKt.toList$default(Collection.kt:15)
at kotlinx.coroutines.flow.FlowKt.toList$default(Unknown Source)
at net.mamoe.mirai.internal.network.protocol.packet.chat.receive.MessageSvcPbGetMsg.decode(MessageSvc.PbGetMsg.kt:188)
at net.mamoe.mirai.internal.network.protocol.packet.chat.receive.MessageSvcPbGetMsg$decode$1.invokeSuspend(MessageSvc.PbGetMsg.kt)
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:571)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
life-restart-botやり直すんだ。そして、次はうまくやる。
基于 mirai-console 的人生重开模拟器一则
由于 skiko 不支持 x86 系统,本插件无法在 x86 位数系统中运行!
如果您须要在 x86 系统中运行,请使用 Release v0.3.0
支持功能 支持自定义并添加模拟器事件 在群聊/好友 中使用指令模拟重开 支持绘图返回功能(使用 skia) 如何使用?项目地址: https://github.com/HatoYuze/life-restart-bot
您可能需要前置插件 project-mirai/chat-command如果您愿意为本项目点一个 star 的话,就是对本项目最好的支持✨
下载 release 中的 life-restart-bot-xxx-mirai2.jar 随后丢进你的 mcl 的 plugins 中 对目标授予 com.github.hatoyuze.restarter.life-restarter:command-execute 权限可详见项目 README 中的描述
如果您想要添加自定义事件,可前往 /mcl/config/com.github.hatoyuze.restarter.life-restarter/register.yml 文件
将文件的 enabledCustomizedEvent 设定为 true
随后按照所要求的格式填写文件即可,例如
dcb0b8af-4de3-4845-9f98-2857df9cf9f3-image.png
53227d9b-3dc2-4be0-8f9c-3b86a2fad020-image.png
聊天记录内容:
自版本 0.4.0 以后,将默认使用图片结果返回,您也可以使用 remake text 获取聊天记录结果
6911321c-0e23-480c-bb82-a59010e40317-image.png
71d5ef35-aa3b-4322-b65e-40b6e35f62d8-image.png
在mcl.cmd控制台登陆时无法登陆,log如下:有大神帮忙解决一下吗?急,成分感谢
2025-02-22 17:49:56 I/main: Backend: version 2.16.0, built on 2023-10-20 06:28:10. 2025-02-22 17:49:56 I/main: Frontend Terminal: version 2.16.0, provided by Mamoe Technologies 2025-02-22 17:49:56 I/main: Welcome to visit https://mirai.mamoe.net/ 2025-02-22 17:50:16 I/plugin: Successfully loaded plugin mirai-login-solver-sakura v0.0.12 2025-02-22 17:50:16 I/plugin: Successfully loaded plugin MCL Addon v2.1.1 2025-02-22 17:50:16 I/main: Prepared built-in commands: autoLogin, help, login, logout, permission, status, stop 2025-02-22 17:50:16 I/MCL Addon: iTXTech MCL Version: 2.1.2-61c8bd8 2025-02-22 17:50:16 W/MCL Addon: iTXTech Soyuz 未安装,Soyuz MCL Handler 特性已禁用 2025-02-22 17:50:16 I/main: 3 plugin(s) enabled. 2025-02-22 17:50:16 I/main: mirai-console started successfully. > login 2609895508 Zgl@123321 2025-02-22 17:50:50 I/Bot.2609895508: Calculating type 2 PoW, it can take some time.... 2025-02-22 17:50:50 I/Bot.2609895508: Got PoW result, cost: 68 ms 2025-02-22 17:51:58 I/Bot.2609895508: Bot cancelled: Bot closed Login failed: BotAuthorization(BotAuthorization.byPassword(<ERASED>)) threw an exception during authorization process. See cause below. 2025-02-22 17:51:58 E/console: 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(2609895508), code=45, title=禁止登录, message=登录失败,请前往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(2609895508), code=45, title=禁止登录, message=登录失败,请前往QQ官网im.qq.com下载最新版QQ后重试,或通过问题反馈与我们联系。, errorInfo=)]
如题,这是一个参考了yiri-mirai,用来接入onebot实现的python sdk。
对习惯了yiri-mirai的开发者来说,几乎不需要任何学习成本即可上手使用。
回复: 请问怎么编译mirai-core-jvm这个jar包呢
按照这个方法,前面都过了,一直卡在connect mamoe这里,是什么原因呢?
函数调用允许我们在给bot指令时,无需再遵循特定指令格式,而是由bot自行根据聊天上下文判断是否调用函数以及相应参数。
预览e50375ee-2178-4c55-9374-7641afaf0c34-6e032602f5687ace7e783684c47bd2ce_720.jpg
即使不接入qq,在webui同样可以使用bot。
6df26699-daed-4845-b602-f53dfd386add-a2eabdad079c9d50e26749a48c6e1b8a_720.png
1.下载整合包 整合包已打包bot运行所需环境,无需额外配置环境。
如需接入qq作为机器人,请部署onebot实现(napcat或llob)并开启它们的正向websocket服务,即以onebot实现作为websocket server,端口设置为30012.解压整合包,运行server.exe,打开webui一键拉取Eridanus源码,完成后进入webui控制台
此时运行【启动脚本.bat 】后已可在对话页面进行对话,但默认免费模型无函数调用 建议按照文档在webui配置一个对话模型(gemini最优)后再点击启动脚本3.运行Eridanus/启动脚本.bat