Code Monkey home page Code Monkey logo

blhx-wiki-mirai-plugin's Introduction

碧蓝航线wiki机器人插件

简介

基于mirai框架的qq机器人插件,目前功能如下:

  • 搜索碧蓝航线wiki上的数据
    • 舰娘基本属性、出处、语音、皮肤列表、科技点、评价、配装
    • 装备基本属性、出处
    • 井号大佬做的一些榜单
  • 模拟大建
  • 猜老婆小游戏

基本功能展示

  • 查询舰娘属性

  • 查询舰娘皮肤

  • 查询装备属性

  • 模拟大建

声明:一切开发旨在学习,请勿用于非法用途

  • 本项目是完全免费且开放源代码的软件,仅供学习和娱乐用途使用
  • 本项目不会通过任何方式强制收取费用,或对使用者提出物质条件
  • 本项目的资料完全来自于碧蓝航线wiki,不保证数据的准确性和时效性
  • 本项目的模拟大建功能仅供参考,不代表实际概率,勿上头
  • 萌新的第一个kotlin、mirai项目,代码写的挺屎的

插件启用

不会部署可以拉作者的机器人592783638(萝卜子4号),不过服务器可能不稳,每天不定时同意,拉了不要举报

*详细安装步骤在这里

  • 安装Mirai Console

  • 下载本项目最新的jar包,放入Mirai-Console根目录下的plugin文件夹中

  • 下载数据文件放入Mirai-Console根目录下的data文件夹中

  • 下载皮肤数据,将图片解压放入data/org.iris.wiki/image/skin,不需要查询皮肤大图可以不进行这一步

  • 启动Mirai-Console,在Mirai-Console里登录

Bot指令

普通聊天指令

此bot功能仅在群聊中开放,注意指令用空格分开

[] 代表该种类中的一个实例,()代表可以省略

群聊指令 描述 示例
wiki (help) 查询所支持的聊天指令 wiki
wiki [舰娘] 查询舰娘基本属性 wiki 拉菲
wiki [舰娘] 出处 查询舰娘所有的出处 wiki 拉菲 出处
wiki [舰娘] 皮肤 查询舰娘所有的皮肤 wiki 拉菲 皮肤
wiki [舰娘] 大图 查询舰娘立绘大图 wiki 拉菲 大图
wiki [舰娘] 皮肤原图 查询舰娘所有的皮肤原图(需要额外下载皮肤数据) wiki 拉菲 皮肤原图
wiki [舰娘] [语音] 查询舰娘对应类型的语音,如果有多条则随机发送一条 wiki 拉菲 誓约
wiki [舰娘] 科技点 查询舰娘所提供的舰队科技 wiki 拉菲 科技点
wiki [舰娘] 配装 查询舰娘的配装推荐 wiki 拉菲 配装
wiki [舰娘] 评价 查询wiki大佬们对此舰娘的评价 wiki 拉菲 评价
wiki [装备] 查询装备的基本属性 wiki 533
wiki [装备] 出处 查询装备的所有出处 wiki 533 出处
wiki 大建 (轻池) 模拟轻池大建 wiki 大建
wiki 大建列表 查询可以模拟大建的池子 wiki 大建列表
wiki 大建 [池子] 模拟对应池子大建 wiki 大建 胡滕
wiki 榜单 查询目前可查询的各种榜单 wiki 榜单
wiki [榜单] 查询对应榜单 wiki 装备一图榜
wiki 建造时间 查询当前活动池up舰娘的建造时间 wiki 建造时间
wiki 建造时间 [时:分分:秒秒] 查询当前建造时间可能的舰娘 wiki 建造时间 4:00:00
猜老婆 猜舰娘小游戏 猜老婆

命令指令

以下命令需要允许在聊天环境执行命令,输入命令的用户必须拥有权限才有反馈

wiki控制指令

/wikiconfig 可以简写为 /wkcf

