やりたいこと
メンバーのボイスチャンネルの移動の検知
できないこと
on_voice_state_update
のイベントが発火しない。
しかしon_message
は発火している。
コード
python
1import discord 2 3//下記の二行を追加しました 4intents = discord.Intents.all() 5client = discord.Client(intents=intents) 6 7TOKEN = '---' 8afkCH_ID = "xxx" 9commandCH_ID = "ooo" 10 11client = discord.Client() 12 13# チャンネル入退室時の通知処理 14@client.event 15async def on_voice_state_update(member, before, after): 16 17 # チャンネルへの入室ステータスが変更されたとき(ミュートON、OFFに反応しないように分岐) 18 if before.channel != after.channel: 19 # 通知メッセージを書き込むテキストチャンネル(チャンネルIDを指定) 20 botRoom = client.get_channel(afkCH_ID) 21 22 # 入退室を監視する対象のボイスチャンネル(チャンネルIDを指定) 23 announceChannelIds = commandCH_ID 24 25 # 退室通知 26 if before.channel is not None and before.channel.id in announceChannelIds: 27 await botRoom.send("**" + before.channel.name + "** から、__" + member.name + "__ が抜けました!") 28 # 入室通知 29 if after.channel is not None and after.channel.id in announceChannelIds: 30 await botRoom.send("**" + after.channel.name + "** に、__" + member.name + "__ が参加しました!") 31 32 # メッセージ受信時に動作する処理 33@client.event 34async def on_message(message): 35 # メッセージ送信者がBotだった場合は無視する 36 if message.author.bot: 37 return 38 39 if message.content == '/help': 40 await message.channel.send('How can I help you?') 41 42# Botの起動とDiscordサーバーへの接続 43client.run(TOKEN) 44
環境
サーバーはHeroku CLIを利用してます
python-3.8.9
os mac
補足
質問に至らない点があったら教えてください。
何か私のコードに問題を見つけたらご教授ください。
宜しくお願いします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/01/06 13:41
2022/01/06 23:53
2022/01/06 23:54
2022/01/08 06:18