[commands] Add more type information to public API of converters
This commit is contained in:
parent
686a54eb10
commit
d0476e98df
@ -171,7 +171,7 @@ class MemberConverter(IDConverter[discord.Member]):
|
|||||||
return None
|
return None
|
||||||
return members[0]
|
return members[0]
|
||||||
|
|
||||||
async def convert(self, ctx, argument):
|
async def convert(self, ctx: Context, argument: str) -> discord.Member:
|
||||||
bot = ctx.bot
|
bot = ctx.bot
|
||||||
match = self._get_id_match(argument) or re.match(r'<@!?([0-9]+)>$', argument)
|
match = self._get_id_match(argument) or re.match(r'<@!?([0-9]+)>$', argument)
|
||||||
guild = ctx.guild
|
guild = ctx.guild
|
||||||
@ -223,7 +223,7 @@ class UserConverter(IDConverter[discord.User]):
|
|||||||
This converter now lazily fetches users from the HTTP APIs if an ID is passed
|
This converter now lazily fetches users from the HTTP APIs if an ID is passed
|
||||||
and it's not available in cache.
|
and it's not available in cache.
|
||||||
"""
|
"""
|
||||||
async def convert(self, ctx, argument):
|
async def convert(self, ctx: Context, argument: str) -> discord.User:
|
||||||
match = self._get_id_match(argument) or re.match(r'<@!?([0-9]+)>$', argument)
|
match = self._get_id_match(argument) or re.match(r'<@!?([0-9]+)>$', argument)
|
||||||
result = None
|
result = None
|
||||||
state = ctx._state
|
state = ctx._state
|
||||||
@ -263,7 +263,7 @@ class UserConverter(IDConverter[discord.User]):
|
|||||||
|
|
||||||
return result
|
return result
|
||||||
|
|
||||||
class PartialMessageConverter(Converter[discord.PartialMessage], Generic[T]):
|
class PartialMessageConverter(IDConverter[discord.PartialMessage], Generic[T]):
|
||||||
"""Converts to a :class:`discord.PartialMessage`.
|
"""Converts to a :class:`discord.PartialMessage`.
|
||||||
|
|
||||||
.. versionadded:: 1.7
|
.. versionadded:: 1.7
|
||||||
@ -287,7 +287,7 @@ class PartialMessageConverter(Converter[discord.PartialMessage], Generic[T]):
|
|||||||
channel_id = match.group("channel_id")
|
channel_id = match.group("channel_id")
|
||||||
return int(match.group("message_id")), int(channel_id) if channel_id else None
|
return int(match.group("message_id")), int(channel_id) if channel_id else None
|
||||||
|
|
||||||
async def convert(self, ctx, argument):
|
async def convert(self, ctx: Context, argument: str) -> discord.PartialMessage:
|
||||||
message_id, channel_id = self._get_id_matches(argument)
|
message_id, channel_id = self._get_id_matches(argument)
|
||||||
channel = ctx.bot.get_channel(channel_id) if channel_id else ctx.channel
|
channel = ctx.bot.get_channel(channel_id) if channel_id else ctx.channel
|
||||||
if not channel:
|
if not channel:
|
||||||
@ -308,7 +308,7 @@ class MessageConverter(PartialMessageConverter[discord.Message]):
|
|||||||
.. versionchanged:: 1.5
|
.. versionchanged:: 1.5
|
||||||
Raise :exc:`.ChannelNotFound`, :exc:`.MessageNotFound` or :exc:`.ChannelNotReadable` instead of generic :exc:`.BadArgument`
|
Raise :exc:`.ChannelNotFound`, :exc:`.MessageNotFound` or :exc:`.ChannelNotReadable` instead of generic :exc:`.BadArgument`
|
||||||
"""
|
"""
|
||||||
async def convert(self, ctx, argument):
|
async def convert(self, ctx: Context, argument: str) -> discord.Message:
|
||||||
message_id, channel_id = self._get_id_matches(argument)
|
message_id, channel_id = self._get_id_matches(argument)
|
||||||
message = ctx.bot._connection._get_message(message_id)
|
message = ctx.bot._connection._get_message(message_id)
|
||||||
if message:
|
if message:
|
||||||
@ -338,7 +338,7 @@ class TextChannelConverter(IDConverter[discord.TextChannel]):
|
|||||||
.. versionchanged:: 1.5
|
.. versionchanged:: 1.5
|
||||||
Raise :exc:`.ChannelNotFound` instead of generic :exc:`.BadArgument`
|
Raise :exc:`.ChannelNotFound` instead of generic :exc:`.BadArgument`
|
||||||
"""
|
"""
|
||||||
async def convert(self, ctx, argument):
|
async def convert(self, ctx: Context, argument: str) -> discord.TextChannel:
|
||||||
bot = ctx.bot
|
bot = ctx.bot
|
||||||
|
|
||||||
match = self._get_id_match(argument) or re.match(r'<#([0-9]+)>$', argument)
|
match = self._get_id_match(argument) or re.match(r'<#([0-9]+)>$', argument)
|
||||||
@ -380,7 +380,7 @@ class VoiceChannelConverter(IDConverter[discord.VoiceChannel]):
|
|||||||
.. versionchanged:: 1.5
|
.. versionchanged:: 1.5
|
||||||
Raise :exc:`.ChannelNotFound` instead of generic :exc:`.BadArgument`
|
Raise :exc:`.ChannelNotFound` instead of generic :exc:`.BadArgument`
|
||||||
"""
|
"""
|
||||||
async def convert(self, ctx, argument):
|
async def convert(self, ctx: Context, argument: str) -> discord.VoiceChannel:
|
||||||
bot = ctx.bot
|
bot = ctx.bot
|
||||||
match = self._get_id_match(argument) or re.match(r'<#([0-9]+)>$', argument)
|
match = self._get_id_match(argument) or re.match(r'<#([0-9]+)>$', argument)
|
||||||
result = None
|
result = None
|
||||||
@ -420,7 +420,7 @@ class StageChannelConverter(IDConverter[discord.StageChannel]):
|
|||||||
2. Lookup by mention.
|
2. Lookup by mention.
|
||||||
3. Lookup by name
|
3. Lookup by name
|
||||||
"""
|
"""
|
||||||
async def convert(self, ctx, argument):
|
async def convert(self, ctx: Context, argument: str) -> discord.StageChannel:
|
||||||
bot = ctx.bot
|
bot = ctx.bot
|
||||||
match = self._get_id_match(argument) or re.match(r'<#([0-9]+)>$', argument)
|
match = self._get_id_match(argument) or re.match(r'<#([0-9]+)>$', argument)
|
||||||
result = None
|
result = None
|
||||||
@ -461,7 +461,7 @@ class CategoryChannelConverter(IDConverter[discord.CategoryChannel]):
|
|||||||
.. versionchanged:: 1.5
|
.. versionchanged:: 1.5
|
||||||
Raise :exc:`.ChannelNotFound` instead of generic :exc:`.BadArgument`
|
Raise :exc:`.ChannelNotFound` instead of generic :exc:`.BadArgument`
|
||||||
"""
|
"""
|
||||||
async def convert(self, ctx, argument):
|
async def convert(self, ctx: Context, argument: str) -> discord.CategoryChannel:
|
||||||
bot = ctx.bot
|
bot = ctx.bot
|
||||||
|
|
||||||
match = self._get_id_match(argument) or re.match(r'<#([0-9]+)>$', argument)
|
match = self._get_id_match(argument) or re.match(r'<#([0-9]+)>$', argument)
|
||||||
@ -503,7 +503,7 @@ class StoreChannelConverter(IDConverter[discord.StoreChannel]):
|
|||||||
.. versionadded:: 1.7
|
.. versionadded:: 1.7
|
||||||
"""
|
"""
|
||||||
|
|
||||||
async def convert(self, ctx, argument):
|
async def convert(self, ctx: Context, argument: str) -> discord.StoreChannel:
|
||||||
bot = ctx.bot
|
bot = ctx.bot
|
||||||
match = self._get_id_match(argument) or re.match(r'<#([0-9]+)>$', argument)
|
match = self._get_id_match(argument) or re.match(r'<#([0-9]+)>$', argument)
|
||||||
result = None
|
result = None
|
||||||
@ -590,7 +590,7 @@ class ColourConverter(Converter[discord.Colour]):
|
|||||||
blue = self.parse_rgb_number(argument, match.group('b'))
|
blue = self.parse_rgb_number(argument, match.group('b'))
|
||||||
return discord.Color.from_rgb(red, green, blue)
|
return discord.Color.from_rgb(red, green, blue)
|
||||||
|
|
||||||
async def convert(self, ctx, argument):
|
async def convert(self, ctx: Context, argument: str) -> discord.Colour:
|
||||||
if argument[0] == '#':
|
if argument[0] == '#':
|
||||||
return self.parse_hex_number(argument[1:])
|
return self.parse_hex_number(argument[1:])
|
||||||
|
|
||||||
@ -628,7 +628,7 @@ class RoleConverter(IDConverter[discord.Role]):
|
|||||||
.. versionchanged:: 1.5
|
.. versionchanged:: 1.5
|
||||||
Raise :exc:`.RoleNotFound` instead of generic :exc:`.BadArgument`
|
Raise :exc:`.RoleNotFound` instead of generic :exc:`.BadArgument`
|
||||||
"""
|
"""
|
||||||
async def convert(self, ctx, argument):
|
async def convert(self, ctx: Context, argument: str) -> discord.Role:
|
||||||
guild = ctx.guild
|
guild = ctx.guild
|
||||||
if not guild:
|
if not guild:
|
||||||
raise NoPrivateMessage()
|
raise NoPrivateMessage()
|
||||||
@ -645,7 +645,7 @@ class RoleConverter(IDConverter[discord.Role]):
|
|||||||
|
|
||||||
class GameConverter(Converter[discord.Game]):
|
class GameConverter(Converter[discord.Game]):
|
||||||
"""Converts to :class:`~discord.Game`."""
|
"""Converts to :class:`~discord.Game`."""
|
||||||
async def convert(self, ctx, argument):
|
async def convert(self, ctx: Context, argument: str) -> discord.Game:
|
||||||
return discord.Game(name=argument)
|
return discord.Game(name=argument)
|
||||||
|
|
||||||
class InviteConverter(Converter[discord.Invite]):
|
class InviteConverter(Converter[discord.Invite]):
|
||||||
@ -656,7 +656,7 @@ class InviteConverter(Converter[discord.Invite]):
|
|||||||
.. versionchanged:: 1.5
|
.. versionchanged:: 1.5
|
||||||
Raise :exc:`.BadInviteArgument` instead of generic :exc:`.BadArgument`
|
Raise :exc:`.BadInviteArgument` instead of generic :exc:`.BadArgument`
|
||||||
"""
|
"""
|
||||||
async def convert(self, ctx, argument):
|
async def convert(self, ctx: Context, argument: str) -> discord.Invite:
|
||||||
try:
|
try:
|
||||||
invite = await ctx.bot.fetch_invite(argument)
|
invite = await ctx.bot.fetch_invite(argument)
|
||||||
return invite
|
return invite
|
||||||
@ -674,7 +674,7 @@ class GuildConverter(IDConverter[discord.Guild]):
|
|||||||
.. versionadded:: 1.7
|
.. versionadded:: 1.7
|
||||||
"""
|
"""
|
||||||
|
|
||||||
async def convert(self, ctx, argument):
|
async def convert(self, ctx: Context, argument: str) -> discord.Guild:
|
||||||
match = self._get_id_match(argument)
|
match = self._get_id_match(argument)
|
||||||
result = None
|
result = None
|
||||||
|
|
||||||
@ -704,7 +704,7 @@ class EmojiConverter(IDConverter[discord.Emoji]):
|
|||||||
.. versionchanged:: 1.5
|
.. versionchanged:: 1.5
|
||||||
Raise :exc:`.EmojiNotFound` instead of generic :exc:`.BadArgument`
|
Raise :exc:`.EmojiNotFound` instead of generic :exc:`.BadArgument`
|
||||||
"""
|
"""
|
||||||
async def convert(self, ctx, argument):
|
async def convert(self, ctx: Context, argument: str) -> discord.Emoji:
|
||||||
match = self._get_id_match(argument) or re.match(r'<a?:[a-zA-Z0-9\_]+:([0-9]+)>$', argument)
|
match = self._get_id_match(argument) or re.match(r'<a?:[a-zA-Z0-9\_]+:([0-9]+)>$', argument)
|
||||||
result = None
|
result = None
|
||||||
bot = ctx.bot
|
bot = ctx.bot
|
||||||
@ -740,7 +740,7 @@ class PartialEmojiConverter(Converter[discord.PartialEmoji]):
|
|||||||
.. versionchanged:: 1.5
|
.. versionchanged:: 1.5
|
||||||
Raise :exc:`.PartialEmojiConversionFailure` instead of generic :exc:`.BadArgument`
|
Raise :exc:`.PartialEmojiConversionFailure` instead of generic :exc:`.BadArgument`
|
||||||
"""
|
"""
|
||||||
async def convert(self, ctx, argument):
|
async def convert(self, ctx: Context, argument: str) -> discord.PartialEmoji:
|
||||||
match = re.match(r'<(a?):([a-zA-Z0-9\_]+):([0-9]+)>$', argument)
|
match = re.match(r'<(a?):([a-zA-Z0-9\_]+):([0-9]+)>$', argument)
|
||||||
|
|
||||||
if match:
|
if match:
|
||||||
@ -778,7 +778,7 @@ class clean_content(Converter[str]):
|
|||||||
self.escape_markdown = escape_markdown
|
self.escape_markdown = escape_markdown
|
||||||
self.remove_markdown = remove_markdown
|
self.remove_markdown = remove_markdown
|
||||||
|
|
||||||
async def convert(self, ctx, argument):
|
async def convert(self, ctx: Context, argument: str) -> str:
|
||||||
message = ctx.message
|
message = ctx.message
|
||||||
transformations = {}
|
transformations = {}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user