作りたいもの
・Discordを使ってチーム分けをしたい(みんなでゲームをしてて欲しい時がある)
・誰かがボイスチャットに入室したときに、入室したチャンネルとユーザーをメンションで知らせてくれる
開発環境
OS:Ubuntu20.10
Python:3.9.5
Discord.py:1.7.3
やること
-
メッセージからメンション情報を取得
-
コマンドの入力を受ける
-
メッセージに返信する
-
リアクションを集計
-
チーム分け
-
結果を送信
-
メッセージからメンション情報を取得
メッセージが送信されたときに、Bot に対してメンションが行われたかを確認する
-
メンションに続くコマンドを取得する
メッセージを取得 -> メンション情報を取得
メンション情報は
message.mentions
で取得することができる
# message.mentions の構造
[<Member id=******** name='*****' discriminator='****' bot=True nick=None guild=<Guild id=******** name='*****' shard_id=None chunked=False member_count=*>>]
リストの要素として <Member ~ >>
が入っている
メンションの数が増えると [<Member ~ >>, <Member ~ >>]
と要素が増えていく
取得したい情報は name#discriminator
の形式の文字列
async def on_message(message):
# ここの name と discriminator は Bot のものを入れる
my_name = 'name#discriminator'
mentions = message.mentions
for mention in mentions:
mention_name = mention.name + '#' + mention.discriminator
if mention_name == my_name:
message_in_cmd = message.content
break
message.content
でメッセージの本文を取得することができる
2021/09/19 09:00 JST 時点ではここまでが完成しています。
今後進捗が出たら、更新します。