果然Java圈都是MC同好
Cute_LuoBo 发布的最佳帖子
Cute_LuoBo 发布的最新帖子
-
RE: 原生java开发,使用mirai-console的内置权限系统,如何给用户设置默认的插件权限?
@cssxsh 原来是参数不同,我之前也试过使用直接使用类静态方法,但参数没改,IDE还是给我匹配到内部方法去了。
感谢,我尝试一下是否能生效 -
原生java开发,使用mirai-console的内置权限系统,如何给用户设置默认的插件权限?
环境
目前用的mirai-console:2.9.2版本开发,最新版因为原来的内置mirai-console启动方法无法正常使用,所以回退了版本开发
查阅资料
转了一圈官方文档和示例项目,好像都没有看到有相关的Java示例。在源码按相关类查了一下方法,应该是使用
PermissionService.getInstance().permit(PermitteeId,Permission);
来赋予权限
但PermitteeId
找不到具体的创建方法,查阅官方文档有说明,但一直创建不出来。
尝试的方式:
CommandSender.getPermitteeId()
只有创建具体实例才能使用- 使用
AbstractPermitteeId.AnyUser.INSTANCE
提示方法不接受此参数
github也按
AbstractPermitteeId
关键词搜了一下,没有什么能参考的,只有特定用户群体的才可用new AbstractPermitteeId.Exact***
实例化,对于全体用户的无法使用。
希望能有个具体示例可以参考 -
RE: 【求助】有什么插件源码修改,会导致机器人对所有QQ消息都无法解析命令吗?
还是变量排除有问题,洗完澡又重新测试了一下解决了。
源码修改这部分没有问题,应该是权限系统导致的错误,没权限执行命令,自然也没有回应了。- 用了之前旧服务器的旧客户端mirai-console v2.11.0-M1,搭配这次修改的新插件,用户命令可用。
- 使用相同权限配置文件,在linux平台用最新mcl部署的 mirai-consolev2.11.0和新插件,用户命令无效
- 使用相同权限配置文件, 在IDEA中,使用测试方法运行的mirai-console v2.9.2和新插件debug环境,用户命令无效
于是只好用回旧版本v2.11.0-M1进行部署了,目前正常运行
- 用了之前旧服务器的旧客户端mirai-console v2.11.0-M1,搭配这次修改的新插件,用户命令可用。
-
【求助】有什么插件源码修改,会导致机器人对所有QQ消息都无法解析命令吗?
问题描述:
最近更新了一下自己开发的插件版本,发现了命令失效问题:
- 可以正常在控制台看到接收到的消息/指令,但从QQ消息中获取到的命令全都不生效了,包括控制台内置的命令(例如/permission 等)
- 对于在控制台上直接输入的命令可以正常执行
- 对于设置了事件监听器的,可以正常触发监听器并发送消息出来
环境
开发JDK版本:java8
开发运行mirai版本:2.9.2
测试运行mirai版本:2.11.0-M1(未更新插件前可用)对客户端的修改:
只有对应插件JAR文件做过更新,其他都没有修改,权限测试账户也是有配置权限的。切换回旧版本插件时(插件/控制台)指令都可以正常执行
本次更新做的更改:
此次commit的链接:https://github.com/CuteLuoBo/CuteExtrain/commit/4550e354928452fce8cdccebabfaa4711fb3a3fd
1.增加了一个Command指令处理器同时注册命令(注释后命令仍无效)
2.增加了两个事件监听器和配套的缓存(可用,注释后命令仍无效)
3.特定Command调整了注册的权限节点(恢复后仍无效)
4.配置中增加了个人用户权限(从测试端复制来的,未更新插件前测试端可用)
5.其他指令处理器搭配的业务代码
6.更新了测试类代码尝试排除:
IDEA里面直接DEBUG时,对Mirai的命令解析器打断点,控制台输入的命令可以正常跳转,QQ消息接收到的消息无法生效。
折腾两小时了,折磨,之前测试的时候也有遇到过命令不生效的问题,但太久不记得具体解决过程了,只好来论坛问问大佬