diff --git a/aiogram/bot/bot.py b/aiogram/bot/bot.py index 384e9221..41f30af1 100644 --- a/aiogram/bot/bot.py +++ b/aiogram/bot/bot.py @@ -872,8 +872,7 @@ class Bot(BaseBot, DataMixin, ContextInstanceMixin): correct_option_id: typing.Optional[base.Integer] = None, explanation: typing.Optional[base.String] = None, explanation_parse_mode: typing.Optional[base.String] = None, - open_period: typing.Union[ - base.Integer, datetime.datetime, datetime.timedelta, None] = None, + open_period: typing.Union[base.Integer, None] = None, close_date: typing.Union[ base.Integer, datetime.datetime, datetime.timedelta, None] = None, is_closed: typing.Optional[base.Boolean] = None, @@ -908,7 +907,7 @@ class Bot(BaseBot, DataMixin, ContextInstanceMixin): :param explanation_parse_mode: Mode for parsing entities in the explanation. See formatting options for more details. :type explanation_parse_mode: :obj:`typing.Optional[base.String]` :param open_period: Amount of time in seconds the poll will be active after creation, 5-600. Can't be used together with close_date. - :type open_period: :obj:`typing.Union[base.Integer, datetime.datetime, datetime.timedelta, None]` + :type open_period: :obj:`typing.Union[base.Integer, None]` :param close_date: Point in time (Unix timestamp) when the poll will be automatically closed. Must be at least 5 and no more than 600 seconds in the future. Can't be used together with open_period. :type close_date: :obj:`typing.Union[base.Integer, datetime.datetime, datetime.timedelta, None]` :param is_closed: Pass True, if the poll needs to be immediately closed diff --git a/aiogram/types/poll.py b/aiogram/types/poll.py index 9e1315ca..a709edcd 100644 --- a/aiogram/types/poll.py +++ b/aiogram/types/poll.py @@ -1,9 +1,10 @@ +import datetime import typing -from ..utils import helper from . import base, fields from .message_entity import MessageEntity from .user import User +from ..utils import helper from ..utils.text_decorations import html_decoration, markdown_decoration @@ -48,6 +49,8 @@ class Poll(base.TelegramObject): correct_option_id: base.Integer = fields.Field() explanation: base.String = fields.Field() explanation_entities: base.String = fields.ListField(base=MessageEntity) + open_period: base.Integer = fields.Field() + close_date: datetime.datetime = fields.DateTimeField() def parse_entities(self, as_html=True): text_decorator = html_decoration if as_html else markdown_decoration