Allow PartialReactionEmoji in add_reaction and remove_reaction.
This commit is contained in:
parent
f607febaf7
commit
8caa088d25
@ -80,6 +80,11 @@ class PartialReactionEmoji(namedtuple('PartialReactionEmoji', 'name id')):
|
|||||||
"""Checks if this is a Unicode emoji."""
|
"""Checks if this is a Unicode emoji."""
|
||||||
return self.id is None
|
return self.id is None
|
||||||
|
|
||||||
|
def _as_reaction(self):
|
||||||
|
if self.id is None:
|
||||||
|
return self.name
|
||||||
|
return ':%s:%s' % (self.name, self.id)
|
||||||
|
|
||||||
class Emoji(Hashable):
|
class Emoji(Hashable):
|
||||||
"""Represents a custom emoji.
|
"""Represents a custom emoji.
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ import re
|
|||||||
|
|
||||||
from . import utils
|
from . import utils
|
||||||
from .reaction import Reaction
|
from .reaction import Reaction
|
||||||
from .emoji import Emoji
|
from .emoji import Emoji, PartialReactionEmoji
|
||||||
from .calls import CallMessage
|
from .calls import CallMessage
|
||||||
from .enums import MessageType, try_enum
|
from .enums import MessageType, try_enum
|
||||||
from .errors import InvalidArgument, ClientException, HTTPException, NotFound
|
from .errors import InvalidArgument, ClientException, HTTPException, NotFound
|
||||||
@ -593,7 +593,7 @@ class Message:
|
|||||||
|
|
||||||
Parameters
|
Parameters
|
||||||
------------
|
------------
|
||||||
emoji: Union[:class:`Emoji`, :class:`Reaction`, str]
|
emoji: Union[:class:`Emoji`, :class:`Reaction`, :class:`PartialReactionEmoji`, str]
|
||||||
The emoji to react with.
|
The emoji to react with.
|
||||||
|
|
||||||
Raises
|
Raises
|
||||||
@ -613,6 +613,8 @@ class Message:
|
|||||||
|
|
||||||
if isinstance(emoji, Emoji):
|
if isinstance(emoji, Emoji):
|
||||||
emoji = '%s:%s' % (emoji.name, emoji.id)
|
emoji = '%s:%s' % (emoji.name, emoji.id)
|
||||||
|
elif isinstance(emoji, PartialReactionEmoji):
|
||||||
|
emoji = emoji._as_reaction()
|
||||||
elif isinstance(emoji, str):
|
elif isinstance(emoji, str):
|
||||||
pass # this is okay
|
pass # this is okay
|
||||||
else:
|
else:
|
||||||
@ -636,7 +638,7 @@ class Message:
|
|||||||
|
|
||||||
Parameters
|
Parameters
|
||||||
------------
|
------------
|
||||||
emoji: Union[:class:`Emoji`, :class:`Reaction`, str]
|
emoji: Union[:class:`Emoji`, :class:`Reaction`, :class:`PartialReactionEmoji`, str]
|
||||||
The emoji to remove.
|
The emoji to remove.
|
||||||
member: :class:`abc.Snowflake`
|
member: :class:`abc.Snowflake`
|
||||||
The member for which to remove the reaction.
|
The member for which to remove the reaction.
|
||||||
@ -658,6 +660,8 @@ class Message:
|
|||||||
|
|
||||||
if isinstance(emoji, Emoji):
|
if isinstance(emoji, Emoji):
|
||||||
emoji = '%s:%s' % (emoji.name, emoji.id)
|
emoji = '%s:%s' % (emoji.name, emoji.id)
|
||||||
|
elif isinstance(emoji, PartialReactionEmoji):
|
||||||
|
emoji = emoji._as_reaction()
|
||||||
elif isinstance(emoji, str):
|
elif isinstance(emoji, str):
|
||||||
pass # this is okay
|
pass # this is okay
|
||||||
else:
|
else:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user