teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

ミスの修正:一人目の場合を忘れていた

2020/02/07 01:49

投稿

Super--Beginner
Super--Beginner

スコア44

answer CHANGED
@@ -4,16 +4,16 @@
4
4
  #したいこと
5
5
  #特定のチャンネルに入室した際、入室者が一人目だった場合にテキストチャンネルへの通知を出す
6
6
 
7
- #テキストチャンネルのidが入った変数(仮):text_channel_id
7
+ #テキストチャンネルのidが入った変数(仮):text_channel_id
8
- #入室を検知したいボイスチャンネルのidが入った変数(仮):voice_channel_id
8
+ #入室を検知したいボイスチャンネルのidが入った変数(仮):voice_channel_id
9
-
10
9
  if before.channel == after.channel:#同じチャンネル内での変化(マイクミュートなど)の場合
11
10
  pass#無視
12
11
  else:#それ以外の場合
13
12
  if after.channel == client.get_channel(voice_channel_id):#新しく接続したチャンネルがこのチャンネルの場合
13
+ if len(after.channel.members) == 1:#入室者が一人目の場合
14
- message_send_channel = client.get_channel(text_channel_id)#メッセージを送信するテキストチャンネルの情報を取得
14
+ message_send_channel = client.get_channel(text_channel_id)#メッセージを送信するテキストチャンネルの情報を取得
15
- send_message_content = "```" + member.display_name + "が接続しました。```"#ログのようなものを出す時は```で囲むのがオススメ
15
+ send_message_content = "```" + member.display_name + "が接続しました。```"#ログのようなものを出す時は```で囲むのがオススメ
16
- await message_send_channel.send(send_message_content)#チャンネルにメッセージを送信
16
+ await message_send_channel.send(send_message_content)#チャンネルにメッセージを送信
17
17
  else:#新しく接続したチャンネルが別のチャンネルの場合
18
18
  pass#無視
19
19
  ```