Xp-Botの負荷軽減
Opened this issue · 12 comments
実現したいこと
Xp-Botの負荷軽減
ゴール
@foo87b さんからの提案です。
Discordの権限をうまく駆使すれば、本家のBOTのままで負荷削減はある程度できるようになると考えています。
例1: #bot-spam チャンネルでコマンド打ったら、負荷軽減用BOTがその人の発言権を即座に奪い本家BOTがレスポンスしたら解除する
例2: 負荷軽減用BOTに全ユーザーをグループ分けさせて、一定時間ごとに順番で発言できるように管理させる
などなど
相談したいこと
何かよい実装案などありましたら提案頂きたいです。
よろしくお願いします。
discordrbにRateLimiterが実装されているようです。
https://github.com/VxJasonxV/discordrb/blob/master/lib/discordrb/commands/rate_limiter.rb
bot.command rate_limit_message: "連続してコマンドは使用できません!ちょっと待ってから試してね", bucket: 何かbucket渡す
でいけそうに見えるのですが…動くのかな
とりあえずRateLimiter動きましたー。
一回コマンド叩いたら、一定時間同じコマンド叩けないようにできます。
やりたいことってこういうことで合ってますか?
あー、状況を理解しました。XpFiat-BotじゃなくてXp-Bot(本家)の方なのですね。
本家は勝手に,
コマンド回収して動いてしまうのか…うーむ
本家のBot開発者はどなたなのでしょうか?プルリクとかコード片送ってRateLimiter使って欲しいですね
現時点では本家はクローズドソースで、ソースコードの開示には難色を示されているそうです。
本家の開発者さんの発言を拾ってみると下記の状況のようです。
,balance
コマンドに対しレート制限を実装,rain
コマンドの削除
次回本家BOTが正常に動いて負荷に耐えてくれるなら負荷軽減が不要になるかもしれないのですが…
やはり XPJP-Bot の気運が高まりますね...こちらでコントロールできないことには根本解決しなさそうです。
そうですねー、どんどん重要度が増していく…
機能が未実装でも先にXPJP-Botを動かして置いておくだけで多少は本家への集中回避できるかな?
混乱招くと思って躊躇してるんですがご意見伺いたく。
すみません、 XPJP-Bot
は xpfiat-bot
とは別のものを指してます?
本家がいい感じに対応するまでは、すべての ,command
を禁止して、 _command
経由で叩くことで制限かけるとかは無理ですかね?(文化から変えないといけないので、できたとしても正直あまりいい方法ではないのですが)
@mc-chinju 全く別物ですー XPJP-Bot
は本家のXp-Bot
みたいな動作balance
,tip
,rain
等の機能を予定していると思います。