Mirai-Mirage 幻影坦克图生成插件
-
Mirai-Mirage
基于 Mirai Console 的 “幻影坦克图” 生成插件
功能
生成
幻影坦克图
,不了解幻影坦克图
的可以先浏览 此介绍指令交互
幻影坦克示例
自适应大小
表图和里图的大小可以不同,生成时会自动缩放,逻辑如下:
指令
注意: 使用前请确保可以 在聊天环境执行指令
<...>
中的是指令名,由|
隔开表示其中任一名称都可执行
[...]
表示参数,当[...]
后面带?
时表示参数可选
{...}
表示连续的多个参数指令 描述 指令权限id /<mirage|幻影坦克 >
生成幻影坦克图 org.echoosx.mirai.plugin.mirage-builder:command.mirage
赋予指令权限的操作请参考 PermissionCommand
配置
setting.yml
# 定期清理存储的时间(Cron表达式,默认每周一0点清理) cleanCron: '0 0 0 ? * MON'
cron表达式的格式可以参考:https://www.bejson.com/othertools/cron/
安装
- 从 Releases 下载
jar
包,放入根目录下的plugins
文件夹 - 如果没有
plugins
文件夹,先运行 Mirai Console ,会自动生成
参考项目
- 从 Releases 下载
-
草
Posts should contain at least 5 character(s). -
为什么我给群员插件权限他们用不了而我根权限能用
-
@xuefeng 按理说不会出现权限问题,可能是你赋予权限的命令不正确,可以详细描述一下你赋予权限的指令吗,或者查看一下你的
config/Console/PermissionService.yml
文件,看看是否正确赋予了权限 -
@Echoosx 是
权限 add g* org.echoosx.mirai.plugin.mirage-builder:command.mirage -
g* 是针对群的权限,不包括成员,你可以使用这两种写法
-
@Echoosx 其他插件通过这个授权也是好使的就这个插件不好使不知道为什么
-
如何解决啊
[0m2022-09-24 15:01:14 V/Bot.2920458486: Group(668918225) <- 生成失败![0m[m
[31m2022-09-24 15:01:14 E/mirage-builder: java.lang.ClassCastException: class io.ktor.client.engine.okhttp.OkHttp cannot be cast to class io.ktor.client.engine.HttpClientEngineFactory (io.ktor.client.engine.okhttp.OkHttp is in unnamed module of loader 'app'; io.ktor.client.engine.HttpClientEngineFactory is in unnamed module of loader 'mirai-api-http-2.3.3.jar' @3f736a16)
java.lang.ClassCastException: class io.ktor.client.engine.okhttp.OkHttp cannot be cast to class io.ktor.client.engine.HttpClientEngineFactory (io.ktor.client.engine.okhttp.OkHttp is in unnamed module of loader 'app'; io.ktor.client.engine.HttpClientEngineFactory is in unnamed module of loader 'mirai-api-http-2.3.3.jar' @3f736a16)
at MiraiMirage-2.0.1.mirai.jar//org.echoosx.mirai.plugin.command.MirageCommand.handle(MirageCommand.kt:37)
at MiraiMirage-2.0.1.mirai.jar//org.echoosx.mirai.plugin.command.MirageCommand$handle$1.invokeSuspend(MirageCommand.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)
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)
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:749)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
[0m[m