Discordのボイスチャンネルの入退室を通知させる
Discordのボイスチャンネルの入退室を通知させる:
これで誰かが通話が開始した時に見逃すこともなくなると思います
サーバーidは指定しなくてもいいけど、複数サーバーに入ってるbotだとすべてのサーバーのボイスチャンネルの出入りを通知してしまうので注意。
では、また次の記事で
いいねを頂けると次の記事への励みになります(なくても書くけど)
ボイスチャンネルの入退室の通知bot
on_voice_state_update(before, after)
を使うとボイスチャンネルで変化があった時のデータを取れるので、これを使って通話部屋の入退室記録を取ります。これで誰かが通話が開始した時に見逃すこともなくなると思います
ソース
bot.py
import discord import datetime client = discord.Client() @client.event async def on_voice_state_update(before, after): if after.server.id == '監視するサーバーid': nowtime = datetime.datetime.utcnow() nowtime = nowtime + datetime.timedelta(hours=9) nowtime = nowtime.strftime("%m/%d-%H:%M") vcchannel = client.get_channel('通知させたいテキストチャンネルid') if(before.voice_channel is None): jointext=nowtime + "に "+ after.name + " が "+ after.voice_channel.name + " に参加しました。" await client.send_message(vcchannel, jointext) elif(after.voice_channel is None): outtext=nowtime + "に "+ before.name + " が "+ before.voice_channel.name + " から退出しました。" await client.send_message(vcchannel, outtext) client.run("あなたのトークン")
では、また次の記事で
試してみたのですが、仕様変更によりできませんでした。プログラミングの知識が無く、長時間にわたって格闘して、調べてもできませんでした。出来れば仕様変更後にも適応できるようなコードを教えて頂けないでしょうか?お願いします。
返信削除こちらの記事を最新版の discord.py で使おうとして動かず困っている方が他にもいたので、v1.1.1 の discord.py 向けに同じ動作をするコードを書きました。
削除https://qiita.com/aiotter/items/69f8d5a4c5a75313e77a