models

package
v0.4.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 19, 2025 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func MarshalUnion

func MarshalUnion[T comparable](unionType T, cases map[T]any) ([]byte, error)

func UnmarshalUnion

func UnmarshalUnion[T any](data []byte, configs []UnionConfig[T]) error

Types

type AcceptedGiftTypes

type AcceptedGiftTypes struct {
	UnlimitedGifts      bool `json:"unlimited_gifts"`
	LimitedGifts        bool `json:"limited_gifts"`
	UniqueGifts         bool `json:"unique_gifts"`
	PremiumSubscription bool `json:"premium_subscription"`
}

type AddStickerToSetRequest

type AddStickerToSetRequest struct {
	UserId  int64         `json:"user_id"`
	Name    string        `json:"name"`
	Sticker *InputSticker `json:"sticker"`
}

type AffiliateInfo

type AffiliateInfo struct {
	AffiliateUser      *User `json:"affiliate_user,omitempty"`
	AffiliateChat      *Chat `json:"affiliate_chat,omitempty"`
	CommissionPerMille int64 `json:"commission_per_mille"`
	Amount             int64 `json:"amount"`
	NanostarAmount     int64 `json:"nanostar_amount,omitempty"`
}

type Animation

type Animation struct {
	FileId       string     `json:"file_id"`
	FileUniqueId string     `json:"file_unique_id"`
	Width        int64      `json:"width"`
	Height       int64      `json:"height"`
	Duration     int64      `json:"duration"`
	Thumbnail    *PhotoSize `json:"thumbnail,omitempty"`
	FileName     string     `json:"file_name,omitempty"`
	MimeType     string     `json:"mime_type,omitempty"`
	FileSize     int64      `json:"file_size,omitempty"`
}

type AnswerCallbackQueryRequest

type AnswerCallbackQueryRequest struct {
	CallbackQueryId string `json:"callback_query_id"`
	Text            string `json:"text,omitempty"`
	ShowAlert       bool   `json:"show_alert,omitempty"`
	Url             string `json:"url,omitempty"`
	CacheTime       int64  `json:"cache_time,omitempty"`
}

type AnswerInlineQueryRequest

type AnswerInlineQueryRequest struct {
	InlineQueryId string                    `json:"inline_query_id"`
	Results       []InlineQueryResult       `json:"results"`
	CacheTime     int64                     `json:"cache_time,omitempty"`
	IsPersonal    bool                      `json:"is_personal,omitempty"`
	NextOffset    string                    `json:"next_offset,omitempty"`
	Button        *InlineQueryResultsButton `json:"button,omitempty"`
}

type AnswerPreCheckoutQueryRequest

type AnswerPreCheckoutQueryRequest struct {
	PreCheckoutQueryId string `json:"pre_checkout_query_id"`
	Ok                 bool   `json:"ok"`
	ErrorMessage       string `json:"error_message,omitempty"`
}

type AnswerShippingQueryRequest

type AnswerShippingQueryRequest struct {
	ShippingQueryId string           `json:"shipping_query_id"`
	Ok              bool             `json:"ok"`
	ShippingOptions []ShippingOption `json:"shipping_options,omitempty"`
	ErrorMessage    string           `json:"error_message,omitempty"`
}

type AnswerWebAppQueryRequest

type AnswerWebAppQueryRequest struct {
	WebAppQueryId string            `json:"web_app_query_id"`
	Result        InlineQueryResult `json:"result"`
}

type ApproveChatJoinRequestRequest

type ApproveChatJoinRequestRequest struct {
	ChatId interface{} `json:"chat_id"`
	UserId int64       `json:"user_id"`
}

type ApproveSuggestedPostRequest

type ApproveSuggestedPostRequest struct {
	ChatId    int64 `json:"chat_id"`
	MessageId int64 `json:"message_id"`
	SendDate  int64 `json:"send_date,omitempty"`
}

type Audio

type Audio struct {
	FileId       string     `json:"file_id"`
	FileUniqueId string     `json:"file_unique_id"`
	Duration     int64      `json:"duration"`
	Performer    string     `json:"performer,omitempty"`
	Title        string     `json:"title,omitempty"`
	FileName     string     `json:"file_name,omitempty"`
	MimeType     string     `json:"mime_type,omitempty"`
	FileSize     int64      `json:"file_size,omitempty"`
	Thumbnail    *PhotoSize `json:"thumbnail,omitempty"`
}

type BackgroundFill

type BackgroundFill struct {
	Type BackgroundFillType

	BackgroundFillSolid            *BackgroundFillSolid
	BackgroundFillGradient         *BackgroundFillGradient
	BackgroundFillFreeformGradient *BackgroundFillFreeformGradient
}

contains subtypes

func (*BackgroundFill) MarshalJSON

func (bf *BackgroundFill) MarshalJSON() ([]byte, error)

func (*BackgroundFill) UnmarshalJSON

func (bf *BackgroundFill) UnmarshalJSON(data []byte) error

type BackgroundFillFreeformGradient

type BackgroundFillFreeformGradient struct {
	Type   string  `json:"type"`
	Colors []int64 `json:"colors"`
}

type BackgroundFillGradient

type BackgroundFillGradient struct {
	Type          string `json:"type"`
	TopColor      int64  `json:"top_color"`
	BottomColor   int64  `json:"bottom_color"`
	RotationAngle int64  `json:"rotation_angle"`
}

type BackgroundFillSolid

type BackgroundFillSolid struct {
	Type  string `json:"type"`
	Color int64  `json:"color"`
}

type BackgroundFillType

type BackgroundFillType int
const (
	BackgroundFillTypeBackgroundFillSolid BackgroundFillType = iota
	BackgroundFillTypeBackgroundFillGradient
	BackgroundFillTypeBackgroundFillFreeformGradient
)

type BackgroundType

type BackgroundType struct {
	Type BackgroundTypeType

	BackgroundTypeFill      *BackgroundTypeFill
	BackgroundTypeWallpaper *BackgroundTypeWallpaper
	BackgroundTypePattern   *BackgroundTypePattern
	BackgroundTypeChatTheme *BackgroundTypeChatTheme
}

contains subtypes

func (*BackgroundType) MarshalJSON

func (bt *BackgroundType) MarshalJSON() ([]byte, error)

func (*BackgroundType) UnmarshalJSON

func (bt *BackgroundType) UnmarshalJSON(data []byte) error

type BackgroundTypeChatTheme

type BackgroundTypeChatTheme struct {
	Type      string `json:"type"`
	ThemeName string `json:"theme_name"`
}

type BackgroundTypeFill

type BackgroundTypeFill struct {
	Type             string          `json:"type"`
	Fill             *BackgroundFill `json:"fill"`
	DarkThemeDimming int64           `json:"dark_theme_dimming"`
}

type BackgroundTypePattern

type BackgroundTypePattern struct {
	Type       string          `json:"type"`
	Document   *Document       `json:"document"`
	Fill       *BackgroundFill `json:"fill"`
	Intensity  int64           `json:"intensity"`
	IsInverted bool            `json:"is_inverted,omitempty"`
	IsMoving   bool            `json:"is_moving,omitempty"`
}

type BackgroundTypeType

type BackgroundTypeType int
const (
	BackgroundTypeTypeBackgroundTypeFill BackgroundTypeType = iota
	BackgroundTypeTypeBackgroundTypeWallpaper
	BackgroundTypeTypeBackgroundTypePattern
	BackgroundTypeTypeBackgroundTypeChatTheme
)

type BackgroundTypeWallpaper

type BackgroundTypeWallpaper struct {
	Type             string    `json:"type"`
	Document         *Document `json:"document"`
	DarkThemeDimming int64     `json:"dark_theme_dimming"`
	IsBlurred        bool      `json:"is_blurred,omitempty"`
	IsMoving         bool      `json:"is_moving,omitempty"`
}

type BanChatMemberRequest

type BanChatMemberRequest struct {
	ChatId         interface{} `json:"chat_id"`
	UserId         int64       `json:"user_id"`
	UntilDate      int64       `json:"until_date,omitempty"`
	RevokeMessages bool        `json:"revoke_messages,omitempty"`
}

type BanChatSenderChatRequest

type BanChatSenderChatRequest struct {
	ChatId       interface{} `json:"chat_id"`
	SenderChatId int64       `json:"sender_chat_id"`
}

type Birthdate

type Birthdate struct {
	Day   int64 `json:"day"`
	Month int64 `json:"month"`
	Year  int64 `json:"year,omitempty"`
}

type BotCommand

type BotCommand struct {
	Command     string `json:"command"`
	Description string `json:"description"`
}

type BotCommandScope

type BotCommandScope struct {
	Type BotCommandScopeType

	BotCommandScopeDefault               *BotCommandScopeDefault
	BotCommandScopeAllPrivateChats       *BotCommandScopeAllPrivateChats
	BotCommandScopeAllGroupChats         *BotCommandScopeAllGroupChats
	BotCommandScopeAllChatAdministrators *BotCommandScopeAllChatAdministrators
	BotCommandScopeChat                  *BotCommandScopeChat
	BotCommandScopeChatAdministrators    *BotCommandScopeChatAdministrators
	BotCommandScopeChatMember            *BotCommandScopeChatMember
}

contains subtypes

func (*BotCommandScope) MarshalJSON

func (bcs *BotCommandScope) MarshalJSON() ([]byte, error)

func (*BotCommandScope) UnmarshalJSON

func (bcs *BotCommandScope) UnmarshalJSON(data []byte) error

type BotCommandScopeAllChatAdministrators

type BotCommandScopeAllChatAdministrators struct {
	Type string `json:"type"`
}

type BotCommandScopeAllGroupChats

type BotCommandScopeAllGroupChats struct {
	Type string `json:"type"`
}

type BotCommandScopeAllPrivateChats

type BotCommandScopeAllPrivateChats struct {
	Type string `json:"type"`
}

type BotCommandScopeChat

type BotCommandScopeChat struct {
	Type   string `json:"type"`
	ChatId any    `json:"chat_id"`
}

type BotCommandScopeChatAdministrators

type BotCommandScopeChatAdministrators struct {
	Type   string `json:"type"`
	ChatId any    `json:"chat_id"`
}

type BotCommandScopeChatMember

type BotCommandScopeChatMember struct {
	Type   string `json:"type"`
	ChatId any    `json:"chat_id"`
	UserId int64  `json:"user_id"`
}

type BotCommandScopeDefault

type BotCommandScopeDefault struct {
	Type string `json:"type"`
}

type BotCommandScopeType

type BotCommandScopeType int
const (
	BotCommandScopeTypeBotCommandScopeDefault BotCommandScopeType = iota
	BotCommandScopeTypeBotCommandScopeAllPrivateChats
	BotCommandScopeTypeBotCommandScopeAllGroupChats
	BotCommandScopeTypeBotCommandScopeAllChatAdministrators
	BotCommandScopeTypeBotCommandScopeChat
	BotCommandScopeTypeBotCommandScopeChatAdministrators
	BotCommandScopeTypeBotCommandScopeChatMember
)

type BotDescription

type BotDescription struct {
	Description string `json:"description"`
}

type BotName

type BotName struct {
	Name string `json:"name"`
}

type BotShortDescription

type BotShortDescription struct {
	ShortDescription string `json:"short_description"`
}

type BusinessBotRights

type BusinessBotRights struct {
	CanReply                   bool `json:"can_reply,omitempty"`
	CanReadMessages            bool `json:"can_read_messages,omitempty"`
	CanDeleteSentMessages      bool `json:"can_delete_sent_messages,omitempty"`
	CanDeleteAllMessages       bool `json:"can_delete_all_messages,omitempty"`
	CanEditName                bool `json:"can_edit_name,omitempty"`
	CanEditBio                 bool `json:"can_edit_bio,omitempty"`
	CanEditProfilePhoto        bool `json:"can_edit_profile_photo,omitempty"`
	CanEditUsername            bool `json:"can_edit_username,omitempty"`
	CanChangeGiftSettings      bool `json:"can_change_gift_settings,omitempty"`
	CanViewGiftsAndStars       bool `json:"can_view_gifts_and_stars,omitempty"`
	CanConvertGiftsToStars     bool `json:"can_convert_gifts_to_stars,omitempty"`
	CanTransferAndUpgradeGifts bool `json:"can_transfer_and_upgrade_gifts,omitempty"`
	CanTransferStars           bool `json:"can_transfer_stars,omitempty"`
	CanManageStories           bool `json:"can_manage_stories,omitempty"`
}

type BusinessConnection

type BusinessConnection struct {
	Id         string             `json:"id"`
	User       *User              `json:"user"`
	UserChatId int64              `json:"user_chat_id"`
	Date       int64              `json:"date"`
	Rights     *BusinessBotRights `json:"rights,omitempty"`
	IsEnabled  bool               `json:"is_enabled"`
}

type BusinessIntro

type BusinessIntro struct {
	Title   string   `json:"title,omitempty"`
	Message string   `json:"message,omitempty"`
	Sticker *Sticker `json:"sticker,omitempty"`
}

type BusinessLocation

type BusinessLocation struct {
	Address  string    `json:"address"`
	Location *Location `json:"location,omitempty"`
}

type BusinessMessagesDeleted

type BusinessMessagesDeleted struct {
	BusinessConnectionId string  `json:"business_connection_id"`
	Chat                 *Chat   `json:"chat"`
	MessageIds           []int64 `json:"message_ids"`
}

type BusinessOpeningHours

type BusinessOpeningHours struct {
	TimeZoneName string                         `json:"time_zone_name"`
	OpeningHours []BusinessOpeningHoursInterval `json:"opening_hours"`
}

type BusinessOpeningHoursInterval

type BusinessOpeningHoursInterval struct {
	OpeningMinute int64 `json:"opening_minute"`
	ClosingMinute int64 `json:"closing_minute"`
}

type CallbackGame

type CallbackGame struct{}

type CallbackQuery

type CallbackQuery struct {
	Id              string                    `json:"id"`
	From            *User                     `json:"from"`
	Message         *MaybeInaccessibleMessage `json:"message,omitempty"`
	InlineMessageId string                    `json:"inline_message_id,omitempty"`
	ChatInstance    string                    `json:"chat_instance"`
	Data            string                    `json:"data,omitempty"`
	GameShortName   string                    `json:"game_short_name,omitempty"`
}

type Chat

type Chat struct {
	Id               int64  `json:"id"`
	Type             string `json:"type"`
	Title            string `json:"title,omitempty"`
	Username         string `json:"username,omitempty"`
	FirstName        string `json:"first_name,omitempty"`
	LastName         string `json:"last_name,omitempty"`
	IsForum          bool   `json:"is_forum,omitempty"`
	IsDirectMessages bool   `json:"is_direct_messages,omitempty"`
}

type ChatAdministratorRights

type ChatAdministratorRights struct {
	IsAnonymous             bool `json:"is_anonymous"`
	CanManageChat           bool `json:"can_manage_chat"`
	CanDeleteMessages       bool `json:"can_delete_messages"`
	CanManageVideoChats     bool `json:"can_manage_video_chats"`
	CanRestrictMembers      bool `json:"can_restrict_members"`
	CanPromoteMembers       bool `json:"can_promote_members"`
	CanChangeInfo           bool `json:"can_change_info"`
	CanInviteUsers          bool `json:"can_invite_users"`
	CanPostStories          bool `json:"can_post_stories"`
	CanEditStories          bool `json:"can_edit_stories"`
	CanDeleteStories        bool `json:"can_delete_stories"`
	CanPostMessages         bool `json:"can_post_messages,omitempty"`
	CanEditMessages         bool `json:"can_edit_messages,omitempty"`
	CanPinMessages          bool `json:"can_pin_messages,omitempty"`
	CanManageTopics         bool `json:"can_manage_topics,omitempty"`
	CanManageDirectMessages bool `json:"can_manage_direct_messages,omitempty"`
}

type ChatBackground

type ChatBackground struct {
	Type *BackgroundType `json:"type"`
}

type ChatBoost

type ChatBoost struct {
	BoostId        string           `json:"boost_id"`
	AddDate        int64            `json:"add_date"`
	ExpirationDate int64            `json:"expiration_date"`
	Source         *ChatBoostSource `json:"source"`
}

type ChatBoostAdded

type ChatBoostAdded struct {
	BoostCount int64 `json:"boost_count"`
}

type ChatBoostRemoved

type ChatBoostRemoved struct {
	Chat       *Chat            `json:"chat"`
	BoostId    string           `json:"boost_id"`
	RemoveDate int64            `json:"remove_date"`
	Source     *ChatBoostSource `json:"source"`
}

type ChatBoostSource

type ChatBoostSource struct {
	Type ChatBoostSourceType

	ChatBoostSourcePremium  *ChatBoostSourcePremium
	ChatBoostSourceGiftCode *ChatBoostSourceGiftCode
	ChatBoostSourceGiveaway *ChatBoostSourceGiveaway
}

contains subtypes

func (*ChatBoostSource) MarshalJSON

func (cbs *ChatBoostSource) MarshalJSON() ([]byte, error)

func (*ChatBoostSource) UnmarshalJSON

func (cbs *ChatBoostSource) UnmarshalJSON(data []byte) error

type ChatBoostSourceGiftCode

type ChatBoostSourceGiftCode struct {
	Source string `json:"source"`
	User   *User  `json:"user"`
}

type ChatBoostSourceGiveaway

type ChatBoostSourceGiveaway struct {
	Source            string `json:"source"`
	GiveawayMessageId int64  `json:"giveaway_message_id"`
	User              *User  `json:"user,omitempty"`
	PrizeStarCount    int64  `json:"prize_star_count,omitempty"`
	IsUnclaimed       bool   `json:"is_unclaimed,omitempty"`
}

type ChatBoostSourcePremium

type ChatBoostSourcePremium struct {
	Source string `json:"source"`
	User   *User  `json:"user"`
}

type ChatBoostSourceType

type ChatBoostSourceType int
const (
	ChatBoostSourceTypeChatBoostSourcePremium ChatBoostSourceType = iota
	ChatBoostSourceTypeChatBoostSourceGiftCode
	ChatBoostSourceTypeChatBoostSourceGiveaway
)

type ChatBoostUpdated

type ChatBoostUpdated struct {
	Chat  *Chat      `json:"chat"`
	Boost *ChatBoost `json:"boost"`
}

type ChatFullInfo

type ChatFullInfo struct {
	Id                                 int64                 `json:"id"`
	Type                               string                `json:"type"`
	Title                              string                `json:"title,omitempty"`
	Username                           string                `json:"username,omitempty"`
	FirstName                          string                `json:"first_name,omitempty"`
	LastName                           string                `json:"last_name,omitempty"`
	IsForum                            bool                  `json:"is_forum,omitempty"`
	IsDirectMessages                   bool                  `json:"is_direct_messages,omitempty"`
	AccentColorId                      int64                 `json:"accent_color_id"`
	MaxReactionCount                   int64                 `json:"max_reaction_count"`
	Photo                              *ChatPhoto            `json:"photo,omitempty"`
	ActiveUsernames                    []string              `json:"active_usernames,omitempty"`
	Birthdate                          *Birthdate            `json:"birthdate,omitempty"`
	BusinessIntro                      *BusinessIntro        `json:"business_intro,omitempty"`
	BusinessLocation                   *BusinessLocation     `json:"business_location,omitempty"`
	BusinessOpeningHours               *BusinessOpeningHours `json:"business_opening_hours,omitempty"`
	PersonalChat                       *Chat                 `json:"personal_chat,omitempty"`
	ParentChat                         *Chat                 `json:"parent_chat,omitempty"`
	AvailableReactions                 []ReactionType        `json:"available_reactions,omitempty"`
	BackgroundCustomEmojiId            string                `json:"background_custom_emoji_id,omitempty"`
	ProfileAccentColorId               int64                 `json:"profile_accent_color_id,omitempty"`
	ProfileBackgroundCustomEmojiId     string                `json:"profile_background_custom_emoji_id,omitempty"`
	EmojiStatusCustomEmojiId           string                `json:"emoji_status_custom_emoji_id,omitempty"`
	EmojiStatusExpirationDate          int64                 `json:"emoji_status_expiration_date,omitempty"`
	Bio                                string                `json:"bio,omitempty"`
	HasPrivateForwards                 bool                  `json:"has_private_forwards,omitempty"`
	HasRestrictedVoiceAndVideoMessages bool                  `json:"has_restricted_voice_and_video_messages,omitempty"`
	JoinToSendMessages                 bool                  `json:"join_to_send_messages,omitempty"`
	JoinByRequest                      bool                  `json:"join_by_request,omitempty"`
	Description                        string                `json:"description,omitempty"`
	InviteLink                         string                `json:"invite_link,omitempty"`
	PinnedMessage                      *Message              `json:"pinned_message,omitempty"`
	Permissions                        *ChatPermissions      `json:"permissions,omitempty"`
	AcceptedGiftTypes                  *AcceptedGiftTypes    `json:"accepted_gift_types"`
	CanSendPaidMedia                   bool                  `json:"can_send_paid_media,omitempty"`
	SlowModeDelay                      int64                 `json:"slow_mode_delay,omitempty"`
	UnrestrictBoostCount               int64                 `json:"unrestrict_boost_count,omitempty"`
	MessageAutoDeleteTime              int64                 `json:"message_auto_delete_time,omitempty"`
	HasAggressiveAntiSpamEnabled       bool                  `json:"has_aggressive_anti_spam_enabled,omitempty"`
	HasHiddenMembers                   bool                  `json:"has_hidden_members,omitempty"`
	HasProtectedContent                bool                  `json:"has_protected_content,omitempty"`
	HasVisibleHistory                  bool                  `json:"has_visible_history,omitempty"`
	StickerSetName                     string                `json:"sticker_set_name,omitempty"`
	CanSetStickerSet                   bool                  `json:"can_set_sticker_set,omitempty"`
	CustomEmojiStickerSetName          string                `json:"custom_emoji_sticker_set_name,omitempty"`
	LinkedChatId                       int64                 `json:"linked_chat_id,omitempty"`
	Location                           *ChatLocation         `json:"location,omitempty"`
}
type ChatInviteLink struct {
	InviteLink              string `json:"invite_link"`
	Creator                 *User  `json:"creator"`
	CreatesJoinRequest      bool   `json:"creates_join_request"`
	IsPrimary               bool   `json:"is_primary"`
	IsRevoked               bool   `json:"is_revoked"`
	Name                    string `json:"name,omitempty"`
	ExpireDate              int64  `json:"expire_date,omitempty"`
	MemberLimit             int64  `json:"member_limit,omitempty"`
	PendingJoinRequestCount int64  `json:"pending_join_request_count,omitempty"`
	SubscriptionPeriod      int64  `json:"subscription_period,omitempty"`
	SubscriptionPrice       int64  `json:"subscription_price,omitempty"`
}

type ChatJoinRequest

type ChatJoinRequest struct {
	Chat       *Chat           `json:"chat"`
	From       *User           `json:"from"`
	UserChatId int64           `json:"user_chat_id"`
	Date       int64           `json:"date"`
	Bio        string          `json:"bio,omitempty"`
	InviteLink *ChatInviteLink `json:"invite_link,omitempty"`
}

type ChatLocation

type ChatLocation struct {
	Location *Location `json:"location"`
	Address  string    `json:"address"`
}

type ChatMember

type ChatMember struct {
	Type ChatMemberType

	ChatMemberOwner         *ChatMemberOwner
	ChatMemberAdministrator *ChatMemberAdministrator
	ChatMemberMember        *ChatMemberMember
	ChatMemberRestricted    *ChatMemberRestricted
	ChatMemberLeft          *ChatMemberLeft
	ChatMemberBanned        *ChatMemberBanned
}

contains subtypes

func (*ChatMember) MarshalJSON

func (cm *ChatMember) MarshalJSON() ([]byte, error)

func (*ChatMember) UnmarshalJSON

func (cm *ChatMember) UnmarshalJSON(data []byte) error

type ChatMemberAdministrator

