【问题标题】:discord.py member join voice channeldiscord.py 会员加入语音频道
【发布时间】:2021-06-06 20:05:52
【问题描述】:

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

@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)

我还想让机器人仅在用户加入特定频道时创建此频道。我必须解决的另一件事是使此脚本仅在成员加入语音频道时才有效,而不是离开、编辑等。谢谢

【问题讨论】:

    标签: python python-3.x discord.py


    【解决方案1】:

    你可以这样做

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

    但要小心!!这是一个循环,它会一直运行(只有 0.1 秒的停顿),并且会检查成员的语音频道! p>

    【讨论】:

      猜你喜欢
      • 2018-04-04
      • 2020-12-21
      • 2021-03-02
      • 2020-08-30
      • 2021-06-30
      • 1970-01-01
      • 2021-02-27
      • 2022-01-04
      • 1970-01-01
      相关资源
      最近更新 更多