ChatFullInfo constructor

const ChatFullInfo({
  1. @JsonKey(name: 'id') required int id,
  2. @JsonKey(name: 'type') required ChatType type,
  3. @JsonKey(name: 'title') String? title,
  4. @JsonKey(name: 'username') String? username,
  5. @JsonKey(name: 'first_name') String? firstName,
  6. @JsonKey(name: 'last_name') String? lastName,
  7. @JsonKey(name: 'is_forum') bool? isForum,
  8. @JsonKey(name: 'photo') ChatPhoto? photo,
  9. @JsonKey(name: 'active_usernames') List<String>? activeUsernames,
  10. @JsonKey(name: 'bio') String? bio,
  11. @JsonKey(name: 'has_private_forwards') bool? hasPrivateForwards,
  12. @JsonKey(name: 'has_restricted_voice_and_video_messages') bool? hasRestrictedVoiceAndVideoMessages,
  13. @JsonKey(name: 'join_to_send_messages') bool? joinToSendMessages,
  14. @JsonKey(name: 'join_by_request') bool? joinByRequest,
  15. @JsonKey(name: 'description') String? description,
  16. @JsonKey(name: 'invite_link') String? inviteLink,
  17. @JsonKey(name: 'pinned_message') Message? pinnedMessage,
  18. @JsonKey(name: 'permissions') ChatPermissions? permissions,
  19. @JsonKey(name: 'slow_mode_delay') int? slowModeDelay,
  20. @JsonKey(name: 'message_auto_delete_time') int? messageAutoDeleteTime,
  21. @JsonKey(name: 'has_protected_content') bool? hasProtectedContent,
  22. @JsonKey(name: 'sticker_set_name') String? stickerSetName,
  23. @JsonKey(name: 'can_set_sticker_set') bool? canSetStickerSet,
  24. @JsonKey(name: 'linked_chat_id') int? linkedChatId,
  25. @JsonKey(name: 'location') ChatLocation? location,
  26. @JsonKey(name: 'has_hidden_members') bool? hasHiddenMembers,
  27. @JsonKey(name: 'has_aggressive_anti_spam_enabled') bool? hasAggressiveAntiSpamEnabled,
  28. @JsonKey(name: 'emoji_status_expiration_date') int? emojiStatusExpirationDate,
  29. @JsonKey(name: 'available_reactions') List<ReactionType>? availableReactions,
  30. @JsonKey(name: 'emoji_status_custom_emoji_id') String? emojiStatusCustomEmojiId,
  31. @JsonKey(name: 'accent_color_id') int? accentColorId,
  32. @JsonKey(name: 'background_custom_emoji_id') String? backgroundCustomEmojiId,
  33. @JsonKey(name: 'profile_accent_color_id') int? profileAccentColorId,
  34. @JsonKey(name: 'profile_background_custom_emoji_id') String? profileBackgroundCustomEmojiId,
  35. @JsonKey(name: 'has_visible_history') bool? hasVisibleHistory,
  36. @JsonKey(name: 'unrestrict_boost_count') int? unrestrictBoostCount,
  37. @JsonKey(name: 'custom_emoji_sticker_set_name') String? customEmojiStickerSetName,
  38. @JsonKey(name: 'business_intro') BusinessIntro? businessIntro,
  39. @JsonKey(name: 'business_location') BusinessLocation? businessLocation,
  40. @JsonKey(name: 'business_opening_hours') BusinessOpeningHours? businessOpeningHours,
  41. @JsonKey(name: 'personal_chat') Chat? personalChat,
  42. @JsonKey(name: 'birthdate') Birthdate? birthdate,
  43. @JsonKey(name: 'max_reaction_count') @Default(0) int maxReactionCount,
  44. @JsonKey(name: 'can_send_paid_media') bool? canSendPaidMedia,
  45. @JsonKey(name: 'accepted_gift_types') required AcceptedGiftTypes acceptedGiftTypes,
})

Constructs a ChatFullInfo object.

Implementation

