前提・実現したいこと
DiscordのボットをPythonで作成し始めました。
【特定のチャンネルに入室した際、入室者が1人目だった場合にテキストチャットへ通知を出す】というボットを考えているのですが、1人目だったらという条件の部分で躓いています。
ご教示いただけると幸甚に存じます。
該当のソースコード
Python
1@client.event 2async def on_voice_state_update(member, before, after): 3 if member.guild.id == サーバーID and (before.channel != after.channel): 4 alert_channel = client.get_channel(通知したいチャンネルID) 5 voice_channel = client.get_channel(対象のボイスチャンネル) 6 channel_members = voice_channel.voice_members 7 channel_numbers = len(channel_members) 8 if after.channel is voice_channel and channel_numbers == 1: 9 msg = f'{member.name} さんが {after.channel.name} に入室しました!' 10 await alert_channel.send(msg + channel_members) 11 12client.run(token)
エラーコード
##[error]Process completed with exit code 1.
試したこと
channel_members = voice_channel.voice_members channel_numbers = len(channel_members)
を削除し、それに続く条件分を
if after.channel is voice_channel:
にすると無事に動いたので、一人目だったらという部分にエラーがあるのでは、と考えています。
補足情報(FW/ツールのバージョンなど)
discord.py[voice]>=1.2.5
python-3.7.5
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/08 10:30