下午好。
我还有一个关于 discord python bot 的问题。 所以我想做一些类似支持脚本的事情。我的想法是在所有支持者值班时写一个命令,该命令保存在 json 文件中。这没问题,但我的问题是我希望用户在连接到名为“Support-Room”的特定语音通道时接收值班的支持者数量。有谁知道我如何编写一个脚本,当成员加入这个特定的语音频道时,他会收到一条消息,例如: member.send('你现在在支持室。请等待支持者移动你。' )
@bot.command()
async def on_member_join(member):
for channel in bot.get_all_channels():
if channel.name == 'Support-Room':
await member.send(''You are now in the Support-Room. Please wait till a Supporter moves you.')
这就是我尝试过的,但它不起作用:(
答案 0 :(得分:0)
混合事件和机器人命令不是它的工作方式。使用 event
是解决方案。
我们必须使用名为 on_voice_state_update
的事件,有关详细信息,请参阅 docs。
看看下面的代码:
@bot.event
async def on_voice_state_update(member, before, after):
channel = before.channel or after.channel
if channel.id == VoiceChannelID: # Insert voice channel ID
if before.channel is None and after.channel is not None: # Member joins the defined channel
await member.send("Your text here.") # Send a DM to the member who joined
我们做了什么?