mirror of
https://github.com/Rapptz/discord.py.git
synced 2025-09-03 08:35:53 +00:00
Update Pyright to v1.1.394
This commit is contained in:
@ -172,7 +172,7 @@ class BotBase(GroupMixin[None]):
|
||||
**options: Any,
|
||||
) -> None:
|
||||
super().__init__(intents=intents, **options)
|
||||
self.command_prefix: PrefixType[BotT] = command_prefix
|
||||
self.command_prefix: PrefixType[BotT] = command_prefix # type: ignore
|
||||
self.extra_events: Dict[str, List[CoroFunc]] = {}
|
||||
# Self doesn't have the ClientT bound, but since this is a mixin it technically does
|
||||
self.__tree: app_commands.CommandTree[Self] = tree_cls(self) # type: ignore
|
||||
@ -487,7 +487,7 @@ class BotBase(GroupMixin[None]):
|
||||
if len(data) == 0:
|
||||
return True
|
||||
|
||||
return await discord.utils.async_all(f(ctx) for f in data)
|
||||
return await discord.utils.async_all(f(ctx) for f in data) # type: ignore
|
||||
|
||||
async def is_owner(self, user: User, /) -> bool:
|
||||
"""|coro|
|
||||
|
@ -82,7 +82,7 @@ def is_cog(obj: Any) -> TypeGuard[Cog]:
|
||||
return hasattr(obj, '__cog_commands__')
|
||||
|
||||
|
||||
class DeferTyping:
|
||||
class DeferTyping(Generic[BotT]):
|
||||
def __init__(self, ctx: Context[BotT], *, ephemeral: bool):
|
||||
self.ctx: Context[BotT] = ctx
|
||||
self.ephemeral: bool = ephemeral
|
||||
|
@ -1125,7 +1125,7 @@ class Greedy(List[T]):
|
||||
|
||||
args = getattr(converter, '__args__', ())
|
||||
if discord.utils.PY_310 and converter.__class__ is types.UnionType: # type: ignore
|
||||
converter = Union[args] # type: ignore
|
||||
converter = Union[args]
|
||||
|
||||
origin = getattr(converter, '__origin__', None)
|
||||
|
||||
@ -1138,7 +1138,7 @@ class Greedy(List[T]):
|
||||
if origin is Union and type(None) in args:
|
||||
raise TypeError(f'Greedy[{converter!r}] is invalid.')
|
||||
|
||||
return cls(converter=converter)
|
||||
return cls(converter=converter) # type: ignore
|
||||
|
||||
@property
|
||||
def constructed_converter(self) -> Any:
|
||||
@ -1325,7 +1325,7 @@ async def _actual_conversion(ctx: Context[BotT], converter: Any, argument: str,
|
||||
else:
|
||||
return await converter().convert(ctx, argument)
|
||||
elif isinstance(converter, Converter):
|
||||
return await converter.convert(ctx, argument) # type: ignore
|
||||
return await converter.convert(ctx, argument)
|
||||
except CommandError:
|
||||
raise
|
||||
except Exception as exc:
|
||||
|
@ -1285,7 +1285,7 @@ class Command(_BaseCommand, Generic[CogT, P, T]):
|
||||
# since we have no checks, then we just return True.
|
||||
return True
|
||||
|
||||
return await discord.utils.async_all(predicate(ctx) for predicate in predicates)
|
||||
return await discord.utils.async_all(predicate(ctx) for predicate in predicates) # type: ignore
|
||||
finally:
|
||||
ctx.command = original
|
||||
|
||||
|
@ -24,18 +24,19 @@ DEALINGS IN THE SOFTWARE.
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import TYPE_CHECKING, Any, Callable, List, Optional, Tuple, Union
|
||||
from typing import TYPE_CHECKING, Any, Callable, List, Optional, Tuple, Union, Generic
|
||||
|
||||
from discord.errors import ClientException, DiscordException
|
||||
from discord.utils import _human_join
|
||||
|
||||
from ._types import BotT
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from discord.abc import GuildChannel
|
||||
from discord.threads import Thread
|
||||
from discord.types.snowflake import Snowflake, SnowflakeList
|
||||
from discord.app_commands import AppCommandError
|
||||
|
||||
from ._types import BotT
|
||||
from .context import Context
|
||||
from .converter import Converter
|
||||
from .cooldowns import BucketType, Cooldown
|
||||
@ -235,7 +236,7 @@ class CheckFailure(CommandError):
|
||||
pass
|
||||
|
||||
|
||||
class CheckAnyFailure(CheckFailure):
|
||||
class CheckAnyFailure(Generic[BotT], CheckFailure):
|
||||
"""Exception raised when all predicates in :func:`check_any` fail.
|
||||
|
||||
This inherits from :exc:`CheckFailure`.
|
||||
|
@ -443,7 +443,7 @@ async def convert_flag(ctx: Context[BotT], argument: str, flag: Flag, annotation
|
||||
return await convert_flag(ctx, argument, flag, annotation)
|
||||
elif origin is Union and type(None) in annotation.__args__:
|
||||
# typing.Optional[x]
|
||||
annotation = Union[tuple(arg for arg in annotation.__args__ if arg is not type(None))] # type: ignore
|
||||
annotation = Union[tuple(arg for arg in annotation.__args__ if arg is not type(None))]
|
||||
return await run_converters(ctx, annotation, argument, param)
|
||||
elif origin is dict:
|
||||
# typing.Dict[K, V] -> typing.Tuple[K, V]
|
||||
|
@ -203,9 +203,9 @@ def replace_parameter(
|
||||
# Fallback to see if the behaviour needs changing
|
||||
origin = getattr(converter, '__origin__', None)
|
||||
args = getattr(converter, '__args__', [])
|
||||
if isinstance(converter, Range):
|
||||
if isinstance(converter, Range): # type: ignore # Range is not an Annotation at runtime
|
||||
r = converter
|
||||
param = param.replace(annotation=app_commands.Range[r.annotation, r.min, r.max])
|
||||
param = param.replace(annotation=app_commands.Range[r.annotation, r.min, r.max]) # type: ignore
|
||||
elif isinstance(converter, Greedy):
|
||||
# Greedy is "optional" in ext.commands
|
||||
# However, in here, it probably makes sense to make it required.
|
||||
@ -257,7 +257,7 @@ def replace_parameter(
|
||||
inner = args[0]
|
||||
is_inner_transformer = is_transformer(inner)
|
||||
if is_converter(inner) and not is_inner_transformer:
|
||||
param = param.replace(annotation=Optional[ConverterTransformer(inner, original)]) # type: ignore
|
||||
param = param.replace(annotation=Optional[ConverterTransformer(inner, original)])
|
||||
else:
|
||||
raise
|
||||
elif origin:
|
||||
@ -424,10 +424,10 @@ class HybridAppCommand(discord.app_commands.Command[CogT, P, T]):
|
||||
if not ret:
|
||||
return False
|
||||
|
||||
if self.checks and not await async_all(f(interaction) for f in self.checks):
|
||||
if self.checks and not await async_all(f(interaction) for f in self.checks): # type: ignore
|
||||
return False
|
||||
|
||||
if self.wrapped.checks and not await async_all(f(ctx) for f in self.wrapped.checks):
|
||||
if self.wrapped.checks and not await async_all(f(ctx) for f in self.wrapped.checks): # type: ignore
|
||||
return False
|
||||
|
||||
return True
|
||||
@ -915,7 +915,8 @@ def hybrid_command(
|
||||
def decorator(func: CommandCallback[CogT, ContextT, P, T]) -> HybridCommand[CogT, P, T]:
|
||||
if isinstance(func, Command):
|
||||
raise TypeError('Callback is already a command.')
|
||||
return HybridCommand(func, name=name, with_app_command=with_app_command, **attrs)
|
||||
# Pyright does not allow Command[Any] to be assigned to Command[CogT] despite it being okay here
|
||||
return HybridCommand(func, name=name, with_app_command=with_app_command, **attrs) # type: ignore
|
||||
|
||||
return decorator
|
||||
|
||||
|
Reference in New Issue
Block a user