const factory ChatFullInfo({
  /// Unique identifier for this chat.
  @JsonKey(name: 'id') required final int id,

  /// Type of the chat.
  @JsonKey(name: 'type') required final ChatType type,

  /// Optional. Title of the chat.
  @JsonKey(name: 'title') final String? title,

  /// Optional. Username of the chat.
  @JsonKey(name: 'username') final String? username,

  /// Optional. First name in private chats.
  @JsonKey(name: 'first_name') final String? firstName,

  /// Optional. Last name in private chats.
  @JsonKey(name: 'last_name') final String? lastName,

  /// Optional. True if the chat is a forum.
  @JsonKey(name: 'is_forum') final bool? isForum,

  /// Optional. Chat photo.
  @JsonKey(name: 'photo') final ChatPhoto? photo,

  /// Optional. If non-empty, the list of all active chat usernames.
  @JsonKey(name: 'active_usernames') final List<String>? activeUsernames,

  /// Optional. Bio of the other party in a private chat.
  @JsonKey(name: 'bio') final String? bio,

  /// Optional. True if privacy settings restrict forwarding.
  @JsonKey(name: 'has_private_forwards') final bool? hasPrivateForwards,

  /// Optional. True if voice and video note messages are restricted.
  @JsonKey(name: 'has_restricted_voice_and_video_messages')
  final bool? hasRestrictedVoiceAndVideoMessages,

  /// Optional. True if users need to join before sending messages.
  @JsonKey(name: 'join_to_send_messages') final bool? joinToSendMessages,

  /// Optional. True if joining requires administrator approval.
  @JsonKey(name: 'join_by_request') final bool? joinByRequest,

  /// Optional. Description for groups, supergroups, and channels.
  @JsonKey(name: 'description') final String? description,

  /// Optional. Primary invite link.
  @JsonKey(name: 'invite_link') final String? inviteLink,

  /// Optional. The most recent pinned message.
  @JsonKey(name: 'pinned_message') final Message? pinnedMessage,

  /// Optional. Default chat member permissions.
  @JsonKey(name: 'permissions') final ChatPermissions? permissions,

  /// Optional. Minimum delay between messages in supergroups.
  @JsonKey(name: 'slow_mode_delay') final int? slowModeDelay,

  /// Optional. Time after which messages are automatically deleted.
  @JsonKey(name: 'message_auto_delete_time') final int? messageAutoDeleteTime,

  /// Optional. True if messages can't be forwarded.
  @JsonKey(name: 'has_protected_content') final bool? hasProtectedContent,

  /// Optional. Name of group sticker set.
  @JsonKey(name: 'sticker_set_name') final String? stickerSetName,

  /// Optional. True if the bot can change the group sticker set.
  @JsonKey(name: 'can_set_sticker_set') final bool? canSetStickerSet,

  /// Optional. Unique identifier for the linked chat.
  @JsonKey(name: 'linked_chat_id') final int? linkedChatId,

  /// Optional. Location for supergroups.
  @JsonKey(name: 'location') final ChatLocation? location,

  /// Optional. True if non-administrators can only see bots and admins.
  @JsonKey(name: 'has_hidden_members') final bool? hasHiddenMembers,

  /// Optional. True if aggressive anti-spam is enabled.
  @JsonKey(name: 'has_aggressive_anti_spam_enabled')
  final bool? hasAggressiveAntiSpamEnabled,

  /// Optional. Expiration date of emoji status.
  @JsonKey(name: 'emoji_status_expiration_date')
  final int? emojiStatusExpirationDate,

  /// Optional. Available reaction types.
  @JsonKey(name: 'available_reactions')
  final List<ReactionType>? availableReactions,

  /// Optional. Custom emoji identifier for emoji status.
  @JsonKey(name: 'emoji_status_custom_emoji_id')
  final String? emojiStatusCustomEmojiId,

  /// Optional. Identifier for accent color.
  @JsonKey(name: 'accent_color_id') final int? accentColorId,

  /// Optional. Custom emoji identifier for background.
  @JsonKey(name: 'background_custom_emoji_id')
  final String? backgroundCustomEmojiId,

  /// Optional. Identifier for profile accent color.
  @JsonKey(name: 'profile_accent_color_id') int? profileAccentColorId,

  /// Optional. Custom emoji identifier for profile background.
  @JsonKey(name: 'profile_background_custom_emoji_id')
  final String? profileBackgroundCustomEmojiId,

  /// Optional. True if new members can see old messages.
  @JsonKey(name: 'has_visible_history') final bool? hasVisibleHistory,

  /// Optional. Minimum boost count to ignore restrictions.
  @JsonKey(name: 'unrestrict_boost_count') final int? unrestrictBoostCount,

  /// Optional. Name of custom emoji sticker set.
  @JsonKey(name: 'custom_emoji_sticker_set_name')
  final String? customEmojiStickerSetName,

  /// Optional. Business intro for business accounts.
  @JsonKey(name: 'business_intro') final BusinessIntro? businessIntro,

  /// Optional. Business location for business accounts.
  @JsonKey(name: 'business_location')
  final BusinessLocation? businessLocation,

  /// Optional. Business opening hours.
  @JsonKey(name: 'business_opening_hours')
  final BusinessOpeningHours? businessOpeningHours,

  /// Optional. Personal channel for private chats.
  @JsonKey(name: 'personal_chat') final Chat? personalChat,

  /// Optional. Date of birth for private chats.
  @JsonKey(name: 'birthdate') final Birthdate? birthdate,

  /// Maximum number of reactions allowed.
  @JsonKey(name: 'max_reaction_count') @Default(0) final int maxReactionCount,

  /// Optional. True if paid media can be sent.
  @JsonKey(name: 'can_send_paid_media') final bool? canSendPaidMedia,

  /// Information about types of gifts that are accepted by the chat or by the corresponding user for private chats.
  @JsonKey(name: 'accepted_gift_types')
  required final AcceptedGiftTypes acceptedGiftTypes,
}) = _ChatFullInfo;