如何在 discord.py 中创建 discord.Permissions 对象?

Posted

技术标签:

【中文标题】如何在 discord.py 中创建 discord.Permissions 对象?【英文标题】:How can I create a discord.Permissions object in discord.py? 【发布时间】:2019-11-06 22:18:18 【问题描述】:

我想创建一个角色,该角色具有从字典中获取的某些特定权限。这是我尝试过的:

  for r in x:
      role = r['permissions']
      perms = discord.Permissions(create_instant_invite=role["create_instant_invite"], kick_members=role["kick_members"], ban_members=role["ban_members"], administrator=role["administrator"], manage_channels=role["manage_channels"], manage_guild=role["manage_guild"], view_audit_log=role["view_audit_log"], add_reactions=role["add_reactions"], priority_speaker=role["priority_speaker"], stream=role["stream"], read_messages=role["read_messages"],send_messages=role["send_messages"], send_tts_messages=role["send_tts_messages"], manage_messages=role["manage_messages"], embed_links=role["embed_links"], attach_files=role["attach_files"], read_message_history=role["read_message_history"], mention_everyone=role["mention_everyone"], external_emojis=role["external_emojis"], connect=role["connect"], speak=role["speak"], mute_members=role["mute_members"], deafen_members=role["deafen_members"], move_members=role["move_members"], use_voice_activation=role["use_voice_activation"], change_nickname=role["change_nickname"], manage_nicknames=role["manage_nicknames"], manage_roles=role["manage_roles"], manage_webhooks=role["manage_webhooks"], manage_emojis=role["manage_emojis"])
      await ctx.message.guild.create_role(name=r['name'], permissions=perms, colour=r['colour'].from_rgb(), hoist=r['hoist'], mentionable=r['mentionable'])

但它一直说 __init__ 收到了一个意外的参数。这是完整的错误:

TypeError: __init__() got an unexpected keyword argument 'kick_members'

任何帮助将不胜感激..谢谢。

【问题讨论】:

【参考方案1】:

你应该创建一个没有权限的Permissions对象,然后用字典更新它:

perms = discord.Permissions.none()
perms.update(**role)

【讨论】:

以上是关于如何在 discord.py 中创建 discord.Permissions 对象?的主要内容,如果未能解决你的问题,请参考以下文章

我需要帮助在 discord py 中创建 discord py temp 静音命令

我如何在 Discord.py 中创建一个您 @ 用户的命令并给该用户一个拥抱

我试图在 discord.py 中创建一个楼梯命令

在特定类别中创建频道(类别 id 应该是可变的) discord.py

如何使用 Discord.py Cogs 使 Discord Bot 加入语音频道并在成员加入频道时播放音频文件

在 discord.py 中发送其他人看不到的回复