mirror of
https://github.com/Rapptz/discord.py.git
synced 2025-10-20 23:42:58 +00:00
Use Unpack where it's possible
This commit is contained in:
@@ -55,8 +55,9 @@ from ..utils import get as utils_get, MISSING, maybe_coroutine
|
||||
T = TypeVar('T')
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from typing_extensions import Self
|
||||
from typing_extensions import Self, Unpack
|
||||
from ..interactions import Interaction
|
||||
from ..permissions import _PermissionsKwargs
|
||||
|
||||
CooldownFunction = Union[
|
||||
Callable[[Interaction[Any]], Coroutine[Any, Any, T]],
|
||||
@@ -286,7 +287,7 @@ def has_any_role(*items: Union[int, str]) -> Callable[[T], T]:
|
||||
return check(predicate)
|
||||
|
||||
|
||||
def has_permissions(**perms: bool) -> Callable[[T], T]:
|
||||
def has_permissions(**perms: Unpack[_PermissionsKwargs]) -> Callable[[T], T]:
|
||||
r"""A :func:`~discord.app_commands.check` that is added that checks if the member
|
||||
has all of the permissions necessary.
|
||||
|
||||
@@ -341,7 +342,7 @@ def has_permissions(**perms: bool) -> Callable[[T], T]:
|
||||
return check(predicate)
|
||||
|
||||
|
||||
def bot_has_permissions(**perms: bool) -> Callable[[T], T]:
|
||||
def bot_has_permissions(**perms: Unpack[_PermissionsKwargs]) -> Callable[[T], T]:
|
||||
"""Similar to :func:`has_permissions` except checks if the bot itself has
|
||||
the permissions listed. This relies on :attr:`discord.Interaction.app_permissions`.
|
||||
|
||||
|
@@ -61,7 +61,7 @@ from ..permissions import Permissions
|
||||
from ..utils import resolve_annotation, MISSING, is_inside_class, maybe_coroutine, async_all, _shorten, _to_kebab_case
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from typing_extensions import ParamSpec, Concatenate
|
||||
from typing_extensions import ParamSpec, Concatenate, Unpack
|
||||
from ..interactions import Interaction
|
||||
from ..abc import Snowflake
|
||||
from .namespace import Namespace
|
||||
@@ -73,6 +73,7 @@ if TYPE_CHECKING:
|
||||
# However, for type hinting purposes it's unfortunately necessary for one to
|
||||
# reference the other to prevent type checking errors in callbacks
|
||||
from discord.ext import commands
|
||||
from discord.permissions import _PermissionsKwargs
|
||||
|
||||
ErrorFunc = Callable[[Interaction, AppCommandError], Coroutine[Any, Any, None]]
|
||||
|
||||
@@ -2840,7 +2841,7 @@ def allowed_installs(
|
||||
return inner
|
||||
|
||||
|
||||
def default_permissions(perms_obj: Optional[Permissions] = None, /, **perms: bool) -> Callable[[T], T]:
|
||||
def default_permissions(perms_obj: Optional[Permissions] = None, /, **perms: Unpack[_PermissionsKwargs]) -> Callable[[T], T]:
|
||||
r"""A decorator that sets the default permissions needed to execute this command.
|
||||
|
||||
When this decorator is used, by default users must have these permissions to execute the command.
|
||||
|
Reference in New Issue
Block a user