type ChatMemberAdministrator struct {
	Status                  string `json:"status"`
	User                    *User  `json:"user"`
	CanBeEdited             bool   `json:"can_be_edited"`
	IsAnonymous             bool   `json:"is_anonymous"`
	CanManageChat           bool   `json:"can_manage_chat"`
	CanDeleteMessages       bool   `json:"can_delete_messages"`
	CanManageVideoChats     bool   `json:"can_manage_video_chats"`
	CanRestrictMembers      bool   `json:"can_restrict_members"`
	CanPromoteMembers       bool   `json:"can_promote_members"`
	CanChangeInfo           bool   `json:"can_change_info"`
	CanInviteUsers          bool   `json:"can_invite_users"`
	CanPostStories          bool   `json:"can_post_stories"`
	CanEditStories          bool   `json:"can_edit_stories"`
	CanDeleteStories        bool   `json:"can_delete_stories"`
	CanPostMessages         bool   `json:"can_post_messages,omitempty"`
	CanEditMessages         bool   `json:"can_edit_messages,omitempty"`
	CanPinMessages          bool   `json:"can_pin_messages,omitempty"`
	CanManageTopics         bool   `json:"can_manage_topics,omitempty"`
	CanManageDirectMessages bool   `json:"can_manage_direct_messages,omitempty"`
	CustomTitle             string `json:"custom_title,omitempty"`
}

type ChatMemberBanned

type ChatMemberBanned struct {
	Status    string `json:"status"`
	User      *User  `json:"user"`
	UntilDate int64  `json:"until_date"`
}

type ChatMemberLeft

type ChatMemberLeft struct {
	Status string `json:"status"`
	User   *User  `json:"user"`
}

type ChatMemberMember

type ChatMemberMember struct {
	Status    string `json:"status"`
	User      *User  `json:"user"`
	UntilDate int64  `json:"until_date,omitempty"`
}

type ChatMemberOwner

type ChatMemberOwner struct {
	Status      string `json:"status"`
	User        *User  `json:"user"`
	IsAnonymous bool   `json:"is_anonymous"`
	CustomTitle string `json:"custom_title,omitempty"`
}

type ChatMemberRestricted

type ChatMemberRestricted struct {
	Status                string `json:"status"`
	User                  *User  `json:"user"`
	IsMember              bool   `json:"is_member"`
	CanSendMessages       bool   `json:"can_send_messages"`
	CanSendAudios         bool   `json:"can_send_audios"`
	CanSendDocuments      bool   `json:"can_send_documents"`
	CanSendPhotos         bool   `json:"can_send_photos"`
	CanSendVideos         bool   `json:"can_send_videos"`
	CanSendVideoNotes     bool   `json:"can_send_video_notes"`
	CanSendVoiceNotes     bool   `json:"can_send_voice_notes"`
	CanSendPolls          bool   `json:"can_send_polls"`
	CanSendOtherMessages  bool   `json:"can_send_other_messages"`
	CanAddWebPagePreviews bool   `json:"can_add_web_page_previews"`
	CanChangeInfo         bool   `json:"can_change_info"`
	CanInviteUsers        bool   `json:"can_invite_users"`
	CanPinMessages        bool   `json:"can_pin_messages"`
	CanManageTopics       bool   `json:"can_manage_topics"`
	UntilDate             int64  `json:"until_date"`
}

type ChatMemberType

type ChatMemberType int
const (
	ChatMemberTypeChatMemberOwner ChatMemberType = iota
	ChatMemberTypeChatMemberAdministrator
	ChatMemberTypeChatMemberMember
	ChatMemberTypeChatMemberRestricted
	ChatMemberTypeChatMemberLeft
	ChatMemberTypeChatMemberBanned
)

type ChatMemberUpdated

type ChatMemberUpdated struct {
	Chat                    *Chat           `json:"chat"`
	From                    *User           `json:"from"`
	Date                    int64           `json:"date"`
	OldChatMember           *ChatMember     `json:"old_chat_member"`
	NewChatMember           *ChatMember     `json:"new_chat_member"`
	InviteLink              *ChatInviteLink `json:"invite_link,omitempty"`
	ViaJoinRequest          bool            `json:"via_join_request,omitempty"`
	ViaChatFolderInviteLink bool            `json:"via_chat_folder_invite_link,omitempty"`
}

type ChatPermissions

type ChatPermissions struct {
	CanSendMessages       bool `json:"can_send_messages,omitempty"`
	CanSendAudios         bool `json:"can_send_audios,omitempty"`
	CanSendDocuments      bool `json:"can_send_documents,omitempty"`
	CanSendPhotos         bool `json:"can_send_photos,omitempty"`
	CanSendVideos         bool `json:"can_send_videos,omitempty"`
	CanSendVideoNotes     bool `json:"can_send_video_notes,omitempty"`
	CanSendVoiceNotes     bool `json:"can_send_voice_notes,omitempty"`
	CanSendPolls          bool `json:"can_send_polls,omitempty"`
	CanSendOtherMessages  bool `json:"can_send_other_messages,omitempty"`
	CanAddWebPagePreviews bool `json:"can_add_web_page_previews,omitempty"`
	CanChangeInfo         bool `json:"can_change_info,omitempty"`
	CanInviteUsers        bool `json:"can_invite_users,omitempty"`
	CanPinMessages        bool `json:"can_pin_messages,omitempty"`
	CanManageTopics       bool `json:"can_manage_topics,omitempty"`
}

type ChatPhoto

type ChatPhoto struct {
	SmallFileId       string `json:"small_file_id"`
	SmallFileUniqueId string `json:"small_file_unique_id"`
	BigFileId         string `json:"big_file_id"`
	BigFileUniqueId   string `json:"big_file_unique_id"`
}

type ChatShared

type ChatShared struct {
	RequestId int64       `json:"request_id"`
	ChatId    int64       `json:"chat_id"`
	Title     string      `json:"title,omitempty"`
	Username  string      `json:"username,omitempty"`
	Photo     []PhotoSize `json:"photo,omitempty"`
}

type Checklist

type Checklist struct {
	Title                    string          `json:"title"`
	TitleEntities            []MessageEntity `json:"title_entities,omitempty"`
	Tasks                    []ChecklistTask `json:"tasks"`
	OthersCanAddTasks        bool            `json:"others_can_add_tasks,omitempty"`
	OthersCanMarkTasksAsDone bool            `json:"others_can_mark_tasks_as_done,omitempty"`
}

type ChecklistTask

type ChecklistTask struct {
	Id              int64           `json:"id"`
	Text            string          `json:"text"`
	TextEntities    []MessageEntity `json:"text_entities,omitempty"`
	CompletedByUser *User           `json:"completed_by_user,omitempty"`
	CompletionDate  int64           `json:"completion_date,omitempty"`
}

type ChecklistTasksAdded

type ChecklistTasksAdded struct {
	ChecklistMessage *Message        `json:"checklist_message,omitempty"`
	Tasks            []ChecklistTask `json:"tasks"`
}

type ChecklistTasksDone

type ChecklistTasksDone struct {
	ChecklistMessage       *Message `json:"checklist_message,omitempty"`
	MarkedAsDoneTaskIds    []int64  `json:"marked_as_done_task_ids,omitempty"`
	MarkedAsNotDoneTaskIds []int64  `json:"marked_as_not_done_task_ids,omitempty"`
}

type ChosenInlineResult

type ChosenInlineResult struct {
	ResultId        string    `json:"result_id"`
	From            *User     `json:"from"`
	Location        *Location `json:"location,omitempty"`
	InlineMessageId string    `json:"inline_message_id,omitempty"`
	Query           string    `json:"query"`
}

type CloseForumTopicRequest

type CloseForumTopicRequest struct {
	ChatId          interface{} `json:"chat_id"`
	MessageThreadId int64       `json:"message_thread_id"`
}

type CloseGeneralForumTopicRequest

type CloseGeneralForumTopicRequest struct {
	ChatId interface{} `json:"chat_id"`
}

type Contact

type Contact struct {
	PhoneNumber string `json:"phone_number"`
	FirstName   string `json:"first_name"`
	LastName    string `json:"last_name,omitempty"`
	UserId      int64  `json:"user_id,omitempty"`
	Vcard       string `json:"vcard,omitempty"`
}

type ConvertGiftToStarsRequest

type ConvertGiftToStarsRequest struct {
	BusinessConnectionId string `json:"business_connection_id"`
	OwnedGiftId          string `json:"owned_gift_id"`
}

type CopyMessageRequest

type CopyMessageRequest struct {
	ChatId                  interface{}              `json:"chat_id"`
	MessageThreadId         int64                    `json:"message_thread_id,omitempty"`
	DirectMessagesTopicId   int64                    `json:"direct_messages_topic_id,omitempty"`
	FromChatId              interface{}              `json:"from_chat_id"`
	MessageId               int64                    `json:"message_id"`
	VideoStartTimestamp     int64                    `json:"video_start_timestamp,omitempty"`
	Caption                 string                   `json:"caption,omitempty"`
	ParseMode               string                   `json:"parse_mode,omitempty"`
	CaptionEntities         []MessageEntity          `json:"caption_entities,omitempty"`
	ShowCaptionAboveMedia   bool                     `json:"show_caption_above_media,omitempty"`
	DisableNotification     bool                     `json:"disable_notification,omitempty"`
	ProtectContent          bool                     `json:"protect_content,omitempty"`
	AllowPaidBroadcast      bool                     `json:"allow_paid_broadcast,omitempty"`
	SuggestedPostParameters *SuggestedPostParameters `json:"suggested_post_parameters,omitempty"`
	ReplyParameters         *ReplyParameters         `json:"reply_parameters,omitempty"`
	ReplyMarkup             interface{}              `json:"reply_markup,omitempty"`
}

type CopyMessagesRequest

type CopyMessagesRequest struct {
	ChatId                interface{} `json:"chat_id"`
	MessageThreadId       int64       `json:"message_thread_id,omitempty"`
	DirectMessagesTopicId int64       `json:"direct_messages_topic_id,omitempty"`
	FromChatId            interface{} `json:"from_chat_id"`
	MessageIds            []int64     `json:"message_ids"`
	DisableNotification   bool        `json:"disable_notification,omitempty"`
	ProtectContent        bool        `json:"protect_content,omitempty"`
	RemoveCaption         bool        `json:"remove_caption,omitempty"`
}

type CopyTextButton

type CopyTextButton struct {
	Text string `json:"text"`
}

type CreateChatInviteLinkRequest

type CreateChatInviteLinkRequest struct {
	ChatId             interface{} `json:"chat_id"`
	Name               string      `json:"name,omitempty"`
	ExpireDate         int64       `json:"expire_date,omitempty"`
	MemberLimit        int64       `json:"member_limit,omitempty"`
	CreatesJoinRequest bool        `json:"creates_join_request,omitempty"`
}

type CreateChatSubscriptionInviteLinkRequest

type CreateChatSubscriptionInviteLinkRequest struct {
	ChatId             interface{} `json:"chat_id"`
	Name               string      `json:"name,omitempty"`
	SubscriptionPeriod int64       `json:"subscription_period"`
	SubscriptionPrice  int64       `json:"subscription_price"`
}

type CreateForumTopicRequest

type CreateForumTopicRequest struct {
	ChatId            interface{} `json:"chat_id"`
	Name              string      `json:"name"`
	IconColor         int64       `json:"icon_color,omitempty"`
	IconCustomEmojiId string      `json:"icon_custom_emoji_id,omitempty"`
}

type CreateInvoiceLinkRequest

type CreateInvoiceLinkRequest struct {
	BusinessConnectionId      string         `json:"business_connection_id,omitempty"`
	Title                     string         `json:"title"`
	Description               string         `json:"description"`
	Payload                   string         `json:"payload"`
	ProviderToken             string         `json:"provider_token,omitempty"`
	Currency                  string         `json:"currency"`
	Prices                    []LabeledPrice `json:"prices"`
	SubscriptionPeriod        int64          `json:"subscription_period,omitempty"`
	MaxTipAmount              int64          `json:"max_tip_amount,omitempty"`
	SuggestedTipAmounts       []int64        `json:"suggested_tip_amounts,omitempty"`
	ProviderData              string         `json:"provider_data,omitempty"`
	PhotoUrl                  string         `json:"photo_url,omitempty"`
	PhotoSize                 int64          `json:"photo_size,omitempty"`
	PhotoWidth                int64          `json:"photo_width,omitempty"`
	PhotoHeight               int64          `json:"photo_height,omitempty"`
	NeedName                  bool           `json:"need_name,omitempty"`
	NeedPhoneNumber           bool           `json:"need_phone_number,omitempty"`
	NeedEmail                 bool           `json:"need_email,omitempty"`
	NeedShippingAddress       bool           `json:"need_shipping_address,omitempty"`
	SendPhoneNumberToProvider bool           `json:"send_phone_number_to_provider,omitempty"`
	SendEmailToProvider       bool           `json:"send_email_to_provider,omitempty"`
	IsFlexible                bool           `json:"is_flexible,omitempty"`
}

type CreateNewStickerSetRequest

type CreateNewStickerSetRequest struct {
	UserId          int64          `json:"user_id"`
	Name            string         `json:"name"`
	Title           string         `json:"title"`
	Stickers        []InputSticker `json:"stickers"`
	StickerType     string         `json:"sticker_type,omitempty"`
	NeedsRepainting bool           `json:"needs_repainting,omitempty"`
}

type DeclineChatJoinRequestRequest

type DeclineChatJoinRequestRequest struct {
	ChatId interface{} `json:"chat_id"`
	UserId int64       `json:"user_id"`
}

type DeclineSuggestedPostRequest

type DeclineSuggestedPostRequest struct {
	ChatId    int64  `json:"chat_id"`
	MessageId int64  `json:"message_id"`
	Comment   string `json:"comment,omitempty"`
}

type DeleteBusinessMessagesRequest

type DeleteBusinessMessagesRequest struct {
	BusinessConnectionId string  `json:"business_connection_id"`
	MessageIds           []int64 `json:"message_ids"`
}

type DeleteChatPhotoRequest

type DeleteChatPhotoRequest struct {
	ChatId interface{} `json:"chat_id"`
}

type DeleteChatStickerSetRequest

type DeleteChatStickerSetRequest struct {
	ChatId interface{} `json:"chat_id"`
}

type DeleteForumTopicRequest

type DeleteForumTopicRequest struct {
	ChatId          interface{} `json:"chat_id"`
	MessageThreadId int64       `json:"message_thread_id"`
}

type DeleteMessageRequest

type DeleteMessageRequest struct {
	ChatId    interface{} `json:"chat_id"`
	MessageId int64       `json:"message_id"`
}

type DeleteMessagesRequest

type DeleteMessagesRequest struct {
	ChatId     interface{} `json:"chat_id"`
	MessageIds []int64     `json:"message_ids"`
}

type DeleteMyCommandsRequest

type DeleteMyCommandsRequest struct {
	Scope        BotCommandScope `json:"scope,omitempty"`
	LanguageCode string          `json:"language_code,omitempty"`
}

type DeleteStickerFromSetRequest

type DeleteStickerFromSetRequest struct {
	Sticker string `json:"sticker"`
}

type DeleteStickerSetRequest

type DeleteStickerSetRequest struct {
	Name string `json:"name"`
}

type DeleteStoryRequest

type DeleteStoryRequest struct {
	BusinessConnectionId string `json:"business_connection_id"`
	StoryId              int64  `json:"story_id"`
}

type DeleteWebhookRequest

type DeleteWebhookRequest struct {
	DropPendingUpdates bool `json:"drop_pending_updates,omitempty"`
}

type Dice

type Dice struct {
	Emoji string `json:"emoji"`
	Value int64  `json:"value"`
}

type DirectMessagePriceChanged

type DirectMessagePriceChanged struct {
	AreDirectMessagesEnabled bool  `json:"are_direct_messages_enabled"`
	DirectMessageStarCount   int64 `json:"direct_message_star_count,omitempty"`
}

type DirectMessagesTopic

type DirectMessagesTopic struct {
	TopicId int64 `json:"topic_id"`
	User    *User `json:"user,omitempty"`
}

type Document

type Document struct {
	FileId       string     `json:"file_id"`
	FileUniqueId string     `json:"file_unique_id"`
	Thumbnail    *PhotoSize `json:"thumbnail,omitempty"`
	FileName     string     `json:"file_name,omitempty"`
	MimeType     string     `json:"mime_type,omitempty"`
	FileSize     int64      `json:"file_size,omitempty"`
}

type EditChatInviteLinkRequest

type EditChatInviteLinkRequest struct {
	ChatId             interface{} `json:"chat_id"`
	InviteLink         string      `json:"invite_link"`
	Name               string      `json:"name,omitempty"`
	ExpireDate         int64       `json:"expire_date,omitempty"`
	MemberLimit        int64       `json:"member_limit,omitempty"`
	CreatesJoinRequest bool        `json:"creates_join_request,omitempty"`
}

type EditChatSubscriptionInviteLinkRequest

type EditChatSubscriptionInviteLinkRequest struct {
	ChatId     interface{} `json:"chat_id"`
	InviteLink string      `json:"invite_link"`
	Name       string      `json:"name,omitempty"`
}

type EditForumTopicRequest

type EditForumTopicRequest struct {
	ChatId            interface{} `json:"chat_id"`
	MessageThreadId   int64       `json:"message_thread_id"`
	Name              string      `json:"name,omitempty"`
	IconCustomEmojiId string      `json:"icon_custom_emoji_id,omitempty"`
}

type EditGeneralForumTopicRequest

type EditGeneralForumTopicRequest struct {
	ChatId interface{} `json:"chat_id"`
	Name   string      `json:"name"`
}

type EditMessageCaptionRequest

type EditMessageCaptionRequest struct {
	BusinessConnectionId  string                `json:"business_connection_id,omitempty"`
	ChatId                interface{}           `json:"chat_id,omitempty"`
	MessageId             int64                 `json:"message_id,omitempty"`
	InlineMessageId       string                `json:"inline_message_id,omitempty"`
	Caption               string                `json:"caption,omitempty"`
	ParseMode             string                `json:"parse_mode,omitempty"`
	CaptionEntities       []MessageEntity       `json:"caption_entities,omitempty"`
	ShowCaptionAboveMedia bool                  `json:"show_caption_above_media,omitempty"`
	ReplyMarkup           *InlineKeyboardMarkup `json:"reply_markup,omitempty"`
}

type EditMessageChecklistRequest

type EditMessageChecklistRequest struct {
	BusinessConnectionId string                `json:"business_connection_id"`
	ChatId               int64                 `json:"chat_id"`
	MessageId            int64                 `json:"message_id"`
	Checklist            *InputChecklist       `json:"checklist"`
	ReplyMarkup          *InlineKeyboardMarkup `json:"reply_markup,omitempty"`
}

type EditMessageLiveLocationRequest

type EditMessageLiveLocationRequest struct {
	BusinessConnectionId string                `json:"business_connection_id,omitempty"`
	ChatId               interface{}           `json:"chat_id,omitempty"`
	MessageId            int64                 `json:"message_id,omitempty"`
	InlineMessageId      string                `json:"inline_message_id,omitempty"`
	Latitude             float64               `json:"latitude"`
	Longitude            float64               `json:"longitude"`
	LivePeriod           int64                 `json:"live_period,omitempty"`
	HorizontalAccuracy   float64               `json:"horizontal_accuracy,omitempty"`
	Heading              int64                 `json:"heading,omitempty"`
	ProximityAlertRadius int64                 `json:"proximity_alert_radius,omitempty"`
	ReplyMarkup          *InlineKeyboardMarkup `json:"reply_markup,omitempty"`
}

type EditMessageMediaRequest

type EditMessageMediaRequest struct {
	BusinessConnectionId string                `json:"business_connection_id,omitempty"`
	ChatId               interface{}           `json:"chat_id,omitempty"`
	MessageId            int64                 `json:"message_id,omitempty"`
	InlineMessageId      string                `json:"inline_message_id,omitempty"`
	Media                InputMedia            `json:"media"`
	ReplyMarkup          *InlineKeyboardMarkup `json:"reply_markup,omitempty"`
}

type EditMessageReplyMarkupRequest

type EditMessageReplyMarkupRequest struct {
	BusinessConnectionId string                `json:"business_connection_id,omitempty"`
	ChatId               interface{}           `json:"chat_id,omitempty"`
	MessageId            int64                 `json:"message_id,omitempty"`
	InlineMessageId      string                `json:"inline_message_id,omitempty"`
	ReplyMarkup          *InlineKeyboardMarkup `json:"reply_markup,omitempty"`
}

type EditMessageTextRequest

type EditMessageTextRequest struct {
	BusinessConnectionId string                `json:"business_connection_id,omitempty"`
	ChatId               interface{}           `json:"chat_id,omitempty"`
	MessageId            int64                 `json:"message_id,omitempty"`
	InlineMessageId      string                `json:"inline_message_id,omitempty"`
	Text                 string                `json:"text"`
	ParseMode            string                `json:"parse_mode,omitempty"`
	Entities             []MessageEntity       `json:"entities,omitempty"`
	LinkPreviewOptions   *LinkPreviewOptions   `json:"link_preview_options,omitempty"`
	ReplyMarkup          *InlineKeyboardMarkup `json:"reply_markup,omitempty"`
}

type EditStoryRequest

type EditStoryRequest struct {
	BusinessConnectionId string            `json:"business_connection_id"`
	StoryId              int64             `json:"story_id"`
	Content              InputStoryContent `json:"content"`
	Caption              string            `json:"caption,omitempty"`
	ParseMode            string            `json:"parse_mode,omitempty"`
	CaptionEntities      []MessageEntity   `json:"caption_entities,omitempty"`
	Areas                []StoryArea       `json:"areas,omitempty"`
}

type EditUserStarSubscriptionRequest

type EditUserStarSubscriptionRequest struct {
	UserId                  int64  `json:"user_id"`
	TelegramPaymentChargeId string `json:"telegram_payment_charge_id"`
	IsCanceled              bool   `json:"is_canceled"`
}

type EncryptedCredentials

type EncryptedCredentials struct {
	Data   string `json:"data"`
	Hash   string `json:"hash"`
	Secret string `json:"secret"`
}

type EncryptedPassportElement

type EncryptedPassportElement struct {
	Type        string         `json:"type"`
	Data        string         `json:"data,omitempty"`
	PhoneNumber string         `json:"phone_number,omitempty"`
	Email       string         `json:"email,omitempty"`
	Files       []PassportFile `json:"files,omitempty"`
	FrontSide   *PassportFile  `json:"front_side,omitempty"`
	ReverseSide *PassportFile  `json:"reverse_side,omitempty"`
	Selfie      *PassportFile  `json:"selfie,omitempty"`
	Translation []PassportFile `json:"translation,omitempty"`
	Hash        string         `json:"hash"`
}

type ExportChatInviteLinkRequest

type ExportChatInviteLinkRequest struct {
	ChatId interface{} `json:"chat_id"`
}

type ExternalReplyInfo

type ExternalReplyInfo struct {
	Origin             *MessageOrigin      `json:"origin"`
	Chat               *Chat               `json:"chat,omitempty"`
	MessageId          int64               `json:"message_id,omitempty"`
	LinkPreviewOptions *LinkPreviewOptions `json:"link_preview_options,omitempty"`
	Animation          *Animation          `json:"animation,omitempty"`
	Audio              *Audio              `json:"audio,omitempty"`
	Document           *Document           `json:"document,omitempty"`
	PaidMedia          *PaidMediaInfo      `json:"paid_media,omitempty"`
	Photo              []PhotoSize         `json:"photo,omitempty"`
	Sticker            *Sticker            `json:"sticker,omitempty"`
	Story              *Story              `json:"story,omitempty"`
	Video              *Video              `json:"video,omitempty"`
	VideoNote          *VideoNote          `json:"video_note,omitempty"`
	Voice              *Voice              `json:"voice,omitempty"`
	HasMediaSpoiler    bool                `json:"has_media_spoiler,omitempty"`
	Checklist          *Checklist          `json:"checklist,omitempty"`
	Contact            *Contact            `json:"contact,omitempty"`
	Dice               *Dice               `json:"dice,omitempty"`
	Game               *Game               `json:"game,omitempty"`
	Giveaway           *Giveaway           `json:"giveaway,omitempty"`
	GiveawayWinners    *GiveawayWinners    `json:"giveaway_winners,omitempty"`
	Invoice            *Invoice            `json:"invoice,omitempty"`
	Location           *Location           `json:"location,omitempty"`
	Poll               *Poll               `json:"poll,omitempty"`
	Venue              *Venue              `json:"venue,omitempty"`
}

