Browse Source

Add overloads to reply and send

pull/10109/head
Andrin S 2 years ago
committed by dolfies
parent
commit
96905a38d4
  1. 79
      discord/ext/commands/context.py
  2. 87
      discord/message.py

79
discord/ext/commands/context.py

@ -24,12 +24,12 @@ DEALINGS IN THE SOFTWARE.
from __future__ import annotations from __future__ import annotations
import re import re
from typing import TYPE_CHECKING, Any, AsyncIterator, Collection, Dict, Generic, List, Optional, TypeVar, Union from typing import TYPE_CHECKING, Any, AsyncIterator, Collection, Dict, Generic, List, Optional, overload, Sequence, TypeVar, Union
import discord.abc import discord.abc
import discord.utils import discord.utils
from discord.utils import MISSING
from discord.message import Message from discord.message import Message
from discord.utils import MISSING
from ._types import BotT from ._types import BotT
@ -38,9 +38,12 @@ if TYPE_CHECKING:
from discord.abc import MessageableChannel from discord.abc import MessageableChannel
from discord.commands import MessageCommand from discord.commands import MessageCommand
from discord.file import File
from discord.guild import Guild from discord.guild import Guild
from discord.member import Member from discord.member import Member
from discord.mentions import AllowedMentions
from discord.state import ConnectionState from discord.state import ConnectionState
from discord.sticker import GuildSticker, StickerItem
from discord.user import ClientUser, User from discord.user import ClientUser, User
from discord.voice_client import VoiceProtocol from discord.voice_client import VoiceProtocol
@ -411,6 +414,78 @@ class Context(discord.abc.Messageable, Generic[BotT]):
except CommandError as e: except CommandError as e:
await cmd.on_help_command_error(self, e) await cmd.on_help_command_error(self, e)
@overload
async def reply(
self,
content: Optional[str] = ...,
*,
tts: bool = ...,
file: File = ...,
stickers: Sequence[Union[GuildSticker, StickerItem]] = ...,
delete_after: float = ...,
nonce: Union[str, int] = ...,
allowed_mentions: AllowedMentions = ...,
mention_author: bool = ...,
suppress_embeds: bool = ...,
ephemeral: bool = ...,
silent: bool = ...,
) -> Message:
...
@overload
async def reply(
self,
content: Optional[str] = ...,
*,
tts: bool = ...,
files: Sequence[File] = ...,
stickers: Sequence[Union[GuildSticker, StickerItem]] = ...,
delete_after: float = ...,
nonce: Union[str, int] = ...,
allowed_mentions: AllowedMentions = ...,
mention_author: bool = ...,
suppress_embeds: bool = ...,
ephemeral: bool = ...,
silent: bool = ...,
) -> Message:
...
@overload
async def reply(
self,
content: Optional[str] = ...,
*,
tts: bool = ...,
file: File = ...,
stickers: Sequence[Union[GuildSticker, StickerItem]] = ...,
delete_after: float = ...,
nonce: Union[str, int] = ...,
allowed_mentions: AllowedMentions = ...,
mention_author: bool = ...,
suppress_embeds: bool = ...,
ephemeral: bool = ...,
silent: bool = ...,
) -> Message:
...
@overload
async def reply(
self,
content: Optional[str] = ...,
*,
tts: bool = ...,
files: Sequence[File] = ...,
stickers: Sequence[Union[GuildSticker, StickerItem]] = ...,
delete_after: float = ...,
nonce: Union[str, int] = ...,
allowed_mentions: AllowedMentions = ...,
mention_author: bool = ...,
suppress_embeds: bool = ...,
ephemeral: bool = ...,
silent: bool = ...,
) -> Message:
...
@discord.utils.copy_doc(Message.reply) @discord.utils.copy_doc(Message.reply)
async def reply(self, content: Optional[str] = None, **kwargs: Any) -> Message: async def reply(self, content: Optional[str] = None, **kwargs: Any) -> Message:
return await self.message.reply(content, **kwargs) return await self.message.reply(content, **kwargs)

87
discord/message.py

@ -62,7 +62,7 @@ from .utils import escape_mentions, MISSING
from .http import handle_message_parameters from .http import handle_message_parameters
from .guild import Guild from .guild import Guild
from .mixins import Hashable from .mixins import Hashable
from .sticker import StickerItem from .sticker import StickerItem, GuildSticker
from .threads import Thread from .threads import Thread
from .channel import PartialMessageable from .channel import PartialMessageable
from .interactions import Interaction from .interactions import Interaction
@ -1127,6 +1127,74 @@ class PartialMessage(Hashable):
""" """
await self._state.http.ack_message(self.channel.id, self.id) await self._state.http.ack_message(self.channel.id, self.id)
@overload
async def reply(
self,
content: Optional[str] = ...,
*,
tts: bool = ...,
file: File = ...,
stickers: Sequence[Union[GuildSticker, StickerItem]] = ...,
delete_after: float = ...,
nonce: Union[str, int] = ...,
allowed_mentions: AllowedMentions = ...,
mention_author: bool = ...,
suppress_embeds: bool = ...,
silent: bool = ...,
) -> Message:
...
@overload
async def reply(
self,
content: Optional[str] = ...,
*,
tts: bool = ...,
files: Sequence[File] = ...,
stickers: Sequence[Union[GuildSticker, StickerItem]] = ...,
delete_after: float = ...,
nonce: Union[str, int] = ...,
allowed_mentions: AllowedMentions = ...,
mention_author: bool = ...,
suppress_embeds: bool = ...,
silent: bool = ...,
) -> Message:
...
@overload
async def reply(
self,
content: Optional[str] = ...,
*,
tts: bool = ...,
file: File = ...,
stickers: Sequence[Union[GuildSticker, StickerItem]] = ...,
delete_after: float = ...,
nonce: Union[str, int] = ...,
allowed_mentions: AllowedMentions = ...,
mention_author: bool = ...,
suppress_embeds: bool = ...,
silent: bool = ...,
) -> Message:
...
@overload
async def reply(
self,
content: Optional[str] = ...,
*,
tts: bool = ...,
files: Sequence[File] = ...,
stickers: Sequence[Union[GuildSticker, StickerItem]] = ...,
delete_after: float = ...,
nonce: Union[str, int] = ...,
allowed_mentions: AllowedMentions = ...,
mention_author: bool = ...,
suppress_embeds: bool = ...,
silent: bool = ...,
) -> Message:
...
async def reply(self, content: Optional[str] = None, **kwargs: Any) -> Message: async def reply(self, content: Optional[str] = None, **kwargs: Any) -> Message:
"""|coro| """|coro|
@ -1157,6 +1225,23 @@ class PartialMessage(Hashable):
""" """
return await self.channel.send(content, reference=self, **kwargs) return await self.channel.send(content, reference=self, **kwargs)
@overload
async def greet(
self,
sticker: Union[GuildSticker, StickerItem],
*,
allowed_mentions: AllowedMentions = ...,
mention_author: bool = ...,
) -> Message:
...
@overload
async def greet(
self,
sticker: Union[GuildSticker, StickerItem]
) -> Message:
...
async def greet(self, sticker: Union[GuildSticker, StickerItem], **kwargs: Any) -> Message: async def greet(self, sticker: Union[GuildSticker, StickerItem], **kwargs: Any) -> Message:
"""|coro| """|coro|

Loading…
Cancel
Save