Closed GenKuzumochi closed 2 years ago
v1.11を試してみました。しばらく使っているとなにかチャットするたびに以下のようなエラーがDiscordに出力されます。
[ERROR]RESTEASY004655: Unable to invoke request(https://www.taruki.com/bcdice-api/v1/diceroll?command=2d10&system=DiceBot)
また、反応が悪くなった際のログは以下です。単純に通信が多すぎてBCDice-apiの短期IPブロック等を食らってるだけな気がしてきました。
2020-04-03 16:28:22.396+0000 ERROR org.javacord.core.util.event.EventDispatcherBase Interrupted a a listener thread for くずもち's server,
because it was running over 120 seconds! This was most likely caused by a deadlock or very heavy computation/blocking operations in the listener thread. Make sure to not block listener threads! {shard=0}
16:28:22.397 [Javacord - Central ExecutorService - 3] DEBUG com.hiyoko.discord.bot.BCDice.BCDiceBot - ********** posts: https://discordapp.com/channels/********** /********** /**********
Failed to request to https://www.taruki.com/bcdice-api/v1/diceroll?command=2d10&system=DiceBot, RESTEASY004655: Unable to invoke request, app will try 5
Failed to request to https://www.taruki.com/bcdice-api/v1/diceroll?command=2d10&system=DiceBot, RESTEASY004655: Unable to invoke request, app will try 4
Failed to request to https://www.taruki.com/bcdice-api/v1/diceroll?command=2d10&system=DiceBot, RESTEASY004655: Unable to invoke request, app will try 3
Failed to request to https://www.taruki.com/bcdice-api/v1/diceroll?command=2d10&system=DiceBot, RESTEASY004655: Unable to invoke request, app will try 2
Failed to request to https://www.taruki.com/bcdice-api/v1/diceroll?command=2d10&system=DiceBot, RESTEASY004655: Unable to invoke request, app will try 1
16:28:24.906 [Javacord - Central ExecutorService - 3] WARN com.hiyoko.discord.bot.BCDice.BCDiceBot - USERID: 538687904457949224 MESSAGE: 2$10
16:28:24.908 [Javacord - Central ExecutorService - 3] WARN com.hiyoko.discord.bot.BCDice.BCDiceBot - Failed to reply to user request
java.io.IOException: RESTEASY004655: Unable to invoke request(https://www.taruki.com/bcdice-api/v1/diceroll?command=2d10&system=DiceBot)
at com.hiyoko.discord.bot.BCDice.DiceClient.BCDiceClient.getUrl(BCDiceClient.java:58)
at com.hiyoko.discord.bot.BCDice.DiceClient.BCDiceClient.getUrl(BCDiceClient.java:66)
at com.hiyoko.discord.bot.BCDice.DiceClient.BCDiceClient.getUrl(BCDiceClient.java:66)
at com.hiyoko.discord.bot.BCDice.DiceClient.BCDiceClient.getUrl(BCDiceClient.java:66)
at com.hiyoko.discord.bot.BCDice.DiceClient.BCDiceClient.getUrl(BCDiceClient.java:66)
at com.hiyoko.discord.bot.BCDice.DiceClient.BCDiceClient.getUrl(BCDiceClient.java:66)
at com.hiyoko.discord.bot.BCDice.DiceClient.BCDiceClient.getUrl(BCDiceClient.java:91)
at com.hiyoko.discord.bot.BCDice.DiceClient.BCDiceClient.rollDice(BCDiceClient.java:120)
at com.hiyoko.discord.bot.BCDice.DiceClient.BCDiceClient.rollDiceWithChannel(BCDiceClient.java:116)
at com.hiyoko.discord.bot.BCDice.BCDiceCLI.roll(BCDiceCLI.java:124)
at com.hiyoko.discord.bot.BCDice.BCDiceBot.lambda$null$1(BCDiceBot.java:60)
at org.javacord.core.util.event.EventDispatcher.lambda$dispatchMessageCreateEvent$95(EventDispatcher.java:3413)
at org.javacord.core.util.event.EventDispatcherBase.lambda$dispatchEvent$10(EventDispatcherBase.java:197)
at org.javacord.core.util.event.EventDispatcherBase.lambda$checkRunningListenersAndStartIfPossible$18(EventDispatcherBase.java:265$
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
ありがとうございます。
以下が出ている以上、おっしゃっている通りのように見えます。
16:28:22.397 [Javacord - Central ExecutorService - 3] DEBUG com.hiyoko.discord.bot.BCDice.BCDiceBot - ** posts: https://discordapp.com/channels/** /** /**
ダイスボットの prefixes を使えば絞れそうではあるのですが、
ちょっと難しそうなので考えてみます。
(BCDice のサーバで提案なさっていた方法を少し変えたものが現実的には見えます)
ダイスボットの prefixes を使えば絞れそうではあるのですが、 ちょっと難しそうなので考えてみます。
これについて 2.5.0 で入ったので閉じます
環境:
常駐は想定環境と異なるかもしれませんが、報告まで。
Linuxサーバー上でdiscord-bcdicebotを常駐させたいのですが、起動して暫く経つとボットが返事をしなくなります。詳細な時間は未計測ですが、一日に何度も発生する程度の頻度です。プロセスを再起動すれば直りますが、何もしなくても数十分後(こちらも条件不明)に突然復活し、まとめて反応があります。そして、またしばらくすると返事をしなくなります。
以下がその時のログです(タイムゾーンがずれていますが00:28分頃のものです,)(念の為IDの一部をXXXXにしてあります)。Sent heartbeatは反応しない間も続いています。
また時折Websocketと切断されています。
#
他のタイミングではBCDice-APIのサーバー接続のtimeout以外では、以下が一度だけ記録されていました。