type FieldRule

type FieldRule struct {
	FieldName string
	Required  bool
	Forbidden bool
}

func CombineRules

func CombineRules(ruleGroups ...[]FieldRule) []FieldRule

func ForbiddenField

func ForbiddenField(fieldName string) FieldRule

func ForbiddenFields

func ForbiddenFields(fieldNames ...string) []FieldRule

func RequiredField

func RequiredField(fieldName string) FieldRule

func RequiredFields

func RequiredFields(fieldNames ...string) []FieldRule

type File

type File struct {
	FileId       string `json:"file_id"`
	FileUniqueId string `json:"file_unique_id"`
	FileSize     int64  `json:"file_size,omitempty"`
	FilePath     string `json:"file_path,omitempty"`
}

type ForceReply

type ForceReply struct {
	ForceReply            bool   `json:"force_reply"`
	InputFieldPlaceholder string `json:"input_field_placeholder,omitempty"`
	Selective             bool   `json:"selective,omitempty"`
}

type ForumTopic

type ForumTopic struct {
	MessageThreadId   int64  `json:"message_thread_id"`
	Name              string `json:"name"`
	IconColor         int64  `json:"icon_color"`
	IconCustomEmojiId string `json:"icon_custom_emoji_id,omitempty"`
}

type ForumTopicClosed

type ForumTopicClosed struct{}

type ForumTopicCreated

type ForumTopicCreated struct {
	Name              string `json:"name"`
	IconColor         int64  `json:"icon_color"`
	IconCustomEmojiId string `json:"icon_custom_emoji_id,omitempty"`
}

type ForumTopicEdited

type ForumTopicEdited struct {
	Name              string `json:"name,omitempty"`
	IconCustomEmojiId string `json:"icon_custom_emoji_id,omitempty"`
}

type ForumTopicReopened

type ForumTopicReopened struct{}

type ForwardMessageRequest

type ForwardMessageRequest struct {
	ChatId                  interface{}              `json:"chat_id"`
	MessageThreadId         int64                    `json:"message_thread_id,omitempty"`
	DirectMessagesTopicId   int64                    `json:"direct_messages_topic_id,omitempty"`
	FromChatId              interface{}              `json:"from_chat_id"`
	VideoStartTimestamp     int64                    `json:"video_start_timestamp,omitempty"`
	DisableNotification     bool                     `json:"disable_notification,omitempty"`
	ProtectContent          bool                     `json:"protect_content,omitempty"`
	SuggestedPostParameters *SuggestedPostParameters `json:"suggested_post_parameters,omitempty"`
	MessageId               int64                    `json:"message_id"`
}

type ForwardMessagesRequest

type ForwardMessagesRequest struct {
	ChatId                interface{} `json:"chat_id"`
	MessageThreadId       int64       `json:"message_thread_id,omitempty"`
	DirectMessagesTopicId int64       `json:"direct_messages_topic_id,omitempty"`
	FromChatId            interface{} `json:"from_chat_id"`
	MessageIds            []int64     `json:"message_ids"`
	DisableNotification   bool        `json:"disable_notification,omitempty"`
	ProtectContent        bool        `json:"protect_content,omitempty"`
}

type Game

type Game struct {
	Title        string          `json:"title"`
	Description  string          `json:"description"`
	Photo        []PhotoSize     `json:"photo"`
	Text         string          `json:"text,omitempty"`
	TextEntities []MessageEntity `json:"text_entities,omitempty"`
	Animation    *Animation      `json:"animation,omitempty"`
}

type GameHighScore

type GameHighScore struct {
	Position int64 `json:"position"`
	User     *User `json:"user"`
	Score    int64 `json:"score"`
}

type GeneralForumTopicHidden

type GeneralForumTopicHidden struct{}

type GeneralForumTopicUnhidden

type GeneralForumTopicUnhidden struct{}

type GetBusinessAccountGiftsRequest

type GetBusinessAccountGiftsRequest struct {
	BusinessConnectionId string `json:"business_connection_id"`
	ExcludeUnsaved       bool   `json:"exclude_unsaved,omitempty"`
	ExcludeSaved         bool   `json:"exclude_saved,omitempty"`
	ExcludeUnlimited     bool   `json:"exclude_unlimited,omitempty"`
	ExcludeLimited       bool   `json:"exclude_limited,omitempty"`
	ExcludeUnique        bool   `json:"exclude_unique,omitempty"`
	SortByPrice          bool   `json:"sort_by_price,omitempty"`
	Offset               string `json:"offset,omitempty"`
	Limit                int64  `json:"limit,omitempty"`
}

type GetBusinessAccountStarBalanceRequest

type GetBusinessAccountStarBalanceRequest struct {
	BusinessConnectionId string `json:"business_connection_id"`
}

type GetBusinessConnectionRequest

type GetBusinessConnectionRequest struct {
	BusinessConnectionId string `json:"business_connection_id"`
}

type GetChatAdministratorsRequest

type GetChatAdministratorsRequest struct {
	ChatId interface{} `json:"chat_id"`
}

type GetChatMemberCountRequest

type GetChatMemberCountRequest struct {
	ChatId interface{} `json:"chat_id"`
}

type GetChatMemberRequest

type GetChatMemberRequest struct {
	ChatId interface{} `json:"chat_id"`
	UserId int64       `json:"user_id"`
}

type GetChatMenuButtonRequest

type GetChatMenuButtonRequest struct {
	ChatId int64 `json:"chat_id,omitempty"`
}

type GetChatRequest

type GetChatRequest struct {
	ChatId interface{} `json:"chat_id"`
}

type GetCustomEmojiStickersRequest

type GetCustomEmojiStickersRequest struct {
	CustomEmojiIds []string `json:"custom_emoji_ids"`
}

type GetFileRequest

type GetFileRequest struct {
	FileId string `json:"file_id"`
}

type GetGameHighScoresRequest

type GetGameHighScoresRequest struct {
	UserId          int64  `json:"user_id"`
	ChatId          int64  `json:"chat_id,omitempty"`
	MessageId       int64  `json:"message_id,omitempty"`
	InlineMessageId string `json:"inline_message_id,omitempty"`
}

type GetMyCommandsRequest

type GetMyCommandsRequest struct {
	Scope        BotCommandScope `json:"scope,omitempty"`
	LanguageCode string          `json:"language_code,omitempty"`
}

type GetMyDefaultAdministratorRightsRequest

type GetMyDefaultAdministratorRightsRequest struct {
	ForChannels bool `json:"for_channels,omitempty"`
}

type GetMyDescriptionRequest

type GetMyDescriptionRequest struct {
	LanguageCode string `json:"language_code,omitempty"`
}

type GetMyNameRequest

type GetMyNameRequest struct {
	LanguageCode string `json:"language_code,omitempty"`
}

type GetMyShortDescriptionRequest

type GetMyShortDescriptionRequest struct {
	LanguageCode string `json:"language_code,omitempty"`
}

type GetStarTransactionsRequest

type GetStarTransactionsRequest struct {
	Offset int64 `json:"offset,omitempty"`
	Limit  int64 `json:"limit,omitempty"`
}

type GetStickerSetRequest

type GetStickerSetRequest struct {
	Name string `json:"name"`
}

type GetUpdatesRequest

type GetUpdatesRequest struct {
	Offset         int64    `json:"offset,omitempty"`
	Limit          int64    `json:"limit,omitempty"`
	Timeout        int64    `json:"timeout,omitempty"`
	AllowedUpdates []string `json:"allowed_updates,omitempty"`
}

type GetUserChatBoostsRequest

type GetUserChatBoostsRequest struct {
	ChatId interface{} `json:"chat_id"`
	UserId int64       `json:"user_id"`
}

type GetUserProfilePhotosRequest

type GetUserProfilePhotosRequest struct {
	UserId int64 `json:"user_id"`
	Offset int64 `json:"offset,omitempty"`
	Limit  int64 `json:"limit,omitempty"`
}

type Gift

type Gift struct {
	Id               string   `json:"id"`
	Sticker          *Sticker `json:"sticker"`
	StarCount        int64    `json:"star_count"`
	UpgradeStarCount int64    `json:"upgrade_star_count,omitempty"`
	TotalCount       int64    `json:"total_count,omitempty"`
	RemainingCount   int64    `json:"remaining_count,omitempty"`
	PublisherChat    *Chat    `json:"publisher_chat,omitempty"`
}

type GiftInfo

type GiftInfo struct {
	Gift                    *Gift           `json:"gift"`
	OwnedGiftId             string          `json:"owned_gift_id,omitempty"`
	ConvertStarCount        int64           `json:"convert_star_count,omitempty"`
	PrepaidUpgradeStarCount int64           `json:"prepaid_upgrade_star_count,omitempty"`
	CanBeUpgraded           bool            `json:"can_be_upgraded,omitempty"`
	Text                    string          `json:"text,omitempty"`
	Entities                []MessageEntity `json:"entities,omitempty"`
	IsPrivate               bool            `json:"is_private,omitempty"`
}

type GiftPremiumSubscriptionRequest

type GiftPremiumSubscriptionRequest struct {
	UserId        int64           `json:"user_id"`
	MonthCount    int64           `json:"month_count"`
	StarCount     int64           `json:"star_count"`
	Text          string          `json:"text,omitempty"`
	TextParseMode string          `json:"text_parse_mode,omitempty"`
	TextEntities  []MessageEntity `json:"text_entities,omitempty"`
}

type Gifts

type Gifts struct {
	Gifts []Gift `json:"gifts"`
}

type Giveaway

type Giveaway struct {
	Chats                         []Chat   `json:"chats"`
	WinnersSelectionDate          int64    `json:"winners_selection_date"`
	WinnerCount                   int64    `json:"winner_count"`
	OnlyNewMembers                bool     `json:"only_new_members,omitempty"`
	HasPublicWinners              bool     `json:"has_public_winners,omitempty"`
	PrizeDescription              string   `json:"prize_description,omitempty"`
	CountryCodes                  []string `json:"country_codes,omitempty"`
	PrizeStarCount                int64    `json:"prize_star_count,omitempty"`
	PremiumSubscriptionMonthCount int64    `json:"premium_subscription_month_count,omitempty"`
}

type GiveawayCompleted

type GiveawayCompleted struct {
	WinnerCount         int64    `json:"winner_count"`
	UnclaimedPrizeCount int64    `json:"unclaimed_prize_count,omitempty"`
	GiveawayMessage     *Message `json:"giveaway_message,omitempty"`
	IsStarGiveaway      bool     `json:"is_star_giveaway,omitempty"`
}

type GiveawayCreated

type GiveawayCreated struct {
	PrizeStarCount int64 `json:"prize_star_count,omitempty"`
}

type GiveawayWinners

type GiveawayWinners struct {
	Chat                          *Chat  `json:"chat"`
	GiveawayMessageId             int64  `json:"giveaway_message_id"`
	WinnersSelectionDate          int64  `json:"winners_selection_date"`
	WinnerCount                   int64  `json:"winner_count"`
	Winners                       []User `json:"winners"`
	AdditionalChatCount           int64  `json:"additional_chat_count,omitempty"`
	PrizeStarCount                int64  `json:"prize_star_count,omitempty"`
	PremiumSubscriptionMonthCount int64  `json:"premium_subscription_month_count,omitempty"`
	UnclaimedPrizeCount           int64  `json:"unclaimed_prize_count,omitempty"`
	OnlyNewMembers                bool   `json:"only_new_members,omitempty"`
	WasRefunded                   bool   `json:"was_refunded,omitempty"`
	PrizeDescription              string `json:"prize_description,omitempty"`
}

type HideGeneralForumTopicRequest

type HideGeneralForumTopicRequest struct {
	ChatId interface{} `json:"chat_id"`
}

type InaccessibleMessage

type InaccessibleMessage struct {
	Chat      *Chat `json:"chat"`
	MessageId int64 `json:"message_id"`
	Date      int64 `json:"date"`
}

type InlineKeyboardButton

type InlineKeyboardButton struct {
	Text                         string                       `json:"text"`
	Url                          string                       `json:"url,omitempty"`
	CallbackData                 string                       `json:"callback_data,omitempty"`
	WebApp                       *WebAppInfo                  `json:"web_app,omitempty"`
	LoginUrl                     *LoginUrl                    `json:"login_url,omitempty"`
	SwitchInlineQuery            string                       `json:"switch_inline_query,omitempty"`
	SwitchInlineQueryCurrentChat string                       `json:"switch_inline_query_current_chat,omitempty"`
	SwitchInlineQueryChosenChat  *SwitchInlineQueryChosenChat `json:"switch_inline_query_chosen_chat,omitempty"`
	CopyText                     *CopyTextButton              `json:"copy_text,omitempty"`
	CallbackGame                 *CallbackGame                `json:"callback_game,omitempty"`
	Pay                          bool                         `json:"pay,omitempty"`
}

type InlineKeyboardMarkup

type InlineKeyboardMarkup struct {
	InlineKeyboard [][]InlineKeyboardButton `json:"inline_keyboard"`
}

type InlineQuery

type InlineQuery struct {
	Id       string    `json:"id"`
	From     *User     `json:"from"`
	Query    string    `json:"query"`
	Offset   string    `json:"offset"`
	ChatType string    `json:"chat_type,omitempty"`
	Location *Location `json:"location,omitempty"`
}

type InlineQueryResult

type InlineQueryResult interface {
	MarshalCustom() ([]byte, error)
	// contains filtered or unexported methods
}

contains subtypes

type InlineQueryResultArticle

type InlineQueryResultArticle struct {
	Type                string                `json:"type"`
	Id                  string                `json:"id"`
	Title               string                `json:"title"`
	InputMessageContent *InputMessageContent  `json:"input_message_content"`
	ReplyMarkup         *InlineKeyboardMarkup `json:"reply_markup,omitempty"`
	Url                 string                `json:"url,omitempty"`
	Description         string                `json:"description,omitempty"`
	ThumbnailUrl        string                `json:"thumbnail_url,omitempty"`
	ThumbnailWidth      int64                 `json:"thumbnail_width,omitempty"`
	ThumbnailHeight     int64                 `json:"thumbnail_height,omitempty"`
}

func (*InlineQueryResultArticle) MarshalCustom added in v0.3.1

func (m *InlineQueryResultArticle) MarshalCustom() ([]byte, error)

type InlineQueryResultAudio

type InlineQueryResultAudio struct {
	Type                string                `json:"type"`
	Id                  string                `json:"id"`
	AudioUrl            string                `json:"audio_url"`
	Title               string                `json:"title"`
	Caption             string                `json:"caption,omitempty"`
	ParseMode           string                `json:"parse_mode,omitempty"`
	CaptionEntities     []MessageEntity       `json:"caption_entities,omitempty"`
	Performer           string                `json:"performer,omitempty"`
	AudioDuration       int64                 `json:"audio_duration,omitempty"`
	ReplyMarkup         *InlineKeyboardMarkup `json:"reply_markup,omitempty"`
	InputMessageContent *InputMessageContent  `json:"input_message_content,omitempty"`
}

func (*InlineQueryResultAudio) MarshalCustom added in v0.3.1

func (m *InlineQueryResultAudio) MarshalCustom() ([]byte, error)

type InlineQueryResultCachedAudio

type InlineQueryResultCachedAudio struct {
	Type                string                `json:"type"`
	Id                  string                `json:"id"`
	AudioFileId         string                `json:"audio_file_id"`
	Caption             string                `json:"caption,omitempty"`
	ParseMode           string                `json:"parse_mode,omitempty"`
	CaptionEntities     []MessageEntity       `json:"caption_entities,omitempty"`
	ReplyMarkup         *InlineKeyboardMarkup `json:"reply_markup,omitempty"`
	InputMessageContent *InputMessageContent  `json:"input_message_content,omitempty"`
}

func (*InlineQueryResultCachedAudio) MarshalCustom added in v0.3.1

func (m *InlineQueryResultCachedAudio) MarshalCustom() ([]byte, error)

type InlineQueryResultCachedDocument

type InlineQueryResultCachedDocument struct {
	Type                string                `json:"type"`
	Id                  string                `json:"id"`
	Title               string                `json:"title"`
	DocumentFileId      string                `json:"document_file_id"`
	Description         string                `json:"description,omitempty"`
	Caption             string                `json:"caption,omitempty"`
	ParseMode           string                `json:"parse_mode,omitempty"`
	CaptionEntities     []MessageEntity       `json:"caption_entities,omitempty"`
	ReplyMarkup         *InlineKeyboardMarkup `json:"reply_markup,omitempty"`
	InputMessageContent *InputMessageContent  `json:"input_message_content,omitempty"`
}

func (*InlineQueryResultCachedDocument) MarshalCustom added in v0.3.1

func (m *InlineQueryResultCachedDocument) MarshalCustom() ([]byte, error)

type InlineQueryResultCachedGif

type InlineQueryResultCachedGif struct {
	Type                  string                `json:"type"`
	Id                    string                `json:"id"`
	GifFileId             string                `json:"gif_file_id"`
	Title                 string                `json:"title,omitempty"`
	Caption               string                `json:"caption,omitempty"`
	ParseMode             string                `json:"parse_mode,omitempty"`
	CaptionEntities       []MessageEntity       `json:"caption_entities,omitempty"`
	ShowCaptionAboveMedia bool                  `json:"show_caption_above_media,omitempty"`
	ReplyMarkup           *InlineKeyboardMarkup `json:"reply_markup,omitempty"`
	InputMessageContent   *InputMessageContent  `json:"input_message_content,omitempty"`
}

func (*InlineQueryResultCachedGif) MarshalCustom added in v0.3.1

func (m *InlineQueryResultCachedGif) MarshalCustom() ([]byte, error)

type InlineQueryResultCachedMpeg4Gif

type InlineQueryResultCachedMpeg4Gif struct {
	Type                  string                `json:"type"`
	Id                    string                `json:"id"`
	Mpeg4FileId           string                `json:"mpeg4_file_id"`
	Title                 string                `json:"title,omitempty"`
	Caption               string                `json:"caption,omitempty"`
	ParseMode             string                `json:"parse_mode,omitempty"`
	CaptionEntities       []MessageEntity       `json:"caption_entities,omitempty"`
	ShowCaptionAboveMedia bool                  `json:"show_caption_above_media,omitempty"`
	ReplyMarkup           *InlineKeyboardMarkup `json:"reply_markup,omitempty"`
	InputMessageContent   *InputMessageContent  `json:"input_message_content,omitempty"`
}

func (*InlineQueryResultCachedMpeg4Gif) MarshalCustom added in v0.3.1

func (m *InlineQueryResultCachedMpeg4Gif) MarshalCustom() ([]byte, error)

type InlineQueryResultCachedPhoto

type InlineQueryResultCachedPhoto struct {
	Type                  string                `json:"type"`
	Id                    string                `json:"id"`
	PhotoFileId           string                `json:"photo_file_id"`
	Title                 string                `json:"title,omitempty"`
	Description           string                `json:"description,omitempty"`
	Caption               string                `json:"caption,omitempty"`
	ParseMode             string                `json:"parse_mode,omitempty"`
	CaptionEntities       []MessageEntity       `json:"caption_entities,omitempty"`
	ShowCaptionAboveMedia bool                  `json:"show_caption_above_media,omitempty"`
	ReplyMarkup           *InlineKeyboardMarkup `json:"reply_markup,omitempty"`
	InputMessageContent   *InputMessageContent  `json:"input_message_content,omitempty"`
}

func (*InlineQueryResultCachedPhoto) MarshalCustom added in v0.3.1

func (m *InlineQueryResultCachedPhoto) MarshalCustom() ([]byte, error)

type InlineQueryResultCachedSticker

type InlineQueryResultCachedSticker struct {
	Type                string                `json:"type"`
	Id                  string                `json:"id"`
	StickerFileId       string                `json:"sticker_file_id"`
	ReplyMarkup         *InlineKeyboardMarkup `json:"reply_markup,omitempty"`
	InputMessageContent *InputMessageContent  `json:"input_message_content,omitempty"`
}

func (*InlineQueryResultCachedSticker) MarshalCustom added in v0.3.1

func (m *InlineQueryResultCachedSticker) MarshalCustom() ([]byte, error)

type InlineQueryResultCachedVideo

type InlineQueryResultCachedVideo struct {
	Type                  string                `json:"type"`
	Id                    string                `json:"id"`
	VideoFileId           string                `json:"video_file_id"`
	Title                 string                `json:"title"`
	Description           string                `json:"description,omitempty"`
	Caption               string                `json:"caption,omitempty"`
	ParseMode             string                `json:"parse_mode,omitempty"`
	CaptionEntities       []MessageEntity       `json:"caption_entities,omitempty"`
	ShowCaptionAboveMedia bool                  `json:"show_caption_above_media,omitempty"`
	ReplyMarkup           *InlineKeyboardMarkup `json:"reply_markup,omitempty"`
	InputMessageContent   *InputMessageContent  `json:"input_message_content,omitempty"`
}

func (*InlineQueryResultCachedVideo) MarshalCustom added in v0.3.1

func (m *InlineQueryResultCachedVideo) MarshalCustom() ([]byte, error)

type InlineQueryResultCachedVoice

type InlineQueryResultCachedVoice struct {
	Type                string                `json:"type"`
	Id                  string                `json:"id"`
	VoiceFileId         string                `json:"voice_file_id"`
	Title               string                `json:"title"`
	Caption             string                `json:"caption,omitempty"`
	ParseMode           string                `json:"parse_mode,omitempty"`
	CaptionEntities     []MessageEntity       `json:"caption_entities,omitempty"`
	ReplyMarkup         *InlineKeyboardMarkup `json:"reply_markup,omitempty"`
	InputMessageContent *InputMessageContent  `json:"input_message_content,omitempty"`
}

func (*InlineQueryResultCachedVoice) MarshalCustom added in v0.3.1

func (m *InlineQueryResultCachedVoice) MarshalCustom() ([]byte, error)

type InlineQueryResultContact

type InlineQueryResultContact struct {
	Type                string                `json:"type"`
	Id                  string                `json:"id"`
	PhoneNumber         string                `json:"phone_number"`
	FirstName           string                `json:"first_name"`
	LastName            string                `json:"last_name,omitempty"`
	Vcard               string                `json:"vcard,omitempty"`
	ReplyMarkup         *InlineKeyboardMarkup `json:"reply_markup,omitempty"`
	InputMessageContent *InputMessageContent  `json:"input_message_content,omitempty"`
	ThumbnailUrl        string                `json:"thumbnail_url,omitempty"`
	ThumbnailWidth      int64                 `json:"thumbnail_width,omitempty"`
	ThumbnailHeight     int64                 `json:"thumbnail_height,omitempty"`
}

func (*InlineQueryResultContact) MarshalCustom added in v0.3.1

func (m *InlineQueryResultContact) MarshalCustom() ([]byte, error)

type InlineQueryResultDocument

type InlineQueryResultDocument struct {
	Type                string                `json:"type"`
	Id                  string                `json:"id"`
	Title               string                `json:"title"`
	Caption             string                `json:"caption,omitempty"`
	ParseMode           string                `json:"parse_mode,omitempty"`
	CaptionEntities     []MessageEntity       `json:"caption_entities,omitempty"`
	DocumentUrl         string                `json:"document_url"`
	MimeType            string                `json:"mime_type"`
	Description         string                `json:"description,omitempty"`
	ReplyMarkup         *InlineKeyboardMarkup `json:"reply_markup,omitempty"`
	InputMessageContent *InputMessageContent  `json:"input_message_content,omitempty"`
	ThumbnailUrl        string                `json:"thumbnail_url,omitempty"`
	ThumbnailWidth      int64                 `json:"thumbnail_width,omitempty"`
	ThumbnailHeight     int64                 `json:"thumbnail_height,omitempty"`
}

func (*InlineQueryResultDocument) MarshalCustom added in v0.3.1

func (m *InlineQueryResultDocument) MarshalCustom() ([]byte, error)

type InlineQueryResultGame

type InlineQueryResultGame struct {
	Type          string                `json:"type"`
	Id            string                `json:"id"`
	GameShortName string                `json:"game_short_name"`
	ReplyMarkup   *InlineKeyboardMarkup `json:"reply_markup,omitempty"`
}