指令 描述 示例
/wikiconfig clear 清除生成的图片缓存 /wikiconfig clear
/wikiconfig 舰船装备详情 true/false 开启/关闭舰娘wiki界面的装备详情板块 /wikiconfig 舰船装备详情 false
/wikiconfig 猜老婆 true/false 开启/关闭本群的猜老婆功能 /wikiconfig 猜老婆 false
/wikiconfig 大建 true/false 开启/关闭本群的大建功能 /wikiconfig 大建 false

自动回复设置指令

*指令中不能出现空格和大括号{}

指令 描述 例子
/reply set [指令] [回复] 设置自定义回复设置的内容,使用 wiki 指令 将自动回复 /reply set test 测试
/reply reset [指令] [回复] 同上,可以覆盖之前设置的回复 /reply set test 测试2
/reply delete [指令] 删除此条自定义回复 /reply delete test
/reply list 查看现有的自定义回复指令 /reply list

参数设置

$\color{red}{在修改配置文件时应确保机器人(插件)不在运行,否则机器人结束运行时会重写配置文件导致修改丢失}$

*指令自动转小写,指令、别名中的英文请使用小写字母,正式名中的空格用下划线_代替

  • 指令设置

    位于config/org.iris.wiki/CommandConfig.yml,对应Bot指令中的各指令名,可自行修改

  • 别名设置

    位于config/org.iris.wiki/AliasConfig.yml,为方便更新, 用户仅能在ALIAS_USER_MAP下添加别名,其他词条下修改插件不会记录 ,格式如下,“别名:正式名”

    ALIAS_USER_MAP: 
      36d: 萨拉托加
      狗群主老婆: 天后

    正式名可以在wiki上查看,为网页网址最后的部分,如下图所示

  • 活动卡池设置

    位于data/org.iris.wiki/config/active_pool.json,格式如下

    {
    	"name": "ssss",
    	"ur": [],
    	"ssr": [{
    		"name": "宝多六花",
    		"probability": 20
    	}, {
    		"name": "新条茜",
    		"probability": 20
    	}, {
    		"name": "南梦芽",
    		"probability": 20
    	}, {
    		"name": "飞鸟川千濑",
    		"probability": 5
    	}],
    	"sr": [{
    		"name": "奈美子",
    		"probability": 25
    	}, {
    		"name": "莲SSSS",
    		"probability": 25
    	}],
    	"r": []
    }

    最开始的name为卡池名称,ur、ssr、sr、r为各稀有度的舰娘列表,其中name为舰娘名称,probability为概率*10

    目前还没加入概率校验,等之后在摸吧

  • 戳一戳事件自定义

    /config/org.iris.wiki/CommandConfig.yml中,修改touch_first_paramtouch_second_param设置对应戳一戳相应事件(语音指令可以通过wiki 小加加 语音查看)

    # 戳一戳事件对应舰娘(wiki __1__ __2__ 指令中的__1__), 为 '无' 时不对戳一戳事件反应
    touch_first_param: 小加加
    # 戳一戳事件对应查询命令(wiki __1__ __2__ 指令中的__2__)
    touch_second_param: 触摸
    

常见问题

  • 大建列表乱码

    data/org.iris.wiki/config/active_pool.json文件改为GBK格式即可

  • PC端语音不能播放

    安装Silk Converter插件

如果觉得还不错就点个star吧

blhx-wiki-mirai-plugin's People

Contributors

dk09 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

blhx-wiki-mirai-plugin's Issues

希望能添加私聊功能

最近qqbot抓的很严,群聊检测说几句话就被噶了,但是私聊很多时候是可以正常发送消息的,希望能添加通过加好友然后私聊的方式进行使用wiki

wiki [舰船],后台报错。机器人无反馈

