描述问题
问题类似于#346
在Milky协议中,send_group_message_reaction接收字符串类型的Emoji ID,而不是字符串Emoji
|
if target.adapter in (SupportAdapter.onebot11, SupportAdapter.qq): |
|
emoji = EMOJI_MAP[status][0] |
|
else: |
|
emoji = EMOJI_MAP[status][1] |
可能的解决方案:
-if target.adapter in (SupportAdapter.onebot11, SupportAdapter.qq):
+if target.adapter in (SupportAdapter.onebot11, SupportAdapter.qq, SupportAdapter.milky):
emoji = EMOJI_MAP[status][0]
else:
emoji = EMOJI_MAP[status][1]
(这样会越写越长,似乎不太优雅,可以寻找更好的方式)
复现步骤
触发任意的解析
期望的结果
正确发送Reaction
截图或日志
发送Reaction时出现报错,使用Milky协议(Yogurt)
ERROR HttpModule 127.0.0.1 调用 API /send_group_message_reaction(失败 OidbException)
org.ntqqrev.acidify.exception.OidbException: Oidb(cmd=9082, svc=1) failed with 51: invalid ReqBody.EmojiId: value contains invalid strings
at 0 yogurt.kexe 0xa37836 kfun:org.ntqqrev.acidify.exception.OidbException#<init>(kotlin.Int;kotlin.Int;kotlin.Int;kotlin.String){} + 1270
at 1 yogurt.kexe 0xc05776 kfun:org.ntqqrev.acidify.internal.service.OidbService#parse(org.ntqqrev.acidify.internal.AbstractClient;kotlin.ByteArray){}1:1 + 486
at 2 yogurt.kexe 0xa3dc52 kfun:org.ntqqrev.acidify.internal.AbstractClient.$callServiceCOROUTINE$2.invokeSuspend#internal + 15394
at 3 yogurt.kexe 0x6989ff kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#resumeWith(kotlin.Result<kotlin.Any?>){} + 223
at 4 yogurt.kexe 0x77834e kfun:kotlinx.coroutines.internal.ScopeCoroutine#afterResume(kotlin.Any?){} + 158
at 5 yogurt.kexe 0x73a11a kfun:kotlinx.coroutines.AbstractCoroutine#resumeWith(kotlin.Result<1:0>){} + 186
at 6 yogurt.kexe 0x698b25 kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#resumeWith(kotlin.Result<kotlin.Any?>){} + 517
at 7 yogurt.kexe 0x775146 kfun:kotlinx.coroutines.DispatchedTask#run(){} + 758
at 8 yogurt.kexe 0x776b94 kfun:kotlinx.coroutines.internal.LimitedDispatcher.Worker.run#internal + 196
at 9 yogurt.kexe 0x7864b3 kfun:kotlinx.coroutines.MultiWorkerDispatcher.MultiWorkerDispatcher$workerRunLoop$1.$invokeCOROUTINE$0.invokeSuspend#internal + 1251
at 10 yogurt.kexe 0x6989ff kfun:kotlin.coroutines.native.internal.BaseContinuationImpl#resumeWith(kotlin.Result<kotlin.Any?>){} + 223
at 11 yogurt.kexe 0x775146 kfun:kotlinx.coroutines.DispatchedTask#run(){} + 758
at 12 yogurt.kexe 0x746746 kfun:kotlinx.coroutines.EventLoopImplBase#processNextEvent(){}kotlin.Long + 966
at 13 yogurt.kexe 0x7806c3 kfun:kotlinx.coroutines#runBlocking(kotlin.coroutines.CoroutineContext;kotlin.coroutines.SuspendFunction1<kotlinx.coroutines.CoroutineScope,0:0>){0§<kotlin.Any?>}0:0 + 1811
at 14 yogurt.kexe 0x785e96 kfun:kotlinx.coroutines.MultiWorkerDispatcher.MultiWorkerDispatcher$1.MultiWorkerDispatcher$1$invoke$$inlined$apply$1.$<bridge-DN>invoke(){}#internal + 214
at 15 yogurt.kexe 0x1038f95 _ZN6Worker19processQueueElementEb + 1589
at 16 yogurt.kexe 0x10388cc _ZN12_GLOBAL__N_113workerRoutineEPv + 108
at 17 libc.so.6 0x7fb2f76a5979 0x0 + 140406631848313
at 18 libc.so.6 0x7fb2f77292bb 0x0 + 140406632387259
描述问题
问题类似于#346
在Milky协议中,send_group_message_reaction接收字符串类型的
Emoji ID,而不是字符串Emojinonebot-plugin-parser/src/nonebot_plugin_parser/helper.py
Lines 130 to 133 in 08e9169
可能的解决方案:
(这样会越写越长,似乎不太优雅,可以寻找更好的方式)
复现步骤
触发任意的解析
期望的结果
正确发送Reaction
截图或日志
发送Reaction时出现报错,使用Milky协议(Yogurt)