func (*InlineQueryResultGame) MarshalCustom added in v0.3.1

func (m *InlineQueryResultGame) MarshalCustom() ([]byte, error)

type InlineQueryResultGif

type InlineQueryResultGif struct {
	Type                  string                `json:"type"`
	Id                    string                `json:"id"`
	GifUrl                string                `json:"gif_url"`
	GifWidth              int64                 `json:"gif_width,omitempty"`
	GifHeight             int64                 `json:"gif_height,omitempty"`
	GifDuration           int64                 `json:"gif_duration,omitempty"`
	ThumbnailUrl          string                `json:"thumbnail_url"`
	ThumbnailMimeType     string                `json:"thumbnail_mime_type,omitempty"`
	Title                 string                `json:"title,omitempty"`
	Caption               string                `json:"caption,omitempty"`
	ParseMode             string                `json:"parse_mode,omitempty"`
	CaptionEntities       []MessageEntity       `json:"caption_entities,omitempty"`
	ShowCaptionAboveMedia bool                  `json:"show_caption_above_media,omitempty"`
	ReplyMarkup           *InlineKeyboardMarkup `json:"reply_markup,omitempty"`
	InputMessageContent   *InputMessageContent  `json:"input_message_content,omitempty"`
}

func (*InlineQueryResultGif) MarshalCustom added in v0.3.1

func (m *InlineQueryResultGif) MarshalCustom() ([]byte, error)

type InlineQueryResultLocation

type InlineQueryResultLocation struct {
	Type                 string                `json:"type"`
	Id                   string                `json:"id"`
	Latitude             float64               `json:"latitude"`
	Longitude            float64               `json:"longitude"`
	Title                string                `json:"title"`
	HorizontalAccuracy   float64               `json:"horizontal_accuracy,omitempty"`
	LivePeriod           int64                 `json:"live_period,omitempty"`
	Heading              int64                 `json:"heading,omitempty"`
	ProximityAlertRadius int64                 `json:"proximity_alert_radius,omitempty"`
	ReplyMarkup          *InlineKeyboardMarkup `json:"reply_markup,omitempty"`
	InputMessageContent  *InputMessageContent  `json:"input_message_content,omitempty"`
	ThumbnailUrl         string                `json:"thumbnail_url,omitempty"`
	ThumbnailWidth       int64                 `json:"thumbnail_width,omitempty"`
	ThumbnailHeight      int64                 `json:"thumbnail_height,omitempty"`
}

func (*InlineQueryResultLocation) MarshalCustom added in v0.3.1

func (m *InlineQueryResultLocation) MarshalCustom() ([]byte, error)

type InlineQueryResultMpeg4Gif

type InlineQueryResultMpeg4Gif struct {
	Type                  string                `json:"type"`
	Id                    string                `json:"id"`
	Mpeg4Url              string                `json:"mpeg4_url"`
	Mpeg4Width            int64                 `json:"mpeg4_width,omitempty"`
	Mpeg4Height           int64                 `json:"mpeg4_height,omitempty"`
	Mpeg4Duration         int64                 `json:"mpeg4_duration,omitempty"`
	ThumbnailUrl          string                `json:"thumbnail_url"`
	ThumbnailMimeType     string                `json:"thumbnail_mime_type,omitempty"`
	Title                 string                `json:"title,omitempty"`
	Caption               string                `json:"caption,omitempty"`
	ParseMode             string                `json:"parse_mode,omitempty"`
	CaptionEntities       []MessageEntity       `json:"caption_entities,omitempty"`
	ShowCaptionAboveMedia bool                  `json:"show_caption_above_media,omitempty"`
	ReplyMarkup           *InlineKeyboardMarkup `json:"reply_markup,omitempty"`
	InputMessageContent   *InputMessageContent  `json:"input_message_content,omitempty"`
}

func (*InlineQueryResultMpeg4Gif) MarshalCustom added in v0.3.1

func (m *InlineQueryResultMpeg4Gif) MarshalCustom() ([]byte, error)

type InlineQueryResultPhoto

type InlineQueryResultPhoto struct {
	Type                  string                `json:"type"`
	Id                    string                `json:"id"`
	PhotoUrl              string                `json:"photo_url"`
	ThumbnailUrl          string                `json:"thumbnail_url"`
	PhotoWidth            int64                 `json:"photo_width,omitempty"`
	PhotoHeight           int64                 `json:"photo_height,omitempty"`
	Title                 string                `json:"title,omitempty"`
	Description           string                `json:"description,omitempty"`
	Caption               string                `json:"caption,omitempty"`
	ParseMode             string                `json:"parse_mode,omitempty"`
	CaptionEntities       []MessageEntity       `json:"caption_entities,omitempty"`
	ShowCaptionAboveMedia bool                  `json:"show_caption_above_media,omitempty"`
	ReplyMarkup           *InlineKeyboardMarkup `json:"reply_markup,omitempty"`
	InputMessageContent   *InputMessageContent  `json:"input_message_content,omitempty"`
}

func (*InlineQueryResultPhoto) MarshalCustom added in v0.3.1

func (m *InlineQueryResultPhoto) MarshalCustom() ([]byte, error)

type InlineQueryResultType

type InlineQueryResultType int
const (
	InlineQueryResultTypeInlineQueryResultCachedAudio InlineQueryResultType = iota
	InlineQueryResultTypeInlineQueryResultCachedDocument
	InlineQueryResultTypeInlineQueryResultCachedGif
	InlineQueryResultTypeInlineQueryResultCachedMpeg4Gif
	InlineQueryResultTypeInlineQueryResultCachedPhoto
	InlineQueryResultTypeInlineQueryResultCachedSticker
	InlineQueryResultTypeInlineQueryResultCachedVideo
	InlineQueryResultTypeInlineQueryResultCachedVoice
	InlineQueryResultTypeInlineQueryResultArticle
	InlineQueryResultTypeInlineQueryResultAudio
	InlineQueryResultTypeInlineQueryResultContact
	InlineQueryResultTypeInlineQueryResultGame
	InlineQueryResultTypeInlineQueryResultDocument
	InlineQueryResultTypeInlineQueryResultGif
	InlineQueryResultTypeInlineQueryResultLocation
	InlineQueryResultTypeInlineQueryResultMpeg4Gif
	InlineQueryResultTypeInlineQueryResultPhoto
	InlineQueryResultTypeInlineQueryResultVenue
	InlineQueryResultTypeInlineQueryResultVideo
	InlineQueryResultTypeInlineQueryResultVoice
)

type InlineQueryResultVenue

type InlineQueryResultVenue struct {
	Type                string                `json:"type"`
	Id                  string                `json:"id"`
	Latitude            float64               `json:"latitude"`
	Longitude           float64               `json:"longitude"`
	Title               string                `json:"title"`
	Address             string                `json:"address"`
	FoursquareId        string                `json:"foursquare_id,omitempty"`
	FoursquareType      string                `json:"foursquare_type,omitempty"`
	GooglePlaceId       string                `json:"google_place_id,omitempty"`
	GooglePlaceType     string                `json:"google_place_type,omitempty"`
	ReplyMarkup         *InlineKeyboardMarkup `json:"reply_markup,omitempty"`
	InputMessageContent *InputMessageContent  `json:"input_message_content,omitempty"`
	ThumbnailUrl        string                `json:"thumbnail_url,omitempty"`
	ThumbnailWidth      int64                 `json:"thumbnail_width,omitempty"`
	ThumbnailHeight     int64                 `json:"thumbnail_height,omitempty"`
}

func (*InlineQueryResultVenue) MarshalCustom added in v0.3.1

func (m *InlineQueryResultVenue) MarshalCustom() ([]byte, error)

type InlineQueryResultVideo

type InlineQueryResultVideo struct {
	Type                  string                `json:"type"`
	Id                    string                `json:"id"`
	VideoUrl              string                `json:"video_url"`
	MimeType              string                `json:"mime_type"`
	ThumbnailUrl          string                `json:"thumbnail_url"`
	Title                 string                `json:"title"`
	Caption               string                `json:"caption,omitempty"`
	ParseMode             string                `json:"parse_mode,omitempty"`
	CaptionEntities       []MessageEntity       `json:"caption_entities,omitempty"`
	ShowCaptionAboveMedia bool                  `json:"show_caption_above_media,omitempty"`
	VideoWidth            int64                 `json:"video_width,omitempty"`
	VideoHeight           int64                 `json:"video_height,omitempty"`
	VideoDuration         int64                 `json:"video_duration,omitempty"`
	Description           string                `json:"description,omitempty"`
	ReplyMarkup           *InlineKeyboardMarkup `json:"reply_markup,omitempty"`
	InputMessageContent   *InputMessageContent  `json:"input_message_content,omitempty"`
}

func (*InlineQueryResultVideo) MarshalCustom added in v0.3.1

func (m *InlineQueryResultVideo) MarshalCustom() ([]byte, error)

type InlineQueryResultVoice

type InlineQueryResultVoice struct {
	Type                string                `json:"type"`
	Id                  string                `json:"id"`
	VoiceUrl            string                `json:"voice_url"`
	Title               string                `json:"title"`
	Caption             string                `json:"caption,omitempty"`
	ParseMode           string                `json:"parse_mode,omitempty"`
	CaptionEntities     []MessageEntity       `json:"caption_entities,omitempty"`
	VoiceDuration       int64                 `json:"voice_duration,omitempty"`
	ReplyMarkup         *InlineKeyboardMarkup `json:"reply_markup,omitempty"`
	InputMessageContent *InputMessageContent  `json:"input_message_content,omitempty"`
}

func (*InlineQueryResultVoice) MarshalCustom added in v0.3.1

func (m *InlineQueryResultVoice) MarshalCustom() ([]byte, error)

type InlineQueryResultsButton

type InlineQueryResultsButton struct {
	Text           string      `json:"text"`
	WebApp         *WebAppInfo `json:"web_app,omitempty"`
	StartParameter string      `json:"start_parameter,omitempty"`
}

type InputChecklist

type InputChecklist struct {
	Title                    string               `json:"title"`
	ParseMode                string               `json:"parse_mode,omitempty"`
	TitleEntities            []MessageEntity      `json:"title_entities,omitempty"`
	Tasks                    []InputChecklistTask `json:"tasks"`
	OthersCanAddTasks        bool                 `json:"others_can_add_tasks,omitempty"`
	OthersCanMarkTasksAsDone bool                 `json:"others_can_mark_tasks_as_done,omitempty"`
}

type InputChecklistTask

type InputChecklistTask struct {
	Id           int64           `json:"id"`
	Text         string          `json:"text"`
	ParseMode    string          `json:"parse_mode,omitempty"`
	TextEntities []MessageEntity `json:"text_entities,omitempty"`
}

type InputContactMessageContent

type InputContactMessageContent struct {
	PhoneNumber string `json:"phone_number"`
	FirstName   string `json:"first_name"`
	LastName    string `json:"last_name,omitempty"`
	Vcard       string `json:"vcard,omitempty"`
}

type InputFile

type InputFile interface {
	// contains filtered or unexported methods
}

type InputFileString

type InputFileString struct {
	Data string
}

func (*InputFileString) MarshalJSON

func (i *InputFileString) MarshalJSON() ([]byte, error)

func (*InputFileString) UnmarshalJSON

func (i *InputFileString) UnmarshalJSON(data []byte) error

type InputFileUpload

type InputFileUpload struct {
	Filename string
	Data     io.Reader
}

func (*InputFileUpload) MarshalJSON

func (i *InputFileUpload) MarshalJSON() ([]byte, error)

type InputInvoiceMessageContent

type InputInvoiceMessageContent struct {
	Title                     string         `json:"title"`
	Description               string         `json:"description"`
	Payload                   string         `json:"payload"`
	ProviderToken             string         `json:"provider_token,omitempty"`
	Currency                  string         `json:"currency"`
	Prices                    []LabeledPrice `json:"prices"`
	MaxTipAmount              int64          `json:"max_tip_amount,omitempty"`
	SuggestedTipAmounts       []int64        `json:"suggested_tip_amounts,omitempty"`
	ProviderData              string         `json:"provider_data,omitempty"`
	PhotoUrl                  string         `json:"photo_url,omitempty"`
	PhotoSize                 int64          `json:"photo_size,omitempty"`
	PhotoWidth                int64          `json:"photo_width,omitempty"`
	PhotoHeight               int64          `json:"photo_height,omitempty"`
	NeedName                  bool           `json:"need_name,omitempty"`
	NeedPhoneNumber           bool           `json:"need_phone_number,omitempty"`
	NeedEmail                 bool           `json:"need_email,omitempty"`
	NeedShippingAddress       bool           `json:"need_shipping_address,omitempty"`
	SendPhoneNumberToProvider bool           `json:"send_phone_number_to_provider,omitempty"`
	SendEmailToProvider       bool           `json:"send_email_to_provider,omitempty"`
	IsFlexible                bool           `json:"is_flexible,omitempty"`
}

type InputLocationMessageContent

type InputLocationMessageContent struct {
	Latitude             float64 `json:"latitude"`
	Longitude            float64 `json:"longitude"`
	HorizontalAccuracy   float64 `json:"horizontal_accuracy,omitempty"`
	LivePeriod           int64   `json:"live_period,omitempty"`
	Heading              int64   `json:"heading,omitempty"`
	ProximityAlertRadius int64   `json:"proximity_alert_radius,omitempty"`
}

type InputMedia

type InputMedia interface {
	GetData() io.Reader
	GetMedia() string
	MarshalInputMedia() ([]byte, error)
	// contains filtered or unexported methods
}

contains subtypes

type InputMediaAnimation

type InputMediaAnimation struct {
	Type                  string          `json:"type"`
	Media                 string          `json:"media"`
	Thumbnail             string          `json:"thumbnail,omitempty"`
	Caption               string          `json:"caption,omitempty"`
	ParseMode             string          `json:"parse_mode,omitempty"`
	CaptionEntities       []MessageEntity `json:"caption_entities,omitempty"`
	ShowCaptionAboveMedia bool            `json:"show_caption_above_media,omitempty"`
	Width                 int64           `json:"width,omitempty"`
	Height                int64           `json:"height,omitempty"`
	Duration              int64           `json:"duration,omitempty"`
	HasSpoiler            bool            `json:"has_spoiler,omitempty"`

	Data io.Reader `json:"-"`
}

func (*InputMediaAnimation) GetData added in v0.3.0

func (ima *InputMediaAnimation) GetData() io.Reader

func (*InputMediaAnimation) GetMedia added in v0.3.0

func (ima *InputMediaAnimation) GetMedia() string

func (*InputMediaAnimation) MarshalInputMedia added in v0.3.0

func (ima *InputMediaAnimation) MarshalInputMedia() ([]byte, error)

type InputMediaAudio

type InputMediaAudio struct {
	Type            string          `json:"type"`
	Media           string          `json:"media"`
	Thumbnail       string          `json:"thumbnail,omitempty"`
	Caption         string          `json:"caption,omitempty"`
	ParseMode       string          `json:"parse_mode,omitempty"`
	CaptionEntities []MessageEntity `json:"caption_entities,omitempty"`
	Duration        int64           `json:"duration,omitempty"`
	Performer       string          `json:"performer,omitempty"`
	Title           string          `json:"title,omitempty"`

	Data io.Reader `json:"-"`
}

func (*InputMediaAudio) GetData added in v0.3.0

func (ima *InputMediaAudio) GetData() io.Reader

func (*InputMediaAudio) GetMedia added in v0.3.0

func (ima *InputMediaAudio) GetMedia() string

func (*InputMediaAudio) MarshalInputMedia added in v0.3.0

func (ima *InputMediaAudio) MarshalInputMedia() ([]byte, error)

type InputMediaDocument

type InputMediaDocument struct {
	Type                        string          `json:"type"`
	Media                       string          `json:"media"`
	Thumbnail                   string          `json:"thumbnail,omitempty"`
	Caption                     string          `json:"caption,omitempty"`
	ParseMode                   string          `json:"parse_mode,omitempty"`
	CaptionEntities             []MessageEntity `json:"caption_entities,omitempty"`
	DisableContentTypeDetection bool            `json:"disable_content_type_detection,omitempty"`

	Data io.Reader `json:"-"`
}

func (*InputMediaDocument) GetData added in v0.3.0

func (ima *InputMediaDocument) GetData() io.Reader

func (*InputMediaDocument) GetMedia added in v0.3.0

func (ima *InputMediaDocument) GetMedia() string

func (*InputMediaDocument) MarshalInputMedia added in v0.3.0

func (imd *InputMediaDocument) MarshalInputMedia() ([]byte, error)

type InputMediaPhoto

type InputMediaPhoto struct {
	Type                  string          `json:"type"`
	Media                 string          `json:"media"`
	Caption               string          `json:"caption,omitempty"`
	ParseMode             string          `json:"parse_mode,omitempty"`
	CaptionEntities       []MessageEntity `json:"caption_entities,omitempty"`
	ShowCaptionAboveMedia bool            `json:"show_caption_above_media,omitempty"`
	HasSpoiler            bool            `json:"has_spoiler,omitempty"`

	Data io.Reader `json:"-"`
}

func (*InputMediaPhoto) GetData added in v0.3.0

func (ima *InputMediaPhoto) GetData() io.Reader

func (*InputMediaPhoto) GetMedia added in v0.3.0

func (ima *InputMediaPhoto) GetMedia() string

func (*InputMediaPhoto) MarshalInputMedia added in v0.3.0

func (imp *InputMediaPhoto) MarshalInputMedia() ([]byte, error)

type InputMediaType

type InputMediaType int
const (
	InputMediaTypeInputMediaAnimation InputMediaType = iota
	InputMediaTypeInputMediaDocument
	InputMediaTypeInputMediaAudio
	InputMediaTypeInputMediaPhoto
	InputMediaTypeInputMediaVideo
)

type InputMediaVideo

type InputMediaVideo struct {
	Type                  string          `json:"type"`
	Media                 string          `json:"media"`
	Thumbnail             string          `json:"thumbnail,omitempty"`
	Cover                 string          `json:"cover,omitempty"`
	StartTimestamp        int64           `json:"start_timestamp,omitempty"`
	Caption               string          `json:"caption,omitempty"`
	ParseMode             string          `json:"parse_mode,omitempty"`
	CaptionEntities       []MessageEntity `json:"caption_entities,omitempty"`
	ShowCaptionAboveMedia bool            `json:"show_caption_above_media,omitempty"`
	Width                 int64           `json:"width,omitempty"`
	Height                int64           `json:"height,omitempty"`
	Duration              int64           `json:"duration,omitempty"`
	SupportsStreaming     bool            `json:"supports_streaming,omitempty"`
	HasSpoiler            bool            `json:"has_spoiler,omitempty"`

	Data io.Reader `json:"-"`
}

func (*InputMediaVideo) GetData added in v0.3.0

func (ima *InputMediaVideo) GetData() io.Reader

func (*InputMediaVideo) GetMedia added in v0.3.0

func (ima *InputMediaVideo) GetMedia() string

func (*InputMediaVideo) MarshalInputMedia added in v0.3.0

func (imv *InputMediaVideo) MarshalInputMedia() ([]byte, error)

type InputMessageContent

type InputMessageContent struct {
	Type InputMessageContentType

	InputTextMessageContent     *InputTextMessageContent
	InputLocationMessageContent *InputLocationMessageContent
	InputVenueMessageContent    *InputVenueMessageContent
	InputContactMessageContent  *InputContactMessageContent
	InputInvoiceMessageContent  *InputInvoiceMessageContent
}

contains subtypes

func (*InputMessageContent) MarshalJSON

func (imc *InputMessageContent) MarshalJSON() ([]byte, error)

func (*InputMessageContent) UnmarshalJSON

func (imc *InputMessageContent) UnmarshalJSON(data []byte) error

type InputMessageContentType

type InputMessageContentType int
const (
	InputMessageContentTypeInputTextMessageContent InputMessageContentType = iota
	InputMessageContentTypeInputLocationMessageContent
	InputMessageContentTypeInputVenueMessageContent
	InputMessageContentTypeInputContactMessageContent
	InputMessageContentTypeInputInvoiceMessageContent
)

type InputPaidMedia

type InputPaidMedia interface {
	GetData() io.Reader
	GetMedia() string
	MarshalInputMedia() ([]byte, error)
	// contains filtered or unexported methods
}

contains subtypes

type InputPaidMediaPhoto

type InputPaidMediaPhoto struct {
	Type  string `json:"type"`
	Media string `json:"media"`

	Data io.Reader `json:"-"`
}

func (*InputPaidMediaPhoto) GetData added in v0.3.0

func (imp *InputPaidMediaPhoto) GetData() io.Reader

func (*InputPaidMediaPhoto) GetMedia added in v0.3.0

func (imp *InputPaidMediaPhoto) GetMedia() string

func (*InputPaidMediaPhoto) MarshalInputMedia added in v0.3.0

func (imp *InputPaidMediaPhoto) MarshalInputMedia() ([]byte, error)

type InputPaidMediaType

type InputPaidMediaType int
const (
	InputPaidMediaTypeInputPaidMediaPhoto InputPaidMediaType = iota
	InputPaidMediaTypeInputPaidMediaVideo
)

type InputPaidMediaVideo

type InputPaidMediaVideo struct {
	Type              string `json:"type"`
	Media             string `json:"media"`
	Thumbnail         string `json:"thumbnail,omitempty"`
	Cover             string `json:"cover,omitempty"`
	StartTimestamp    int64  `json:"start_timestamp,omitempty"`
	Width             int64  `json:"width,omitempty"`
	Height            int64  `json:"height,omitempty"`
	Duration          int64  `json:"duration,omitempty"`
	SupportsStreaming bool   `json:"supports_streaming,omitempty"`

	Data io.Reader `json:"-"`
}

func (*InputPaidMediaVideo) GetData added in v0.3.0

func (ipv *InputPaidMediaVideo) GetData() io.Reader

func (*InputPaidMediaVideo) GetMedia added in v0.3.0

func (ipv *InputPaidMediaVideo) GetMedia() string

func (*InputPaidMediaVideo) MarshalInputMedia added in v0.3.0

func (ipv *InputPaidMediaVideo) MarshalInputMedia() ([]byte, error)

type InputPollOption

type InputPollOption struct {
	Text          string          `json:"text"`
	TextParseMode string          `json:"text_parse_mode,omitempty"`
	TextEntities  []MessageEntity `json:"text_entities,omitempty"`
}

type InputProfilePhoto

type InputProfilePhoto struct {
	Type InputProfilePhotoType

	InputProfilePhotoStatic   *InputProfilePhotoStatic
	InputProfilePhotoAnimated *InputProfilePhotoAnimated
}

contains subtypes

func (*InputProfilePhoto) MarshalJSON

func (ipp *InputProfilePhoto) MarshalJSON() ([]byte, error)

func (*InputProfilePhoto) UnmarshalJSON

func (ipp *InputProfilePhoto) UnmarshalJSON(data []byte) error

type InputProfilePhotoAnimated

type InputProfilePhotoAnimated struct {
	Type               string  `json:"type"`
	Animation          string  `json:"animation"`
	MainFrameTimestamp float64 `json:"main_frame_timestamp,omitempty"`
}

type InputProfilePhotoStatic

type InputProfilePhotoStatic struct {
	Type  string `json:"type"`
	Photo string `json:"photo"`
}

type InputProfilePhotoType

type InputProfilePhotoType int
const (
	InputProfilePhotoTypeInputProfilePhotoStatic InputProfilePhotoType = iota
	InputProfilePhotoTypeInputProfilePhotoAnimated
)

type InputSticker

type InputSticker struct {
	Sticker      string        `json:"sticker"`
	Format       string        `json:"format"`
	EmojiList    []string      `json:"emoji_list"`
	MaskPosition *MaskPosition `json:"mask_position,omitempty"`
	Keywords     []string      `json:"keywords,omitempty"`
}

type InputStoryContent

type InputStoryContent struct {
	Type InputStoryContentType

	InputStoryContentPhoto *InputStoryContentPhoto
	InputStoryContentVideo *InputStoryContentVideo
}

contains subtypes

func (*InputStoryContent) MarshalJSON

func (isc *InputStoryContent) MarshalJSON() ([]byte, error)

func (*InputStoryContent) UnmarshalJSON

