fromJson static method
Inherited by: InputMessageAnimation InputMessageAudio InputMessageChecklist InputMessageContact InputMessageDice InputMessageDocument InputMessageForwarded InputMessageGame InputMessageInvoice InputMessageLiveLocation InputMessageLocation InputMessagePaidMedia InputMessagePhoto InputMessagePoll InputMessageRichMessage InputMessageStakeDice InputMessageSticker InputMessageStory InputMessageText InputMessageVenue InputMessageVideo InputMessageVideoNote InputMessageVoiceNote
Implementation
static InputMessagePoll? fromJson(Map<String, dynamic>? json) {
if (json == null) {
return null;
}
return InputMessagePoll(
question: FormattedText.fromJson(tdMapFromJson(json['question'])),
options: List<InputPollOption>.from(
tdListFromJson(json['options'])
.map((item) => InputPollOption.fromJson(tdMapFromJson(item)))
.whereType<InputPollOption>(),
),
description: FormattedText.fromJson(tdMapFromJson(json['description'])),
media: InputPollMedia.fromJson(tdMapFromJson(json['media'])),
isAnonymous: (json['is_anonymous'] as bool?) ?? false,
allowsMultipleAnswers:
(json['allows_multiple_answers'] as bool?) ?? false,
allowsRevoting: (json['allows_revoting'] as bool?) ?? false,
membersOnly: (json['members_only'] as bool?) ?? false,
countryCodes: List<String>.from(
tdListFromJson(
json['country_codes'],
).map((item) => (item as dynamic)?.toString() ?? ''),
),
shuffleOptions: (json['shuffle_options'] as bool?) ?? false,
hideResultsUntilCloses:
(json['hide_results_until_closes'] as bool?) ?? false,
type: InputPollType.fromJson(tdMapFromJson(json['type'])),
openPeriod: (json['open_period'] as int?) ?? 0,
closeDate: (json['close_date'] as int?) ?? 0,
isClosed: (json['is_closed'] as bool?),
);
}