ほうこうレポート

ほうようポケモン、こうもりポケモン。

Discord サーバーの参加者一覧を出力するBot「MenberList」の使い方を解説

はじめに

Discordのサーバー参加者一覧のデータを取得したいこと、ありますよね~。
あんまりないと思う。

大会運営なんかで参加者をしっかり管理するぞ~となった時なんかにはリストがほしいこともあるかもしれません。
今回は僕が雷撃というポケモンのデカ大会の運営で知ったBotの解説をします。
雷撃 | ポケモンオフライン対戦イベント

紹介

こちらが「MenberList」くんになります

招待方法

招待はこちらから。
top.gg


Botの招待ってなに~~~って人は、以下の記事を見てください。
こんなBot所望してる時点で知らない人は少ない気もしますが。
embrabat-report.net



サーバー構成員をリスト出力してくれる

機能はこの一つだけ。

↑こんな感じのデータがもらえます。




データの意味

User

参加者のDiscordのID一覧です。
Twitterでいう@~~~の部分に該当します。

ID

これは普段公開されていない、隠しステータスです。
開発者向けの色々をする場合には必要かもしれませんが、多くの人は知らなくていいです。
IDは簡単に言うと「マイナンバー」。政府で管理されてる番号みたいなもんです。

雑に知りたい人向け↓

表示する

例えばメンションするとき。

こんな風にメンションをしますよね。

ここで僕が自分の名前を「デデンネ太郎」に変えたとします。
すると不思議、メンションの文章も変わってくれるんです。

これは、使用者によって変更されない裏ステータス「ID」がメンションに使われているためです。

メンションは内部処理では<@9637252537110>みたいな感じで記述されています。
この内部処理で書かれたIDと人を結び付けているので、名前を

NickName

サーバー内での名前が書かれています。
Twitterでいう名前欄のイメージ。

それ以降に書かれていること

これはそれぞれの人がどのロールを付けているかの一覧です。

例を挙げると、@everyoneロールは当然全員ついているので、全員の横に書いてあります。



使い方|コマンド一覧

コマンド基本の形

コマンドは

○○ filetype:~~
です。


○○の部分はいっぱいあるので後述。
filetypeはテキストとCSVが選べます。

filetype:txtか
filetype:csvを
入力しましょう。

これでどちらかを入力して送信すれば、 リストが出力されます。

○○の部分には何入れるの?

リストアップしたい人の属性を色々書いていきます。

/server

一番簡単。サーバー員全員をリストアップします。

/role

特定のロールがついた人の一覧を出力してくれます。

/roles

指定した二つのロールが両方ともついた人をリストアップしてくれます。

/channel

特定のチャンネルを見られる人一覧を出力できます。

/banned

サーバーをBANした人一覧を出力できます。

/help

ヘルプが出てきます。
まぁ全部英語ですけどね。
あんまり使わなそうだと思ってこの記事に書いていないものもあるので、気になる人は見てみてください。





注意:文字化け対策

一つこのBotの注意点を。
日本語なのが悪いっぽく、CSV出力するとめちゃくちゃ文字化けします。





対処法を二つ紹介。

力技の方

表示する

1:テキスト で取得

まずメンバーリストをテキストで出力します。


テキストを開いてみると、あちゃーという感じ。
でも文字化けはしていません。これを見やすくしています。

2.エクセル・スプシにコピー。

全文をコピーして、表計算ソフトに貼りましょう。
べた貼りで大丈夫です。

3.秘技・テキスト分割

カンマ区切りのデータを分割してくれる機能を使います。

Excelの場合

「データ」>「区切り位置」


上の「コンマやタブ~~」を選択


「コンマ」を選択して、プレビューを確認。
よければ「次へ」を押して「完了」で大丈夫です。

Googleスプレッドシートの場合

「データ」>「テキストを列に分割」
あとは自動検出してくれるので、解除すれば完了。

Botを使いこなす方

今まで解説せずスルーしてきましたが、このBotのコマンドにはもう一つ設定できるパラメータがあります。
「flag」です。

これは何かというと、
メンバーリストの特定の情報だけ絞って出力してくれる機能。

これを使えば、ユーザーネームだけ取り出して要らないところは捨てられた情報がそのまま手に入ります。

具体的には?

例えば

  • /server
  • filetype:txt
  • flag:-user

として見ましょう。
-userです。気を付けて。

すると、サーバー参加者のDiscord IDだけのリストが作れるわけです。


フラグの一覧は以下の通り。
詳しくは/helpを使ってみてください。
正直僕もよくわかってません。

-user
-id
-reason
-display
-disc
-nick
-mention
-color
-avatar
-joined
-created
-boosted
-toprole
-admin
-perms
-roles
-all
-dm
-inverted




おすすめの使い方

Excelやスプレッドシートでサーバー員を管理したい。

雷撃がこれに該当。

まず、Discordメンバーリストを持ってきて別シートに張り付ける。

次にTonamelの参加者リストを持ってきて別シートに張り付ける

それらを全部引用したシートを作って、VLOOKUPを使って探させる

これで、Tonamelに入力した人のうちだれがDiscordサーバーに入っているかを確認できます。

特定のロールを付けている人だけのリストが欲しい

企画の参加者が全員ロールつけてるかを管理するときに役立ちそう。
ポサリンの時に欲しかったかもなー。


おわりに

いつ使うのかは分かりませんが、ちょっとした便利Botです。