2016-02-08 16:52:13 +00:00
|
|
|
package tg
|
|
|
|
|
|
|
|
type APIUser struct {
|
|
|
|
UserID int `json:"id"`
|
|
|
|
FirstName string `json:"first_name"`
|
|
|
|
LastName string `json:"last_name,omitempty"`
|
|
|
|
Username string `json:"username,omitempty"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type ChatType string
|
|
|
|
|
|
|
|
const (
|
|
|
|
ChatTypePrivate ChatType = "private"
|
|
|
|
ChatTypeGroup ChatType = "group"
|
|
|
|
ChatTypeSupergroup ChatType = "supergroup"
|
|
|
|
ChatTypeChannel ChatType = "channel"
|
|
|
|
)
|
|
|
|
|
|
|
|
type APIChat struct {
|
|
|
|
UserID int `json:"id"`
|
|
|
|
Type ChatType `json:"type"`
|
2016-02-08 16:57:27 +00:00
|
|
|
Title *string `json:"title,omitempty"`
|
|
|
|
Username *string `json:"username,omitempty"`
|
|
|
|
FirstName *string `json:"first_name,omitempty"`
|
|
|
|
LastName *string `json:"last_name,omitempty"`
|
2016-02-08 16:52:13 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
type APIMessage struct {
|
|
|
|
MessageID int `json:"message_id"`
|
|
|
|
User APIUser `json:"from"`
|
|
|
|
Time int `json:"date"`
|
2016-02-08 16:57:27 +00:00
|
|
|
Chat *APIChat `json:"chat"`
|
|
|
|
FwdUser *APIUpdate `json:"forward_from,omitempty"`
|
|
|
|
FwdTime *int `json:"forward_date,omitempty"`
|
|
|
|
ReplyTo *APIMessage `json:"reply_to_message,omitempty"`
|
|
|
|
Text *string `json:"text,omitempty"`
|
|
|
|
Audio *APIAudio `json:"audio,omitempty"`
|
|
|
|
Document *APIDocument `json:"document,omitempty"`
|
2016-02-08 16:52:13 +00:00
|
|
|
Photo []APIPhotoSize `json:"photo,omitempty"`
|
2016-02-08 16:57:27 +00:00
|
|
|
Sticker *APISticker `json:"sticker,omitempty"`
|
|
|
|
Video *APIVideo `json:"video,omitempty"`
|
|
|
|
Voice *APIVoice `json:"voice,omitempty"`
|
|
|
|
Caption *string `json:"caption,omitempty"`
|
|
|
|
Contact *APIContact `json:"contact,omitempty"`
|
|
|
|
Location *APILocation `json:"location,omitempty"`
|
|
|
|
NewUser *APIUser `json:"new_chat_partecipant",omitempty"`
|
|
|
|
LeftUser *APIUser `json:"left_chat_partecipant,omitempty"`
|
|
|
|
PhotoDeleted *bool `json:"delete_chat_photo,omitempty"`
|
|
|
|
GroupCreated *bool `json:"group_chat_created,omitempty"`
|
|
|
|
SupergroupCreated *bool `json:"supergroup_chat_created,omitempty"`
|
|
|
|
ChannelCreated *bool `json:"channel_chat_created,omitempty"`
|
|
|
|
GroupToSuper *int `json:"migrate_to_chat_id,omitempty"`
|
|
|
|
GroupFromSuper *int `json:"migrate_from_chat_id,omitempty"`
|
2016-02-08 16:52:13 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
type APIPhotoSize struct {
|
|
|
|
FileID string `json:"file_id"`
|
|
|
|
Width int `json:"width"`
|
|
|
|
Height int `json:"height"`
|
2016-02-08 16:57:27 +00:00
|
|
|
FileSize *int `json:"file_size,omitempty"`
|
2016-02-08 16:52:13 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
type APIAudio struct {
|
2016-02-08 16:57:27 +00:00
|
|
|
FileID string `json:"file_id"`
|
|
|
|
Duration int `json:"duration"`
|
|
|
|
Performer *string `json:"performer,omitempty"`
|
|
|
|
Title *string `json:"title,omitempty"`
|
|
|
|
MimeType *string `json:"mime_type,omitempty"`
|
|
|
|
FileSize *int `json:"file_size,omitempty"`
|
2016-02-08 16:52:13 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
type APIDocument struct {
|
2016-02-08 16:57:27 +00:00
|
|
|
FileID string `json:"file_id"`
|
|
|
|
Thumbnail *APIPhotoSize `json:"thumb,omitempty"`
|
|
|
|
Filename string `json:"file_name"`
|
|
|
|
MimeType *string `json:"mime_type,omitempty"`
|
|
|
|
FileSize *int `json:"file_size,omitempty"`
|
2016-02-08 16:52:13 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
type APISticker struct {
|
2016-02-08 16:57:27 +00:00
|
|
|
FileID string `json:"file_id"`
|
|
|
|
Width int `json:"width"`
|
|
|
|
Height int `json:"height"`
|
|
|
|
Thumbnail *APIPhotoSize `json:"thumb,omitempty"`
|
|
|
|
FileSize *int `json:"file_size,omitempty"`
|
2016-02-08 16:52:13 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
type APIVideo struct {
|
2016-02-08 16:57:27 +00:00
|
|
|
FileID string `json:"file_id"`
|
|
|
|
Width int `json:"width"`
|
|
|
|
Height int `json:"height"`
|
|
|
|
Duration int `json:"duration"`
|
|
|
|
Thumbnail *APIPhotoSize `json:"thumb,omitempty"`
|
|
|
|
MimeType *string `json:"mime_type,omitempty"`
|
|
|
|
FileSize *int `json:"file_size,omitempty"`
|
2016-02-08 16:52:13 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
type APIVoice struct {
|
2016-02-08 16:57:27 +00:00
|
|
|
FileID string `json:"file_id"`
|
|
|
|
Duration int `json:"duration"`
|
|
|
|
MimeType *string `json:"mime_type,omitempty"`
|
|
|
|
FileSize *int `json:"file_size,omitempty"`
|
2016-02-08 16:52:13 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
type APIContact struct {
|
2016-02-08 16:57:27 +00:00
|
|
|
PhoneNumber string `json:"phone_number"`
|
|
|
|
FirstName string `json:"first_name"`
|
|
|
|
LastName *string `json:"last_name,omitempty"`
|
|
|
|
UserID *int `json:"user_id,omitempty"`
|
2016-02-08 16:52:13 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
type APILocation struct {
|
|
|
|
Longitude float64 `json:"longitude"`
|
|
|
|
Latitude float64 `json:"latitude"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type APIUpdate struct {
|
|
|
|
UpdateID int `json:"update_id"`
|
|
|
|
Message APIMessage `json:"message"`
|
|
|
|
}
|