func (isc *InputStoryContent) UnmarshalJSON(data []byte) error

type InputStoryContentPhoto

type InputStoryContentPhoto struct {
	Type  string `json:"type"`
	Photo string `json:"photo"`
}

type InputStoryContentType

type InputStoryContentType int
const (
	InputStoryContentTypeInputStoryContentPhoto InputStoryContentType = iota
	InputStoryContentTypeInputStoryContentVideo
)

type InputStoryContentVideo

type InputStoryContentVideo struct {
	Type                string  `json:"type"`
	Video               string  `json:"video"`
	Duration            float64 `json:"duration,omitempty"`
	CoverFrameTimestamp float64 `json:"cover_frame_timestamp,omitempty"`
	IsAnimation         bool    `json:"is_animation,omitempty"`
}

type InputTextMessageContent

type InputTextMessageContent struct {
	MessageText        string              `json:"message_text"`
	ParseMode          string              `json:"parse_mode,omitempty"`
	Entities           []MessageEntity     `json:"entities,omitempty"`
	LinkPreviewOptions *LinkPreviewOptions `json:"link_preview_options,omitempty"`
}

type InputVenueMessageContent

type InputVenueMessageContent struct {
	Latitude        float64 `json:"latitude"`
	Longitude       float64 `json:"longitude"`
	Title           string  `json:"title"`
	Address         string  `json:"address"`
	FoursquareId    string  `json:"foursquare_id,omitempty"`
	FoursquareType  string  `json:"foursquare_type,omitempty"`
	GooglePlaceId   string  `json:"google_place_id,omitempty"`
	GooglePlaceType string  `json:"google_place_type,omitempty"`
}

type Invoice

type Invoice struct {
	Title          string `json:"title"`
	Description    string `json:"description"`
	StartParameter string `json:"start_parameter"`
	Currency       string `json:"currency"`
	TotalAmount    int64  `json:"total_amount"`
}

type KeyboardButton

type KeyboardButton struct {
	Text            string                      `json:"text"`
	RequestUsers    *KeyboardButtonRequestUsers `json:"request_users,omitempty"`
	RequestChat     *KeyboardButtonRequestChat  `json:"request_chat,omitempty"`
	RequestContact  bool                        `json:"request_contact,omitempty"`
	RequestLocation bool                        `json:"request_location,omitempty"`
	RequestPoll     *KeyboardButtonPollType     `json:"request_poll,omitempty"`
	WebApp          *WebAppInfo                 `json:"web_app,omitempty"`
}

type KeyboardButtonPollType

type KeyboardButtonPollType struct {
	Type string `json:"type,omitempty"`
}

type KeyboardButtonRequestChat

type KeyboardButtonRequestChat struct {
	RequestId               int64                    `json:"request_id"`
	ChatIsChannel           bool                     `json:"chat_is_channel"`
	ChatIsForum             bool                     `json:"chat_is_forum,omitempty"`
	ChatHasUsername         bool                     `json:"chat_has_username,omitempty"`
	ChatIsCreated           bool                     `json:"chat_is_created,omitempty"`
	UserAdministratorRights *ChatAdministratorRights `json:"user_administrator_rights,omitempty"`
	BotAdministratorRights  *ChatAdministratorRights `json:"bot_administrator_rights,omitempty"`
	BotIsMember             bool                     `json:"bot_is_member,omitempty"`
	RequestTitle            bool                     `json:"request_title,omitempty"`
	RequestUsername         bool                     `json:"request_username,omitempty"`
	RequestPhoto            bool                     `json:"request_photo,omitempty"`
}

type KeyboardButtonRequestUsers

type KeyboardButtonRequestUsers struct {
	RequestId       int64 `json:"request_id"`
	UserIsBot       bool  `json:"user_is_bot,omitempty"`
	UserIsPremium   bool  `json:"user_is_premium,omitempty"`
	MaxQuantity     int64 `json:"max_quantity,omitempty"`
	RequestName     bool  `json:"request_name,omitempty"`
	RequestUsername bool  `json:"request_username,omitempty"`
	RequestPhoto    bool  `json:"request_photo,omitempty"`
}

type LabeledPrice

type LabeledPrice struct {
	Label  string `json:"label"`
	Amount int64  `json:"amount"`
}

type LeaveChatRequest

type LeaveChatRequest struct {
	ChatId interface{} `json:"chat_id"`
}

type LinkPreviewOptions

type LinkPreviewOptions struct {
	IsDisabled       bool   `json:"is_disabled,omitempty"`
	Url              string `json:"url,omitempty"`
	PreferSmallMedia bool   `json:"prefer_small_media,omitempty"`
	PreferLargeMedia bool   `json:"prefer_large_media,omitempty"`
	ShowAboveText    bool   `json:"show_above_text,omitempty"`
}

type Location

type Location struct {
	Latitude             float64 `json:"latitude"`
	Longitude            float64 `json:"longitude"`
	HorizontalAccuracy   float64 `json:"horizontal_accuracy,omitempty"`
	LivePeriod           int64   `json:"live_period,omitempty"`
	Heading              int64   `json:"heading,omitempty"`
	ProximityAlertRadius int64   `json:"proximity_alert_radius,omitempty"`
}

type LocationAddress

type LocationAddress struct {
	CountryCode string `json:"country_code"`
	State       string `json:"state,omitempty"`
	City        string `json:"city,omitempty"`
	Street      string `json:"street,omitempty"`
}

type LoginUrl

type LoginUrl struct {
	Url                string `json:"url"`
	ForwardText        string `json:"forward_text,omitempty"`
	BotUsername        string `json:"bot_username,omitempty"`
	RequestWriteAccess bool   `json:"request_write_access,omitempty"`
}

type MaskPosition

type MaskPosition struct {
	Point  string  `json:"point"`
	XShift float64 `json:"x_shift"`
	YShift float64 `json:"y_shift"`
	Scale  float64 `json:"scale"`
}

type MaybeInaccessibleMessage

type MaybeInaccessibleMessage struct {
	Type MaybeInaccessibleMessageType

	Message             *Message
	InaccessibleMessage *InaccessibleMessage
}

contains subtypes

func (*MaybeInaccessibleMessage) MarshalJSON

func (mim *MaybeInaccessibleMessage) MarshalJSON() ([]byte, error)

func (*MaybeInaccessibleMessage) UnmarshalJSON

func (mim *MaybeInaccessibleMessage) UnmarshalJSON(data []byte) error

type MaybeInaccessibleMessageType

type MaybeInaccessibleMessageType int
const (
	MaybeInaccessibleMessageTypeMessage MaybeInaccessibleMessageType = iota
	MaybeInaccessibleMessageTypeInaccessibleMessage
)
type MenuButton struct {
	Type MenuButtonType

	MenuButtonCommands *MenuButtonCommands
	MenuButtonWebApp   *MenuButtonWebApp
	MenuButtonDefault  *MenuButtonDefault
}

contains subtypes

func (mb *MenuButton) MarshalJSON() ([]byte, error)
func (mb *MenuButton) UnmarshalJSON(data []byte) error
type MenuButtonCommands struct {
	Type string `json:"type"`
}
type MenuButtonDefault struct {
	Type string `json:"type"`
}
type MenuButtonType int
const (
	MenuButtonTypeMenuButtonCommands MenuButtonType = iota
	MenuButtonTypeMenuButtonWebApp
	MenuButtonTypeMenuButtonDefault
)
type MenuButtonWebApp struct {
	Type   string      `json:"type"`
	Text   string      `json:"text"`
	WebApp *WebAppInfo `json:"web_app"`
}

type Message

type Message struct {
	MessageId                     int64                          `json:"message_id"`
	MessageThreadId               int64                          `json:"message_thread_id,omitempty"`
	DirectMessagesTopic           *DirectMessagesTopic           `json:"direct_messages_topic,omitempty"`
	From                          *User                          `json:"from,omitempty"`
	SenderChat                    *Chat                          `json:"sender_chat,omitempty"`
	SenderBoostCount              int64                          `json:"sender_boost_count,omitempty"`
	SenderBusinessBot             *User                          `json:"sender_business_bot,omitempty"`
	Date                          int64                          `json:"date"`
	BusinessConnectionId          string                         `json:"business_connection_id,omitempty"`
	Chat                          *Chat                          `json:"chat"`
	ForwardOrigin                 *MessageOrigin                 `json:"forward_origin,omitempty"`
	IsTopicMessage                bool                           `json:"is_topic_message,omitempty"`
	IsAutomaticForward            bool                           `json:"is_automatic_forward,omitempty"`
	ReplyToMessage                *Message                       `json:"reply_to_message,omitempty"`
	ExternalReply                 *ExternalReplyInfo             `json:"external_reply,omitempty"`
	Quote                         *TextQuote                     `json:"quote,omitempty"`
	ReplyToStory                  *Story                         `json:"reply_to_story,omitempty"`
	ReplyToChecklistTaskId        int64                          `json:"reply_to_checklist_task_id,omitempty"`
	ViaBot                        *User                          `json:"via_bot,omitempty"`
	EditDate                      int64                          `json:"edit_date,omitempty"`
	HasProtectedContent           bool                           `json:"has_protected_content,omitempty"`
	IsFromOffline                 bool                           `json:"is_from_offline,omitempty"`
	IsPaidPost                    bool                           `json:"is_paid_post,omitempty"`
	MediaGroupId                  string                         `json:"media_group_id,omitempty"`
	AuthorSignature               string                         `json:"author_signature,omitempty"`
	PaidStarCount                 int64                          `json:"paid_star_count,omitempty"`
	Text                          string                         `json:"text,omitempty"`
	Entities                      []MessageEntity                `json:"entities,omitempty"`
	LinkPreviewOptions            *LinkPreviewOptions            `json:"link_preview_options,omitempty"`
	SuggestedPostInfo             *SuggestedPostInfo             `json:"suggested_post_info,omitempty"`
	EffectId                      string                         `json:"effect_id,omitempty"`
	Animation                     *Animation                     `json:"animation,omitempty"`
	Audio                         *Audio                         `json:"audio,omitempty"`
	Document                      *Document                      `json:"document,omitempty"`
	PaidMedia                     *PaidMediaInfo                 `json:"paid_media,omitempty"`
	Photo                         []PhotoSize                    `json:"photo,omitempty"`
	Sticker                       *Sticker                       `json:"sticker,omitempty"`
	Story                         *Story                         `json:"story,omitempty"`
	Video                         *Video                         `json:"video,omitempty"`
	VideoNote                     *VideoNote                     `json:"video_note,omitempty"`
	Voice                         *Voice                         `json:"voice,omitempty"`
	Caption                       string                         `json:"caption,omitempty"`
	CaptionEntities               []MessageEntity                `json:"caption_entities,omitempty"`
	ShowCaptionAboveMedia         bool                           `json:"show_caption_above_media,omitempty"`
	HasMediaSpoiler               bool                           `json:"has_media_spoiler,omitempty"`
	Checklist                     *Checklist                     `json:"checklist,omitempty"`
	Contact                       *Contact                       `json:"contact,omitempty"`
	Dice                          *Dice                          `json:"dice,omitempty"`
	Game                          *Game                          `json:"game,omitempty"`
	Poll                          *Poll                          `json:"poll,omitempty"`
	Venue                         *Venue                         `json:"venue,omitempty"`
	Location                      *Location                      `json:"location,omitempty"`
	NewChatMembers                []User                         `json:"new_chat_members,omitempty"`
	LeftChatMember                *User                          `json:"left_chat_member,omitempty"`
	NewChatTitle                  string                         `json:"new_chat_title,omitempty"`
	NewChatPhoto                  []PhotoSize                    `json:"new_chat_photo,omitempty"`
	DeleteChatPhoto               bool                           `json:"delete_chat_photo,omitempty"`
	GroupChatCreated              bool                           `json:"group_chat_created,omitempty"`
	SupergroupChatCreated         bool                           `json:"supergroup_chat_created,omitempty"`
	ChannelChatCreated            bool                           `json:"channel_chat_created,omitempty"`
	MessageAutoDeleteTimerChanged *MessageAutoDeleteTimerChanged `json:"message_auto_delete_timer_changed,omitempty"`
	MigrateToChatId               int64                          `json:"migrate_to_chat_id,omitempty"`
	MigrateFromChatId             int64                          `json:"migrate_from_chat_id,omitempty"`
	PinnedMessage                 *MaybeInaccessibleMessage      `json:"pinned_message,omitempty"`
	Invoice                       *Invoice                       `json:"invoice,omitempty"`
	SuccessfulPayment             *SuccessfulPayment             `json:"successful_payment,omitempty"`
	RefundedPayment               *RefundedPayment               `json:"refunded_payment,omitempty"`
	UsersShared                   *UsersShared                   `json:"users_shared,omitempty"`
	ChatShared                    *ChatShared                    `json:"chat_shared,omitempty"`
	Gift                          *GiftInfo                      `json:"gift,omitempty"`
	UniqueGift                    *UniqueGiftInfo                `json:"unique_gift,omitempty"`
	ConnectedWebsite              string                         `json:"connected_website,omitempty"`
	WriteAccessAllowed            *WriteAccessAllowed            `json:"write_access_allowed,omitempty"`
	PassportData                  *PassportData                  `json:"passport_data,omitempty"`
	ProximityAlertTriggered       *ProximityAlertTriggered       `json:"proximity_alert_triggered,omitempty"`
	BoostAdded                    *ChatBoostAdded                `json:"boost_added,omitempty"`
	ChatBackgroundSet             *ChatBackground                `json:"chat_background_set,omitempty"`
	ChecklistTasksDone            *ChecklistTasksDone            `json:"checklist_tasks_done,omitempty"`
	ChecklistTasksAdded           *ChecklistTasksAdded           `json:"checklist_tasks_added,omitempty"`
	DirectMessagePriceChanged     *DirectMessagePriceChanged     `json:"direct_message_price_changed,omitempty"`
	ForumTopicCreated             *ForumTopicCreated             `json:"forum_topic_created,omitempty"`
	ForumTopicEdited              *ForumTopicEdited              `json:"forum_topic_edited,omitempty"`
	ForumTopicClosed              *ForumTopicClosed              `json:"forum_topic_closed,omitempty"`
	ForumTopicReopened            *ForumTopicReopened            `json:"forum_topic_reopened,omitempty"`
	GeneralForumTopicHidden       *GeneralForumTopicHidden       `json:"general_forum_topic_hidden,omitempty"`
	GeneralForumTopicUnhidden     *GeneralForumTopicUnhidden     `json:"general_forum_topic_unhidden,omitempty"`
	GiveawayCreated               *GiveawayCreated               `json:"giveaway_created,omitempty"`
	Giveaway                      *Giveaway                      `json:"giveaway,omitempty"`
	GiveawayWinners               *GiveawayWinners               `json:"giveaway_winners,omitempty"`
	GiveawayCompleted             *GiveawayCompleted             `json:"giveaway_completed,omitempty"`
	PaidMessagePriceChanged       *PaidMessagePriceChanged       `json:"paid_message_price_changed,omitempty"`
	SuggestedPostApproved         *SuggestedPostApproved         `json:"suggested_post_approved,omitempty"`
	SuggestedPostApprovalFailed   *SuggestedPostApprovalFailed   `json:"suggested_post_approval_failed,omitempty"`
	SuggestedPostDeclined         *SuggestedPostDeclined         `json:"suggested_post_declined,omitempty"`
	SuggestedPostPaid             *SuggestedPostPaid             `json:"suggested_post_paid,omitempty"`
	SuggestedPostRefunded         *SuggestedPostRefunded         `json:"suggested_post_refunded,omitempty"`
	VideoChatScheduled            *VideoChatScheduled            `json:"video_chat_scheduled,omitempty"`
	VideoChatStarted              *VideoChatStarted              `json:"video_chat_started,omitempty"`
	VideoChatEnded                *VideoChatEnded                `json:"video_chat_ended,omitempty"`
	VideoChatParticipantsInvited  *VideoChatParticipantsInvited  `json:"video_chat_participants_invited,omitempty"`
	WebAppData                    *WebAppData                    `json:"web_app_data,omitempty"`
	ReplyMarkup                   *InlineKeyboardMarkup          `json:"reply_markup,omitempty"`
}

type MessageAutoDeleteTimerChanged

type MessageAutoDeleteTimerChanged struct {
	MessageAutoDeleteTime int64 `json:"message_auto_delete_time"`
}

type MessageEntity

type MessageEntity struct {
	Type          string `json:"type"`
	Offset        int64  `json:"offset"`
	Length        int64  `json:"length"`
	Url           string `json:"url,omitempty"`
	User          *User  `json:"user,omitempty"`
	Language      string `json:"language,omitempty"`
	CustomEmojiId string `json:"custom_emoji_id,omitempty"`
}

type MessageId

type MessageId struct {
	MessageId int64 `json:"message_id"`
}

type MessageOrigin

type MessageOrigin struct {
	Type MessageOriginType

	MessageOriginUser       *MessageOriginUser
	MessageOriginHiddenUser *MessageOriginHiddenUser
	MessageOriginChat       *MessageOriginChat
	MessageOriginChannel    *MessageOriginChannel
}

contains subtypes

func (*MessageOrigin) MarshalJSON

func (mo *MessageOrigin) MarshalJSON() ([]byte, error)

func (*MessageOrigin) UnmarshalJSON

func (mo *MessageOrigin) UnmarshalJSON(data []byte) error

type MessageOriginChannel

type MessageOriginChannel struct {
	Type            string `json:"type"`
	Date            int64  `json:"date"`
	Chat            *Chat  `json:"chat"`
	MessageId       int64  `json:"message_id"`
	AuthorSignature string `json:"author_signature,omitempty"`
}

type MessageOriginChat

type MessageOriginChat struct {
	Type            string `json:"type"`
	Date            int64  `json:"date"`
	SenderChat      *Chat  `json:"sender_chat"`
	AuthorSignature string `json:"author_signature,omitempty"`
}

type MessageOriginHiddenUser

type MessageOriginHiddenUser struct {
	Type           string `json:"type"`
	Date           int64  `json:"date"`
	SenderUserName string `json:"sender_user_name"`
}

type MessageOriginType

type MessageOriginType int
const (
	MessageOriginTypeMessageOriginUser MessageOriginType = iota
	MessageOriginTypeMessageOriginHiddenUser
	MessageOriginTypeMessageOriginChat
	MessageOriginTypeMessageOriginChannel
)

type MessageOriginUser

type MessageOriginUser struct {
	Type       string `json:"type"`
	Date       int64  `json:"date"`
	SenderUser *User  `json:"sender_user"`
}

type MessageReactionCountUpdated

type MessageReactionCountUpdated struct {
	Chat      *Chat           `json:"chat"`
	MessageId int64           `json:"message_id"`
	Date      int64           `json:"date"`
	Reactions []ReactionCount `json:"reactions"`
}

type MessageReactionUpdated

type MessageReactionUpdated struct {
	Chat        *Chat          `json:"chat"`
	MessageId   int64          `json:"message_id"`
	User        *User          `json:"user,omitempty"`
	ActorChat   *Chat          `json:"actor_chat,omitempty"`
	Date        int64          `json:"date"`
	OldReaction []ReactionType `json:"old_reaction"`
	NewReaction []ReactionType `json:"new_reaction"`
}

type OrderInfo

type OrderInfo struct {
	Name            string           `json:"name,omitempty"`
	PhoneNumber     string           `json:"phone_number,omitempty"`
	Email           string           `json:"email,omitempty"`
	ShippingAddress *ShippingAddress `json:"shipping_address,omitempty"`
}

type OwnedGift

type OwnedGift struct {
	Type OwnedGiftType

	OwnedGiftRegular *OwnedGiftRegular
	OwnedGiftUnique  *OwnedGiftUnique
}

contains subtypes

func (*OwnedGift) MarshalJSON

func (og *OwnedGift) MarshalJSON() ([]byte, error)

func (*OwnedGift) UnmarshalJSON

func (og *OwnedGift) UnmarshalJSON(data []byte) error

type OwnedGiftRegular

type OwnedGiftRegular struct {
	Type                    string          `json:"type"`
	Gift                    *Gift           `json:"gift"`
	OwnedGiftId             string          `json:"owned_gift_id,omitempty"`
	SenderUser              *User           `json:"sender_user,omitempty"`
	SendDate                int64           `json:"send_date"`
	Text                    string          `json:"text,omitempty"`
	Entities                []MessageEntity `json:"entities,omitempty"`
	IsPrivate               bool            `json:"is_private,omitempty"`
	IsSaved                 bool            `json:"is_saved,omitempty"`
	CanBeUpgraded           bool            `json:"can_be_upgraded,omitempty"`
	WasRefunded             bool            `json:"was_refunded,omitempty"`
	ConvertStarCount        int64           `json:"convert_star_count,omitempty"`
	PrepaidUpgradeStarCount int64           `json:"prepaid_upgrade_star_count,omitempty"`
}

type OwnedGiftType

type OwnedGiftType int
const (
	OwnedGiftTypeOwnedGiftRegular OwnedGiftType = iota
	OwnedGiftTypeOwnedGiftUnique
)

type OwnedGiftUnique

type OwnedGiftUnique struct {
	Type              string      `json:"type"`
	Gift              *UniqueGift `json:"gift"`
	OwnedGiftId       string      `json:"owned_gift_id,omitempty"`
	SenderUser        *User       `json:"sender_user,omitempty"`
	SendDate          int64       `json:"send_date"`
	IsSaved           bool        `json:"is_saved,omitempty"`
	CanBeTransferred  bool        `json:"can_be_transferred,omitempty"`
	TransferStarCount int64       `json:"transfer_star_count,omitempty"`
	NextTransferDate  int64       `json:"next_transfer_date,omitempty"`
}

type OwnedGifts

type OwnedGifts struct {
	TotalCount int64       `json:"total_count"`
	Gifts      []OwnedGift `json:"gifts"`
	NextOffset string      `json:"next_offset,omitempty"`
}

type PaidMedia

type PaidMedia struct {
	Type PaidMediaType

	PaidMediaPreview *PaidMediaPreview
	PaidMediaPhoto   *PaidMediaPhoto
	PaidMediaVideo   *PaidMediaVideo
}

contains subtypes

func (*PaidMedia) MarshalJSON

func (pm *PaidMedia) MarshalJSON() ([]byte, error)

func (*PaidMedia) UnmarshalJSON

func (pm *PaidMedia) UnmarshalJSON(data []byte) error

type PaidMediaInfo

type PaidMediaInfo struct {
	StarCount int64       `json:"star_count"`
	PaidMedia []PaidMedia `json:"paid_media"`
}

type PaidMediaPhoto

type PaidMediaPhoto struct {
	Type  string      `json:"type"`
	Photo []PhotoSize `json:"photo"`
}

type PaidMediaPreview

type PaidMediaPreview struct {
	Type     string `json:"type"`
	Width    int64  `json:"width,omitempty"`
	Height   int64  `json:"height,omitempty"`
	Duration int64  `json:"duration,omitempty"`
}

type PaidMediaPurchased

type PaidMediaPurchased struct {
	From             *User  `json:"from"`
	PaidMediaPayload string `json:"paid_media_payload"`
}

type PaidMediaType

type PaidMediaType int
const (
	PaidMediaTypePaidMediaPreview PaidMediaType = iota
	PaidMediaTypePaidMediaPhoto
	PaidMediaTypePaidMediaVideo
)

type PaidMediaVideo

type PaidMediaVideo struct {
	Type  string `json:"type"`
	Video *Video `json:"video"`
}

type PaidMessagePriceChanged

type PaidMessagePriceChanged struct {
	PaidMessageStarCount int64 `json:"paid_message_star_count"`
}

type PassportData

type PassportData struct {
	Data        []EncryptedPassportElement `json:"data"`
	Credentials *EncryptedCredentials      `json:"credentials"`
}

type PassportElementError

type PassportElementError struct {
	Type PassportElementErrorType

	PassportElementErrorDataField        *PassportElementErrorDataField
	PassportElementErrorFrontSide        *PassportElementErrorFrontSide
	PassportElementErrorReverseSide      *PassportElementErrorReverseSide
	PassportElementErrorSelfie           *PassportElementErrorSelfie
	PassportElementErrorFile             *PassportElementErrorFile
	PassportElementErrorFiles            *PassportElementErrorFiles
	PassportElementErrorTranslationFile  *PassportElementErrorTranslationFile
	PassportElementErrorTranslationFiles *PassportElementErrorTranslationFiles
	PassportElementErrorUnspecified      *PassportElementErrorUnspecified
}

