@snowmoonss 然而大部分的插件根本没有编译linux版本……

Orisland 发布的帖子
-
RE: command双重调用问题
@karlatemp
脸是晚上丢的,人是连夜走的。
光速逃离mirai论坛
我真不知道idea-mirai插件自带的工程里没有集成chat-command -
RE: command双重调用问题
@karlatemp prefix里已删除,我不喜欢在命令前面带斜杠。
而且带不带斜杠都是不行的……
下图为eventHandler
中注释掉相关代码后的命令表现:
另附权限截图:
-
RE: command双重调用问题
然后我开始怀疑我是不是注册部分写错了还是怎么的,注册失败命令那不应该会出现在help命令里啊,出现上面情况的原因,我觉得在本地测试更像是写在
myCommand
里的handler
注解并没有起到任何作用,但是安装了luckperm
后这个handler
又自己恢复了??我开始进入迷惑状态。 -
RE: command双重调用问题
@karlatemp
以下环境均在本地没有安装luckperm插件的环境下测试
权限测试全过程:-
好友私聊,
eventHandler
重复执行代码段存在:
-
注释
eventHandler
:
-
再次测试:
command
失效。 -
删除注释->
command
有效.
-
我:???????
-
-
RE: command双重调用问题
@karlatemp
插件版本为luckperms-mirai-2.5-RC-dev-3+5.3-SNAPSHOT.jar
可是我不在eventHandler
里写,bot就不响应命令=。=
去除好友/群事件监听中的executeCommand
后则对应的好友/群命令无法响应。 -
RE: command双重调用问题
另附双触发日志:
使用
command
:2021-08-21 21:29:17 V/Bot.qq: [bot 测试(qq)] Orisland Unlimit() -> /s @主bot qwe
错误的双触发:
2021-08-21 21:29:17 V/Bot.qq: Event: GroupMessagePreSendEvent(target=Group(qq), message=wocao ) 2021-08-21 21:29:17 V/Bot.qq: Group(qq) <- wocao 2021-08-21 21:29:17 V/Bot.qq: Event: GroupMessagePostSendEvent(target=Group(qq), message=wocao , exception=null, receipt=net.mamoe.mirai.message.MessageReceipt@1fe87ff1) 2021-08-21 21:29:17 V/Bot.qq: Event: GroupMessagePreSendEvent(target=Group(qq), message=wocao ) 2021-08-21 21:29:17 V/Bot.qq: Group(qq) <- wocao 2021-08-21 21:29:17 V/Bot.qq: Event: GroupMessagePostSendEvent(target=Group(qq), message=wocao , exception=null, receipt=net.mamoe.mirai.message.MessageReceipt@3728e35d)
-
command双重调用问题
如题,
经过测试,安装了LuckPerms插件的mirai,在测试command
时会出现命令重复调用问题,在本地无LuckPerms
插件的bot则可以正常使用command
命令,不会出现重复调用问题。-
本地:
-
安装了插件的服务器:
请教该问题出现的原因以及解决方式?
- 另附代码段:
onEnable
:CommandManager.INSTANCE.registerCommand(Mycommand.INSTANCE, false);
myCommand
:public class Mycommand extends JSimpleCommand { public static final Mycommand INSTANCE = new Mycommand(); private Mycommand(){ super(Plugin.INSTANCE, "test", new String[]{"s"}, Plugin.INSTANCE.getParentPermission()); setDescription("这是一个测试command"); } @Handler public void onCommand(CommandSender sender, String mes){ sender.sendMessage("test"); } }
EventHandler
:FriendCommandSenderOnMessage to = new FriendCommandSenderOnMessage(event); CommandManager.INSTANCE.executeCommand(to, event.getMessage(),false); MemberCommandSenderOnMessage to = new MemberCommandSenderOnMessage(event); CommandManager.INSTANCE.executeCommand(to, event.getMessage(),false);
以下测试基于本地没有LuckPerms插件的环境:
尽管我知道我似乎不应该在EventHandler
中再次监听命令,但是不监听他就是不响应……去掉好友监听好友不响应,去掉群监听群不响应?? -
-
RE: 腾讯开始动手了?
@yoonching 提供参考,涩图库,bili推送,其他的功能应该都是无关紧要的。
但是这个错误封禁信息似乎和setu和bili推送没关系,我号因为setu被封的时候提供的封号原因写明了是涩图问题,但是是这个直接告诉我是客户端问题。 -
RE: 关于导出jar文件并放置在plugin文件夹后不加载的问题
这个……不是plugin吧?Σ( ̄ロ ̄lll)
你可以当她是个提供了更多便捷化api的mirai本体,而不是一个独立的插件。
你可以给这个框架单独写插件而不是用她给mirai写插件。
@diyigemt
注意查看readme中插件开发的说明:
MiraiBootPlugin插件类插件式开发 MiraiBoot支持插件式开发模式 若采用插件式开发,miraiboot的依赖版本需要为1.0.5+,需要去Releasev1.0.5中下载miraiboot的核心包mirai-boot-1.0.5-core.jar单独运行,并将打包后的插件放置在./data/plugin中 MiraiBootPlugin插件类 MiraiBootPlugin插件类是在主类上继承使用的类,继承MiraiBootPlugin的主类打包后将会被MiraiBoot识别为MiraiBoot插件。
换句话说,你打包的这个插件应该只有使用该框架的bot可用,而非原生mirai。
我当时也用了这个框架但也是碍于该框架的插件只能自己现场手写,就只好放弃,老老实实把她当成java样例工程学习代码
没法白嫖其他巨佬的优秀插件啊。而且我觉得你对这个项目有问题应该开在佬项目的帖子里或者直接发issue,单独开贴作者不一定看得到。