Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

保存するBot情報の仕様定義 #2

Open
1ntegrale9 opened this issue Oct 13, 2020 · 20 comments
Open

保存するBot情報の仕様定義 #2

1ntegrale9 opened this issue Oct 13, 2020 · 20 comments
Labels
Spec 仕様について

Comments

@1ntegrale9
Copy link
Member

  • Botの名前
  • Botの導入リンク
  • Botのホームページ
  • 紹介文(文字数制限が必要そう)
@sevenc-nanashi
Copy link
Member

top.ggにあるやつを。

  • 高評価
  • サポートサーバー(=ホームページ?)
  • サーバー数

@sizumita
Copy link

保存方法についてなんですが、fluentdとか使ったら簡単になりそうだなぁと思いました。APIも作りやすいですし。

@1ntegrale9
Copy link
Member Author

保存方法についてなんですが、fluentdとか使ったら簡単になりそうだなぁと思いました。APIも作りやすいですし。

その話はこっちかなー #1

@Shirataki2
Copy link
Contributor

考えつくのでは

  • タグ情報(Global Chat/ Mod/ Economy など)
  • デフォルトのプレフィックス
  • (任意)ソースコードの公開先

@sevenc-nanashi
Copy link
Member

sevenc-nanashi commented Oct 13, 2020

タグとは別にチェックリスト的なのがあるといいかも

  • プレフィックスのカスタマイズ
  • 管理者権限
  • オープンソース

みたいな

@daima3629
Copy link
Member

必要権限が明確化されてるといいですね
どれが必要なのか、不必要な権限が招待リンクに入ってるのかとかわからないBotが多いので...

@udon-ken
Copy link
Contributor

  • 作成者(?)のID的なもの(「このボットの作者は他にこういうボットも公開しています」みたいなのに使う)

@1ntegrale9 1ntegrale9 added the Spec 仕様について label Oct 14, 2020
@udon-ken
Copy link
Contributor

udon-ken commented Oct 16, 2020

とりあえず、必要そうなデータと取得方法、保存するか否かをまとめたいと思います。
必要性は採用するか否かで、保存は採用したとしたら保存するのかその都度取得するかの意味です。
抜け、漏れ、間違い多いと思いますがお許し下さい。

項目 必要性 保存 取得方法
BotのID(キー) 導入リンクから取る?いずれにしても正確なIDは取れなさそうなのでどうするか?
名前 登録者入力 or fetchで取れる?取れたとしても保存せず一覧出力は困難か?
導入リンク 登録者入力(そもそも取得するかどうか検討中)
紹介文 登録者入力
カテゴリ 登録者入力
タグ関係 登録者入力(タグの仕様を決める必要あり)
サポートギルド 登録者入力
website 登録者入力
コードの公開先 登録者入力
権限関係 導入リンクから取る?
評価数 評価データから都度取得する?
導入サーバー数 自己申告なら無意味?top.gg方式にする?
稼働歴 自己申告 or アカウント作成日ならIDから取れる
Bot作者ID 登録者入力orカラムを設けない。自動で取得する方法無さそう。
登録者のID message.authorで取得
登録者の名前 都度fetchで取る?
登録日時 自動取得 *レコードの作成日時です
最終更新日時 自動取得 *レコードの更新日時です
公開フラグ 登録者意思で表示停止する場合に必要
削除フラグ 運営側で設定
prefix 登録者入力 複数ある場合について検討

(厳密に運用するなら、いつ誰がどういう理由で削除フラグ立てたか外したかの記録が別途必要かも)

  • 導入リンクを入力できるようにするかどうか検討中(当面入力できなくする方向濃厚)ですので、それも踏まえてご検討下さい。

2020/10/18 18:30 更新

@varubogu
Copy link
Member

Bot作者以外が登録するパターンって必要なのだろうか?
例えば

  • 作者が身内向けに作ったものを勝手に公開される恐れがある
  • Bot作者IDも同様に、作者の意図に関わらず公開される恐れがある(全く関係ない人のID入力したり作者偽装したりもできるのでは)

という点からトラブルの元になりそうなので、作者本人以外は投稿禁止にすべきかなと思う。
あるいは作者本人に了承を得てから公開するというプロセスを追加するか。
(その場合は「作者了承フラグ」も必要かも)

削除フラグ操作時のメッセージは必要だと思う。
運営者Aが削除したとして登録者から問い合わせがあった時に、理由を運営者Bが説明できるように残しておかないとわからないため。

@sizumita
Copy link

個人的には可用性保存したいですね

@1ntegrale9
Copy link
Member Author

@varubogu 別の話なのでissue立てました #14

@sevenc-nanashi
Copy link
Member

sevenc-nanashi commented Oct 17, 2020

プレフィックスも必要かな、説明とは別に

@sevenc-nanashi
Copy link
Member

導入サーバー数、DBLみたいにライブラリか何かで送信して貰うのはどうでしょう

@varubogu
Copy link
Member

プリフィクス用意するとして定義ってどうしようか
1botが複数プリフィクスで実装することも可能っちゃ可能なので(on_mesasgeでの分岐方法次第)

@sevenc-nanashi
Copy link
Member

メイン・サブで分けるってのはどうかなぁ(自分のならsb#がメインでsb.がサブ、ヘルプにはsb#で書いてる)

@daima3629
Copy link
Member

daima3629 commented Oct 18, 2020

メイン・サブとは? 理解しました、2つ枠を用意するってことですね
まあ普通にchar型の配列で定義しとけばいいんじゃないですかねぇ

@grarich
Copy link
Member

grarich commented Oct 18, 2020

client_id と user_id は別の可能性があるから別々に保存したほうがよさそう

@udon-ken
Copy link
Contributor

上のテーブル更新しました。

client_id と user_id は別の可能性があるから別々に~

あるのですか・・・

@sevenc-nanashi
Copy link
Member

あるよ。
R.DannyのUser IDは80528701850124288、招待URLのClient IDは169293305274826754になってる。
https://discord.com/oauth2/authorize?client_id=169293305274826754&scope=bot&permissions=268823638

@hisuie08
Copy link
Member

大手Botは別として、自分で作成したBotの登録の流れについては、Githubに指定フォーマットのデータを上げた上でDiscord上で登録というのを提案します。
以下リポジトリに荒削りではありますが、フォーマットされたbotの情報セットbot.jsonと、それを取得・パースするサンプルコードgetter.pyを作ってみました。
絶対的なものではありませんが、リポジトリによって開発者とbotの紐付けが期待できるので、 #14 の問題においても何かしら役に立てる気がしました。
https://github.com/hisuie08/discord-bot-infomation-for-discord-db
お力に慣れれば幸いです。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Spec 仕様について
Projects
None yet
Development

No branches or pull requests

9 participants