contains subtypes

func (*PassportElementError) MarshalJSON

func (pee *PassportElementError) MarshalJSON() ([]byte, error)

func (*PassportElementError) UnmarshalJSON

func (pee *PassportElementError) UnmarshalJSON(data []byte) error

type PassportElementErrorDataField

type PassportElementErrorDataField struct {
	Source    string `json:"source"`
	Type      string `json:"type"`
	FieldName string `json:"field_name"`
	DataHash  string `json:"data_hash"`
	Message   string `json:"message"`
}

type PassportElementErrorFile

type PassportElementErrorFile struct {
	Source   string `json:"source"`
	Type     string `json:"type"`
	FileHash string `json:"file_hash"`
	Message  string `json:"message"`
}

type PassportElementErrorFiles

type PassportElementErrorFiles struct {
	Source     string   `json:"source"`
	Type       string   `json:"type"`
	FileHashes []string `json:"file_hashes"`
	Message    string   `json:"message"`
}

type PassportElementErrorFrontSide

type PassportElementErrorFrontSide struct {
	Source   string `json:"source"`
	Type     string `json:"type"`
	FileHash string `json:"file_hash"`
	Message  string `json:"message"`
}

type PassportElementErrorReverseSide

type PassportElementErrorReverseSide struct {
	Source   string `json:"source"`
	Type     string `json:"type"`
	FileHash string `json:"file_hash"`
	Message  string `json:"message"`
}

type PassportElementErrorSelfie

type PassportElementErrorSelfie struct {
	Source   string `json:"source"`
	Type     string `json:"type"`
	FileHash string `json:"file_hash"`
	Message  string `json:"message"`
}

type PassportElementErrorTranslationFile

type PassportElementErrorTranslationFile struct {
	Source   string `json:"source"`
	Type     string `json:"type"`
	FileHash string `json:"file_hash"`
	Message  string `json:"message"`
}

type PassportElementErrorTranslationFiles

type PassportElementErrorTranslationFiles struct {
	Source     string   `json:"source"`
	Type       string   `json:"type"`
	FileHashes []string `json:"file_hashes"`
	Message    string   `json:"message"`
}

type PassportElementErrorType

type PassportElementErrorType int
const (
	PassportElementErrorTypePassportElementErrorDataField PassportElementErrorType = iota
	PassportElementErrorTypePassportElementErrorFrontSide
	PassportElementErrorTypePassportElementErrorReverseSide
	PassportElementErrorTypePassportElementErrorSelfie
	PassportElementErrorTypePassportElementErrorFile
	PassportElementErrorTypePassportElementErrorFiles
	PassportElementErrorTypePassportElementErrorTranslationFile
	PassportElementErrorTypePassportElementErrorTranslationFiles
	PassportElementErrorTypePassportElementErrorUnspecified
)

type PassportElementErrorUnspecified

type PassportElementErrorUnspecified struct {
	Source      string `json:"source"`
	Type        string `json:"type"`
	ElementHash string `json:"element_hash"`
	Message     string `json:"message"`
}

type PassportFile

type PassportFile struct {
	FileId       string `json:"file_id"`
	FileUniqueId string `json:"file_unique_id"`
	FileSize     int64  `json:"file_size"`
	FileDate     int64  `json:"file_date"`
}

type PhotoSize

type PhotoSize struct {
	FileId       string `json:"file_id"`
	FileUniqueId string `json:"file_unique_id"`
	Width        int64  `json:"width"`
	Height       int64  `json:"height"`
	FileSize     int64  `json:"file_size,omitempty"`
}

type PinChatMessageRequest

type PinChatMessageRequest struct {
	BusinessConnectionId string      `json:"business_connection_id,omitempty"`
	ChatId               interface{} `json:"chat_id"`
	MessageId            int64       `json:"message_id"`
	DisableNotification  bool        `json:"disable_notification,omitempty"`
}

type Poll

type Poll struct {
	Id                    string          `json:"id"`
	Question              string          `json:"question"`
	QuestionEntities      []MessageEntity `json:"question_entities,omitempty"`
	Options               []PollOption    `json:"options"`
	TotalVoterCount       int64           `json:"total_voter_count"`
	IsClosed              bool            `json:"is_closed"`
	IsAnonymous           bool            `json:"is_anonymous"`
	Type                  string          `json:"type"`
	AllowsMultipleAnswers bool            `json:"allows_multiple_answers"`
	CorrectOptionId       int64           `json:"correct_option_id,omitempty"`
	Explanation           string          `json:"explanation,omitempty"`
	ExplanationEntities   []MessageEntity `json:"explanation_entities,omitempty"`
	OpenPeriod            int64           `json:"open_period,omitempty"`
	CloseDate             int64           `json:"close_date,omitempty"`
}

type PollAnswer

type PollAnswer struct {
	PollId    string  `json:"poll_id"`
	VoterChat *Chat   `json:"voter_chat,omitempty"`
	User      *User   `json:"user,omitempty"`
	OptionIds []int64 `json:"option_ids"`
}

type PollOption

type PollOption struct {
	Text         string          `json:"text"`
	TextEntities []MessageEntity `json:"text_entities,omitempty"`
	VoterCount   int64           `json:"voter_count"`
}

type PostStoryRequest

type PostStoryRequest struct {
	BusinessConnectionId string            `json:"business_connection_id"`
	Content              InputStoryContent `json:"content"`
	ActivePeriod         int64             `json:"active_period"`
	Caption              string            `json:"caption,omitempty"`
	ParseMode            string            `json:"parse_mode,omitempty"`
	CaptionEntities      []MessageEntity   `json:"caption_entities,omitempty"`
	Areas                []StoryArea       `json:"areas,omitempty"`
	PostToChatPage       bool              `json:"post_to_chat_page,omitempty"`
	ProtectContent       bool              `json:"protect_content,omitempty"`
}

type PreCheckoutQuery

type PreCheckoutQuery struct {
	Id               string     `json:"id"`
	From             *User      `json:"from"`
	Currency         string     `json:"currency"`
	TotalAmount      int64      `json:"total_amount"`
	InvoicePayload   string     `json:"invoice_payload"`
	ShippingOptionId string     `json:"shipping_option_id,omitempty"`
	OrderInfo        *OrderInfo `json:"order_info,omitempty"`
}

type PreparedInlineMessage

type PreparedInlineMessage struct {
	Id             string `json:"id"`
	ExpirationDate int64  `json:"expiration_date"`
}

type PromoteChatMemberRequest

type PromoteChatMemberRequest struct {
	ChatId                  interface{} `json:"chat_id"`
	UserId                  int64       `json:"user_id"`
	IsAnonymous             bool        `json:"is_anonymous,omitempty"`
	CanManageChat           bool        `json:"can_manage_chat,omitempty"`
	CanDeleteMessages       bool        `json:"can_delete_messages,omitempty"`
	CanManageVideoChats     bool        `json:"can_manage_video_chats,omitempty"`
	CanRestrictMembers      bool        `json:"can_restrict_members,omitempty"`
	CanPromoteMembers       bool        `json:"can_promote_members,omitempty"`
	CanChangeInfo           bool        `json:"can_change_info,omitempty"`
	CanInviteUsers          bool        `json:"can_invite_users,omitempty"`
	CanPostStories          bool        `json:"can_post_stories,omitempty"`
	CanEditStories          bool        `json:"can_edit_stories,omitempty"`
	CanDeleteStories        bool        `json:"can_delete_stories,omitempty"`
	CanPostMessages         bool        `json:"can_post_messages,omitempty"`
	CanEditMessages         bool        `json:"can_edit_messages,omitempty"`
	CanPinMessages          bool        `json:"can_pin_messages,omitempty"`
	CanManageTopics         bool        `json:"can_manage_topics,omitempty"`
	CanManageDirectMessages bool        `json:"can_manage_direct_messages,omitempty"`
}

type ProximityAlertTriggered

type ProximityAlertTriggered struct {
	Traveler *User `json:"traveler"`
	Watcher  *User `json:"watcher"`
	Distance int64 `json:"distance"`
}

type ReactionCount

type ReactionCount struct {
	Type       *ReactionType `json:"type"`
	TotalCount int64         `json:"total_count"`
}

type ReactionType

type ReactionType struct {
	Type ReactionTypeType

	ReactionTypeEmoji       *ReactionTypeEmoji
	ReactionTypeCustomEmoji *ReactionTypeCustomEmoji
	ReactionTypePaid        *ReactionTypePaid
}

contains subtypes

func (*ReactionType) MarshalJSON

func (rt *ReactionType) MarshalJSON() ([]byte, error)

func (*ReactionType) UnmarshalJSON

func (rt *ReactionType) UnmarshalJSON(data []byte) error

type ReactionTypeCustomEmoji

type ReactionTypeCustomEmoji struct {
	Type          string `json:"type"`
	CustomEmojiId string `json:"custom_emoji_id"`
}

type ReactionTypeEmoji

type ReactionTypeEmoji struct {
	Type  string `json:"type"`
	Emoji string `json:"emoji"`
}

type ReactionTypePaid

type ReactionTypePaid struct {
	Type string `json:"type"`
}

type ReactionTypeType

type ReactionTypeType int
const (
	ReactionTypeTypeReactionTypeEmoji ReactionTypeType = iota
	ReactionTypeTypeReactionTypeCustomEmoji
	ReactionTypeTypeReactionTypePaid
)

type ReadBusinessMessageRequest

type ReadBusinessMessageRequest struct {
	BusinessConnectionId string `json:"business_connection_id"`
	ChatId               int64  `json:"chat_id"`
	MessageId            int64  `json:"message_id"`
}

type RefundStarPaymentRequest

type RefundStarPaymentRequest struct {
	UserId                  int64  `json:"user_id"`
	TelegramPaymentChargeId string `json:"telegram_payment_charge_id"`
}

type RefundedPayment

type RefundedPayment struct {
	Currency                string `json:"currency"`
	TotalAmount             int64  `json:"total_amount"`
	InvoicePayload          string `json:"invoice_payload"`
	TelegramPaymentChargeId string `json:"telegram_payment_charge_id"`
	ProviderPaymentChargeId string `json:"provider_payment_charge_id,omitempty"`
}

type RemoveBusinessAccountProfilePhotoRequest

type RemoveBusinessAccountProfilePhotoRequest struct {
	BusinessConnectionId string `json:"business_connection_id"`
	IsPublic             bool   `json:"is_public,omitempty"`
}

type RemoveChatVerificationRequest

type RemoveChatVerificationRequest struct {
	ChatId interface{} `json:"chat_id"`
}

type RemoveUserVerificationRequest

type RemoveUserVerificationRequest struct {
	UserId int64 `json:"user_id"`
}

type ReopenForumTopicRequest

type ReopenForumTopicRequest struct {
	ChatId          interface{} `json:"chat_id"`
	MessageThreadId int64       `json:"message_thread_id"`
}

type ReopenGeneralForumTopicRequest

type ReopenGeneralForumTopicRequest struct {
	ChatId interface{} `json:"chat_id"`
}

type ReplaceStickerInSetRequest

type ReplaceStickerInSetRequest struct {
	UserId     int64         `json:"user_id"`
	Name       string        `json:"name"`
	OldSticker string        `json:"old_sticker"`
	Sticker    *InputSticker `json:"sticker"`
}

type ReplyKeyboardMarkup

type ReplyKeyboardMarkup struct {
	Keyboard              [][]KeyboardButton `json:"keyboard"`
	IsPersistent          bool               `json:"is_persistent,omitempty"`
	ResizeKeyboard        bool               `json:"resize_keyboard,omitempty"`
	OneTimeKeyboard       bool               `json:"one_time_keyboard,omitempty"`
	InputFieldPlaceholder string             `json:"input_field_placeholder,omitempty"`
	Selective             bool               `json:"selective,omitempty"`
}

type ReplyKeyboardRemove

type ReplyKeyboardRemove struct {
	RemoveKeyboard bool `json:"remove_keyboard"`
	Selective      bool `json:"selective,omitempty"`
}

type ReplyParameters

type ReplyParameters struct {
	MessageId                int64           `json:"message_id"`
	ChatId                   any             `json:"chat_id,omitempty"`
	AllowSendingWithoutReply bool            `json:"allow_sending_without_reply,omitempty"`
	Quote                    string          `json:"quote,omitempty"`
	QuoteParseMode           string          `json:"quote_parse_mode,omitempty"`
	QuoteEntities            []MessageEntity `json:"quote_entities,omitempty"`
	QuotePosition            int64           `json:"quote_position,omitempty"`
	ChecklistTaskId          int64           `json:"checklist_task_id,omitempty"`
}

type ResponseParameters

type ResponseParameters struct {
	MigrateToChatId int64 `json:"migrate_to_chat_id,omitempty"`
	RetryAfter      int64 `json:"retry_after,omitempty"`
}

type RestrictChatMemberRequest

type RestrictChatMemberRequest struct {
	ChatId                        interface{}      `json:"chat_id"`
	UserId                        int64            `json:"user_id"`
	Permissions                   *ChatPermissions `json:"permissions"`
	UseIndependentChatPermissions bool             `json:"use_independent_chat_permissions,omitempty"`
	UntilDate                     int64            `json:"until_date,omitempty"`
}

type RevenueWithdrawalState

type RevenueWithdrawalState struct {
	Type RevenueWithdrawalStateType

	RevenueWithdrawalStatePending   *RevenueWithdrawalStatePending
	RevenueWithdrawalStateSucceeded *RevenueWithdrawalStateSucceeded
	RevenueWithdrawalStateFailed    *RevenueWithdrawalStateFailed
}

contains subtypes

func (*RevenueWithdrawalState) MarshalJSON

func (rws *RevenueWithdrawalState) MarshalJSON() ([]byte, error)

func (*RevenueWithdrawalState) UnmarshalJSON

func (rws *RevenueWithdrawalState) UnmarshalJSON(data []byte) error

type RevenueWithdrawalStateFailed

type RevenueWithdrawalStateFailed struct {
	Type string `json:"type"`
}

type RevenueWithdrawalStatePending

type RevenueWithdrawalStatePending struct {
	Type string `json:"type"`
}

type RevenueWithdrawalStateSucceeded

type RevenueWithdrawalStateSucceeded struct {
	Type string `json:"type"`
	Date int64  `json:"date"`
	Url  string `json:"url"`
}

type RevenueWithdrawalStateType

type RevenueWithdrawalStateType int
const (
	RevenueWithdrawalStateTypeRevenueWithdrawalStatePending RevenueWithdrawalStateType = iota
	RevenueWithdrawalStateTypeRevenueWithdrawalStateSucceeded
	RevenueWithdrawalStateTypeRevenueWithdrawalStateFailed
)

type RevokeChatInviteLinkRequest

type RevokeChatInviteLinkRequest struct {
	ChatId     interface{} `json:"chat_id"`
	InviteLink string      `json:"invite_link"`
}

type SavePreparedInlineMessageRequest

type SavePreparedInlineMessageRequest struct {
	UserId            int64             `json:"user_id"`
	Result            InlineQueryResult `json:"result"`
	AllowUserChats    bool              `json:"allow_user_chats,omitempty"`
	AllowBotChats     bool              `json:"allow_bot_chats,omitempty"`
	AllowGroupChats   bool              `json:"allow_group_chats,omitempty"`
	AllowChannelChats bool              `json:"allow_channel_chats,omitempty"`
}

type SendAnimationRequest

type SendAnimationRequest struct {
	BusinessConnectionId    string                   `json:"business_connection_id,omitempty"`
	ChatId                  interface{}              `json:"chat_id"`
	MessageThreadId         int64                    `json:"message_thread_id,omitempty"`
	DirectMessagesTopicId   int64                    `json:"direct_messages_topic_id,omitempty"`
	Animation               InputFile                `json:"animation"`
	Duration                int64                    `json:"duration,omitempty"`
	Width                   int64                    `json:"width,omitempty"`
	Height                  int64                    `json:"height,omitempty"`
	Thumbnail               InputFile                `json:"thumbnail,omitempty"`
	Caption                 string                   `json:"caption,omitempty"`
	ParseMode               string                   `json:"parse_mode,omitempty"`
	CaptionEntities         []MessageEntity          `json:"caption_entities,omitempty"`
	ShowCaptionAboveMedia   bool                     `json:"show_caption_above_media,omitempty"`
	HasSpoiler              bool                     `json:"has_spoiler,omitempty"`
	DisableNotification     bool                     `json:"disable_notification,omitempty"`
	ProtectContent          bool                     `json:"protect_content,omitempty"`
	AllowPaidBroadcast      bool                     `json:"allow_paid_broadcast,omitempty"`
	MessageEffectId         string                   `json:"message_effect_id,omitempty"`
	SuggestedPostParameters *SuggestedPostParameters `json:"suggested_post_parameters,omitempty"`
	ReplyParameters         *ReplyParameters         `json:"reply_parameters,omitempty"`
	ReplyMarkup             interface{}              `json:"reply_markup,omitempty"`
}

type SendAudioRequest

type SendAudioRequest struct {
	BusinessConnectionId    string                   `json:"business_connection_id,omitempty"`
	ChatId                  interface{}              `json:"chat_id"`
	MessageThreadId         int64                    `json:"message_thread_id,omitempty"`
	DirectMessagesTopicId   int64                    `json:"direct_messages_topic_id,omitempty"`
	Audio                   InputFile                `json:"audio"`
	Caption                 string                   `json:"caption,omitempty"`
	ParseMode               string                   `json:"parse_mode,omitempty"`
	CaptionEntities         []MessageEntity          `json:"caption_entities,omitempty"`
	Duration                int64                    `json:"duration,omitempty"`
	Performer               string                   `json:"performer,omitempty"`
	Title                   string                   `json:"title,omitempty"`
	Thumbnail               InputFile                `json:"thumbnail,omitempty"`
	DisableNotification     bool                     `json:"disable_notification,omitempty"`
	ProtectContent          bool                     `json:"protect_content,omitempty"`
	AllowPaidBroadcast      bool                     `json:"allow_paid_broadcast,omitempty"`
	MessageEffectId         string                   `json:"message_effect_id,omitempty"`
	SuggestedPostParameters *SuggestedPostParameters `json:"suggested_post_parameters,omitempty"`
	ReplyParameters         *ReplyParameters         `json:"reply_parameters,omitempty"`
	ReplyMarkup             interface{}              `json:"reply_markup,omitempty"`
}

type SendChatActionRequest

type SendChatActionRequest struct {
	BusinessConnectionId string      `json:"business_connection_id,omitempty"`
	ChatId               interface{} `json:"chat_id"`
	MessageThreadId      int64       `json:"message_thread_id,omitempty"`
	Action               string      `json:"action"`
}

type SendChecklistRequest

type SendChecklistRequest struct {
	BusinessConnectionId string                `json:"business_connection_id"`
	ChatId               int64                 `json:"chat_id"`
	Checklist            *InputChecklist       `json:"checklist"`
	DisableNotification  bool                  `json:"disable_notification,omitempty"`
	ProtectContent       bool                  `json:"protect_content,omitempty"`
	MessageEffectId      string                `json:"message_effect_id,omitempty"`
	ReplyParameters      *ReplyParameters      `json:"reply_parameters,omitempty"`
	ReplyMarkup          *InlineKeyboardMarkup `json:"reply_markup,omitempty"`
}

type SendContactRequest

type SendContactRequest struct {
	BusinessConnectionId    string                   `json:"business_connection_id,omitempty"`
	ChatId                  interface{}              `json:"chat_id"`
	MessageThreadId         int64                    `json:"message_thread_id,omitempty"`
	DirectMessagesTopicId   int64                    `json:"direct_messages_topic_id,omitempty"`
	PhoneNumber             string                   `json:"phone_number"`
	FirstName               string                   `json:"first_name"`
	LastName                string                   `json:"last_name,omitempty"`
	Vcard                   string                   `json:"vcard,omitempty"`
	DisableNotification     bool                     `json:"disable_notification,omitempty"`
	ProtectContent          bool                     `json:"protect_content,omitempty"`
	AllowPaidBroadcast      bool                     `json:"allow_paid_broadcast,omitempty"`
	MessageEffectId         string                   `json:"message_effect_id,omitempty"`
	SuggestedPostParameters *SuggestedPostParameters `json:"suggested_post_parameters,omitempty"`
	ReplyParameters         *ReplyParameters         `json:"reply_parameters,omitempty"`
	ReplyMarkup             interface{}              `json:"reply_markup,omitempty"`
}

type SendDiceRequest

type SendDiceRequest struct {
	BusinessConnectionId    string                   `json:"business_connection_id,omitempty"`
	ChatId                  interface{}              `json:"chat_id"`
	MessageThreadId         int64                    `json:"message_thread_id,omitempty"`
	DirectMessagesTopicId   int64                    `json:"direct_messages_topic_id,omitempty"`
	Emoji                   string                   `json:"emoji,omitempty"`
	DisableNotification     bool                     `json:"disable_notification,omitempty"`
	ProtectContent          bool                     `json:"protect_content,omitempty"`
	AllowPaidBroadcast      bool                     `json:"allow_paid_broadcast,omitempty"`
	MessageEffectId         string                   `json:"message_effect_id,omitempty"`
	SuggestedPostParameters *SuggestedPostParameters `json:"suggested_post_parameters,omitempty"`
	ReplyParameters         *ReplyParameters         `json:"reply_parameters,omitempty"`
	ReplyMarkup             interface{}              `json:"reply_markup,omitempty"`
}

type SendDocumentRequest

type SendDocumentRequest struct {
	BusinessConnectionId        string                   `json:"business_connection_id,omitempty"`
	ChatId                      interface{}              `json:"chat_id"`
	MessageThreadId             int64                    `json:"message_thread_id,omitempty"`
	DirectMessagesTopicId       int64                    `json:"direct_messages_topic_id,omitempty"`
	Document                    InputFile                `json:"document"`
	Thumbnail                   InputFile                `json:"thumbnail,omitempty"`
	Caption                     string                   `json:"caption,omitempty"`
	ParseMode                   string                   `json:"parse_mode,omitempty"`
	CaptionEntities             []MessageEntity          `json:"caption_entities,omitempty"`
	DisableContentTypeDetection bool                     `json:"disable_content_type_detection,omitempty"`
	DisableNotification         bool                     `json:"disable_notification,omitempty"`
	ProtectContent              bool                     `json:"protect_content,omitempty"`
	AllowPaidBroadcast          bool                     `json:"allow_paid_broadcast,omitempty"`
	MessageEffectId             string                   `json:"message_effect_id,omitempty"`
	SuggestedPostParameters     *SuggestedPostParameters `json:"suggested_post_parameters,omitempty"`
	ReplyParameters             *ReplyParameters         `json:"reply_parameters,omitempty"`
	ReplyMarkup                 interface{}              `json:"reply_markup,omitempty"`
}

type SendGameRequest

type SendGameRequest struct {
	BusinessConnectionId string                `json:"business_connection_id,omitempty"`
	ChatId               int64                 `json:"chat_id"`
	MessageThreadId      int64                 `json:"message_thread_id,omitempty"`
	GameShortName        string                `json:"game_short_name"`
	DisableNotification  bool                  `json:"disable_notification,omitempty"`
	ProtectContent       bool                  `json:"protect_content,omitempty"`
	AllowPaidBroadcast   bool                  `json:"allow_paid_broadcast,omitempty"`
	MessageEffectId      string                `json:"message_effect_id,omitempty"`
	ReplyParameters      *ReplyParameters      `json:"reply_parameters,omitempty"`
	ReplyMarkup          *InlineKeyboardMarkup `json:"reply_markup,omitempty"`
}

type SendGiftRequest

type SendGiftRequest struct {
	UserId        int64           `json:"user_id,omitempty"`
	ChatId        interface{}     `json:"chat_id,omitempty"`
	GiftId        string          `json:"gift_id"`
	PayForUpgrade bool            `json:"pay_for_upgrade,omitempty"`
	Text          string          `json:"text,omitempty"`
	TextParseMode string          `json:"text_parse_mode,omitempty"`
	TextEntities  []MessageEntity `json:"text_entities,omitempty"`
}

type SendInvoiceRequest

type SendInvoiceRequest struct {
	ChatId                    interface{}              `json:"chat_id"`
	MessageThreadId           int64                    `json:"message_thread_id,omitempty"`
	DirectMessagesTopicId     int64                    `json:"direct_messages_topic_id,omitempty"`
	Title                     string                   `json:"title"`
	Description               string                   `json:"description"`
	Payload                   string                   `json:"payload"`
	ProviderToken             string                   `json:"provider_token,omitempty"`
	Currency                  string                   `json:"currency"`
	Prices                    []LabeledPrice           `json:"prices"`
	MaxTipAmount              int64                    `json:"max_tip_amount,omitempty"`
	SuggestedTipAmounts       []int64                  `json:"suggested_tip_amounts,omitempty"`
	StartParameter            string                   `json:"start_parameter,omitempty"`
	ProviderData              string                   `json:"provider_data,omitempty"`
	PhotoUrl                  string                   `json:"photo_url,omitempty"`
	PhotoSize                 int64                    `json:"photo_size,omitempty"`
	PhotoWidth                int64                    `json:"photo_width,omitempty"`
	PhotoHeight               int64                    `json:"photo_height,omitempty"`
	NeedName                  bool                     `json:"need_name,omitempty"`
	NeedPhoneNumber           bool                     `json:"need_phone_number,omitempty"`
	NeedEmail                 bool                     `json:"need_email,omitempty"`
	NeedShippingAddress       bool                     `json:"need_shipping_address,omitempty"`
	SendPhoneNumberToProvider bool                     `json:"send_phone_number_to_provider,omitempty"`
	SendEmailToProvider       bool                     `json:"send_email_to_provider,omitempty"`
	IsFlexible                bool                     `json:"is_flexible,omitempty"`
	DisableNotification       bool                     `json:"disable_notification,omitempty"`
	ProtectContent            bool                     `json:"protect_content,omitempty"`
	AllowPaidBroadcast        bool                     `json:"allow_paid_broadcast,omitempty"`
	MessageEffectId           string                   `json:"message_effect_id,omitempty"`
	SuggestedPostParameters   *SuggestedPostParameters `json:"suggested_post_parameters,omitempty"`
	ReplyParameters           *ReplyParameters         `json:"reply_parameters,omitempty"`
	ReplyMarkup               *InlineKeyboardMarkup    `json:"reply_markup,omitempty"`
}

type SendLocationRequest

type SendLocationRequest struct {
	BusinessConnectionId    string                   `json:"business_connection_id,omitempty"`
	ChatId                  interface{}              `json:"chat_id"`
	MessageThreadId         int64                    `json:"message_thread_id,omitempty"`
	DirectMessagesTopicId   int64                    `json:"direct_messages_topic_id,omitempty"`
	Latitude                float64                  `json:"latitude"`
	Longitude               float64                  `json:"longitude"`
	HorizontalAccuracy      float64                  `json:"horizontal_accuracy,omitempty"`
	LivePeriod              int64                    `json:"live_period,omitempty"`
	Heading                 int64                    `json:"heading,omitempty"`
	ProximityAlertRadius    int64                    `json:"proximity_alert_radius,omitempty"`
	DisableNotification     bool                     `json:"disable_notification,omitempty"`
	ProtectContent          bool                     `json:"protect_content,omitempty"`
	AllowPaidBroadcast      bool                     `json:"allow_paid_broadcast,omitempty"`
	MessageEffectId         string                   `json:"message_effect_id,omitempty"`
	SuggestedPostParameters *SuggestedPostParameters `json:"suggested_post_parameters,omitempty"`
	ReplyParameters         *ReplyParameters         `json:"reply_parameters,omitempty"`
	ReplyMarkup             interface{}              `json:"reply_markup,omitempty"`
}

type SendMediaGroupRequest

type SendMediaGroupRequest struct {
	BusinessConnectionId  string           `json:"business_connection_id,omitempty"`
	ChatId                interface{}      `json:"chat_id"`
	MessageThreadId       int64            `json:"message_thread_id,omitempty"`
	DirectMessagesTopicId int64            `json:"direct_messages_topic_id,omitempty"`
	Media                 interface{}      `json:"media"`
	DisableNotification   bool             `json:"disable_notification,omitempty"`
	ProtectContent        bool             `json:"protect_content,omitempty"`
	AllowPaidBroadcast    bool             `json:"allow_paid_broadcast,omitempty"`
	MessageEffectId       string           `json:"message_effect_id,omitempty"`
	ReplyParameters       *ReplyParameters `json:"reply_parameters,omitempty"`
}

type SendMessageRequest

type SendMessageRequest struct {
	BusinessConnectionId    string                   `json:"business_connection_id,omitempty"`
	ChatId                  interface{}              `json:"chat_id"`
	MessageThreadId         int64                    `json:"message_thread_id,omitempty"`
	DirectMessagesTopicId   int64                    `json:"direct_messages_topic_id,omitempty"`
	Text                    string                   `json:"text"`
	ParseMode               string                   `json:"parse_mode,omitempty"`
	Entities                []MessageEntity          `json:"entities,omitempty"`
	LinkPreviewOptions      *LinkPreviewOptions      `json:"link_preview_options,omitempty"`
	DisableNotification     bool                     `json:"disable_notification,omitempty"`
	ProtectContent          bool                     `json:"protect_content,omitempty"`
	AllowPaidBroadcast      bool                     `json:"allow_paid_broadcast,omitempty"`
	MessageEffectId         string                   `json:"message_effect_id,omitempty"`
	SuggestedPostParameters *SuggestedPostParameters `json:"suggested_post_parameters,omitempty"`
	ReplyParameters         *ReplyParameters         `json:"reply_parameters,omitempty"`
	ReplyMarkup             interface{}              `json:"reply_markup,omitempty"`
}

type SendPaidMediaRequest

type SendPaidMediaRequest struct {
	BusinessConnectionId    string                   `json:"business_connection_id,omitempty"`
	ChatId                  interface{}              `json:"chat_id"`
	MessageThreadId         int64                    `json:"message_thread_id,omitempty"`
	DirectMessagesTopicId   int64                    `json:"direct_messages_topic_id,omitempty"`
	StarCount               int64                    `json:"star_count"`
	Media                   []InputPaidMedia         `json:"media"`
	Payload                 string                   `json:"payload,omitempty"`
	Caption                 string                   `json:"caption,omitempty"`
	ParseMode               string                   `json:"parse_mode,omitempty"`
	CaptionEntities         []MessageEntity          `json:"caption_entities,omitempty"`
	ShowCaptionAboveMedia   bool                     `json:"show_caption_above_media,omitempty"`
	DisableNotification     bool                     `json:"disable_notification,omitempty"`
	ProtectContent          bool                     `json:"protect_content,omitempty"`
	AllowPaidBroadcast      bool                     `json:"allow_paid_broadcast,omitempty"`
	SuggestedPostParameters *SuggestedPostParameters `json:"suggested_post_parameters,omitempty"`
	ReplyParameters         *ReplyParameters         `json:"reply_parameters,omitempty"`
	ReplyMarkup             interface{}              `json:"reply_markup,omitempty"`
}

type SendPhotoRequest

type SendPhotoRequest struct {
	BusinessConnectionId    string                   `json:"business_connection_id,omitempty"`
	ChatId                  interface{}              `json:"chat_id"`
	MessageThreadId         int64                    `json:"message_thread_id,omitempty"`
	DirectMessagesTopicId   int64                    `json:"direct_messages_topic_id,omitempty"`
	Photo                   InputFile                `json:"photo"`
	Caption                 string                   `json:"caption,omitempty"`
	ParseMode               string                   `json:"parse_mode,omitempty"`
	CaptionEntities         []MessageEntity          `json:"caption_entities,omitempty"`
	ShowCaptionAboveMedia   bool                     `json:"show_caption_above_media,omitempty"`
	HasSpoiler              bool                     `json:"has_spoiler,omitempty"`
	DisableNotification     bool                     `json:"disable_notification,omitempty"`
	ProtectContent          bool                     `json:"protect_content,omitempty"`
	AllowPaidBroadcast      bool                     `json:"allow_paid_broadcast,omitempty"`
	MessageEffectId         string                   `json:"message_effect_id,omitempty"`
	SuggestedPostParameters *SuggestedPostParameters `json:"suggested_post_parameters,omitempty"`
	ReplyParameters         *ReplyParameters         `json:"reply_parameters,omitempty"`
	ReplyMarkup             interface{}              `json:"reply_markup,omitempty"`
}

type SendPollRequest

type SendPollRequest struct {
	BusinessConnectionId  string            `json:"business_connection_id,omitempty"`
	ChatId                interface{}       `json:"chat_id"`
	MessageThreadId       int64             `json:"message_thread_id,omitempty"`
	Question              string            `json:"question"`
	QuestionParseMode     string            `json:"question_parse_mode,omitempty"`
	QuestionEntities      []MessageEntity   `json:"question_entities,omitempty"`
	Options               []InputPollOption `json:"options"`
	IsAnonymous           bool              `json:"is_anonymous,omitempty"`
	Type                  string            `json:"type,omitempty"`
	AllowsMultipleAnswers bool              `json:"allows_multiple_answers,omitempty"`
	CorrectOptionId       int64             `json:"correct_option_id,omitempty"`
	Explanation           string            `json:"explanation,omitempty"`
	ExplanationParseMode  string            `json:"explanation_parse_mode,omitempty"`
	ExplanationEntities   []MessageEntity   `json:"explanation_entities,omitempty"`
	OpenPeriod            int64             `json:"open_period,omitempty"`
	CloseDate             int64             `json:"close_date,omitempty"`
	IsClosed              bool              `json:"is_closed,omitempty"`
	DisableNotification   bool              `json:"disable_notification,omitempty"`
	ProtectContent        bool              `json:"protect_content,omitempty"`
	AllowPaidBroadcast    bool              `json:"allow_paid_broadcast,omitempty"`
	MessageEffectId       string            `json:"message_effect_id,omitempty"`
	ReplyParameters       *ReplyParameters  `json:"reply_parameters,omitempty"`
	ReplyMarkup           interface{}       `json:"reply_markup,omitempty"`
}

type SendStickerRequest

type SendStickerRequest struct {
	BusinessConnectionId    string                   `json:"business_connection_id,omitempty"`
	ChatId                  interface{}              `json:"chat_id"`
	MessageThreadId         int64                    `json:"message_thread_id,omitempty"`
	DirectMessagesTopicId   int64                    `json:"direct_messages_topic_id,omitempty"`
	Sticker                 InputFile                `json:"sticker"`
	Emoji                   string                   `json:"emoji,omitempty"`
	DisableNotification     bool                     `json:"disable_notification,omitempty"`
	ProtectContent          bool                     `json:"protect_content,omitempty"`
	AllowPaidBroadcast      bool                     `json:"allow_paid_broadcast,omitempty"`
	MessageEffectId         string                   `json:"message_effect_id,omitempty"`
	SuggestedPostParameters *SuggestedPostParameters `json:"suggested_post_parameters,omitempty"`
	ReplyParameters         *ReplyParameters         `json:"reply_parameters,omitempty"`
	ReplyMarkup             interface{}              `json:"reply_markup,omitempty"`
}

type SendVenueRequest

type SendVenueRequest struct {
	BusinessConnectionId    string                   `json:"business_connection_id,omitempty"`
	ChatId                  interface{}              `json:"chat_id"`
	MessageThreadId         int64                    `json:"message_thread_id,omitempty"`
	DirectMessagesTopicId   int64                    `json:"direct_messages_topic_id,omitempty"`
	Latitude                float64                  `json:"latitude"`
	Longitude               float64                  `json:"longitude"`
	Title                   string                   `json:"title"`
	Address                 string                   `json:"address"`
	FoursquareId            string                   `json:"foursquare_id,omitempty"`
	FoursquareType          string                   `json:"foursquare_type,omitempty"`
	GooglePlaceId           string                   `json:"google_place_id,omitempty"`
	GooglePlaceType         string                   `json:"google_place_type,omitempty"`
	DisableNotification     bool                     `json:"disable_notification,omitempty"`
	ProtectContent          bool                     `json:"protect_content,omitempty"`
	AllowPaidBroadcast      bool                     `json:"allow_paid_broadcast,omitempty"`
	MessageEffectId         string                   `json:"message_effect_id,omitempty"`
	SuggestedPostParameters *SuggestedPostParameters `json:"suggested_post_parameters,omitempty"`
	ReplyParameters         *ReplyParameters         `json:"reply_parameters,omitempty"`
	ReplyMarkup             interface{}              `json:"reply_markup,omitempty"`
}

type SendVideoNoteRequest

type SendVideoNoteRequest struct {
	BusinessConnectionId    string                   `json:"business_connection_id,omitempty"`
	ChatId                  interface{}              `json:"chat_id"`
	MessageThreadId         int64                    `json:"message_thread_id,omitempty"`
	DirectMessagesTopicId   int64                    `json:"direct_messages_topic_id,omitempty"`
	VideoNote               InputFile                `json:"video_note"`
	Duration                int64                    `json:"duration,omitempty"`
	Length                  int64                    `json:"length,omitempty"`
	Thumbnail               InputFile                `json:"thumbnail,omitempty"`
	DisableNotification     bool                     `json:"disable_notification,omitempty"`
	ProtectContent          bool                     `json:"protect_content,omitempty"`
	AllowPaidBroadcast      bool                     `json:"allow_paid_broadcast,omitempty"`
	MessageEffectId         string                   `json:"message_effect_id,omitempty"`
	SuggestedPostParameters *SuggestedPostParameters `json:"suggested_post_parameters,omitempty"`
	ReplyParameters         *ReplyParameters         `json:"reply_parameters,omitempty"`
	ReplyMarkup             interface{}              `json:"reply_markup,omitempty"`
}

type SendVideoRequest

type SendVideoRequest struct {
	BusinessConnectionId    string                   `json:"business_connection_id,omitempty"`
	ChatId                  interface{}              `json:"chat_id"`
	MessageThreadId         int64                    `json:"message_thread_id,omitempty"`
	DirectMessagesTopicId   int64                    `json:"direct_messages_topic_id,omitempty"`
	Video                   InputFile                `json:"video"`
	Duration                int64                    `json:"duration,omitempty"`
	Width                   int64                    `json:"width,omitempty"`
	Height                  int64                    `json:"height,omitempty"`
	Thumbnail               InputFile                `json:"thumbnail,omitempty"`
	Cover                   InputFile                `json:"cover,omitempty"`
	StartTimestamp          int64                    `json:"start_timestamp,omitempty"`
	Caption                 string                   `json:"caption,omitempty"`
	ParseMode               string                   `json:"parse_mode,omitempty"`
	CaptionEntities         []MessageEntity          `json:"caption_entities,omitempty"`
	ShowCaptionAboveMedia   bool                     `json:"show_caption_above_media,omitempty"`
	HasSpoiler              bool                     `json:"has_spoiler,omitempty"`
	SupportsStreaming       bool                     `json:"supports_streaming,omitempty"`
	DisableNotification     bool                     `json:"disable_notification,omitempty"`
	ProtectContent          bool                     `json:"protect_content,omitempty"`
	AllowPaidBroadcast      bool                     `json:"allow_paid_broadcast,omitempty"`
	MessageEffectId         string                   `json:"message_effect_id,omitempty"`
	SuggestedPostParameters *SuggestedPostParameters `json:"suggested_post_parameters,omitempty"`
	ReplyParameters         *ReplyParameters         `json:"reply_parameters,omitempty"`
	ReplyMarkup             interface{}              `json:"reply_markup,omitempty"`
}

type SendVoiceRequest

type SendVoiceRequest struct {
	BusinessConnectionId    string                   `json:"business_connection_id,omitempty"`
	ChatId                  interface{}              `json:"chat_id"`
	MessageThreadId         int64                    `json:"message_thread_id,omitempty"`
	DirectMessagesTopicId   int64                    `json:"direct_messages_topic_id,omitempty"`
	Voice                   InputFile                `json:"voice"`
	Caption                 string                   `json:"caption,omitempty"`
	ParseMode               string                   `json:"parse_mode,omitempty"`
	CaptionEntities         []MessageEntity          `json:"caption_entities,omitempty"`
	Duration                int64                    `json:"duration,omitempty"`
	DisableNotification     bool                     `json:"disable_notification,omitempty"`
	ProtectContent          bool                     `json:"protect_content,omitempty"`
	AllowPaidBroadcast      bool                     `json:"allow_paid_broadcast,omitempty"`
	MessageEffectId         string                   `json:"message_effect_id,omitempty"`
	SuggestedPostParameters *SuggestedPostParameters `json:"suggested_post_parameters,omitempty"`
	ReplyParameters         *ReplyParameters         `json:"reply_parameters,omitempty"`
	ReplyMarkup             interface{}              `json:"reply_markup,omitempty"`
}

type SentWebAppMessage

type SentWebAppMessage struct {
	InlineMessageId string `json:"inline_message_id,omitempty"`
}

type SetBusinessAccountBioRequest

type SetBusinessAccountBioRequest struct {
	BusinessConnectionId string `json:"business_connection_id"`
	Bio                  string `json:"bio,omitempty"`
}

type SetBusinessAccountGiftSettingsRequest

type SetBusinessAccountGiftSettingsRequest struct {
	BusinessConnectionId string             `json:"business_connection_id"`
	ShowGiftButton       bool               `json:"show_gift_button"`
	AcceptedGiftTypes    *AcceptedGiftTypes `json:"accepted_gift_types"`
}

type SetBusinessAccountNameRequest

type SetBusinessAccountNameRequest struct {
	BusinessConnectionId string `json:"business_connection_id"`
	FirstName            string `json:"first_name"`
	LastName             string `json:"last_name,omitempty"`
}

type SetBusinessAccountProfilePhotoRequest

type SetBusinessAccountProfilePhotoRequest struct {
	BusinessConnectionId string            `json:"business_connection_id"`
	Photo                InputProfilePhoto `json:"photo"`
	IsPublic             bool              `json:"is_public,omitempty"`
}

type SetBusinessAccountUsernameRequest

type SetBusinessAccountUsernameRequest struct {
	BusinessConnectionId string `json:"business_connection_id"`
	Username             string `json:"username,omitempty"`
}

type SetChatAdministratorCustomTitleRequest

type SetChatAdministratorCustomTitleRequest struct {
	ChatId      interface{} `json:"chat_id"`
	UserId      int64       `json:"user_id"`
	CustomTitle string      `json:"custom_title"`
}

type SetChatDescriptionRequest

type SetChatDescriptionRequest struct {
	ChatId      interface{} `json:"chat_id"`
	Description string      `json:"description,omitempty"`
}

type SetChatMenuButtonRequest

type SetChatMenuButtonRequest struct {
	ChatId     int64      `json:"chat_id,omitempty"`
	MenuButton MenuButton `json:"menu_button,omitempty"`
}

type SetChatPermissionsRequest

type SetChatPermissionsRequest struct {
	ChatId                        interface{}      `json:"chat_id"`
	Permissions                   *ChatPermissions `json:"permissions"`
	UseIndependentChatPermissions bool             `json:"use_independent_chat_permissions,omitempty"`
}

type SetChatPhotoRequest

type SetChatPhotoRequest struct {
	ChatId interface{} `json:"chat_id"`
	Photo  InputFile   `json:"photo"`
}

type SetChatStickerSetRequest

type SetChatStickerSetRequest struct {
	ChatId         interface{} `json:"chat_id"`
	StickerSetName string      `json:"sticker_set_name"`
}

type SetChatTitleRequest

type SetChatTitleRequest struct {
	ChatId interface{} `json:"chat_id"`
	Title  string      `json:"title"`
}

type SetCustomEmojiStickerSetThumbnailRequest

type SetCustomEmojiStickerSetThumbnailRequest struct {
	Name          string `json:"name"`
	CustomEmojiId string `json:"custom_emoji_id,omitempty"`
}

type SetGameScoreRequest

type SetGameScoreRequest struct {
	UserId             int64  `json:"user_id"`
	Score              int64  `json:"score"`
	Force              bool   `json:"force,omitempty"`
	DisableEditMessage bool   `json:"disable_edit_message,omitempty"`
	ChatId             int64  `json:"chat_id,omitempty"`
	MessageId          int64  `json:"message_id,omitempty"`
	InlineMessageId    string `json:"inline_message_id,omitempty"`
}

type SetMessageReactionRequest

type SetMessageReactionRequest struct {
	ChatId    interface{}    `json:"chat_id"`
	MessageId int64          `json:"message_id"`
	Reaction  []ReactionType `json:"reaction,omitempty"`
	IsBig     bool           `json:"is_big,omitempty"`
}

type SetMyCommandsRequest

type SetMyCommandsRequest struct {
	Commands     []BotCommand    `json:"commands"`
	Scope        BotCommandScope `json:"scope,omitempty"`
	LanguageCode string          `json:"language_code,omitempty"`
}

type SetMyDefaultAdministratorRightsRequest

type SetMyDefaultAdministratorRightsRequest struct {
	Rights      *ChatAdministratorRights `json:"rights,omitempty"`
	ForChannels bool                     `json:"for_channels,omitempty"`
}

type SetMyDescriptionRequest

type SetMyDescriptionRequest struct {
	Description  string `json:"description,omitempty"`
	LanguageCode string `json:"language_code,omitempty"`
}

type SetMyNameRequest

type SetMyNameRequest struct {
	Name         string `json:"name,omitempty"`
	LanguageCode string `json:"language_code,omitempty"`
}

type SetMyShortDescriptionRequest

type SetMyShortDescriptionRequest struct {
	ShortDescription string `json:"short_description,omitempty"`
	LanguageCode     string `json:"language_code,omitempty"`
}

type SetPassportDataErrorsRequest

type SetPassportDataErrorsRequest struct {
	UserId int64                  `json:"user_id"`
	Errors []PassportElementError `json:"errors"`
}

type SetStickerEmojiListRequest

type SetStickerEmojiListRequest struct {
	Sticker   string   `json:"sticker"`
	EmojiList []string `json:"emoji_list"`
}

type SetStickerKeywordsRequest

type SetStickerKeywordsRequest struct {
	Sticker  string   `json:"sticker"`
	Keywords []string `json:"keywords,omitempty"`
}

type SetStickerMaskPositionRequest

type SetStickerMaskPositionRequest struct {
	Sticker      string        `json:"sticker"`
	MaskPosition *MaskPosition `json:"mask_position,omitempty"`
}

type SetStickerPositionInSetRequest

type SetStickerPositionInSetRequest struct {
	Sticker  string `json:"sticker"`
	Position int64  `json:"position"`
}

type SetStickerSetThumbnailRequest

type SetStickerSetThumbnailRequest struct {
	Name      string    `json:"name"`
	UserId    int64     `json:"user_id"`
	Thumbnail InputFile `json:"thumbnail,omitempty"`
	Format    string    `json:"format"`
}

type SetStickerSetTitleRequest

type SetStickerSetTitleRequest struct {
	Name  string `json:"name"`
	Title string `json:"title"`
}

type SetUserEmojiStatusRequest

type SetUserEmojiStatusRequest struct {
	UserId                    int64  `json:"user_id"`
	EmojiStatusCustomEmojiId  string `json:"emoji_status_custom_emoji_id,omitempty"`
	EmojiStatusExpirationDate int64  `json:"emoji_status_expiration_date,omitempty"`
}

type SetWebhookRequest

type SetWebhookRequest struct {
	Url                string    `json:"url"`
	Certificate        InputFile `json:"certificate,omitempty"`
	IpAddress          string    `json:"ip_address,omitempty"`
	MaxConnections     int64     `json:"max_connections,omitempty"`
	AllowedUpdates     []string  `json:"allowed_updates,omitempty"`
	DropPendingUpdates bool      `json:"drop_pending_updates,omitempty"`
	SecretToken        string    `json:"secret_token,omitempty"`
}

type SharedUser

type SharedUser struct {
	UserId    int64       `json:"user_id"`
	FirstName string      `json:"first_name,omitempty"`
	LastName  string      `json:"last_name,omitempty"`
	Username  string      `json:"username,omitempty"`
	Photo     []PhotoSize `json:"photo,omitempty"`
}

type ShippingAddress

type ShippingAddress struct {
	CountryCode string `json:"country_code"`
	State       string `json:"state"`
	City        string `json:"city"`
	StreetLine1 string `json:"street_line1"`
	StreetLine2 string `json:"street_line2"`
	PostCode    string `json:"post_code"`
}

type ShippingOption

type ShippingOption struct {
	Id     string         `json:"id"`
	Title  string         `json:"title"`
	Prices []LabeledPrice `json:"prices"`
}

type ShippingQuery

type ShippingQuery struct {
	Id              string           `json:"id"`
	From            *User            `json:"from"`
	InvoicePayload  string           `json:"invoice_payload"`
	ShippingAddress *ShippingAddress `json:"shipping_address"`
}

type StarAmount

type StarAmount struct {
	Amount         int64 `json:"amount"`
	NanostarAmount int64 `json:"nanostar_amount,omitempty"`
}

type StarTransaction

type StarTransaction struct {
	Id             string              `json:"id"`
	Amount         int64               `json:"amount"`
	NanostarAmount int64               `json:"nanostar_amount,omitempty"`
	Date           int64               `json:"date"`
	Source         *TransactionPartner `json:"source,omitempty"`
	Receiver       *TransactionPartner `json:"receiver,omitempty"`
}

type StarTransactions

type StarTransactions struct {
	Transactions []StarTransaction `json:"transactions"`
}

type Sticker

type Sticker struct {
	FileId           string        `json:"file_id"`
	FileUniqueId     string        `json:"file_unique_id"`
	Type             string        `json:"type"`
	Width            int64         `json:"width"`
	Height           int64         `json:"height"`
	IsAnimated       bool          `json:"is_animated"`
	IsVideo          bool          `json:"is_video"`
	Thumbnail        *PhotoSize    `json:"thumbnail,omitempty"`
	Emoji            string        `json:"emoji,omitempty"`
	SetName          string        `json:"set_name,omitempty"`
	PremiumAnimation *File         `json:"premium_animation,omitempty"`
	MaskPosition     *MaskPosition `json:"mask_position,omitempty"`
	CustomEmojiId    string        `json:"custom_emoji_id,omitempty"`
	NeedsRepainting  bool          `json:"needs_repainting,omitempty"`
	FileSize         int64         `json:"file_size,omitempty"`
}

type StickerSet

type StickerSet struct {
	Name        string     `json:"name"`
	Title       string     `json:"title"`
	StickerType string     `json:"sticker_type"`
	Stickers    []Sticker  `json:"stickers"`
	Thumbnail   *PhotoSize `json:"thumbnail,omitempty"`
}

type StopMessageLiveLocationRequest

type StopMessageLiveLocationRequest struct {
	BusinessConnectionId string                `json:"business_connection_id,omitempty"`
	ChatId               interface{}           `json:"chat_id,omitempty"`
	MessageId            int64                 `json:"message_id,omitempty"`
	InlineMessageId      string                `json:"inline_message_id,omitempty"`
	ReplyMarkup          *InlineKeyboardMarkup `json:"reply_markup,omitempty"`
}

type StopPollRequest

type StopPollRequest struct {
	BusinessConnectionId string                `json:"business_connection_id,omitempty"`
	ChatId               interface{}           `json:"chat_id"`
	MessageId            int64                 `json:"message_id"`
	ReplyMarkup          *InlineKeyboardMarkup `json:"reply_markup,omitempty"`
}

type Story

type Story struct {
	Chat *Chat `json:"chat"`
	Id   int64 `json:"id"`
}

type StoryArea

type StoryArea struct {
	Position *StoryAreaPosition `json:"position"`
	Type     *StoryAreaType     `json:"type"`
}

type StoryAreaPosition

type StoryAreaPosition struct {
	XPercentage            float64 `json:"x_percentage"`
	YPercentage            float64 `json:"y_percentage"`
	WidthPercentage        float64 `json:"width_percentage"`
	HeightPercentage       float64 `json:"height_percentage"`
	RotationAngle          float64 `json:"rotation_angle"`
	CornerRadiusPercentage float64 `json:"corner_radius_percentage"`
}

type StoryAreaType

type StoryAreaType struct {
	Type StoryAreaTypeType

	StoryAreaTypeLocation          *StoryAreaTypeLocation
	StoryAreaTypeSuggestedReaction *StoryAreaTypeSuggestedReaction
	StoryAreaTypeLink              *StoryAreaTypeLink
	StoryAreaTypeWeather           *StoryAreaTypeWeather
	StoryAreaTypeUniqueGift        *StoryAreaTypeUniqueGift
}

contains subtypes

func (*StoryAreaType) MarshalJSON

func (sat *StoryAreaType) MarshalJSON() ([]byte, error)

func (*StoryAreaType) UnmarshalJSON

func (sat *StoryAreaType) UnmarshalJSON(data []byte) error
type StoryAreaTypeLink struct {
	Type string `json:"type"`
	Url  string `json:"url"`
}

type StoryAreaTypeLocation

type StoryAreaTypeLocation struct {
	Type      string           `json:"type"`
	Latitude  float64          `json:"latitude"`
	Longitude float64          `json:"longitude"`
	Address   *LocationAddress `json:"address,omitempty"`
}

type StoryAreaTypeSuggestedReaction

type StoryAreaTypeSuggestedReaction struct {
	Type         string        `json:"type"`
	ReactionType *ReactionType `json:"reaction_type"`
	IsDark       bool          `json:"is_dark,omitempty"`
	IsFlipped    bool          `json:"is_flipped,omitempty"`
}

type StoryAreaTypeType

type StoryAreaTypeType int
const (
	StoryAreaTypeTypeStoryAreaTypeLocation StoryAreaTypeType = iota
	StoryAreaTypeTypeStoryAreaTypeSuggestedReaction
	StoryAreaTypeTypeStoryAreaTypeLink
	StoryAreaTypeTypeStoryAreaTypeWeather
	StoryAreaTypeTypeStoryAreaTypeUniqueGift
)

type StoryAreaTypeUniqueGift

type StoryAreaTypeUniqueGift struct {
	Type string `json:"type"`
	Name string `json:"name"`
}

type StoryAreaTypeWeather

type StoryAreaTypeWeather struct {
	Type            string  `json:"type"`
	Temperature     float64 `json:"temperature"`
	Emoji           string  `json:"emoji"`
	BackgroundColor int64   `json:"background_color"`
}

type SuccessfulPayment

type SuccessfulPayment struct {
	Currency                   string     `json:"currency"`
	TotalAmount                int64      `json:"total_amount"`
	InvoicePayload             string     `json:"invoice_payload"`
	SubscriptionExpirationDate int64      `json:"subscription_expiration_date,omitempty"`
	IsRecurring                bool       `json:"is_recurring,omitempty"`
	IsFirstRecurring           bool       `json:"is_first_recurring,omitempty"`
	ShippingOptionId           string     `json:"shipping_option_id,omitempty"`
	OrderInfo                  *OrderInfo `json:"order_info,omitempty"`
	TelegramPaymentChargeId    string     `json:"telegram_payment_charge_id"`
	ProviderPaymentChargeId    string     `json:"provider_payment_charge_id"`
}

type SuggestedPostApprovalFailed

type SuggestedPostApprovalFailed struct {
	SuggestedPostMessage *Message            `json:"suggested_post_message,omitempty"`
	Price                *SuggestedPostPrice `json:"price"`
}

type SuggestedPostApproved

type SuggestedPostApproved struct {
	SuggestedPostMessage *Message            `json:"suggested_post_message,omitempty"`
	Price                *SuggestedPostPrice `json:"price,omitempty"`
	SendDate             int64               `json:"send_date"`
}

type SuggestedPostDeclined

type SuggestedPostDeclined struct {
	SuggestedPostMessage *Message `json:"suggested_post_message,omitempty"`
	Comment              string   `json:"comment,omitempty"`
}

type SuggestedPostInfo

type SuggestedPostInfo struct {
	State    string              `json:"state"`
	Price    *SuggestedPostPrice `json:"price,omitempty"`
	SendDate int64               `json:"send_date,omitempty"`
}

type SuggestedPostPaid

type SuggestedPostPaid struct {
	SuggestedPostMessage *Message    `json:"suggested_post_message,omitempty"`
	Currency             string      `json:"currency"`
	Amount               int64       `json:"amount,omitempty"`
	StarAmount           *StarAmount `json:"star_amount,omitempty"`
}

type SuggestedPostParameters

type SuggestedPostParameters struct {
	Price    *SuggestedPostPrice `json:"price,omitempty"`
	SendDate int64               `json:"send_date,omitempty"`
}

type SuggestedPostPrice

type SuggestedPostPrice struct {
	Currency string `json:"currency"`
	Amount   int64  `json:"amount"`
}

type SuggestedPostRefunded

type SuggestedPostRefunded struct {
	SuggestedPostMessage *Message `json:"suggested_post_message,omitempty"`
	Reason               string   `json:"reason"`
}

type SwitchInlineQueryChosenChat

type SwitchInlineQueryChosenChat struct {
	Query             string `json:"query,omitempty"`
	AllowUserChats    bool   `json:"allow_user_chats,omitempty"`
	AllowBotChats     bool   `json:"allow_bot_chats,omitempty"`
	AllowGroupChats   bool   `json:"allow_group_chats,omitempty"`
	AllowChannelChats bool   `json:"allow_channel_chats,omitempty"`
}

type TextQuote

type TextQuote struct {
	Text     string          `json:"text"`
	Entities []MessageEntity `json:"entities,omitempty"`
	Position int64           `json:"position"`
	IsManual bool            `json:"is_manual,omitempty"`
}

type TransactionPartner

type TransactionPartner struct {
	Type TransactionPartnerType

	TransactionPartnerUser             *TransactionPartnerUser
	TransactionPartnerChat             *TransactionPartnerChat
	TransactionPartnerAffiliateProgram *TransactionPartnerAffiliateProgram
	TransactionPartnerFragment         *TransactionPartnerFragment
	TransactionPartnerTelegramAds      *TransactionPartnerTelegramAds
	TransactionPartnerTelegramApi      *TransactionPartnerTelegramApi
	TransactionPartnerOther            *TransactionPartnerOther
}

contains subtypes

func (*TransactionPartner) MarshalJSON

func (tp *TransactionPartner) MarshalJSON() ([]byte, error)

func (*TransactionPartner) UnmarshalJSON

func (tp *TransactionPartner) UnmarshalJSON(data []byte) error

type TransactionPartnerAffiliateProgram

type TransactionPartnerAffiliateProgram struct {
	Type               string `json:"type"`
	SponsorUser        *User  `json:"sponsor_user,omitempty"`
	CommissionPerMille int64  `json:"commission_per_mille"`
}

type TransactionPartnerChat

type TransactionPartnerChat struct {
	Type string `json:"type"`
	Chat *Chat  `json:"chat"`
	Gift *Gift  `json:"gift,omitempty"`
}

type TransactionPartnerFragment

type TransactionPartnerFragment struct {
	Type            string                  `json:"type"`
	WithdrawalState *RevenueWithdrawalState `json:"withdrawal_state,omitempty"`
}

type TransactionPartnerOther

type TransactionPartnerOther struct {
	Type string `json:"type"`
}

type TransactionPartnerTelegramAds

type TransactionPartnerTelegramAds struct {
	Type string `json:"type"`
}

type TransactionPartnerTelegramApi

type TransactionPartnerTelegramApi struct {
	Type         string `json:"type"`
	RequestCount int64  `json:"request_count"`
}

type TransactionPartnerType

type TransactionPartnerType int
const (
	TransactionPartnerTypeTransactionPartnerUser TransactionPartnerType = iota
	TransactionPartnerTypeTransactionPartnerChat
	TransactionPartnerTypeTransactionPartnerAffiliateProgram
	TransactionPartnerTypeTransactionPartnerFragment
	TransactionPartnerTypeTransactionPartnerTelegramAds
	TransactionPartnerTypeTransactionPartnerTelegramApi
	TransactionPartnerTypeTransactionPartnerOther
)

type TransactionPartnerUser

type TransactionPartnerUser struct {
	Type                        string         `json:"type"`
	TransactionType             string         `json:"transaction_type"`
	User                        *User          `json:"user"`
	Affiliate                   *AffiliateInfo `json:"affiliate,omitempty"`
	InvoicePayload              string         `json:"invoice_payload,omitempty"`
	SubscriptionPeriod          int64          `json:"subscription_period,omitempty"`
	PaidMedia                   []PaidMedia    `json:"paid_media,omitempty"`
	PaidMediaPayload            string         `json:"paid_media_payload,omitempty"`
	Gift                        *Gift          `json:"gift,omitempty"`
	PremiumSubscriptionDuration int64          `json:"premium_subscription_duration,omitempty"`
}

type TransferBusinessAccountStarsRequest

type TransferBusinessAccountStarsRequest struct {
	BusinessConnectionId string `json:"business_connection_id"`
	StarCount            int64  `json:"star_count"`
}

type TransferGiftRequest

type TransferGiftRequest struct {
	BusinessConnectionId string `json:"business_connection_id"`
	OwnedGiftId          string `json:"owned_gift_id"`
	NewOwnerChatId       int64  `json:"new_owner_chat_id"`
	StarCount            int64  `json:"star_count,omitempty"`
}

type UnbanChatMemberRequest

type UnbanChatMemberRequest struct {
	ChatId       interface{} `json:"chat_id"`
	UserId       int64       `json:"user_id"`
	OnlyIfBanned bool        `json:"only_if_banned,omitempty"`
}

type UnbanChatSenderChatRequest

type UnbanChatSenderChatRequest struct {
	ChatId       interface{} `json:"chat_id"`
	SenderChatId int64       `json:"sender_chat_id"`
}

type UnhideGeneralForumTopicRequest

type UnhideGeneralForumTopicRequest struct {
	ChatId interface{} `json:"chat_id"`
}

type UnionConfig

type UnionConfig[T any] struct {
	TypeField   *T
	TypeValue   T
	TargetField any
	Rules       []FieldRule
}

type UniqueGift

type UniqueGift struct {
	BaseName      string              `json:"base_name"`
	Name          string              `json:"name"`
	Number        int64               `json:"number"`
	Model         *UniqueGiftModel    `json:"model"`
	Symbol        *UniqueGiftSymbol   `json:"symbol"`
	Backdrop      *UniqueGiftBackdrop `json:"backdrop"`
	PublisherChat *Chat               `json:"publisher_chat,omitempty"`
}

type UniqueGiftBackdrop

type UniqueGiftBackdrop struct {
	Name           string                    `json:"name"`
	Colors         *UniqueGiftBackdropColors `json:"colors"`
	RarityPerMille int64                     `json:"rarity_per_mille"`
}

type UniqueGiftBackdropColors

type UniqueGiftBackdropColors struct {
	CenterColor int64 `json:"center_color"`
	EdgeColor   int64 `json:"edge_color"`
	SymbolColor int64 `json:"symbol_color"`
	TextColor   int64 `json:"text_color"`
}

type UniqueGiftInfo

type UniqueGiftInfo struct {
	Gift                *UniqueGift `json:"gift"`
	Origin              string      `json:"origin"`
	LastResaleStarCount int64       `json:"last_resale_star_count,omitempty"`
	OwnedGiftId         string      `json:"owned_gift_id,omitempty"`
	TransferStarCount   int64       `json:"transfer_star_count,omitempty"`
	NextTransferDate    int64       `json:"next_transfer_date,omitempty"`
}

type UniqueGiftModel

type UniqueGiftModel struct {
	Name           string   `json:"name"`
	Sticker        *Sticker `json:"sticker"`
	RarityPerMille int64    `json:"rarity_per_mille"`
}

type UniqueGiftSymbol

type UniqueGiftSymbol struct {
	Name           string   `json:"name"`
	Sticker        *Sticker `json:"sticker"`
	RarityPerMille int64    `json:"rarity_per_mille"`
}

type UnpinAllChatMessagesRequest

type UnpinAllChatMessagesRequest struct {
	ChatId interface{} `json:"chat_id"`
}

type UnpinAllForumTopicMessagesRequest

type UnpinAllForumTopicMessagesRequest struct {
	ChatId          interface{} `json:"chat_id"`
	MessageThreadId int64       `json:"message_thread_id"`
}

type UnpinAllGeneralForumTopicMessagesRequest

type UnpinAllGeneralForumTopicMessagesRequest struct {
	ChatId interface{} `json:"chat_id"`
}

type UnpinChatMessageRequest

type UnpinChatMessageRequest struct {
	BusinessConnectionId string      `json:"business_connection_id,omitempty"`
	ChatId               interface{} `json:"chat_id"`
	MessageId            int64       `json:"message_id,omitempty"`
}

type Update

type Update struct {
	UpdateId                int64                        `json:"update_id"`
	Message                 *Message                     `json:"message,omitempty"`
	EditedMessage           *Message                     `json:"edited_message,omitempty"`
	ChannelPost             *Message                     `json:"channel_post,omitempty"`
	EditedChannelPost       *Message                     `json:"edited_channel_post,omitempty"`
	BusinessConnection      *BusinessConnection          `json:"business_connection,omitempty"`
	BusinessMessage         *Message                     `json:"business_message,omitempty"`
	EditedBusinessMessage   *Message                     `json:"edited_business_message,omitempty"`
	DeletedBusinessMessages *BusinessMessagesDeleted     `json:"deleted_business_messages,omitempty"`
	MessageReaction         *MessageReactionUpdated      `json:"message_reaction,omitempty"`
	MessageReactionCount    *MessageReactionCountUpdated `json:"message_reaction_count,omitempty"`
	InlineQuery             *InlineQuery                 `json:"inline_query,omitempty"`
	ChosenInlineResult      *ChosenInlineResult          `json:"chosen_inline_result,omitempty"`
	CallbackQuery           *CallbackQuery               `json:"callback_query,omitempty"`
	ShippingQuery           *ShippingQuery               `json:"shipping_query,omitempty"`
	PreCheckoutQuery        *PreCheckoutQuery            `json:"pre_checkout_query,omitempty"`
	PurchasedPaidMedia      *PaidMediaPurchased          `json:"purchased_paid_media,omitempty"`
	Poll                    *Poll                        `json:"poll,omitempty"`
	PollAnswer              *PollAnswer                  `json:"poll_answer,omitempty"`
	MyChatMember            *ChatMemberUpdated           `json:"my_chat_member,omitempty"`
	ChatMember              *ChatMemberUpdated           `json:"chat_member,omitempty"`
	ChatJoinRequest         *ChatJoinRequest             `json:"chat_join_request,omitempty"`
	ChatBoost               *ChatBoostUpdated            `json:"chat_boost,omitempty"`
	RemovedChatBoost        *ChatBoostRemoved            `json:"removed_chat_boost,omitempty"`
}

type UpgradeGiftRequest

type UpgradeGiftRequest struct {
	BusinessConnectionId string `json:"business_connection_id"`
	OwnedGiftId          string `json:"owned_gift_id"`
	KeepOriginalDetails  bool   `json:"keep_original_details,omitempty"`
	StarCount            int64  `json:"star_count,omitempty"`
}

type UploadStickerFileRequest

type UploadStickerFileRequest struct {
	UserId        int64     `json:"user_id"`
	Sticker       InputFile `json:"sticker"`
	StickerFormat string    `json:"sticker_format"`
}

type User

type User struct {
	Id                      int64  `json:"id"`
	IsBot                   bool   `json:"is_bot"`
	FirstName               string `json:"first_name"`
	LastName                string `json:"last_name,omitempty"`
	Username                string `json:"username,omitempty"`
	LanguageCode            string `json:"language_code,omitempty"`
	IsPremium               bool   `json:"is_premium,omitempty"`
	AddedToAttachmentMenu   bool   `json:"added_to_attachment_menu,omitempty"`
	CanJoinGroups           bool   `json:"can_join_groups,omitempty"`
	CanReadAllGroupMessages bool   `json:"can_read_all_group_messages,omitempty"`
	SupportsInlineQueries   bool   `json:"supports_inline_queries,omitempty"`
	CanConnectToBusiness    bool   `json:"can_connect_to_business,omitempty"`
	HasMainWebApp           bool   `json:"has_main_web_app,omitempty"`
}

type UserChatBoosts

type UserChatBoosts struct {
	Boosts []ChatBoost `json:"boosts"`
}

type UserProfilePhotos

type UserProfilePhotos struct {
	TotalCount int64         `json:"total_count"`
	Photos     [][]PhotoSize `json:"photos"`
}

type UsersShared

type UsersShared struct {
	RequestId int64        `json:"request_id"`
	Users     []SharedUser `json:"users"`
}

type Venue

type Venue struct {
	Location        *Location `json:"location"`
	Title           string    `json:"title"`
	Address         string    `json:"address"`
	FoursquareId    string    `json:"foursquare_id,omitempty"`
	FoursquareType  string    `json:"foursquare_type,omitempty"`
	GooglePlaceId   string    `json:"google_place_id,omitempty"`
	GooglePlaceType string    `json:"google_place_type,omitempty"`
}

type VerifyChatRequest

type VerifyChatRequest struct {
	ChatId            interface{} `json:"chat_id"`
	CustomDescription string      `json:"custom_description,omitempty"`
}

type VerifyUserRequest

type VerifyUserRequest struct {
	UserId            int64  `json:"user_id"`
	CustomDescription string `json:"custom_description,omitempty"`
}

type Video

type Video struct {
	FileId         string      `json:"file_id"`
	FileUniqueId   string      `json:"file_unique_id"`
	Width          int64       `json:"width"`
	Height         int64       `json:"height"`
	Duration       int64       `json:"duration"`
	Thumbnail      *PhotoSize  `json:"thumbnail,omitempty"`
	Cover          []PhotoSize `json:"cover,omitempty"`
	StartTimestamp int64       `json:"start_timestamp,omitempty"`
	FileName       string      `json:"file_name,omitempty"`
	MimeType       string      `json:"mime_type,omitempty"`
	FileSize       int64       `json:"file_size,omitempty"`
}

type VideoChatEnded

type VideoChatEnded struct {
	Duration int64 `json:"duration"`
}

type VideoChatParticipantsInvited

type VideoChatParticipantsInvited struct {
	Users []User `json:"users"`
}

type VideoChatScheduled

type VideoChatScheduled struct {
	StartDate int64 `json:"start_date"`
}

type VideoChatStarted

type VideoChatStarted struct{}

type VideoNote

type VideoNote struct {
	FileId       string     `json:"file_id"`
	FileUniqueId string     `json:"file_unique_id"`
	Length       int64      `json:"length"`
	Duration     int64      `json:"duration"`
	Thumbnail    *PhotoSize `json:"thumbnail,omitempty"`
	FileSize     int64      `json:"file_size,omitempty"`
}

type Voice

type Voice struct {
	FileId       string `json:"file_id"`
	FileUniqueId string `json:"file_unique_id"`
	Duration     int64  `json:"duration"`
	MimeType     string `json:"mime_type,omitempty"`
	FileSize     int64  `json:"file_size,omitempty"`
}

type WebAppData

type WebAppData struct {
	Data       string `json:"data"`
	ButtonText string `json:"button_text"`
}

type WebAppInfo

type WebAppInfo struct {
	Url string `json:"url"`
}

type WebhookInfo

type WebhookInfo struct {
	Url                          string   `json:"url"`
	HasCustomCertificate         bool     `json:"has_custom_certificate"`
	PendingUpdateCount           int64    `json:"pending_update_count"`
	IpAddress                    string   `json:"ip_address,omitempty"`
	LastErrorDate                int64    `json:"last_error_date,omitempty"`
	LastErrorMessage             string   `json:"last_error_message,omitempty"`
	LastSynchronizationErrorDate int64    `json:"last_synchronization_error_date,omitempty"`
	MaxConnections               int64    `json:"max_connections,omitempty"`
	AllowedUpdates               []string `json:"allowed_updates,omitempty"`
}

type WriteAccessAllowed

type WriteAccessAllowed struct {
	FromRequest        bool   `json:"from_request,omitempty"`
	WebAppName         string `json:"web_app_name,omitempty"`
	FromAttachmentMenu bool   `json:"from_attachment_menu,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL