先用pc端登录qq.然后用cssxsh大佬的插件更新一下登录协议。
https://github.com/cssxsh/fix-protocol-version
协议内容:
https://github.com/cssxsh/fix-protocol-version/blob/main/src/main/kotlin/xyz/cssxsh/mirai/tool/FixProtocolVersion.kt
hatmony 发布的帖子
-
RE: 如何获取MessageChain的KIND属性?
不清楚为什么想通过MessageChain反过来获取对应的event类型?
event可以通过监听直接过滤出想要的事件类型,不需要拿全局的event进行逐一判断。 -
头一次遇到无限验证的情况
我是用mirai-core搭配Springboot写的bot。
2.10号上午炸了后顺便也更新到了2.14,然后发现这次卡在无限需求验证上。
无限验证情况如下:
登录提示发手机验证码验证或者选择其他方法-》因为小号暂时无法绑定手机选择其他验证提示进行扫码验证-》手机QQ扫码验证通过-》又提示发手机验证码验证或者选择其他方法验证。
以前手机扫码验证通过后就登录成功了,这次不知道为什么在重复这个过程,要么是小号吃风控了?deviceInfo.json和cache每次尝试登录前都删了重新生成的,几个协议换着用都一样。 -
RE: Spring Boot Mirai
引入 mirai-core-jvm 就能写一个spring boot 的starter 项目了,打完包一键启动,我1核2G的云服务器跑起来也毫无压力,参考 https://gitee.com/nekotori/neko-qqbot
-
RE: 如何在执行指令时发送一条at指令发送者的消息?
new MessageChainBuilder().append(new At(groupMessageEvent.getSender().getId())......
-
RE: 求问java下如何获取信息中被@的人的qq号
@HOLIC https://github.com/mamoe/mirai/blob/dev/mirai-core-api/src/commonMain/kotlin/contact/Member.kt 其实参考源码注释就有详细说明。
群昵称:member.getNameCard() -
RE: 求问java下如何获取信息中被@的人的qq号
简单点就直从MessageChain中拿到net.mamoe.mirai.message.data.At,然后拿到qq号。
参考代码如下:
MessageChain message = groupMessageEvent.getMessage();
for(SingleMessage s:message){
if(s instanceof At){
String qqid= ((At)s).getTarget()
//TODO
}
}