Merge pull request #336 from biodranik/improvements
Added omitempty tag for clean JSON marshalingbot-api-6.1
commit
38c2cb18ed
270
types.go
270
types.go
|
@ -13,32 +13,32 @@ import (
|
||||||
// stored raw.
|
// stored raw.
|
||||||
type APIResponse struct {
|
type APIResponse struct {
|
||||||
Ok bool `json:"ok"`
|
Ok bool `json:"ok"`
|
||||||
Result json.RawMessage `json:"result"`
|
Result json.RawMessage `json:"result,omitempty"`
|
||||||
ErrorCode int `json:"error_code"`
|
ErrorCode int `json:"error_code,omitempty"`
|
||||||
Description string `json:"description"`
|
Description string `json:"description,omitempty"`
|
||||||
Parameters *ResponseParameters `json:"parameters"`
|
Parameters *ResponseParameters `json:"parameters,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// ResponseParameters are various errors that can be returned in APIResponse.
|
// ResponseParameters are various errors that can be returned in APIResponse.
|
||||||
type ResponseParameters struct {
|
type ResponseParameters struct {
|
||||||
MigrateToChatID int64 `json:"migrate_to_chat_id"` // optional
|
MigrateToChatID int64 `json:"migrate_to_chat_id,omitempty"` // optional
|
||||||
RetryAfter int `json:"retry_after"` // optional
|
RetryAfter int `json:"retry_after,omitempty"` // optional
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update is an update response, from GetUpdates.
|
// Update is an update response, from GetUpdates.
|
||||||
type Update struct {
|
type Update struct {
|
||||||
UpdateID int `json:"update_id"`
|
UpdateID int `json:"update_id"`
|
||||||
Message *Message `json:"message"`
|
Message *Message `json:"message,omitempty"`
|
||||||
EditedMessage *Message `json:"edited_message"`
|
EditedMessage *Message `json:"edited_message,omitempty"`
|
||||||
ChannelPost *Message `json:"channel_post"`
|
ChannelPost *Message `json:"channel_post,omitempty"`
|
||||||
EditedChannelPost *Message `json:"edited_channel_post"`
|
EditedChannelPost *Message `json:"edited_channel_post,omitempty"`
|
||||||
InlineQuery *InlineQuery `json:"inline_query"`
|
InlineQuery *InlineQuery `json:"inline_query,omitempty"`
|
||||||
ChosenInlineResult *ChosenInlineResult `json:"chosen_inline_result"`
|
ChosenInlineResult *ChosenInlineResult `json:"chosen_inline_result,omitempty"`
|
||||||
CallbackQuery *CallbackQuery `json:"callback_query"`
|
CallbackQuery *CallbackQuery `json:"callback_query,omitempty"`
|
||||||
ShippingQuery *ShippingQuery `json:"shipping_query"`
|
ShippingQuery *ShippingQuery `json:"shipping_query,omitempty"`
|
||||||
PreCheckoutQuery *PreCheckoutQuery `json:"pre_checkout_query"`
|
PreCheckoutQuery *PreCheckoutQuery `json:"pre_checkout_query,omitempty"`
|
||||||
Poll *Poll `json:"poll"`
|
Poll *Poll `json:"poll,omitempty"`
|
||||||
PollAnswer *PollAnswer `json:"poll_answer"`
|
PollAnswer *PollAnswer `json:"poll_answer,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// UpdatesChannel is the channel for getting updates.
|
// UpdatesChannel is the channel for getting updates.
|
||||||
|
@ -55,13 +55,13 @@ func (ch UpdatesChannel) Clear() {
|
||||||
type User struct {
|
type User struct {
|
||||||
ID int `json:"id"`
|
ID int `json:"id"`
|
||||||
FirstName string `json:"first_name"`
|
FirstName string `json:"first_name"`
|
||||||
LastName string `json:"last_name"` // optional
|
LastName string `json:"last_name,omitempty"` // optional
|
||||||
UserName string `json:"username"` // optional
|
UserName string `json:"username,omitempty"` // optional
|
||||||
LanguageCode string `json:"language_code"` // optional
|
LanguageCode string `json:"language_code,omitempty"` // optional
|
||||||
IsBot bool `json:"is_bot"` // optional
|
IsBot bool `json:"is_bot,omitempty"` // optional
|
||||||
CanJoinGroups bool `json:"can_join_groups"` // optional
|
CanJoinGroups bool `json:"can_join_groups,omitempty"` // optional
|
||||||
CanReadAllGroupMessages bool `json:"can_read_all_group_messages"` // optional
|
CanReadAllGroupMessages bool `json:"can_read_all_group_messages,omitempty"` // optional
|
||||||
SupportsInlineQueries bool `json:"supports_inline_queries"` // optional
|
SupportsInlineQueries bool `json:"supports_inline_queries,omitempty"` // optional
|
||||||
}
|
}
|
||||||
|
|
||||||
// String displays a simple text version of a user.
|
// String displays a simple text version of a user.
|
||||||
|
@ -112,19 +112,19 @@ type ChatPermissions struct {
|
||||||
type Chat struct {
|
type Chat struct {
|
||||||
ID int64 `json:"id"`
|
ID int64 `json:"id"`
|
||||||
Type string `json:"type"`
|
Type string `json:"type"`
|
||||||
Title string `json:"title"` // optional
|
Title string `json:"title,omitempty"` // optional
|
||||||
UserName string `json:"username"` // optional
|
UserName string `json:"username,omitempty"` // optional
|
||||||
FirstName string `json:"first_name"` // optional
|
FirstName string `json:"first_name,omitempty"` // optional
|
||||||
LastName string `json:"last_name"` // optional
|
LastName string `json:"last_name,omitempty"` // optional
|
||||||
AllMembersAreAdmins bool `json:"all_members_are_administrators"` // deprecated, optional
|
AllMembersAreAdmins bool `json:"all_members_are_administrators,omitempty"` // deprecated, optional
|
||||||
Photo *ChatPhoto `json:"photo"` // optional
|
Photo *ChatPhoto `json:"photo,omitempty"` // optional
|
||||||
Description string `json:"description,omitempty"` // optional
|
Description string `json:"description,omitempty"` // optional
|
||||||
InviteLink string `json:"invite_link,omitempty"` // optional
|
InviteLink string `json:"invite_link,omitempty"` // optional
|
||||||
PinnedMessage *Message `json:"pinned_message"` // optional
|
PinnedMessage *Message `json:"pinned_message,omitempty"` // optional
|
||||||
Permissions *ChatPermissions `json:"permissions"` // optional
|
Permissions *ChatPermissions `json:"permissions,omitempty"` // optional
|
||||||
SlowModeDelay int `json:"slow_mode_delay"` // optional
|
SlowModeDelay int `json:"slow_mode_delay,omitempty"` // optional
|
||||||
StickerSetName string `json:"sticker_set_name"` // optional
|
StickerSetName string `json:"sticker_set_name,omitempty"` // optional
|
||||||
CanSetStickerSet bool `json:"can_set_sticker_set"` // optional
|
CanSetStickerSet bool `json:"can_set_sticker_set,omitempty"` // optional
|
||||||
}
|
}
|
||||||
|
|
||||||
// IsPrivate returns if the Chat is a private conversation.
|
// IsPrivate returns if the Chat is a private conversation.
|
||||||
|
@ -156,53 +156,53 @@ func (c Chat) ChatConfig() ChatConfig {
|
||||||
// almost anything.
|
// almost anything.
|
||||||
type Message struct {
|
type Message struct {
|
||||||
MessageID int `json:"message_id"`
|
MessageID int `json:"message_id"`
|
||||||
From *User `json:"from"` // optional
|
From *User `json:"from,omitempty"` // optional
|
||||||
Date int `json:"date"`
|
Date int `json:"date"`
|
||||||
Chat *Chat `json:"chat"`
|
Chat *Chat `json:"chat"`
|
||||||
ForwardFrom *User `json:"forward_from"` // optional
|
ForwardFrom *User `json:"forward_from,omitempty"` // optional
|
||||||
ForwardFromChat *Chat `json:"forward_from_chat"` // optional
|
ForwardFromChat *Chat `json:"forward_from_chat,omitempty"` // optional
|
||||||
ForwardFromMessageID int `json:"forward_from_message_id"` // optional
|
ForwardFromMessageID int `json:"forward_from_message_id,omitempty"` // optional
|
||||||
ForwardSignature string `json:"forward_signature"` // optional
|
ForwardSignature string `json:"forward_signature,omitempty"` // optional
|
||||||
ForwardSenderName string `json:"forward_sender_name"` // optional
|
ForwardSenderName string `json:"forward_sender_name,omitempty"` // optional
|
||||||
ForwardDate int `json:"forward_date"` // optional
|
ForwardDate int `json:"forward_date,omitempty"` // optional
|
||||||
ReplyToMessage *Message `json:"reply_to_message"` // optional
|
ReplyToMessage *Message `json:"reply_to_message,omitempty"` // optional
|
||||||
EditDate int `json:"edit_date"` // optional
|
EditDate int `json:"edit_date,omitempty"` // optional
|
||||||
MediaGroupID string `json:"media_group_id"` // optional
|
MediaGroupID string `json:"media_group_id,omitempty"` // optional
|
||||||
AuthorSignature string `json:"author_signature"` // optional
|
AuthorSignature string `json:"author_signature,omitempty"` // optional
|
||||||
Text string `json:"text"` // optional
|
Text string `json:"text,omitempty"` // optional
|
||||||
Entities []MessageEntity `json:"entities"` // optional
|
Entities []MessageEntity `json:"entities,omitempty"` // optional
|
||||||
CaptionEntities []MessageEntity `json:"caption_entities"` // optional
|
CaptionEntities []MessageEntity `json:"caption_entities,omitempty"` // optional
|
||||||
Audio *Audio `json:"audio"` // optional
|
Audio *Audio `json:"audio,omitempty"` // optional
|
||||||
Document *Document `json:"document"` // optional
|
Document *Document `json:"document,omitempty"` // optional
|
||||||
Animation *ChatAnimation `json:"animation"` // optional
|
Animation *ChatAnimation `json:"animation,omitempty"` // optional
|
||||||
Game *Game `json:"game"` // optional
|
Game *Game `json:"game,omitempty"` // optional
|
||||||
Photo []PhotoSize `json:"photo"` // optional
|
Photo []PhotoSize `json:"photo,omitempty"` // optional
|
||||||
Sticker *Sticker `json:"sticker"` // optional
|
Sticker *Sticker `json:"sticker,omitempty"` // optional
|
||||||
Video *Video `json:"video"` // optional
|
Video *Video `json:"video,omitempty"` // optional
|
||||||
VideoNote *VideoNote `json:"video_note"` // optional
|
VideoNote *VideoNote `json:"video_note,omitempty"` // optional
|
||||||
Voice *Voice `json:"voice"` // optional
|
Voice *Voice `json:"voice,omitempty"` // optional
|
||||||
Caption string `json:"caption"` // optional
|
Caption string `json:"caption,omitempty"` // optional
|
||||||
Contact *Contact `json:"contact"` // optional
|
Contact *Contact `json:"contact,omitempty"` // optional
|
||||||
Location *Location `json:"location"` // optional
|
Location *Location `json:"location,omitempty"` // optional
|
||||||
Venue *Venue `json:"venue"` // optional
|
Venue *Venue `json:"venue,omitempty"` // optional
|
||||||
Poll *Poll `json:"poll"` // optional
|
Poll *Poll `json:"poll,omitempty"` // optional
|
||||||
Dice *Dice `json:"dice"` // optional
|
Dice *Dice `json:"dice,omitempty"` // optional
|
||||||
NewChatMembers []User `json:"new_chat_members"` // optional
|
NewChatMembers []User `json:"new_chat_members,omitempty"` // optional
|
||||||
LeftChatMember *User `json:"left_chat_member"` // optional
|
LeftChatMember *User `json:"left_chat_member,omitempty"` // optional
|
||||||
NewChatTitle string `json:"new_chat_title"` // optional
|
NewChatTitle string `json:"new_chat_title,omitempty"` // optional
|
||||||
NewChatPhoto []PhotoSize `json:"new_chat_photo"` // optional
|
NewChatPhoto []PhotoSize `json:"new_chat_photo,omitempty"` // optional
|
||||||
DeleteChatPhoto bool `json:"delete_chat_photo"` // optional
|
DeleteChatPhoto bool `json:"delete_chat_photo,omitempty"` // optional
|
||||||
GroupChatCreated bool `json:"group_chat_created"` // optional
|
GroupChatCreated bool `json:"group_chat_created,omitempty"` // optional
|
||||||
SuperGroupChatCreated bool `json:"supergroup_chat_created"` // optional
|
SuperGroupChatCreated bool `json:"supergroup_chat_created,omitempty"` // optional
|
||||||
ChannelChatCreated bool `json:"channel_chat_created"` // optional
|
ChannelChatCreated bool `json:"channel_chat_created,omitempty"` // optional
|
||||||
MigrateToChatID int64 `json:"migrate_to_chat_id"` // optional
|
MigrateToChatID int64 `json:"migrate_to_chat_id,omitempty"` // optional
|
||||||
MigrateFromChatID int64 `json:"migrate_from_chat_id"` // optional
|
MigrateFromChatID int64 `json:"migrate_from_chat_id,omitempty"` // optional
|
||||||
PinnedMessage *Message `json:"pinned_message"` // optional
|
PinnedMessage *Message `json:"pinned_message,omitempty"` // optional
|
||||||
Invoice *Invoice `json:"invoice"` // optional
|
Invoice *Invoice `json:"invoice,omitempty"` // optional
|
||||||
SuccessfulPayment *SuccessfulPayment `json:"successful_payment"` // optional
|
SuccessfulPayment *SuccessfulPayment `json:"successful_payment,omitempty"` // optional
|
||||||
ConnectedWebsite string `json:"connected_website"` // optional
|
ConnectedWebsite string `json:"connected_website,omitempty"` // optional
|
||||||
PassportData *PassportData `json:"passport_data,omitempty"` // optional
|
PassportData *PassportData `json:"passport_data,omitempty"` // optional
|
||||||
ReplyMarkup *InlineKeyboardMarkup `json:"reply_markup"` // optional
|
ReplyMarkup *InlineKeyboardMarkup `json:"reply_markup,omitempty"` // optional
|
||||||
}
|
}
|
||||||
|
|
||||||
// Time converts the message timestamp into a Time.
|
// Time converts the message timestamp into a Time.
|
||||||
|
@ -279,9 +279,9 @@ type MessageEntity struct {
|
||||||
Type string `json:"type"`
|
Type string `json:"type"`
|
||||||
Offset int `json:"offset"`
|
Offset int `json:"offset"`
|
||||||
Length int `json:"length"`
|
Length int `json:"length"`
|
||||||
URL string `json:"url"` // optional
|
URL string `json:"url,omitempty"` // optional
|
||||||
User *User `json:"user"` // optional
|
User *User `json:"user,omitempty"` // optional
|
||||||
Language string `json:"language"` // optional
|
Language string `json:"language,omitempty"` // optional
|
||||||
}
|
}
|
||||||
|
|
||||||
// ParseURL attempts to parse a URL contained within a MessageEntity.
|
// ParseURL attempts to parse a URL contained within a MessageEntity.
|
||||||
|
@ -349,7 +349,7 @@ type PhotoSize struct {
|
||||||
FileUniqueID string `json:"file_unique_id"`
|
FileUniqueID string `json:"file_unique_id"`
|
||||||
Width int `json:"width"`
|
Width int `json:"width"`
|
||||||
Height int `json:"height"`
|
Height int `json:"height"`
|
||||||
FileSize int `json:"file_size"` // optional
|
FileSize int `json:"file_size,omitempty"` // optional
|
||||||
}
|
}
|
||||||
|
|
||||||
// Audio contains information about audio.
|
// Audio contains information about audio.
|
||||||
|
@ -357,20 +357,20 @@ type Audio struct {
|
||||||
FileID string `json:"file_id"`
|
FileID string `json:"file_id"`
|
||||||
FileUniqueID string `json:"file_unique_id"`
|
FileUniqueID string `json:"file_unique_id"`
|
||||||
Duration int `json:"duration"`
|
Duration int `json:"duration"`
|
||||||
Performer string `json:"performer"` // optional
|
Performer string `json:"performer,omitempty"` // optional
|
||||||
Title string `json:"title"` // optional
|
Title string `json:"title,omitempty"` // optional
|
||||||
MimeType string `json:"mime_type"` // optional
|
MimeType string `json:"mime_type,omitempty"` // optional
|
||||||
FileSize int `json:"file_size"` // optional
|
FileSize int `json:"file_size,omitempty"` // optional
|
||||||
}
|
}
|
||||||
|
|
||||||
// Document contains information about a document.
|
// Document contains information about a document.
|
||||||
type Document struct {
|
type Document struct {
|
||||||
FileID string `json:"file_id"`
|
FileID string `json:"file_id"`
|
||||||
FileUniqueID string `json:"file_unique_id"`
|
FileUniqueID string `json:"file_unique_id"`
|
||||||
Thumbnail *PhotoSize `json:"thumb"` // optional
|
Thumbnail *PhotoSize `json:"thumb,omitempty"` // optional
|
||||||
FileName string `json:"file_name"` // optional
|
FileName string `json:"file_name,omitempty"` // optional
|
||||||
MimeType string `json:"mime_type"` // optional
|
MimeType string `json:"mime_type,omitempty"` // optional
|
||||||
FileSize int `json:"file_size"` // optional
|
FileSize int `json:"file_size,omitempty"` // optional
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sticker contains information about a sticker.
|
// Sticker contains information about a sticker.
|
||||||
|
@ -380,11 +380,11 @@ type Sticker struct {
|
||||||
Width int `json:"width"`
|
Width int `json:"width"`
|
||||||
Height int `json:"height"`
|
Height int `json:"height"`
|
||||||
IsAnimated bool `json:"is_animated"`
|
IsAnimated bool `json:"is_animated"`
|
||||||
Thumbnail *PhotoSize `json:"thumb"` // optional
|
Thumbnail *PhotoSize `json:"thumb,omitempty"` // optional
|
||||||
Emoji string `json:"emoji"` // optional
|
Emoji string `json:"emoji,omitempty"` // optional
|
||||||
SetName string `json:"set_name"` // optional
|
SetName string `json:"set_name,omitempty"` // optional
|
||||||
MaskPosition MaskPosition `json:"mask_position"` //optional
|
MaskPosition MaskPosition `json:"mask_position,omitempty"` //optional
|
||||||
FileSize int `json:"file_size"` // optional
|
FileSize int `json:"file_size,omitempty"` // optional
|
||||||
}
|
}
|
||||||
|
|
||||||
// MaskPosition is the position of a mask.
|
// MaskPosition is the position of a mask.
|
||||||
|
@ -396,10 +396,10 @@ type MaskPosition struct {
|
||||||
FileID string `json:"file_id"`
|
FileID string `json:"file_id"`
|
||||||
Width int `json:"width"`
|
Width int `json:"width"`
|
||||||
Height int `json:"height"`
|
Height int `json:"height"`
|
||||||
Thumbnail *PhotoSize `json:"thumb"` // optional
|
Thumbnail *PhotoSize `json:"thumb,omitempty"` // optional
|
||||||
Emoji string `json:"emoji"` // optional
|
Emoji string `json:"emoji,omitempty"` // optional
|
||||||
FileSize int `json:"file_size"` // optional
|
FileSize int `json:"file_size,omitempty"` // optional
|
||||||
SetName string `json:"set_name"` // optional
|
SetName string `json:"set_name,omitempty"` // optional
|
||||||
}
|
}
|
||||||
|
|
||||||
// ChatAnimation contains information about an animation.
|
// ChatAnimation contains information about an animation.
|
||||||
|
@ -409,10 +409,10 @@ type ChatAnimation struct {
|
||||||
Width int `json:"width"`
|
Width int `json:"width"`
|
||||||
Height int `json:"height"`
|
Height int `json:"height"`
|
||||||
Duration int `json:"duration"`
|
Duration int `json:"duration"`
|
||||||
Thumbnail *PhotoSize `json:"thumb"` // optional
|
Thumbnail *PhotoSize `json:"thumb,omitempty"` // optional
|
||||||
FileName string `json:"file_name"` // optional
|
FileName string `json:"file_name,omitempty"` // optional
|
||||||
MimeType string `json:"mime_type"` // optional
|
MimeType string `json:"mime_type,omitempty"` // optional
|
||||||
FileSize int `json:"file_size"` // optional
|
FileSize int `json:"file_size,omitempty"` // optional
|
||||||
}
|
}
|
||||||
|
|
||||||
// Video contains information about a video.
|
// Video contains information about a video.
|
||||||
|
@ -422,9 +422,9 @@ type Video struct {
|
||||||
Width int `json:"width"`
|
Width int `json:"width"`
|
||||||
Height int `json:"height"`
|
Height int `json:"height"`
|
||||||
Duration int `json:"duration"`
|
Duration int `json:"duration"`
|
||||||
Thumbnail *PhotoSize `json:"thumb"` // optional
|
Thumbnail *PhotoSize `json:"thumb,omitempty"` // optional
|
||||||
MimeType string `json:"mime_type"` // optional
|
MimeType string `json:"mime_type,omitempty"` // optional
|
||||||
FileSize int `json:"file_size"` // optional
|
FileSize int `json:"file_size,omitempty"` // optional
|
||||||
}
|
}
|
||||||
|
|
||||||
// VideoNote contains information about a video.
|
// VideoNote contains information about a video.
|
||||||
|
@ -433,8 +433,8 @@ type VideoNote struct {
|
||||||
FileUniqueID string `json:"file_unique_id"`
|
FileUniqueID string `json:"file_unique_id"`
|
||||||
Length int `json:"length"`
|
Length int `json:"length"`
|
||||||
Duration int `json:"duration"`
|
Duration int `json:"duration"`
|
||||||
Thumbnail *PhotoSize `json:"thumb"` // optional
|
Thumbnail *PhotoSize `json:"thumb,omitempty"` // optional
|
||||||
FileSize int `json:"file_size"` // optional
|
FileSize int `json:"file_size,omitempty"` // optional
|
||||||
}
|
}
|
||||||
|
|
||||||
// Voice contains information about a voice.
|
// Voice contains information about a voice.
|
||||||
|
@ -442,8 +442,8 @@ type Voice struct {
|
||||||
FileID string `json:"file_id"`
|
FileID string `json:"file_id"`
|
||||||
FileUniqueID string `json:"file_unique_id"`
|
FileUniqueID string `json:"file_unique_id"`
|
||||||
Duration int `json:"duration"`
|
Duration int `json:"duration"`
|
||||||
MimeType string `json:"mime_type"` // optional
|
MimeType string `json:"mime_type,omitempty"` // optional
|
||||||
FileSize int `json:"file_size"` // optional
|
FileSize int `json:"file_size,omitempty"` // optional
|
||||||
}
|
}
|
||||||
|
|
||||||
// Contact contains information about a contact.
|
// Contact contains information about a contact.
|
||||||
|
@ -452,9 +452,9 @@ type Voice struct {
|
||||||
type Contact struct {
|
type Contact struct {
|
||||||
PhoneNumber string `json:"phone_number"`
|
PhoneNumber string `json:"phone_number"`
|
||||||
FirstName string `json:"first_name"`
|
FirstName string `json:"first_name"`
|
||||||
LastName string `json:"last_name"` // optional
|
LastName string `json:"last_name,omitempty"` // optional
|
||||||
UserID int `json:"user_id"` // optional
|
UserID int `json:"user_id,omitempty"` // optional
|
||||||
VCard string `json:"vcard"` // optional
|
VCard string `json:"vcard,omitempty"` // optional
|
||||||
}
|
}
|
||||||
|
|
||||||
// Location contains information about a place.
|
// Location contains information about a place.
|
||||||
|
@ -468,7 +468,7 @@ type Venue struct {
|
||||||
Location Location `json:"location"`
|
Location Location `json:"location"`
|
||||||
Title string `json:"title"`
|
Title string `json:"title"`
|
||||||
Address string `json:"address"`
|
Address string `json:"address"`
|
||||||
FoursquareID string `json:"foursquare_id"` // optional
|
FoursquareID string `json:"foursquare_id,omitempty"` // optional
|
||||||
}
|
}
|
||||||
|
|
||||||
// PollOption contains information about one answer option in a poll.
|
// PollOption contains information about one answer option in a poll.
|
||||||
|
@ -493,11 +493,11 @@ type Poll struct {
|
||||||
IsAnonymous bool `json:"is_anonymous"`
|
IsAnonymous bool `json:"is_anonymous"`
|
||||||
Type string `json:"type"`
|
Type string `json:"type"`
|
||||||
AllowsMultipleAnswers bool `json:"allows_multiple_answers"`
|
AllowsMultipleAnswers bool `json:"allows_multiple_answers"`
|
||||||
CorrectOptionID int `json:"correct_option_id"` // optional
|
CorrectOptionID int `json:"correct_option_id,omitempty"` // optional
|
||||||
Explanation string `json:"explanation"` // optional
|
Explanation string `json:"explanation,omitempty"` // optional
|
||||||
ExplanationEntities []MessageEntity `json:"explanation_entities"` // optional
|
ExplanationEntities []MessageEntity `json:"explanation_entities,omitempty"` // optional
|
||||||
OpenPeriod int `json:"open_period"` // optional
|
OpenPeriod int `json:"open_period,omitempty"` // optional
|
||||||
CloseDate int `json:"close_date"` // optional
|
CloseDate int `json:"close_date,omitempty"` // optional
|
||||||
}
|
}
|
||||||
|
|
||||||
// Dice represents a single dice value.
|
// Dice represents a single dice value.
|
||||||
|
@ -516,8 +516,8 @@ type UserProfilePhotos struct {
|
||||||
type File struct {
|
type File struct {
|
||||||
FileID string `json:"file_id"`
|
FileID string `json:"file_id"`
|
||||||
FileUniqueID string `json:"file_unique_id"`
|
FileUniqueID string `json:"file_unique_id"`
|
||||||
FileSize int `json:"file_size"` // optional
|
FileSize int `json:"file_size,omitempty"` // optional
|
||||||
FilePath string `json:"file_path"` // optional
|
FilePath string `json:"file_path,omitempty"` // optional
|
||||||
}
|
}
|
||||||
|
|
||||||
// Link returns a full path to the download URL for a File.
|
// Link returns a full path to the download URL for a File.
|
||||||
|
@ -530,9 +530,9 @@ func (f *File) Link(token string) string {
|
||||||
// ReplyKeyboardMarkup allows the Bot to set a custom keyboard.
|
// ReplyKeyboardMarkup allows the Bot to set a custom keyboard.
|
||||||
type ReplyKeyboardMarkup struct {
|
type ReplyKeyboardMarkup struct {
|
||||||
Keyboard [][]KeyboardButton `json:"keyboard"`
|
Keyboard [][]KeyboardButton `json:"keyboard"`
|
||||||
ResizeKeyboard bool `json:"resize_keyboard"` // optional
|
ResizeKeyboard bool `json:"resize_keyboard,omitempty"` // optional
|
||||||
OneTimeKeyboard bool `json:"one_time_keyboard"` // optional
|
OneTimeKeyboard bool `json:"one_time_keyboard,omitempty"` // optional
|
||||||
Selective bool `json:"selective"` // optional
|
Selective bool `json:"selective,omitempty"` // optional
|
||||||
}
|
}
|
||||||
|
|
||||||
// KeyboardButton is a button within a custom keyboard.
|
// KeyboardButton is a button within a custom keyboard.
|
||||||
|
@ -552,7 +552,7 @@ type KeyboardButtonPollType struct {
|
||||||
// ReplyKeyboardHide allows the Bot to hide a custom keyboard.
|
// ReplyKeyboardHide allows the Bot to hide a custom keyboard.
|
||||||
type ReplyKeyboardHide struct {
|
type ReplyKeyboardHide struct {
|
||||||
HideKeyboard bool `json:"hide_keyboard"`
|
HideKeyboard bool `json:"hide_keyboard"`
|
||||||
Selective bool `json:"selective"` // optional
|
Selective bool `json:"selective,omitempty"` // optional
|
||||||
}
|
}
|
||||||
|
|
||||||
// ReplyKeyboardRemove allows the Bot to hide a custom keyboard.
|
// ReplyKeyboardRemove allows the Bot to hide a custom keyboard.
|
||||||
|
@ -597,11 +597,11 @@ type LoginURL struct {
|
||||||
type CallbackQuery struct {
|
type CallbackQuery struct {
|
||||||
ID string `json:"id"`
|
ID string `json:"id"`
|
||||||
From *User `json:"from"`
|
From *User `json:"from"`
|
||||||
Message *Message `json:"message"` // optional
|
Message *Message `json:"message,omitempty"` // optional
|
||||||
InlineMessageID string `json:"inline_message_id"` // optional
|
InlineMessageID string `json:"inline_message_id,omitempty"` // optional
|
||||||
ChatInstance string `json:"chat_instance"`
|
ChatInstance string `json:"chat_instance"`
|
||||||
Data string `json:"data"` // optional
|
Data string `json:"data,omitempty"` // optional
|
||||||
GameShortName string `json:"game_short_name"` // optional
|
GameShortName string `json:"game_short_name,omitempty"` // optional
|
||||||
}
|
}
|
||||||
|
|
||||||
// ForceReply allows the Bot to have users directly reply to it without
|
// ForceReply allows the Bot to have users directly reply to it without
|
||||||
|
@ -615,7 +615,7 @@ type ForceReply struct {
|
||||||
type ChatMember struct {
|
type ChatMember struct {
|
||||||
User *User `json:"user"`
|
User *User `json:"user"`
|
||||||
Status string `json:"status"`
|
Status string `json:"status"`
|
||||||
CustomTitle string `json:"custom_title"` // optional
|
CustomTitle string `json:"custom_title,omitempty"` // optional
|
||||||
UntilDate int64 `json:"until_date,omitempty"` // optional
|
UntilDate int64 `json:"until_date,omitempty"` // optional
|
||||||
CanBeEdited bool `json:"can_be_edited,omitempty"` // optional
|
CanBeEdited bool `json:"can_be_edited,omitempty"` // optional
|
||||||
CanPostMessages bool `json:"can_post_messages,omitempty"` // optional
|
CanPostMessages bool `json:"can_post_messages,omitempty"` // optional
|
||||||
|
@ -626,7 +626,7 @@ type ChatMember struct {
|
||||||
CanChangeInfo bool `json:"can_change_info,omitempty"` // optional
|
CanChangeInfo bool `json:"can_change_info,omitempty"` // optional
|
||||||
CanInviteUsers bool `json:"can_invite_users,omitempty"` // optional
|
CanInviteUsers bool `json:"can_invite_users,omitempty"` // optional
|
||||||
CanPinMessages bool `json:"can_pin_messages,omitempty"` // optional
|
CanPinMessages bool `json:"can_pin_messages,omitempty"` // optional
|
||||||
IsChatMember bool `json:"is_member"` // optional
|
IsChatMember bool `json:"is_member,omitempty"` // optional
|
||||||
CanSendMessages bool `json:"can_send_messages,omitempty"` // optional
|
CanSendMessages bool `json:"can_send_messages,omitempty"` // optional
|
||||||
CanSendMediaMessages bool `json:"can_send_media_messages,omitempty"` // optional
|
CanSendMediaMessages bool `json:"can_send_media_messages,omitempty"` // optional
|
||||||
CanSendPolls bool `json:"can_send_polls,omitempty"` // optional
|
CanSendPolls bool `json:"can_send_polls,omitempty"` // optional
|
||||||
|
@ -684,8 +684,8 @@ type WebhookInfo struct {
|
||||||
URL string `json:"url"`
|
URL string `json:"url"`
|
||||||
HasCustomCertificate bool `json:"has_custom_certificate"`
|
HasCustomCertificate bool `json:"has_custom_certificate"`
|
||||||
PendingUpdateCount int `json:"pending_update_count"`
|
PendingUpdateCount int `json:"pending_update_count"`
|
||||||
LastErrorDate int `json:"last_error_date"` // optional
|
LastErrorDate int `json:"last_error_date,omitempty"` // optional
|
||||||
LastErrorMessage string `json:"last_error_message"` // optional
|
LastErrorMessage string `json:"last_error_message,omitempty"` // optional
|
||||||
}
|
}
|
||||||
|
|
||||||
// IsSet returns true if a webhook is currently set.
|
// IsSet returns true if a webhook is currently set.
|
||||||
|
@ -697,7 +697,7 @@ func (info WebhookInfo) IsSet() bool {
|
||||||
type InlineQuery struct {
|
type InlineQuery struct {
|
||||||
ID string `json:"id"`
|
ID string `json:"id"`
|
||||||
From *User `json:"from"`
|
From *User `json:"from"`
|
||||||
Location *Location `json:"location"` // optional
|
Location *Location `json:"location,omitempty"` // optional
|
||||||
Query string `json:"query"`
|
Query string `json:"query"`
|
||||||
Offset string `json:"offset"`
|
Offset string `json:"offset"`
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue