Browse Source

Bump Pyright to 1.1.265, fix type errors, and remove unnecessary ignores

pull/10109/head
Bryan Forbes 3 years ago
committed by dolfies
parent
commit
b9795979ac
  1. 2
      .github/workflows/lint.yml
  2. 6
      discord/abc.py
  3. 2
      discord/activity.py
  4. 4
      discord/application.py
  5. 6
      discord/client.py
  6. 2
      discord/ext/commands/converter.py
  7. 6
      discord/ext/commands/core.py
  8. 8
      discord/ext/tasks/__init__.py
  9. 2
      discord/gateway.py
  10. 8
      discord/guild.py
  11. 4
      discord/scheduled_event.py
  12. 6
      discord/state.py
  13. 2
      discord/team.py

2
.github/workflows/lint.yml

@ -33,7 +33,7 @@ jobs:
- name: Run Pyright - name: Run Pyright
uses: jakebailey/pyright-action@v1 uses: jakebailey/pyright-action@v1
with: with:
version: '1.1.253' version: '1.1.265'
warnings: false warnings: false
no-comments: ${{ matrix.python-version != '3.x' }} no-comments: ${{ matrix.python-version != '3.x' }}

6
discord/abc.py

@ -1806,7 +1806,7 @@ class Messageable:
The message with the message data parsed. The message with the message data parsed.
""" """
async def _around_strategy(retrieve, around, limit): async def _around_strategy(retrieve: int, around: Optional[Snowflake], limit: Optional[int]):
if not around: if not around:
return [] return []
@ -1815,7 +1815,7 @@ class Messageable:
return data, None, limit return data, None, limit
async def _after_strategy(retrieve, after, limit): async def _after_strategy(retrieve: int, after: Optional[Snowflake], limit: Optional[int]):
after_id = after.id if after else None after_id = after.id if after else None
data = await self._state.http.logs_from(channel.id, retrieve, after=after_id) data = await self._state.http.logs_from(channel.id, retrieve, after=after_id)
@ -1827,7 +1827,7 @@ class Messageable:
return data, after, limit return data, after, limit
async def _before_strategy(retrieve, before, limit): async def _before_strategy(retrieve: int, before: Optional[Snowflake], limit: Optional[int]):
before_id = before.id if before else None before_id = before.id if before else None
data = await self._state.http.logs_from(channel.id, retrieve, before=before_id) data = await self._state.http.logs_from(channel.id, retrieve, before=before_id)

2
discord/activity.py

@ -1035,7 +1035,7 @@ def create_activity(data: Optional[ActivityPayload], state: ConnectionState) ->
return Game(**data) return Game(**data)
elif game_type is ActivityType.custom: elif game_type is ActivityType.custom:
try: try:
name = data.pop('name') name = data.pop('name') # type: ignore
except KeyError: except KeyError:
ret = Activity(**data) ret = Activity(**data)
else: else:

4
discord/application.py

@ -2935,7 +2935,7 @@ class Application(PartialApplication):
_state = self._state _state = self._state
async def _after_strategy(retrieve, after, limit): async def _after_strategy(retrieve: int, after: Optional[Snowflake], limit: Optional[Snowflake]):
after_id = after.id if after else None after_id = after.id if after else None
data = await _state.http.get_app_entitlements( data = await _state.http.get_app_entitlements(
self.id, self.id,
@ -2956,7 +2956,7 @@ class Application(PartialApplication):
return data, after, limit return data, after, limit
async def _before_strategy(retrieve, before, limit): async def _before_strategy(retrieve: int, before: Optional[Snowflake], limit: Optional[Snowflake]):
before_id = before.id if before else None before_id = before.id if before else None
data = await _state.http.get_app_entitlements( data = await _state.http.get_app_entitlements(
self.id, self.id,

6
discord/client.py

@ -3743,7 +3743,7 @@ class Client:
_state = self._connection _state = self._connection
async def _after_strategy(retrieve, after, limit): async def _after_strategy(retrieve: int, after: Optional[Snowflake], limit: Optional[Snowflake]):
after_id = after.id if after else None after_id = after.id if after else None
data = await _state.http.get_payments(retrieve, after=after_id) data = await _state.http.get_payments(retrieve, after=after_id)
@ -3755,7 +3755,7 @@ class Client:
return data, after, limit return data, after, limit
async def _before_strategy(retrieve, before, limit): async def _before_strategy(retrieve: int, before: Optional[Snowflake], limit: Optional[Snowflake]):
before_id = before.id if before else None before_id = before.id if before else None
data = await _state.http.get_payments(retrieve, before=before_id) data = await _state.http.get_payments(retrieve, before=before_id)
@ -4590,7 +4590,7 @@ class Client:
""" """
_state = self._connection _state = self._connection
async def strategy(retrieve, before, limit): async def strategy(retrieve: int, before: Optional[Snowflake], limit: Optional[Snowflake]):
before_id = before.id if before else None before_id = before.id if before else None
data = await _state.http.get_recent_mentions( data = await _state.http.get_recent_mentions(
retrieve, before=before_id, guild_id=guild.id if guild else None, roles=roles, everyone=everyone retrieve, before=before_id, guild_id=guild.id if guild else None, roles=roles, everyone=everyone

2
discord/ext/commands/converter.py

@ -1185,7 +1185,7 @@ async def _actual_conversion(ctx: Context[BotT], converter: Any, argument: str,
if inspect.ismethod(converter.convert): if inspect.ismethod(converter.convert):
return await converter.convert(ctx, argument) return await converter.convert(ctx, argument)
else: else:
return await converter().convert(ctx, argument) # type: ignore return await converter().convert(ctx, argument)
elif isinstance(converter, Converter): elif isinstance(converter, Converter):
return await converter.convert(ctx, argument) # type: ignore return await converter.convert(ctx, argument) # type: ignore
except CommandError: except CommandError:

6
discord/ext/commands/core.py

@ -878,7 +878,7 @@ class Command(_BaseCommand, Generic[CogT, P, T]):
if self._max_concurrency is not None: if self._max_concurrency is not None:
# For this application, context can be duck-typed as a Message # For this application, context can be duck-typed as a Message
await self._max_concurrency.acquire(ctx) # type: ignore await self._max_concurrency.acquire(ctx)
try: try:
if self.cooldown_after_parsing: if self.cooldown_after_parsing:
@ -891,7 +891,7 @@ class Command(_BaseCommand, Generic[CogT, P, T]):
await self.call_before_hooks(ctx) await self.call_before_hooks(ctx)
except: except:
if self._max_concurrency is not None: if self._max_concurrency is not None:
await self._max_concurrency.release(ctx) # type: ignore await self._max_concurrency.release(ctx)
raise raise
def is_on_cooldown(self, ctx: Context[BotT], /) -> bool: def is_on_cooldown(self, ctx: Context[BotT], /) -> bool:
@ -2351,7 +2351,7 @@ def cooldown(
if isinstance(func, Command): if isinstance(func, Command):
func._buckets = CooldownMapping(Cooldown(rate, per), type) func._buckets = CooldownMapping(Cooldown(rate, per), type)
else: else:
func.__commands_cooldown__ = CooldownMapping(Cooldown(rate, per), type) # type: ignore # typevar cannot be inferred without annotation func.__commands_cooldown__ = CooldownMapping(Cooldown(rate, per), type)
return func return func
return decorator # type: ignore return decorator # type: ignore

8
discord/ext/tasks/__init__.py

@ -29,8 +29,8 @@ import datetime
import logging import logging
from typing import ( from typing import (
Any, Any,
Awaitable,
Callable, Callable,
Coroutine,
Generic, Generic,
List, List,
Optional, Optional,
@ -56,10 +56,10 @@ __all__ = (
# fmt: on # fmt: on
T = TypeVar('T') T = TypeVar('T')
_func = Callable[..., Awaitable[Any]] _func = Callable[..., Coroutine[Any, Any, Any]]
LF = TypeVar('LF', bound=_func) LF = TypeVar('LF', bound=_func)
FT = TypeVar('FT', bound=_func) FT = TypeVar('FT', bound=_func)
ET = TypeVar('ET', bound=Callable[[Any, BaseException], Awaitable[Any]]) ET = TypeVar('ET', bound=Callable[[Any, BaseException], Coroutine[Any, Any, Any]])
def is_ambiguous(dt: datetime.datetime) -> bool: def is_ambiguous(dt: datetime.datetime) -> bool:
@ -619,7 +619,7 @@ class Loop(Generic[LF]):
if not inspect.iscoroutinefunction(coro): if not inspect.iscoroutinefunction(coro):
raise TypeError(f'Expected coroutine function, received {coro.__class__.__name__!r}.') raise TypeError(f'Expected coroutine function, received {coro.__class__.__name__!r}.')
self._error = coro # type: ignore self._error = coro
return coro return coro
def _get_next_sleep_time(self, now: datetime.datetime = MISSING) -> datetime.datetime: def _get_next_sleep_time(self, now: datetime.datetime = MISSING) -> datetime.datetime:

2
discord/gateway.py

@ -912,7 +912,7 @@ class DiscordVoiceWebSocket:
self._close_code: Optional[int] = None self._close_code: Optional[int] = None
self.secret_key: Optional[str] = None self.secret_key: Optional[str] = None
if hook: if hook:
self._hook = hook # type: ignore # type-checker doesn't like overriding methods self._hook = hook
async def _hook(self, *args: Any) -> None: async def _hook(self, *args: Any) -> None:
pass pass

8
discord/guild.py

@ -2233,7 +2233,7 @@ class Guild(Hashable):
yield BanEntry(user=User(state=_state, data=entry['user']), reason=entry['reason']) yield BanEntry(user=User(state=_state, data=entry['user']), reason=entry['reason'])
return return
async def _before_strategy(retrieve, before, limit): async def _before_strategy(retrieve: int, before: Optional[Snowflake], limit: Optional[int]):
before_id = before.id if before else None before_id = before.id if before else None
data = await endpoint(self.id, limit=retrieve, before=before_id) data = await endpoint(self.id, limit=retrieve, before=before_id)
@ -2245,7 +2245,7 @@ class Guild(Hashable):
return data, before, limit return data, before, limit
async def _after_strategy(retrieve, after, limit): async def _after_strategy(retrieve: int, after: Optional[Snowflake], limit: Optional[int]):
after_id = after.id if after else None after_id = after.id if after else None
data = await endpoint(self.id, limit=retrieve, after=after_id) data = await endpoint(self.id, limit=retrieve, after=after_id)
@ -3503,7 +3503,7 @@ class Guild(Hashable):
The audit log entry. The audit log entry.
""" """
async def _before_strategy(retrieve, before, limit): async def _before_strategy(retrieve: int, before: Optional[Snowflake], limit: Optional[int]):
before_id = before.id if before else None before_id = before.id if before else None
data = await self._state.http.get_audit_logs( data = await self._state.http.get_audit_logs(
self.id, limit=retrieve, user_id=user_id, action_type=action, before=before_id self.id, limit=retrieve, user_id=user_id, action_type=action, before=before_id
@ -3519,7 +3519,7 @@ class Guild(Hashable):
return data, entries, before, limit return data, entries, before, limit
async def _after_strategy(retrieve, after, limit): async def _after_strategy(retrieve: int, after: Optional[Snowflake], limit: Optional[int]):
after_id = after.id if after else None after_id = after.id if after else None
data = await self._state.http.get_audit_logs( data = await self._state.http.get_audit_logs(
self.id, limit=retrieve, user_id=user_id, action_type=action, after=after_id self.id, limit=retrieve, user_id=user_id, action_type=action, after=after_id

4
discord/scheduled_event.py

@ -499,7 +499,7 @@ class ScheduledEvent(Hashable):
All subscribed users of this event. All subscribed users of this event.
""" """
async def _before_strategy(retrieve, before, limit): async def _before_strategy(retrieve: int, before: Optional[Snowflake], limit: Optional[int]):
before_id = before.id if before else None before_id = before.id if before else None
users = await self._state.http.get_scheduled_event_users( users = await self._state.http.get_scheduled_event_users(
self.guild_id, self.id, limit=retrieve, with_member=False, before=before_id self.guild_id, self.id, limit=retrieve, with_member=False, before=before_id
@ -514,7 +514,7 @@ class ScheduledEvent(Hashable):
return users, before, limit return users, before, limit
async def _after_strategy(retrieve, after, limit): async def _after_strategy(retrieve: int, after: Optional[Snowflake], limit: Optional[int]):
after_id = after.id if after else None after_id = after.id if after else None
users = await self._state.http.get_scheduled_event_users( users = await self._state.http.get_scheduled_event_users(
self.guild_id, self.id, limit=retrieve, with_member=False, after=after_id self.guild_id, self.id, limit=retrieve, with_member=False, after=after_id

6
discord/state.py

@ -578,7 +578,7 @@ class ConnectionState:
self._status: Optional[str] = status self._status: Optional[str] = status
if cache_flags._empty: if cache_flags._empty:
self.store_user = self.create_user # type: ignore # This reassignment is on purpose self.store_user = self.create_user
self.parsers: Dict[str, Callable[[Any], None]] self.parsers: Dict[str, Callable[[Any], None]]
self.parsers = parsers = {} self.parsers = parsers = {}
@ -2303,7 +2303,7 @@ class ConnectionState:
_log.debug('GUILD_INTEGRATIONS_UPDATE referencing an unknown guild ID: %s. Discarding.', data['guild_id']) _log.debug('GUILD_INTEGRATIONS_UPDATE referencing an unknown guild ID: %s. Discarding.', data['guild_id'])
def parse_integration_create(self, data: gw.IntegrationCreateEvent) -> None: def parse_integration_create(self, data: gw.IntegrationCreateEvent) -> None:
guild_id = int(data.pop('guild_id')) guild_id = int(data['guild_id'])
guild = self._get_guild(guild_id) guild = self._get_guild(guild_id)
if guild is not None: if guild is not None:
cls, _ = _integration_factory(data['type']) cls, _ = _integration_factory(data['type'])
@ -2313,7 +2313,7 @@ class ConnectionState:
_log.debug('INTEGRATION_CREATE referencing an unknown guild ID: %s. Discarding.', guild_id) _log.debug('INTEGRATION_CREATE referencing an unknown guild ID: %s. Discarding.', guild_id)
def parse_integration_update(self, data: gw.IntegrationUpdateEvent) -> None: def parse_integration_update(self, data: gw.IntegrationUpdateEvent) -> None:
guild_id = int(data.pop('guild_id')) guild_id = int(data['guild_id'])
guild = self._get_guild(guild_id) guild = self._get_guild(guild_id)
if guild is not None: if guild is not None:
cls, _ = _integration_factory(data['type']) cls, _ = _integration_factory(data['type'])

2
discord/team.py

@ -412,7 +412,7 @@ class Team(Hashable):
The payout received. The payout received.
""" """
async def strategy(retrieve, before, limit): async def strategy(retrieve: int, before: Optional[Snowflake], limit: Optional[Snowflake]):
before_id = before.id if before else None before_id = before.id if before else None
data = await self._state.http.get_team_payouts(self.id, limit=retrieve, before=before_id) data = await self._state.http.get_team_payouts(self.id, limit=retrieve, before=before_id)

Loading…
Cancel
Save