mirror of
https://github.com/Rapptz/discord.py.git
synced 2025-06-07 12:18:59 +00:00
parent
ad478ff2da
commit
f07885973f
@ -148,7 +148,7 @@ def validate_name(name: str) -> str:
|
|||||||
match = VALID_SLASH_COMMAND_NAME.match(name)
|
match = VALID_SLASH_COMMAND_NAME.match(name)
|
||||||
if match is None:
|
if match is None:
|
||||||
raise ValueError(
|
raise ValueError(
|
||||||
'names must be between 1-32 characters and contain only lower-case letters, numbers, hyphens, or underscores.'
|
f'{name!r} must be between 1-32 characters and contain only lower-case letters, numbers, hyphens, or underscores.'
|
||||||
)
|
)
|
||||||
|
|
||||||
# Ideally, name.islower() would work instead but since certain characters
|
# Ideally, name.islower() would work instead but since certain characters
|
||||||
@ -156,7 +156,7 @@ def validate_name(name: str) -> str:
|
|||||||
# well, but chances are the server-side check is probably something similar to
|
# well, but chances are the server-side check is probably something similar to
|
||||||
# this code anyway.
|
# this code anyway.
|
||||||
if name.lower() != name:
|
if name.lower() != name:
|
||||||
raise ValueError('names must be all lower-case')
|
raise ValueError(f'{name!r} must be all lower-case')
|
||||||
return name
|
return name
|
||||||
|
|
||||||
|
|
||||||
@ -183,7 +183,7 @@ def _validate_auto_complete_callback(
|
|||||||
required_parameters = 2 + requires_binding
|
required_parameters = 2 + requires_binding
|
||||||
params = inspect.signature(callback).parameters
|
params = inspect.signature(callback).parameters
|
||||||
if len(params) != required_parameters:
|
if len(params) != required_parameters:
|
||||||
raise TypeError('autocomplete callback requires either 2 or 3 parameters to be passed')
|
raise TypeError(f'autocomplete callback {callback.__qualname__!r} requires either 2 or 3 parameters to be passed')
|
||||||
|
|
||||||
return callback
|
return callback
|
||||||
|
|
||||||
@ -308,7 +308,7 @@ def _extract_parameters_from_callback(func: Callable[..., Any], globalns: Dict[s
|
|||||||
cache = {}
|
cache = {}
|
||||||
required_params = is_inside_class(func) + 1
|
required_params = is_inside_class(func) + 1
|
||||||
if len(params) < required_params:
|
if len(params) < required_params:
|
||||||
raise TypeError(f'callback must have more than {required_params - 1} parameter(s)')
|
raise TypeError(f'callback {func.__qualname__!r} must have more than {required_params - 1} parameter(s)')
|
||||||
|
|
||||||
iterator = iter(params.values())
|
iterator = iter(params.values())
|
||||||
for _ in range(0, required_params):
|
for _ in range(0, required_params):
|
||||||
@ -317,7 +317,7 @@ def _extract_parameters_from_callback(func: Callable[..., Any], globalns: Dict[s
|
|||||||
parameters: List[CommandParameter] = []
|
parameters: List[CommandParameter] = []
|
||||||
for parameter in iterator:
|
for parameter in iterator:
|
||||||
if parameter.annotation is parameter.empty:
|
if parameter.annotation is parameter.empty:
|
||||||
raise TypeError(f'annotation for {parameter.name} must be given')
|
raise TypeError(f'annotation for {parameter.name} must be given in callback {func.__qualname__!r}')
|
||||||
|
|
||||||
resolved = resolve_annotation(parameter.annotation, globalns, globalns, cache)
|
resolved = resolve_annotation(parameter.annotation, globalns, globalns, cache)
|
||||||
param = annotation_to_parameter(resolved, parameter)
|
param = annotation_to_parameter(resolved, parameter)
|
||||||
@ -363,8 +363,9 @@ def _get_context_menu_parameter(func: ContextMenuCallback) -> Tuple[str, Any, Ap
|
|||||||
params = inspect.signature(func).parameters
|
params = inspect.signature(func).parameters
|
||||||
if len(params) != 2:
|
if len(params) != 2:
|
||||||
msg = (
|
msg = (
|
||||||
'context menu callbacks require 2 parameters, the first one being the annotation and the '
|
f'context menu callback {func.__qualname__!r} requires 2 parameters, '
|
||||||
'other one explicitly annotated with either discord.Message, discord.User, discord.Member, '
|
'the first one being the annotation and the other one explicitly '
|
||||||
|
'annotated with either discord.Message, discord.User, discord.Member, '
|
||||||
'or a typing.Union of discord.Member and discord.User'
|
'or a typing.Union of discord.Member and discord.User'
|
||||||
)
|
)
|
||||||
raise TypeError(msg)
|
raise TypeError(msg)
|
||||||
@ -374,8 +375,9 @@ def _get_context_menu_parameter(func: ContextMenuCallback) -> Tuple[str, Any, Ap
|
|||||||
parameter = next(iterator)
|
parameter = next(iterator)
|
||||||
if parameter.annotation is parameter.empty:
|
if parameter.annotation is parameter.empty:
|
||||||
msg = (
|
msg = (
|
||||||
'second parameter of context menu callback must be explicitly annotated with either discord.Message, '
|
f'second parameter of context menu callback {func.__qualname__!r} must be explicitly '
|
||||||
'discord.User, discord.Member, or a typing.Union of discord.Member and discord.User'
|
'annotated with either discord.Message, discord.User, discord.Member, or '
|
||||||
|
'a typing.Union of discord.Member and discord.User'
|
||||||
)
|
)
|
||||||
raise TypeError(msg)
|
raise TypeError(msg)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user