2022-05-13 00:08:33 W/stderr: java.io.FileNotFoundException: D:\BOTS\data\org.ir
is.wiki\out\ship\新泽西(花园).png (系统找不到指定的路径。)
2022-05-13 00:08:33 W/stderr: at java.base/java.io.RandomAccessFile.open0(Nati
ve Method)
2022-05-13 00:08:33 W/stderr: at java.base/java.io.RandomAccessFile.open(Unkno
wn Source)
2022-05-13 00:08:33 W/stderr: at java.base/java.io.RandomAccessFile.(Unk
nown Source)
2022-05-13 00:08:33 W/stderr: at java.base/java.io.RandomAccessFile.(Unk
nown Source)
2022-05-13 00:08:33 W/stderr: at java.desktop/javax.imageio.stream.FileImageOu
tputStream.(Unknown Source)
2022-05-13 00:08:33 W/stderr: at java.desktop/com.sun.imageio.spi.FileImageOut
putStreamSpi.createOutputStreamInstance(Unknown Source)
2022-05-13 00:08:33 W/stderr: at java.desktop/javax.imageio.ImageIO.createImag
eOutputStream(Unknown Source)
2022-05-13 00:08:33 W/stderr: at java.desktop/javax.imageio.ImageIO.write(Unkn
own Source)
2022-05-13 00:08:33 W/stderr: at org.iris.wiki.data.ShipAttrData.toMessage(Shi
pAttrData.kt:267)
2022-05-13 00:08:33 W/stderr: at org.iris.wiki.utils.MessageBuildUtils.build(M
essageBuildUtils.kt:26)
2022-05-13 00:08:33 W/stderr: at org.iris.wiki.Listener.wiki(Listener.kt:82)
2022-05-13 00:08:33 W/stderr: at org.iris.wiki.Listener$subscribe$1.invokeSusp
end(Listener.kt:43)
2022-05-13 00:08:33 W/stderr: at org.iris.wiki.Listener$subscribe$1.invoke(Lis
tener.kt)
2022-05-13 00:08:33 W/stderr: at org.iris.wiki.Listener$subscribe$1.invoke(Lis
tener.kt)
2022-05-13 00:08:33 W/stderr: at net.mamoe.mirai.event.EventChannel$subscribeA
lways$1.invokeSuspend(EventChannel.kt:455)
2022-05-13 00:08:33 W/stderr: at net.mamoe.mirai.event.EventChannel$subscribeA
lways$1.invoke(EventChannel.kt)
2022-05-13 00:08:33 W/stderr: at net.mamoe.mirai.event.EventChannel$subscribeA
lways$1.invoke(EventChannel.kt)
2022-05-13 00:08:33 W/stderr: at net.mamoe.mirai.internal.event.Handler$onEven
t$2.invokeSuspend(InternalEventListeners.kt:50)
2022-05-13 00:08:33 W/stderr: at net.mamoe.mirai.internal.event.Handler$onEven
t$2.invoke(InternalEventListeners.kt)
2022-05-13 00:08:33 W/stderr: at net.mamoe.mirai.internal.event.Handler$onEven
t$2.invoke(InternalEventListeners.kt)
2022-05-13 00:08:33 W/stderr: at kotlinx.coroutines.intrinsics.UndispatchedKt.
startUndispatchedOrReturn(Undispatched.kt:89)
2022-05-13 00:08:33 W/stderr: at kotlinx.coroutines.BuildersKt__Builders_commo
nKt.withContext(Builders.common.kt:165)
2022-05-13 00:08:33 W/stderr: at kotlinx.coroutines.BuildersKt.withContext(Unk
nown Source)
2022-05-13 00:08:33 W/stderr: at net.mamoe.mirai.internal.event.Handler.onEven
t(InternalEventListeners.kt:50)
2022-05-13 00:08:33 W/stderr: at net.mamoe.mirai.internal.event.InternalEventL
istenersKt.process(InternalEventListeners.kt:166)
2022-05-13 00:08:33 W/stderr: at net.mamoe.mirai.internal.event.InternalEventL
istenersKt.callAndRemoveIfRequired(InternalEventListeners.kt:115)
2022-05-13 00:08:33 W/stderr: at net.mamoe.mirai.event._EventBroadcast.broadca
stImpl(Event.kt:174)
2022-05-13 00:08:33 W/stderr: at net.mamoe.mirai.IMirai.broadcastEvent(IMirai.
kt:318)
2022-05-13 00:08:33 W/stderr: at net.mamoe.mirai.internal.MiraiImpl.broadcastE
vent$suspendImpl(MiraiImpl.kt:308)
2022-05-13 00:08:33 W/stderr: at net.mamoe.mirai.internal.MiraiImpl.broadcastE
vent(MiraiImpl.kt)
2022-05-13 00:08:33 W/stderr: at net.mamoe.mirai.event._EventBroadcast.broadca
stPublic$suspendImpl(Event.kt:161)
2022-05-13 00:08:33 W/stderr: at net.mamoe.mirai.event._EventBroadcast.broadca
stPublic(Event.kt)
2022-05-13 00:08:33 W/stderr: at net.mamoe.mirai.event.EventKt.broadcast(Event
.kt:146)
2022-05-13 00:08:33 W/stderr: at net.mamoe.mirai.internal.network.components.E
ventDispatcherImpl$broadcast$2.invokeSuspend(EventDispatcher.kt:90)
2022-05-13 00:08:33 W/stderr: at net.mamoe.mirai.internal.network.components.E
ventDispatcherImpl$broadcast$2.invoke(EventDispatcher.kt)
2022-05-13 00:08:33 W/stderr: at net.mamoe.mirai.internal.network.components.E
ventDispatcherImpl$broadcast$2.invoke(EventDispatcher.kt)
2022-05-13 00:08:33 W/stderr: at kotlinx.coroutines.intrinsics.UndispatchedKt.
startUndispatchedOrReturn(Undispatched.kt:89)
2022-05-13 00:08:33 W/stderr: at kotlinx.coroutines.BuildersKt__Builders_commo
nKt.withContext(Builders.common.kt:165)
2022-05-13 00:08:33 W/stderr: at kotlinx.coroutines.BuildersKt.withContext(Unk
nown Source)
2022-05-13 00:08:33 W/stderr: at net.mamoe.mirai.internal.network.components.E
ventDispatcherImpl.broadcast$suspendImpl(EventDispatcher.kt:89)
2022-05-13 00:08:33 W/stderr: at net.mamoe.mirai.internal.network.components.E
ventDispatcherImpl.broadcast(EventDispatcher.kt)
2022-05-13 00:08:33 W/stderr: at net.mamoe.mirai.internal.network.components.E
ventDispatcherImpl$broadcastAsync$job$1.invokeSuspend(EventDispatcher.kt:105)
2022-05-13 00:08:33 W/stderr: at net.mamoe.mirai.internal.network.components.E
ventDispatcherImpl$broadcastAsync$job$1.invoke(EventDispatcher.kt)
2022-05-13 00:08:33 W/stderr: at net.mamoe.mirai.internal.network.components.E
ventDispatcherImpl$broadcastAsync$job$1.invoke(EventDispatcher.kt)
2022-05-13 00:08:33 W/stderr: at kotlinx.coroutines.intrinsics.UndispatchedKt.
startCoroutineUndispatched(Undispatched.kt:55)
2022-05-13 00:08:33 W/stderr: at kotlinx.coroutines.CoroutineStart.invoke(Coro
utineStart.kt:112)
2022-05-13 00:08:33 W/stderr: at kotlinx.coroutines.AbstractCoroutine.start(Ab
stractCoroutine.kt:126)
2022-05-13 00:08:33 W/stderr: at kotlinx.coroutines.BuildersKt__Builders_commo
nKt.launch(Builders.common.kt:56)
2022-05-13 00:08:33 W/stderr: at kotlinx.coroutines.BuildersKt.launch(Unknown
Source)
2022-05-13 00:08:33 W/stderr: at net.mamoe.mirai.internal.network.components.E
ventDispatcherImpl.broadcastAsync-kKe4JaQ(EventDispatcher.kt:102)
2022-05-13 00:08:33 W/stderr: at net.mamoe.mirai.internal.network.components.E
ventDispatcher.broadcastAsync-kKe4JaQ$default(EventDispatcher.kt:35)
2022-05-13 00:08:33 W/stderr: at net.mamoe.mirai.internal.network.components.E
ventBroadcasterPacketHandler.impl(PacketHandler.kt:87)
2022-05-13 00:08:33 W/stderr: at net.mamoe.mirai.internal.network.components.E
ventBroadcasterPacketHandler.handlePacket(PacketHandler.kt:73)
2022-05-13 00:08:33 W/stderr: at net.mamoe.mirai.internal.network.components.P
acketHandlerChain.handlePacket(PacketHandler.kt:42)
2022-05-13 00:08:33 W/stderr: at net.mamoe.mirai.internal.network.handler.Netw
orkHandlerSupport$collectReceived$3.invokeSuspend(NetworkHandlerSupport.kt:84)
2022-05-13 00:08:33 W/stderr: at net.mamoe.mirai.internal.network.handler.Netw
orkHandlerSupport$collectReceived$3.invoke(NetworkHandlerSupport.kt)
2022-05-13 00:08:33 W/stderr: at net.mamoe.mirai.internal.network.handler.Netw
orkHandlerSupport$collectReceived$3.invoke(NetworkHandlerSupport.kt)
2022-05-13 00:08:33 W/stderr: at kotlinx.coroutines.intrinsics.UndispatchedKt.
startCoroutineUndispatched(Undispatched.kt:55)
2022-05-13 00:08:33 W/stderr: at kotlinx.coroutines.CoroutineStart.invoke(Coro
utineStart.kt:112)
2022-05-13 00:08:33 W/stderr: at kotlinx.coroutines.AbstractCoroutine.start(Ab
stractCoroutine.kt:126)
2022-05-13 00:08:33 W/stderr: at kotlinx.coroutines.BuildersKt__Builders_commo
nKt.launch(Builders.common.kt:56)
2022-05-13 00:08:33 W/stderr: at kotlinx.coroutines.BuildersKt.launch(Unknown
Source)
2022-05-13 00:08:33 W/stderr: at kotlinx.coroutines.BuildersKt__Builders_commo
nKt.launch$default(Builders.common.kt:47)
2022-05-13 00:08:33 W/stderr: at kotlinx.coroutines.BuildersKt.launch$default(
Unknown Source)
2022-05-13 00:08:33 W/stderr: at net.mamoe.mirai.internal.network.handler.Netw
orkHandlerSupport.collectReceived$mirai_core(NetworkHandlerSupport.kt:82)
2022-05-13 00:08:33 W/stderr: at net.mamoe.mirai.internal.network.impl.netty.N
ettyNetworkHandler$PacketDecodePipeline$send$1.invokeSuspend(NettyNetworkHandler
.kt:178)
2022-05-13 00:08:33 W/stderr: at kotlin.coroutines.jvm.internal.BaseContinuati
onImpl.resumeWith(ContinuationImpl.kt:33)
2022-05-13 00:08:33 W/stderr: at kotlinx.coroutines.DispatchedTask.run(Dispatc
hedTask.kt:106)
2022-05-13 00:08:33 W/stderr: at io.netty.util.concurrent.AbstractEventExecuto
r.safeExecute(AbstractEventExecutor.java:164)
2022-05-13 00:08:33 W/stderr: at io.netty.util.concurrent.SingleThreadEventExe
cutor.runAllTasks(SingleThreadEventExecutor.java:472)
2022-05-13 00:08:33 W/stderr: at io.netty.channel.nio.NioEventLoop.run(NioEven
tLoop.java:497)
2022-05-13 00:08:33 W/stderr: at io.netty.util.concurrent.SingleThreadEventExe
cutor$4.run(SingleThreadEventExecutor.java:989)
2022-05-13 00:08:33 W/stderr: at io.netty.util.internal.ThreadExecutorMap$2.ru
n(ThreadExecutorMap.java:74)
2022-05-13 00:08:33 W/stderr: at io.netty.util.concurrent.FastThreadLocalRunna
ble.run(FastThreadLocalRunnable.java:30)
2022-05-13 00:08:33 W/stderr: at java.base/java.lang.Thread.run(Unknown Source
)
2022-05-13 00:08:33 E/blhx-wiki: Exception in coroutine Listener of blhx-wiki
javax.imageio.IIOException: Can't create an ImageOutputStream!
at java.desktop/javax.imageio.ImageIO.write(Unknown Source)
at org.iris.wiki.data.ShipAttrData.toMessage(ShipAttrData.kt:267)
at org.iris.wiki.utils.MessageBuildUtils.build(MessageBuildUtils.kt:26)
at org.iris.wiki.Listener.wiki(Listener.kt:82)
at org.iris.wiki.Listener$subscribe$1.invokeSuspend(Listener.kt:43)
at org.iris.wiki.Listener$subscribe$1.invoke(Listener.kt)
at org.iris.wiki.Listener$subscribe$1.invoke(Listener.kt)
at net.mamoe.mirai.event.EventChannel$subscribeAlways$1.invokeSuspend(Ev
entChannel.kt:455)
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.event._EventBroadcast.broadcastImpl(Event.kt:174)
at net.mamoe.mirai.IMirai.broadcastEvent(IMirai.kt:318)
at net.mamoe.mirai.internal.MiraiImpl.broadcastEvent$suspendImpl(MiraiIm
pl.kt:308)
at net.mamoe.mirai.internal.MiraiImpl.broadcastEvent(MiraiImpl.kt)
at net.mamoe.mirai.event._EventBroadcast.broadcastPublic$suspendImpl(Eve
nt.kt:161)
at net.mamoe.mirai.event._EventBroadcast.broadcastPublic(Event.kt)
at net.mamoe.mirai.event.EventKt.broadcast(Event.kt:146)
at net.mamoe.mirai.internal.network.components.EventDispatcherImpl$broad
cast$2.invokeSuspend(EventDispatcher.kt:90)
at net.mamoe.mirai.internal.network.components.EventDispatcherImpl$broad
cast$2.invoke(EventDispatcher.kt)
at net.mamoe.mirai.internal.network.components.EventDispatcherImpl$broad
cast$2.invoke(EventDispatcher.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.network.components.EventDispatcherImpl.broad
cast$suspendImpl(EventDispatcher.kt:89)
at net.mamoe.mirai.internal.network.components.EventDispatcherImpl.broad
cast(EventDispatcher.kt)
at net.mamoe.mirai.internal.network.components.EventDispatcherImpl$broad
castAsync$job$1.invokeSuspend(EventDispatcher.kt:105)
at net.mamoe.mirai.internal.network.components.EventDispatcherImpl$broad
castAsync$job$1.invoke(EventDispatcher.kt)
at net.mamoe.mirai.internal.network.components.EventDispatcherImpl$broad
castAsync$job$1.invoke(EventDispatcher.kt)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startCoroutineUndispatch
ed(Undispatched.kt:55)
at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:112)
at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:126)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.comm
on.kt:56)
at kotlinx.coroutines.BuildersKt.launch(Unknown Source)
at net.mamoe.mirai.internal.network.components.EventDispatcherImpl.broad
castAsync-kKe4JaQ(EventDispatcher.kt:102)
at net.mamoe.mirai.internal.network.components.EventDispatcher.broadcast
Async-kKe4JaQ$default(EventDispatcher.kt:35)
at net.mamoe.mirai.internal.network.components.EventBroadcasterPacketHan
dler.impl(PacketHandler.kt:87)
at net.mamoe.mirai.internal.network.components.EventBroadcasterPacketHan
dler.handlePacket(PacketHandler.kt:73)
at net.mamoe.mirai.internal.network.components.PacketHandlerChain.handle
Packet(PacketHandler.kt:42)
at net.mamoe.mirai.internal.network.handler.NetworkHandlerSupport$collec
tReceived$3.invokeSuspend(NetworkHandlerSupport.kt:84)
at net.mamoe.mirai.internal.network.handler.NetworkHandlerSupport$collec
tReceived$3.invoke(NetworkHandlerSupport.kt)
at net.mamoe.mirai.internal.network.handler.NetworkHandlerSupport$collec
tReceived$3.invoke(NetworkHandlerSupport.kt)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startCoroutineUndispatch
ed(Undispatched.kt:55)
at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:112)
at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:126)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.comm
on.kt:56)
at kotlinx.coroutines.BuildersKt.launch(Unknown Source)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch$default(Build
ers.common.kt:47)
at kotlinx.coroutines.BuildersKt.launch$default(Unknown Source)
at net.mamoe.mirai.internal.network.handler.NetworkHandlerSupport.collec
tReceived$mirai_core(NetworkHandlerSupport.kt:82)
at net.mamoe.mirai.internal.network.impl.netty.NettyNetworkHandler$Packe
tDecodePipeline$send$1.invokeSuspend(NettyNetworkHandler.kt:178)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(Contin
uationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEv
entExecutor.java:164)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(Single
ThreadEventExecutor.java:472)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:497)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThread
EventExecutor.java:989)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java
:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalR
unnable.java:30)
at java.base/java.lang.Thread.run(Unknown Source)

