pythonでdiscord bot の自作しています。
pythonの知識はある程度ありますが、discordのbot作成の知識は初心者です。
あるボイスチャンネル内のメンバーリストを取得したいのですがうまくいきません。
最終的にはボイスチャンネル内のメンバーリストを取得
そこから乱数か何かで一人だけ鬼を決める
テキストチャンネルで
例)member1 : 鬼
member2 : 人間
...
...
みたいに表示したいです
下のコードはひとまずメンバー取得を行うコードです。
python
1import asyncio 2import discord 3import random 4 5 6# 自分のBotのアクセストークン 7TOKEN = 'token' 8 9 10# 接続に必要なオブジェクトを生成 11client = discord.Client() 12 13# 起動時に動作する処理 14@client.event 15async def on_ready(): 16 17 print('ログインしました') 18 19 20 21# Botの起動とDiscordサーバーへの接続 22 23@client.event 24async def on_message(message): 25 if message.author.bot: 26 return 27 28 elif message.content.startswith("!test"): 29 30 num_random = random.randrange(1,6) 31 user = [member.name for member in voice_channel.voice_states.keys()] 32 #print(user) 33 await message.channel.send(user) 34 35 36 37 38client.run(TOKEN)
result
1NameError: name 'voice_channel' is not defined
ある記事を参考に組んだのですが
voice_channelがないとエラーが出ます。
何かのモジュールをインストールするのか
voice_channelのID?がいるのかそこらへんがよくわからないです。
仮にvoice_channelのIDがいるとしたらどうやって取得するのかも教えていただきたいです。

回答3件
あなたの回答
tips
プレビュー