■概要
現在DIscordの役職設定周りは穴があり、付与した役職はサーバから抜ける→再度入るという行為で外すことが出来ます。
チャットルームマネージャーは常時DIscordを監視してくださいという注文は無理な話なです。
なので運用上リーダーが警告で反省してないユーザに対し、
発言停止役職を付けマネージャにBAN判断を確認するという運用がしたかったのですが、
上記DIscord側の仕様の穴により実現できていません。
その仕様の穴を埋めるためのBOTの作成要望になります。
申し訳ありませんが、まだ元気玉BOTも完成していなく報酬を集める手段も取りづらいので
まずは「いいよ。作っとくよ」レベルで名乗り出てくる方がいらっしゃると助かります。
また、仕様追加や漏れがある場合はコメントください。
後日元気玉BOTが出来た際、完成品に対して元気玉できないかどうか確かめてみたいと思っています。
■仕様
箇条書きで仕様を纏めさせて頂きます。
DiscordAPIを隅から隅まで確認してない状態ですので、もし難しい仕様があればご相談ください。
(一応いろんな人に確認はしてみたので、現状できるのかな?というイメージはしてます)
- 管理者等が役職付与時に、ユーザのID(自分だと211823782698942467)及び付与された役職をDBに保存する。
- 管理者等が役職削除時に、ユーザのID及び削除された役職をDBから削除する。
- BOTは落ちていたと時のことを考慮し、再起動時に起動プロセスとして前回のチェック時間から再起動時までのサーバログを確認し上記ID及び役職が最新になっていることを確認する(初回起動時は前回チェック時間がないので全確認)
- ユーザがサーバに入出した際、DBを参照し付与されていた権限を再度付与する。
下記は作成場所や構成に関する話です。
- どこのサーバで動かすか現状決まっていないので、まずはgithub上で作成し誰でも参照できるようにしておいてください。
- DB等の接続情報および各種設定値はconfファイルに切り出しておいてください。
- DBはMySQL想定でお願いします(MariaDB上で動かすかもですが、とりあえずは)
- 言語は問いません。
- テストはお手数ですが自前でDiscordサーバを作ってテストしてください(お手伝いはします!)
■備考
DBの大分いい加減なテーブルこんなカラムになるんじゃないかなという奴(要らない情報かも)
id, user_id, position_name, guild_id。
user_id, position_nameの順で複合インデックス。
guild_idは他サーバでも使えるようにしたほうがいいかな程度だけどいらんかもです。
※guildはdiscordのサーバを指します
なにか相談事があれば、開発室カテゴリの #技術開発・相談室 まで頂ければ沢山の元ラボメンが来てくれる・・・はず