fromJson static method

BotInfo? fromJson(
  1. Map<String, dynamic>? json
)

Implementation

static BotInfo? fromJson(Map<String, dynamic>? json) {
  if (json == null) {
    return null;
  }

  return BotInfo(
    shortDescription: (json['short_description'] as String?) ?? '',
    description: (json['description'] as String?) ?? '',
    photo: Photo.fromJson(tdMapFromJson(json['photo'])),
    animation: Animation.fromJson(tdMapFromJson(json['animation'])),
    managerBotUserId: (json['manager_bot_user_id'] as int?) ?? 0,
    menuButton: BotMenuButton.fromJson(tdMapFromJson(json['menu_button'])),
    commands: List<BotCommand>.from(
      tdListFromJson(json['commands'])
          .map((item) => BotCommand.fromJson(tdMapFromJson(item)))
          .whereType<BotCommand>(),
    ),
    privacyPolicyUrl: (json['privacy_policy_url'] as String?) ?? '',
    defaultGroupAdministratorRights: ChatAdministratorRights.fromJson(
      tdMapFromJson(json['default_group_administrator_rights']),
    ),
    defaultChannelAdministratorRights: ChatAdministratorRights.fromJson(
      tdMapFromJson(json['default_channel_administrator_rights']),
    ),
    affiliateProgram: AffiliateProgramInfo.fromJson(
      tdMapFromJson(json['affiliate_program']),
    ),
    webAppBackgroundLightColor:
        (json['web_app_background_light_color'] as int?) ?? 0,
    webAppBackgroundDarkColor:
        (json['web_app_background_dark_color'] as int?) ?? 0,
    webAppHeaderLightColor: (json['web_app_header_light_color'] as int?) ?? 0,
    webAppHeaderDarkColor: (json['web_app_header_dark_color'] as int?) ?? 0,
    verificationParameters: BotVerificationParameters.fromJson(
      tdMapFromJson(json['verification_parameters']),
    ),
    canGetRevenueStatistics:
        (json['can_get_revenue_statistics'] as bool?) ?? false,
    canManageEmojiStatus: (json['can_manage_emoji_status'] as bool?) ?? false,
    hasMediaPreviews: (json['has_media_previews'] as bool?) ?? false,
    editCommandsLink: InternalLinkType.fromJson(
      tdMapFromJson(json['edit_commands_link']),
    ),
    editDescriptionLink: InternalLinkType.fromJson(
      tdMapFromJson(json['edit_description_link']),
    ),
    editDescriptionMediaLink: InternalLinkType.fromJson(
      tdMapFromJson(json['edit_description_media_link']),
    ),
    editSettingsLink: InternalLinkType.fromJson(
      tdMapFromJson(json['edit_settings_link']),
    ),
  );
}