【问题标题】:Get Role by name (discord.py Rewrite)按名称获取角色(discord.py 重写)
【发布时间】:2020-10-30 08:10:39
【问题描述】:

我的 Discord Bot 有问题。我想为支持者角色创建一个具有读取权限的文本通道,但我不想使用role_id。因此,我尝试使用以下代码,但无法创建任何频道。

          supporter_role = discord.utils.get("Supporter")
            overwrites = {
            supporter_role: discord.PermissionOverwrite(read_messages=True), guild.default_role: discord.PermissionOverwrite(read_messages=False), author: discord.PermissionOverwrite(read_messages=True)
          }
          channel = await guild.create_text_channel(name='║Ticket - {}'.format(authorname), overwrites=overwrites)

【问题讨论】:

    标签: python discord.py-rewrite


    【解决方案1】:

    discord.utils.get 函数接受一个迭代并在迭代中搜索匹配项。由于您没有指定可迭代对象,因此 get 函数并不真正知道在哪里匹配给定名称。

    因此您必须将guild.roles 指定为第一个参数。

    discord.utils.get(guild.roles,name="Supporter")
    

    【讨论】:

    • 虽然此代码可以解决问题,including an explanation 说明如何以及为什么解决问题将真正有助于提高您的帖子质量,并可能导致更多的赞成票。请记住,您正在为将来的读者回答问题,而不仅仅是现在提问的人。请edit您的回答添加解释并说明适用的限制和假设。
    猜你喜欢
    • 2022-01-15
    • 1970-01-01
    • 2019-08-06
    • 1970-01-01
    • 2021-05-27
    • 2020-09-24
    • 2015-07-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多