diff --git a/aiogram/api/types/__init__.py b/aiogram/api/types/__init__.py index 429b6f41..036166d2 100644 --- a/aiogram/api/types/__init__.py +++ b/aiogram/api/types/__init__.py @@ -10,7 +10,7 @@ from .chat_permissions import ChatPermissions from .chat_photo import ChatPhoto from .chosen_inline_result import ChosenInlineResult from .contact import Contact -from .dice import Dice +from .dice import Dice, DiceEmoji from .document import Document from .encrypted_credentials import EncryptedCredentials from .encrypted_passport_element import EncryptedPassportElement @@ -124,6 +124,7 @@ __all__ = ( "PollAnswer", "Poll", "Dice", + "DiceEmoji", "UserProfilePhotos", "File", "ReplyKeyboardMarkup", diff --git a/aiogram/api/types/dice.py b/aiogram/api/types/dice.py index e8f0bdf1..a85d54ac 100644 --- a/aiogram/api/types/dice.py +++ b/aiogram/api/types/dice.py @@ -16,3 +16,8 @@ class Dice(TelegramObject): """Emoji on which the dice throw animation is based""" value: int """Value of the dice, 1-6 for currently supported base emoji""" + + +class DiceEmoji: + DICE = "🎲" + DART = "🎯" diff --git a/aiogram/api/types/message.py b/aiogram/api/types/message.py index 32894498..68b56209 100644 --- a/aiogram/api/types/message.py +++ b/aiogram/api/types/message.py @@ -1007,6 +1007,10 @@ class Message(TelegramObject): type: Optional[str] = None, allows_multiple_answers: Optional[bool] = None, correct_option_id: Optional[int] = None, + explanation: Optional[str] = None, + explanation_parse_mode: Optional[str] = None, + open_period: Optional[int] = None, + close_date: Optional[Union[datetime.datetime, datetime.timedelta, int]] = None, is_closed: Optional[bool] = None, disable_notification: Optional[bool] = None, reply_markup: Optional[ @@ -1022,6 +1026,10 @@ class Message(TelegramObject): :param type: :param allows_multiple_answers: :param correct_option_id: + :param explanation: + :param explanation_parse_mode: + :param open_period: + :param close_date: :param is_closed: :param disable_notification: :param reply_markup: @@ -1037,6 +1045,10 @@ class Message(TelegramObject): type=type, allows_multiple_answers=allows_multiple_answers, correct_option_id=correct_option_id, + explanation=explanation, + explanation_parse_mode=explanation_parse_mode, + open_period=open_period, + close_date=close_date, is_closed=is_closed, disable_notification=disable_notification, reply_to_message_id=self.message_id, @@ -1051,6 +1063,10 @@ class Message(TelegramObject): type: Optional[str] = None, allows_multiple_answers: Optional[bool] = None, correct_option_id: Optional[int] = None, + explanation: Optional[str] = None, + explanation_parse_mode: Optional[str] = None, + open_period: Optional[int] = None, + close_date: Optional[Union[datetime.datetime, datetime.timedelta, int]] = None, is_closed: Optional[bool] = None, disable_notification: Optional[bool] = None, reply_markup: Optional[ @@ -1066,6 +1082,10 @@ class Message(TelegramObject): :param type: :param allows_multiple_answers: :param correct_option_id: + :param explanation: + :param explanation_parse_mode: + :param open_period: + :param close_date: :param is_closed: :param disable_notification: :param reply_markup: @@ -1081,6 +1101,10 @@ class Message(TelegramObject): type=type, allows_multiple_answers=allows_multiple_answers, correct_option_id=correct_option_id, + explanation=explanation, + explanation_parse_mode=explanation_parse_mode, + open_period=open_period, + close_date=close_date, is_closed=is_closed, disable_notification=disable_notification, reply_to_message_id=None, @@ -1089,6 +1113,7 @@ class Message(TelegramObject): def reply_dice( self, + emoji: Optional[str] = None, disable_notification: Optional[bool] = None, reply_markup: Optional[ Union[InlineKeyboardMarkup, ReplyKeyboardMarkup, ReplyKeyboardRemove, ForceReply] @@ -1097,6 +1122,7 @@ class Message(TelegramObject): """ Reply with dice + :param emoji: :param disable_notification: :param reply_markup: :return: @@ -1105,6 +1131,7 @@ class Message(TelegramObject): return SendDice( chat_id=self.chat.id, + emoji=emoji, disable_notification=disable_notification, reply_to_message_id=self.message_id, reply_markup=reply_markup, @@ -1112,6 +1139,7 @@ class Message(TelegramObject): def answer_dice( self, + emoji: Optional[str] = None, disable_notification: Optional[bool] = None, reply_markup: Optional[ Union[InlineKeyboardMarkup, ReplyKeyboardMarkup, ReplyKeyboardRemove, ForceReply] @@ -1120,6 +1148,7 @@ class Message(TelegramObject): """ Answer with dice + :param emoji: :param disable_notification: :param reply_markup: :return: @@ -1128,6 +1157,7 @@ class Message(TelegramObject): return SendDice( chat_id=self.chat.id, + emoji=emoji, disable_notification=disable_notification, reply_to_message_id=None, reply_markup=reply_markup, diff --git a/tests/test_api/test_types/test_message.py b/tests/test_api/test_types/test_message.py index ef3c5790..f386e191 100644 --- a/tests/test_api/test_types/test_message.py +++ b/tests/test_api/test_types/test_message.py @@ -398,7 +398,7 @@ class TestMessage: message_id=42, date=datetime.datetime.now(), chat=Chat(id=42, type="private"), - dice=Dice(value=6, emoji='X'), + dice=Dice(value=6, emoji="X"), from_user=User(id=42, is_bot=False, first_name="Test"), ), ContentType.DICE,