wiki [舰娘]、wiki [装备] 指令无法生成舰娘、装备图片

使用环境:windows server2019、mcl 2.0.1 amd64、blhx-wiki v0.3.10、其他插件(mirai-api-http-v2.4.0、chat-command-0.5.1)
wiki [舰娘] wiki [装备] 发送指令无反馈、后台报错。其他指令正常
早前版本插件正常部署过一次,重新部署就出错了。
舰娘报错、异常
image
image
装备报错、异常
image
image

希望能添加个开服检测

检测各服务器状态,助于群友在疯狂星期四维护的时候能知道服务器是否开服或是维护中(

查询部分舰娘配装时无回复

控制台报错
解析发生错误\njava.lang.NumberFormatException: For input string: ";t" under radix 16\n可以点击查看原网页\nhttps://wiki.biligame.com/blhx/index.php?search=%B6%F1%B6%BE

查询觉醒榜无结果,控制台报错

截图:
图片

log:

�[31m2022-08-31 15:59:13 E/blhx-wiki: Exception in coroutine Listener of blhx-wiki
java.lang.NullPointerException: read(URL(imageUri)) must not be null
at blhx-wiki-plugin-0.3.16.mirai.jar//org.iris.wiki.utils.ImageUtil$Companion.getImageAsExResource(ImageUtils.kt:41)
at blhx-wiki-plugin-0.3.16.mirai.jar//org.iris.wiki.data.ImagesData.toMessage(ImagesData.kt:65)
at blhx-wiki-plugin-0.3.16.mirai.jar//org.iris.wiki.utils.MessageBuildUtils.build(MessageBuildUtils.kt:26)
at blhx-wiki-plugin-0.3.16.mirai.jar//org.iris.wiki.Listener.wiki(Listener.kt:85)
at blhx-wiki-plugin-0.3.16.mirai.jar//org.iris.wiki.Listener$subscribe$1.invokeSuspend(Listener.kt:44)
at blhx-wiki-plugin-0.3.16.mirai.jar//org.iris.wiki.Listener$subscribe$1.invoke(Listener.kt)
at blhx-wiki-plugin-0.3.16.mirai.jar//org.iris.wiki.Listener$subscribe$1.invoke(Listener.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:166)
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.event._EventBroadcast.broadcastImpl(Event.kt:174)
at net.mamoe.mirai.IMirai.broadcastEvent$suspendImpl(IMirai.kt:319)
at net.mamoe.mirai.IMirai.broadcastEvent(IMirai.kt)
at net.mamoe.mirai.internal.MiraiImpl.broadcastEvent$suspendImpl(MiraiImpl.kt:304)
at net.mamoe.mirai.internal.MiraiImpl.broadcastEvent(MiraiImpl.kt)
at net.mamoe.mirai.event._EventBroadcast.broadcastPublic$suspendImpl(Event.kt:161)
at net.mamoe.mirai.event._EventBroadcast.broadcastPublic(Event.kt)
at net.mamoe.mirai.event.EventKt.broadcast(Event.kt:146)
at net.mamoe.mirai.internal.network.components.EventDispatcherImpl$broadcast$2.invokeSuspend(EventDispatcher.kt:90)
at net.mamoe.mirai.internal.network.components.EventDispatcherImpl$broadcast$2.invoke(EventDispatcher.kt)
at net.mamoe.mirai.internal.network.components.EventDispatcherImpl$broadcast$2.invoke(EventDispatcher.kt)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:89)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.withContext(Builders.common.kt:166)
at kotlinx.coroutines.BuildersKt.withContext(Unknown Source)
at net.mamoe.mirai.internal.network.components.EventDispatcherImpl.broadcast$suspendImpl(EventDispatcher.kt:89)
at net.mamoe.mirai.internal.network.components.EventDispatcherImpl.broadcast(EventDispatcher.kt)
at net.mamoe.mirai.internal.network.components.EventDispatcherImpl$broadcastAsync$job$1.invokeSuspend(EventDispatcher.kt:105)
at net.mamoe.mirai.internal.network.components.EventDispatcherImpl$broadcastAsync$job$1.invoke(EventDispatcher.kt)
at net.mamoe.mirai.internal.network.components.EventDispatcherImpl$broadcastAsync$job$1.invoke(EventDispatcher.kt)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startCoroutineUndispatched(Undispatched.kt:55)
at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:112)
at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:126)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:56)
at kotlinx.coroutines.BuildersKt.launch(Unknown Source)
at net.mamoe.mirai.internal.network.components.EventDispatcherImpl.broadcastAsync-kKe4JaQ(EventDispatcher.kt:102)
at net.mamoe.mirai.internal.network.components.EventDispatcher.broadcastAsync-kKe4JaQ$default(EventDispatcher.kt:35)
at net.mamoe.mirai.internal.network.components.EventBroadcasterPacketHandler.impl(PacketHandler.kt:87)
at net.mamoe.mirai.internal.network.components.EventBroadcasterPacketHandler.handlePacket(PacketHandler.kt:73)
at net.mamoe.mirai.internal.network.components.PacketHandlerChain.handlePacket(PacketHandler.kt:42)
at net.mamoe.mirai.internal.network.handler.NetworkHandlerSupport$collectReceived$3.invokeSuspend(NetworkHandlerSupport.kt:84)
at net.mamoe.mirai.internal.network.handler.NetworkHandlerSupport$collectReceived$3.invoke(NetworkHandlerSupport.kt)
at net.mamoe.mirai.internal.network.handler.NetworkHandlerSupport$collectReceived$3.invoke(NetworkHandlerSupport.kt)
at kotlinx.coroutines.intrinsics.UndispatchedKt.startCoroutineUndispatched(Undispatched.kt:55)
at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:112)
at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:126)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:56)
at kotlinx.coroutines.BuildersKt.launch(Unknown Source)
at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch$default(Builders.common.kt:47)
at kotlinx.coroutines.BuildersKt.launch$default(Unknown Source)
at net.mamoe.mirai.internal.network.handler.NetworkHandlerSupport.collectReceived$mirai_core(NetworkHandlerSupport.kt:82)
at net.mamoe.mirai.internal.network.impl.netty.NettyNetworkHandler$PacketDecodePipeline$send$1.invokeSuspend(NettyNetworkHandler.kt:193)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:497)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Unknown Source)
�[0m�[m
�[0m2022-08-31 15:59:13 V/Bot.340310984: [<$ÿĀ��><$ÿĀ��><$ÿĀ��><$ÿĀ�(218830532)] 镜澜(2270971241) -> wiki 觉醒榜�[0m�[m

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.