Improve poll type

This commit is contained in:
Alex Root Junior 2020-01-25 17:56:43 +02:00
parent cf127d596a
commit 20ba5faf5c
3 changed files with 15 additions and 4 deletions

View file

@ -45,7 +45,7 @@ from .passport_element_error import PassportElementError, PassportElementErrorDa
PassportElementErrorSelfie
from .passport_file import PassportFile
from .photo_size import PhotoSize
from .poll import PollOption, Poll, PollAnswer
from .poll import PollOption, Poll, PollAnswer, PollType
from .pre_checkout_query import PreCheckoutQuery
from .reply_keyboard import KeyboardButton, ReplyKeyboardMarkup, ReplyKeyboardRemove, KeyboardButtonPollType
from .response_parameters import ResponseParameters
@ -150,6 +150,7 @@ __all__ = (
'Poll',
'PollAnswer',
'PollOption',
'PollType',
'PreCheckoutQuery',
'ReplyKeyboardMarkup',
'ReplyKeyboardRemove',

View file

@ -1,7 +1,7 @@
import typing
from . import base
from . import fields
from ..utils import helper
from . import base, fields
from .user import User
@ -11,6 +11,7 @@ class PollOption(base.TelegramObject):
https://core.telegram.org/bots/api#polloption
"""
text: base.String = fields.Field()
voter_count: base.Integer = fields.Field()
@ -21,6 +22,7 @@ class PollAnswer(base.TelegramObject):
https://core.telegram.org/bots/api#pollanswer
"""
poll_id: base.String = fields.Field()
user: User = fields.Field(base=User)
option_ids: typing.List[base.Integer] = fields.ListField()
@ -32,6 +34,7 @@ class Poll(base.TelegramObject):
https://core.telegram.org/bots/api#poll
"""
id: base.String = fields.Field()
question: base.String = fields.Field()
options: typing.List[PollOption] = fields.ListField(base=PollOption)
@ -41,3 +44,10 @@ class Poll(base.TelegramObject):
type: base.String = fields.Field()
allows_multiple_answers: base.Boolean = fields.Field()
correct_option_id: base.Integer = fields.Field()
class PollType(helper.Helper):
mode = helper.HelperMode.snake_case
REGULAR = helper.Item()
QUIZ = helper.Item()

View file

@ -12,7 +12,7 @@ class KeyboardButtonPollType(base.TelegramObject):
"""
type: base.String = fields.Field()
def __init__(self, type: base.String):
def __init__(self, type: typing.Optional[base.String] = None):
super(KeyboardButtonPollType, self).__init__(type=type)