discord.py成员加入语音频道

2024-05-16 18:27:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我如何才能创建一个频道,如果有人加入它,机器人将创建一个文本频道。这是我的密码:

@client.event
async def on_voice_state_update(member):
    guild = member.guild
    role = discord.utils.get(guild.roles, name="@everyone")

    chan = await member.guild.create_text_channel(f"ticket - {member}")
    await chan.set_permissions(role, send_messages=False, read_messages=False, add_reactions=False, embed_links=False, attach_files=False, read_message_history=False, external_emojis=False)
    await chan.set_permissions(member, send_messages=True, read_messages=True, add_reactions=True, embed_links=True, attach_files=True, read_message_history=True, external_emojis=True)

我还想让机器人创建这个渠道,只有当用户加入特定的渠道。另一件事,我必须纠正的是,使这个脚本工作,只有当会员加入语音频道,而不是离开,编辑等。谢谢


Tags: sendaddfalsetruepermissionsread机器人await
1条回答
网友
1楼 · 发布于 2024-05-16 18:27:40

你可以用它来做

voice_channel = client.get(CHANNEL_ID)
try:
    while True:
        voice_channel.members[0]
        await asyncio.sleep(0.1)
        ...
except:
    ...

但是要小心这是一个始终运行的循环(仅暂停0.1秒),并将检查成员的语音频道

相关问题 更多 >