DrawMeme - 基于Skiko的奇怪的图片生成器
-
可以参考
emoji-kitchen1
emoji-kitchen2
合成emoji,目前的表情合成相对较少。
望采纳,感谢! -
@wangzihan-2006 合成较少不是因为这个啦...
-
俩插件都正常加载了
不过我没看到字体所在的文件夹
发送指令机器人也不鸟我 -
@fridayanubis 已解决。原来是必须在群聊触发
-
https://github.com/LaoLittle/DrawMeme/releases/tag/1.0.2-fix
修复emojimix无法生成的问题(原因:网站数据结构变更)
添加更多emoji匹配:https://github.com/zly394/EmojiRegex
-
@FridayAnubis 相见恨晚(;´д`)ゞ
-
可以接入权限系统嘛
-
@saltfish13 如果有人滥用,可以试试这个
https://mirai.mamoe.net/topic/882 -
问一下只有5k兆报这个错要怎么办......
2022-02-23 14:47:46 E/DrawMeme: Exception in coroutine Plugin org.laolittle.plugin.draw.DrawMeme of DrawMeme
java.lang.RuntimeException: Can't wrap nullptr
at org.jetbrains.skia.impl.Native.<init>(Native.jvm.kt:40)
at org.jetbrains.skia.impl.Managed.<init>(Managed.jvm.kt:11)
at org.jetbrains.skia.impl.RefCnt.<init>(RefCnt.jvm.kt:6)
at org.jetbrains.skia.Typeface.<init>(Typeface.kt:16)
at org.jetbrains.skia.Typeface$Companion.makeFromName(Typeface.kt:36)
at org.laolittle.plugin.Fonts.get(Fonts.kt:20)
at org.laolittle.plugin.Fonts.get$default(Fonts.kt:19)
at org.laolittle.plugin.draw.DrawMeme$onEnable$2$3.invokeSuspend(DrawMeme.kt:207)
at org.laolittle.plugin.draw.DrawMeme$onEnable$2$3.invoke(DrawMeme.kt)
at org.laolittle.plugin.draw.DrawMeme$onEnable$2$3.invoke(DrawMeme.kt)
at net.mamoe.mirai.event.MessageSubscribersBuilder$finding$3.invokeSuspend(MessageSubscribersBuilder.kt:377)
at net.mamoe.mirai.event.MessageSubscribersBuilder$finding$3.invoke(MessageSubscribersBuilder.kt)
at net.mamoe.mirai.event.MessageSubscribersBuilder$finding$3.invoke(MessageSubscribersBuilder.kt)
at net.mamoe.mirai.event.SubscribeMessagesKt__SubscribeMessagesKt$subscribeGroupMessages$$inlined$createBuilder$SubscribeMessagesKt__SubscribeMessagesKt$1$1.invokeSuspend(subscribeMessages.kt:253)
at net.mamoe.mirai.event.SubscribeMessagesKt__SubscribeMessagesKt$subscribeGroupMessages$$inlined$createBuilder$SubscribeMessagesKt__SubscribeMessagesKt$1$1.invoke(subscribeMessages.kt)
at net.mamoe.mirai.event.SubscribeMessagesKt__SubscribeMessagesKt$subscribeGroupMessages$$inlined$createBuilder$SubscribeMessagesKt__SubscribeMessagesKt$1$1.invoke(subscribeMessages.kt)
at net.mamoe.mirai.event.EventChannel$subscribeAlways$1.invokeSuspend(EventChannel.kt:455)
at net.mamoe.mirai.event.EventChannel$subscribeAlways$1.invoke(EventChannel.kt)
at net.mamoe.mirai.event.EventChannel$subscribeAlways$1.invoke(EventChannel.kt)
at net.mamoe.mirai.internal.event.Handler$onEvent$2.invokeSuspend(InternalEventListeners.kt:50)
at net.mamoe.mirai.internal.event.Handler$onEvent$2.invoke(InternalEventListeners.kt)
at net.mamoe.mirai.internal.event.Handler$onEvent$2.invoke(InternalEventListeners.kt)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:89)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:165)
at kotlinx.coroutines.BuildersKt.withContext(Unknown Source)
at net.mamoe.mirai.internal.event.Handler.onEvent(InternalEventListeners.kt:50)
at net.mamoe.mirai.internal.event.InternalEventListenersKt.process(InternalEventListeners.kt:166)
at net.mamoe.mirai.internal.event.InternalEventListenersKt.callAndRemoveIfRequired(InternalEventListeners.kt:115)
at net.mamoe.mirai.internal.event.InternalEventListenersKt$callAndRemoveIfRequired$1.invokeSuspend(InternalEventListeners.kt)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.UndispatchedCoroutine.afterResume(CoroutineContext.kt:147)
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: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) -
@CabbCat 前置插件版本?
-
使用fix版本,发送两个emoji之后会报错
2022-02-23 17:21:40 E/DrawMeme Exception in coroutine Plugin org.laolittle.plugin.draw.DrawMeme of DrawMeme
java.lang.NoClassDefFoundError: io/ktor/util/reflect/TypeInfoJvmKt
at org.laolittle.plugin.draw.GeneralKt$supportedEmojis$2$1.invokeSuspend(General.kt:118)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:191)
at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:147)
at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:15)
at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:93)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:191)
at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:147)
at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:15)
at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:93)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:191)
at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:147)
at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:15)
at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:93)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:191)
at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:147)
at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:15)
at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:93)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:274)
at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59)
at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)
at org.laolittle.plugin.draw.GeneralKt$supportedEmojis$2.invoke(General.kt:63)
at org.laolittle.plugin.draw.GeneralKt$supportedEmojis$2.invoke(General.kt:62)
at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
at org.laolittle.plugin.draw.GeneralKt.getSupportedEmojis(General.kt:62)
at org.laolittle.plugin.draw.GeneralKt.getEmojiMix(General.kt:43)
at org.laolittle.plugin.draw.DrawMeme$onEnable$2$4$1.invokeSuspend(DrawMeme.kt:386)
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)
Caused by: java.lang.ClassNotFoundException: io.ktor.util.reflect.TypeInfoJvmKt
at net.mamoe.mirai.console.internal.plugin.JvmPluginClassLoader.findClass$mirai_console(JvmPluginClassLoader.kt:110)
at net.mamoe.mirai.console.internal.plugin.JvmPluginClassLoader.findClass(JvmPluginClassLoader.kt:51)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
... 39 moreSkikoMirai版本为1.0.1
-
@cheeeeeeen 更新mirai
-
似乎不支持32位jre?
-
@Sean 嗯
-
黑白照合成指令报错,不管分开还是一起的都不行
2022-02-24 12:03:54 E/DrawMeme: Exception in coroutine Plugin org.laolittle.plugin.draw.DrawMeme of DrawMeme
java.lang.NoClassDefFoundError: io/ktor/util/reflect/TypeInfoJvmKt
at org.laolittle.plugin.draw.DrawMeme$onEnable$2$2.invokeSuspend(DrawMeme.kt:447)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:191)
at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:147)
at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:15)
at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:93)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:191)
at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:147)
at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:15)
at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:93)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:191)
at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:147)
at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:15)
at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:93)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46)
at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:191)
at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:147)
at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:15)
at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:93)
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: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) -
@tsudzuki 前置插件版本1.0.1
-
@CCYellowStar 更新mirai
-
@CabbCat 可能是系统没有指定字体,下个版本更新我会修改字体获取方式
-
2022-03-03 16:30:18 E/DrawMeme: Exception in coroutine Plugin DrawMeme of DrawMe
me
java.lang.Error: Unknown arch x86
at org.jetbrains.skiko.OsArch_jvmKt$hostArch$2.invoke(OsArch.jvm.kt:19)
at org.jetbrains.skiko.OsArch_jvmKt$hostArch$2.invoke(OsArch.jvm.kt:14)
at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
at org.jetbrains.skiko.OsArch_jvmKt.getHostArch(OsArch.jvm.kt:14)
at org.jetbrains.skiko.OsArch_jvmKt$hostId$2.invoke(OsArch.jvm.kt:24)
at org.jetbrains.skiko.OsArch_jvmKt$hostId$2.invoke(OsArch.jvm.kt:23)
at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
at org.jetbrains.skiko.OsArch_jvmKt.getHostId(OsArch.jvm.kt:23)
at org.jetbrains.skiko.Library.findAndLoad(Library.kt:73)
at org.jetbrains.skiko.Library.load(Library.kt:59)
at org.jetbrains.skia.impl.Library$Companion.staticLoad(Library.jvm.kt:1
2)
at org.jetbrains.skia.TextLine.<clinit>(TextLine.kt:17)
at org.laolittle.plugin.draw.DrawMeme$onEnable$2$1.invokeSuspend(DrawMem
e.kt:61)
at org.laolittle.plugin.draw.DrawMeme$onEnable$2$1.invoke(DrawMeme.kt)
at org.laolittle.plugin.draw.DrawMeme$onEnable$2$1.invoke(DrawMeme.kt)
at net.mamoe.mirai.internal.event.MessageSubscribersInternalKt$startsWit
hImpl$2.invokeSuspend(messageSubscribersInternal.kt:58)
at net.mamoe.mirai.internal.event.MessageSubscribersInternalKt$startsWit
hImpl$2.invoke(messageSubscribersInternal.kt)
at net.mamoe.mirai.internal.event.MessageSubscribersInternalKt$startsWit
hImpl$2.invoke(messageSubscribersInternal.kt)
at net.mamoe.mirai.internal.event.MessageSubscribersInternalKt$content$1
.invokeSuspend(messageSubscribersInternal.kt:27)
at net.mamoe.mirai.internal.event.MessageSubscribersInternalKt$content$1
.invoke(messageSubscribersInternal.kt)
at net.mamoe.mirai.internal.event.MessageSubscribersInternalKt$content$1
.invoke(messageSubscribersInternal.kt)
at net.mamoe.mirai.event.SubscribeMessagesKt__SubscribeMessagesKt$subscr
ibeGroupMessages$$inlined$createBuilder$SubscribeMessagesKt__SubscribeMessagesKt
$1$1.invokeSuspend(subscribeMessages.kt:250)
at net.mamoe.mirai.event.SubscribeMessagesKt__SubscribeMessagesKt$subscr
ibeGroupMessages$$inlined$createBuilder$SubscribeMessagesKt__SubscribeMessagesKt
$1$1.invoke(subscribeMessages.kt)
at net.mamoe.mirai.event.SubscribeMessagesKt__SubscribeMessagesKt$subscr
ibeGroupMessages$$inlined$createBuilder$SubscribeMessagesKt__SubscribeMessagesKt
$1$1.invoke(subscribeMessages.kt)
at net.mamoe.mirai.event.EventChannel$subscribeAlways$1.invokeSuspend(Ev
entChannel.kt:432)
at net.mamoe.mirai.event.EventChannel$subscribeAlways$1.invoke(EventChan
nel.kt)
at net.mamoe.mirai.event.EventChannel$subscribeAlways$1.invoke(EventChan
nel.kt)
at net.mamoe.mirai.internal.event.Handler$onEvent$2.invokeSuspend(Intern
alEventListeners.kt:50)
at net.mamoe.mirai.internal.event.Handler$onEvent$2.invoke(InternalEvent
Listeners.kt)
at net.mamoe.mirai.internal.event.Handler$onEvent$2.invoke(InternalEvent
Listeners.kt)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrRetur
n(Undispatched.kt:89)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders
.common.kt:165)
at kotlinx.coroutines.BuildersKt.withContext(Unknown Source)
at net.mamoe.mirai.internal.event.Handler.onEvent(InternalEventListeners
.kt:50)
at net.mamoe.mirai.internal.event.InternalEventListenersKt.process(Inter
nalEventListeners.kt:166)
at net.mamoe.mirai.internal.event.InternalEventListenersKt.callAndRemove
IfRequired(InternalEventListeners.kt:115)
at net.mamoe.mirai.internal.event.InternalEventListenersKt$callAndRemove
IfRequired$1.invokeSuspend(InternalEventListeners.kt)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(Contin
uationImpl.kt:33)
at kotlinx.coroutines.UndispatchedCoroutine.afterResume(CoroutineContext
.kt:142)
at kotlinx.coroutines.AbstractCoroutine.resumeWith(AbstractCoroutine.kt:
102)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(Contin
uationImpl.kt:46)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineS
cheduler.kt:571)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(C
oroutineScheduler.kt:750)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(Cor
outineScheduler.kt:678)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(Coroutine
Scheduler.kt:665)为什么会出现这个啊?我前置插件也安装了啊
-
@rogue233 前置和本体插件用的都是最新的,用的mcl版本1.2.2,jre版本17