Skip to content

Commit 77e6a71

Browse files
committed
Fix minor issues when creating permissions with SlashCommandPermissionType.
1 parent 24138fa commit 77e6a71

File tree

3 files changed

+13
-13
lines changed

3 files changed

+13
-13
lines changed

discord_slash/model.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -432,7 +432,7 @@ def __eq__(self, other):
432432
return False
433433

434434

435-
class SlashCommandPermissionsType(IntEnum):
435+
class SlashCommandPermissionType(IntEnum):
436436
"""
437437
Equivalent of `ApplicationCommandPermissionType <https://discord.com/developers/docs/interactions/slash-commands#applicationcommandpermissiontype>`_ in the Discord API.
438438
"""

discord_slash/utils/manage_commands.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import asyncio
44
import aiohttp
55
from ..error import RequestFailure, IncorrectType
6-
from ..model import SlashCommandOptionType, SlashCommandPermissionsType
6+
from ..model import SlashCommandOptionType, SlashCommandPermissionType
77
from collections.abc import Callable
88

99

@@ -315,7 +315,7 @@ def create_choice(value: str, name: str):
315315
}
316316

317317

318-
def create_permission(id:int, id_type: int, permission: typing.Union[bool, SlashCommandPermissionsType]):
318+
def create_permission(id:int, id_type: typing.Union[int, SlashCommandPermissionType], permission: bool):
319319
"""
320320
Create a single command permission.
321321
@@ -327,19 +327,19 @@ def create_permission(id:int, id_type: int, permission: typing.Union[bool, Slash
327327
.. note::
328328
For @everyone permission, set id_type as role and id as guild id.
329329
"""
330-
if not isinstance(id_type, int) or isinstance(id_type, bool): #Bool values are a subclass of int
330+
if not (isinstance(id_type, int) or isinstance(id_type, bool)): #Bool values are a subclass of int
331331
original_type = id_type
332-
id_type = SlashCommandPermissionsType.from_type(original_type)
332+
id_type = SlashCommandPermissionType.from_type(original_type)
333333
if id_type is None:
334334
raise IncorrectType(f"The type {original_type} is not recognized as a type that Discord accepts for slash command permissions.")
335335
return {
336336
"id": id,
337-
"type": id_type,
337+
"type": int(id_type),
338338
"permission": permission
339339
}
340340

341341

342-
def create_multi_ids_permission(ids: typing.List[int], id_type: int, permission: bool):
342+
def create_multi_ids_permission(ids: typing.List[int], id_type: typing.Union[int, SlashCommandPermissionType], permission: bool):
343343
"""
344344
Creates a list of permissions from list of ids with common id_type and permission state.
345345
@@ -366,12 +366,12 @@ def generate_permissions(
366366
permissions = []
367367

368368
if allowed_roles:
369-
permissions.extend(create_multi_ids_permission(allowed_roles, 1, True))
369+
permissions.extend(create_multi_ids_permission(allowed_roles, SlashCommandPermissionType.ROLE, True))
370370
if allowed_users:
371-
permissions.extend(create_multi_ids_permission(allowed_users, 2, True))
371+
permissions.extend(create_multi_ids_permission(allowed_users, SlashCommandPermissionType.USER, True))
372372
if disallowed_roles:
373-
permissions.extend(create_multi_ids_permission(disallowed_roles, 1, False))
373+
permissions.extend(create_multi_ids_permission(disallowed_roles, SlashCommandPermissionType.ROLE, False))
374374
if disallowed_users:
375-
permissions.extend(create_multi_ids_permission(disallowed_users, 2, False))
375+
permissions.extend(create_multi_ids_permission(disallowed_users, SlashCommandPermissionType.USER, False))
376376

377377
return permissions

docs/gettingstarted.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -286,8 +286,8 @@ role with id ``99999999`` and disallowing user with id ``88888888`` from running
286286
description="This is just a test command, nothing more.",
287287
permissions={
288288
12345678: [
289-
create_permission(99999999, SlashCommandPermissionsType.ROLE, True),
290-
create_permission(88888888, SlashCommandPermissionsType.USER, False)
289+
create_permission(99999999, SlashCommandPermissionType.ROLE, True),
290+
create_permission(88888888, SlashCommandPermissionType.USER, False)
291291
]
292292
})
293293
async def test(ctx):

0 commit comments

Comments
 (0)