import discord
from datetime import datetime, timedelta
client = discord.Client()
@client.event
async def on_voice_state_update(member, before, after):
if member.guild.id == 監視するサーバーid and (before.channel != after.channel):
now = datetime.utcnow() + timedelta(hours=9)
alert_channel = client.get_channel(通知させたいテキストチャンネルid)
if before.channel is None:
msg = f'{now:%m/%d-%H:%M} に {member.name} が {after.channel.name} に参加しました。'
await alert_channel.send(msg)
elif after.channel is None:
msg = f'{now:%m/%d-%H:%M} に {member.name} が {before.channel.name} から退出しました。'
await alert_channel.send(msg)
client.run("あなたのトークン")
このエントリを書いた理由
随分前に書かれたコードが最新版のdiscord.pyで動かないって困っている初心者の方がいたので、彼のためにその古いコードを最新版の discord.py (記事執筆時点でv1.1.1) 向けに書き直しました。
せっかくなので公開します。