Skip to content

discord.Permissions.all() create/edit = 401 unauthorized #793

Closed
@wrath625

Description

@wrath625

Summary

discord.Permissions.all() seems to create something different or more than a manually created fully permissioned Permissions

Reproduction Steps

My bot gets a 401 unauthorized error when trying to create or edit a role with a discord.Permissions.all() object, but will succeed when creating a blank discord.Permissions() object and using the update() method to set all permissions to True

Minimal Reproducible Code

# fails 401 unauthorized
admin_permissions = discord.Permissions.all()
await self.bot.guild.create_role(
  name='Admin',
  permissions=admin_permissions,
)

# Succeeds
admin_permissions = discord.Permissions()
admin_permissions.update(
            add_reactions=True,
            administrator=True,
            attach_files=True,
            ban_members=True,
            change_nickname=True,
            connect=True,
            create_instant_invite=True,
            create_private_threads=True,
            create_public_threads=True,
            deafen_members=True,
            embed_links=True,
            external_emojis=True,
            external_stickers=True,
            kick_members=True,
            manage_channels=True,
            manage_emojis=True,
            manage_emojis_and_stickers=True,
            manage_events=True,
            manage_guild=True,
            manage_messages=True,
            manage_nicknames=True,
            manage_permissions=True,
            manage_roles=True,
            manage_threads=True,
            manage_webhooks=True,
            mention_everyone=True,
            moderate_members=True,
            move_members=True,
            mute_members=True,
            priority_speaker=True,
            read_message_history=True,
            read_messages=True,
            request_to_speak=True,
            send_messages=True,
            send_messages_in_threads=True,
            send_tts_messages=True,
            speak=True,
            start_embedded_activities=True,
            stream=True,
            use_application_commands=True,
            use_external_emojis=True,
            use_external_stickers=True,
            use_slash_commands=True,
            use_voice_activation=False,
            view_audit_log=True,
            view_channel=True,
            view_guild_insights=True,
)
await self.bot.guild.create_role(
  name='Admin',
  permissions=admin_permissions,
)

Expected Results

using discord.Permissions.all() will create a fully permissioned Permissions object that can actually be created or edited without error.

Actual Results

401 unauthorized

Intents

All of them

System Information

  • Python v3.9.9-final
  • py-cord v2.0.0-alpha
    • py-cord pkg_resources: v2.0.0a4757+g02e346db
  • aiohttp v3.8.1
  • system info: Linux 4.9.0-17-amd64 Update README.rst #1 SMP Debian 4.9.290-1 (2021-12-12)

Checklist

  • I have searched the open issues for duplicates.
  • I have shown the entire traceback, if possible.
  • I have removed my token from display, if visible.

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    unconfirmed bugA bug report that needs triaging

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions