Documentation
¶
Overview ¶
Package tamtam implements TamTam Bot API. Official documentation: https://dev.tamtam.chat/
Index ¶
- Constants
- type ActionRequestBody
- type Api
- type Attachment
- type AttachmentInterface
- type AttachmentPayload
- type AttachmentRequest
- type AttachmentType
- type AudioAttachment
- type AudioAttachmentRequest
- type BotAddedToChatUpdate
- type BotCommand
- type BotInfo
- type BotPatch
- type BotRemovedFromChatUpdate
- type BotStartedUpdate
- type Button
- type ButtonInterface
- type ButtonType
- type Callback
- type CallbackAnswer
- type CallbackButton
- type CallbackButtonAllOf
- type Chat
- type ChatAdminPermission
- type ChatList
- type ChatMember
- type ChatMembersList
- type ChatPatch
- type ChatStatus
- type ChatTitleChangedUpdate
- type ChatType
- type ContactAttachment
- type ContactAttachmentPayload
- type ContactAttachmentRequest
- type ContactAttachmentRequestPayload
- type Error
- type FileAttachment
- type FileAttachmentPayload
- type FileAttachmentRequest
- type GetSubscriptionsResult
- type Image
- type InlineKeyboardAttachment
- type InlineKeyboardAttachmentRequest
- type Intent
- type Keyboard
- type KeyboardBuilder
- type KeyboardRow
- func (k *KeyboardRow) AddCallback(text string, intent Intent, payload string) *KeyboardRow
- func (k *KeyboardRow) AddContact(text string) *KeyboardRow
- func (k *KeyboardRow) AddGeolocation(text string, quick bool) *KeyboardRow
- func (k *KeyboardRow) AddLink(text string, intent Intent, url string) *KeyboardRow
- func (k *KeyboardRow) Build() []ButtonInterface
- type LinkButton
- type LinkedMessage
- type LocationAttachment
- type LocationAttachmentRequest
- type MediaAttachmentPayload
- type Message
- type MessageBody
- type MessageCallbackUpdate
- type MessageCreatedUpdate
- type MessageEditedUpdate
- type MessageLinkType
- type MessageList
- type MessageRemovedUpdate
- type MessageStat
- type NewMessageBody
- type NewMessageLink
- type PhotoAttachment
- type PhotoAttachmentPayload
- type PhotoAttachmentRequest
- type PhotoAttachmentRequestAllOf
- type PhotoAttachmentRequestPayload
- type PhotoToken
- type PhotoTokens
- type Recipient
- type RequestContactButton
- type RequestGeoLocationButton
- type SendMessageResult
- type SenderAction
- type ShareAttachment
- type SimpleQueryResult
- type StickerAttachment
- type StickerAttachmentPayload
- type StickerAttachmentRequest
- type StickerAttachmentRequestPayload
- type Subscription
- type SubscriptionRequestBody
- type Update
- type UpdateInterface
- type UpdateList
- type UpdateType
- type UploadEndpoint
- type UploadType
- type UploadedInfo
- type User
- type UserAddedToChatUpdate
- type UserIdsList
- type UserRemovedFromChatUpdate
- type UserWithPhoto
- type VideoAttachment
- type VideoAttachmentRequest
Constants ¶
const ( AttachmentImage AttachmentType = "image" AttachmentVideo = "video" AttachmentAudio = "audio" AttachmentFile = "file" AttachmentContact = "contact" AttachmentSticker = "sticker" AttachmentLocation = "location" AttachmentKeyboard = "inline_keyboard" )
const ( TypeMessageCallback UpdateType = "message_callback" TypeMessageCreated = "message_created" TypeMessageRemoved = "message_removed" TypeMessageEdited = "message_edited" TypeBotAdded = "bot_added" TypeBotRemoved = "bot_removed" TypeUserAdded = "user_added" TypeUserRemoved = "user_removed" TypeBotStarted = "bot_started" TypeChatTitleChanged = "chat_title_changed" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ActionRequestBody ¶
type ActionRequestBody struct {
Action SenderAction `json:"action"`
}
type Api ¶
type Api struct {
Bots *bots
Chats *chats
Messages *messages
Subscriptions *subscriptions
Uploads *uploads
// contains filtered or unexported fields
}
Api implements main part of TamTam API
func (*Api) GetHandler ¶
func (a *Api) GetHandler(updates chan interface{}) http.HandlerFunc
GetHandler returns http handler for webhooks
func (*Api) GetUpdates ¶ added in v0.1.8
func (a *Api) GetUpdates() chan UpdateInterface
GetUpdates returns updates channel
type Attachment ¶
type Attachment struct {
Type AttachmentType `json:"type"`
}
Generic schema representing message attachment
func (Attachment) GetAttachmentType ¶ added in v0.1.8
func (a Attachment) GetAttachmentType() AttachmentType
type AttachmentInterface ¶ added in v0.1.8
type AttachmentInterface interface {
GetAttachmentType() AttachmentType
}
type AttachmentPayload ¶
type AttachmentPayload struct {
// Media attachment URL
Url string `json:"url"`
}
type AttachmentRequest ¶
type AttachmentRequest struct {
Type AttachmentType `json:"type"`
}
Request to attach some data to message
type AttachmentType ¶
type AttachmentType string
type AudioAttachment ¶
type AudioAttachment struct {
Attachment
Payload MediaAttachmentPayload `json:"payload"`
}
type AudioAttachmentRequest ¶
type AudioAttachmentRequest struct {
AttachmentRequest
Payload UploadedInfo `json:"payload"`
}
Request to attach audio to message. MUST be the only attachment in message
func NewAudioAttachmentRequest ¶ added in v0.1.8
func NewAudioAttachmentRequest(payload UploadedInfo) *AudioAttachmentRequest
type BotAddedToChatUpdate ¶
type BotAddedToChatUpdate struct {
Update
ChatId int `json:"chat_id"` // Chat id where bots was added
User User `json:"user"` // User who added bots to chat
}
You will receive this update when bots has been added to chat
type BotCommand ¶ added in v0.1.8
type BotInfo ¶ added in v0.1.8
type BotInfo struct {
UserId int `json:"user_id"` // Users identifier
Name string `json:"name"` // Users visible name
Username string `json:"username,omitempty"` // Unique public user name. Can be `null` if user is not accessible or it is not set
AvatarUrl string `json:"avatar_url,omitempty"` // URL of avatar
FullAvatarUrl string `json:"full_avatar_url,omitempty"` // URL of avatar of a bigger size
Commands []BotCommand `json:"commands,omitempty"` // Commands supported by bots
Description string `json:"description,omitempty"` // Bot description
}
type BotPatch ¶ added in v0.1.8
type BotPatch struct {
Name string `json:"name,omitempty"` // Visible name of bots
Username string `json:"username,omitempty"` // Bot unique identifier. It can be any string 4-64 characters long containing any digit, letter or special symbols: \"-\" or \"_\". It **must** starts with a letter
Description string `json:"description,omitempty"` // Bot description up to 16k characters long
Commands []BotCommand `json:"commands,omitempty"` // Commands supported by bots. Pass empty list if you want to remove commands
Photo *PhotoAttachmentRequestPayload `json:"photo,omitempty"` // Request to set bots photo
}
type BotRemovedFromChatUpdate ¶
type BotRemovedFromChatUpdate struct {
Update
ChatId int `json:"chat_id"` // Chat identifier bots removed from
User User `json:"user"` // User who removed bots from chat
}
You will receive this update when bots has been removed from chat
type BotStartedUpdate ¶
type BotStartedUpdate struct {
Update
ChatId int `json:"chat_id"` // Dialog identifier where event has occurred
User User `json:"user"` // User pressed the 'Start' button
}
Bot gets this type of update as soon as user pressed `Start` button
type Button ¶
type Button struct {
Type ButtonType `json:"type"`
Text string `json:"text"` // Visible text of button
}
func (Button) GetType ¶ added in v0.1.8
func (b Button) GetType() ButtonType
type ButtonInterface ¶ added in v0.1.8
type ButtonInterface interface {
GetType() ButtonType
GetText() string
}
type ButtonType ¶
type ButtonType string
const ( LINK ButtonType = "link" CALLBACK ButtonType = "callback" CONTACT ButtonType = "request_contact" GEOLOCATION ButtonType = "request_geo_location" )
type Callback ¶
type Callback struct {
Timestamp int `json:"timestamp"` // Unix-time when event has occurred
CallbackID string `json:"callback_id"`
Payload string `json:"payload,omitempty"` // Button payload
User User `json:"user"` // User pressed the button
}
Object sent to bots when user presses button
type CallbackAnswer ¶
type CallbackAnswer struct {
UserId int `json:"user_id,omitempty"`
Message *NewMessageBody `json:"message,omitempty"` // Fill this if you want to modify current message
Notification string `json:"notification,omitempty"` // Fill this if you just want to send one-time notification to user
}
Send this object when your bots wants to react to when a button is pressed
type CallbackButton ¶
type CallbackButton struct {
Button
Payload string `json:"payload"` // Button payload
Intent Intent `json:"intent,omitempty"` // Intent of button. Affects clients representation
}
After pressing this type of button client sends to server payload it contains
type CallbackButtonAllOf ¶ added in v0.1.8
type Chat ¶
type Chat struct {
ChatId int `json:"chat_id"` // Chats identifier
Type ChatType `json:"type"` // Type of chat. One of: dialog, chat, channel
Status ChatStatus `json:"status"` // Chat status. One of: - active: bots is active member of chat - removed: bots was kicked - left: bots intentionally left chat - closed: chat was closed
Title string `json:"title,omitempty"` // Visible title of chat. Can be null for dialogs
Icon *Image `json:"icon"` // Icon of chat
LastEventTime int `json:"last_event_time"` // Time of last event occurred in chat
ParticipantsCount int `json:"participants_count"` // Number of people in chat. Always 2 for `dialog` chat type
OwnerId int `json:"owner_id,omitempty"` // Identifier of chat owner. Visible only for chat admins
Participants *map[string]int `json:"participants,omitempty"` // Participants in chat with time of last activity. Can be *null* when you request list of chats. Visible for chat admins only
IsPublic bool `json:"is_public"` // Is current chat publicly available. Always `false` for dialogs
Link string `json:"link,omitempty"` // Link on chat if it is public
Description *map[string]interface{} `json:"description"` // Chat description
}
type ChatAdminPermission ¶
type ChatAdminPermission string
ChatAdminPermission : Chat admin permissions
const ( READ_ALL_MESSAGES ChatAdminPermission = "read_all_messages" ADD_REMOVE_MEMBERS ChatAdminPermission = "add_remove_members" ADD_ADMINS ChatAdminPermission = "add_admins" CHANGE_CHAT_INFO ChatAdminPermission = "change_chat_info" PIN_MESSAGE ChatAdminPermission = "pin_message" WRITE ChatAdminPermission = "write" )
List of ChatAdminPermission
type ChatMember ¶
type ChatMember struct {
UserId int `json:"user_id"` // Users identifier
Name string `json:"name"` // Users visible name
Username string `json:"username,omitempty"` // Unique public user name. Can be `null` if user is not accessible or it is not set
AvatarUrl string `json:"avatar_url,omitempty"` // URL of avatar
FullAvatarUrl string `json:"full_avatar_url,omitempty"` // URL of avatar of a bigger size
LastAccessTime int `json:"last_access_time"`
IsOwner bool `json:"is_owner"`
IsAdmin bool `json:"is_admin"`
JoinTime int `json:"join_time"`
Permissions []ChatAdminPermission `json:"permissions,omitempty"` // Permissions in chat if member is admin. `null` otherwise
}
type ChatMembersList ¶
type ChatMembersList struct {
Members []ChatMember `json:"members"` // Participants in chat with time of last activity. Visible only for chat admins
Marker *int `json:"marker"` // Pointer to the next data page
}
type ChatPatch ¶
type ChatPatch struct {
Icon *PhotoAttachmentRequestPayload `json:"icon,omitempty"`
Title string `json:"title,omitempty"`
}
type ChatStatus ¶
type ChatStatus string
ChatStatus : Chat status for current bots
const ( ACTIVE ChatStatus = "active" REMOVED ChatStatus = "removed" LEFT ChatStatus = "left" CLOSED ChatStatus = "closed" SUSPENDED ChatStatus = "suspended" )
List of ChatStatus
type ChatTitleChangedUpdate ¶
type ChatTitleChangedUpdate struct {
Update
ChatId int `json:"chat_id"` // Chat identifier where event has occurred
User User `json:"user"` // User who changed title
Title string `json:"title"` // New title
}
Bot gets this type of update as soon as title has been changed in chat
type ContactAttachment ¶
type ContactAttachment struct {
Attachment
Payload ContactAttachmentPayload `json:"payload"`
}
type ContactAttachmentRequest ¶
type ContactAttachmentRequest struct {
AttachmentRequest
Payload ContactAttachmentRequestPayload `json:"payload"`
}
Request to attach contact card to message. MUST be the only attachment in message
func NewContactAttachmentRequest ¶ added in v0.1.8
func NewContactAttachmentRequest(payload ContactAttachmentRequestPayload) *ContactAttachmentRequest
type ContactAttachmentRequestPayload ¶
type ContactAttachmentRequestPayload struct {
Name string `json:"name,omitempty"` // Contact name
ContactId int `json:"contactId,omitempty"` // Contact identifier
VcfInfo string `json:"vcfInfo,omitempty"` // Full information about contact in VCF format
VcfPhone string `json:"vcfPhone,omitempty"` // Contact phone in VCF format
}
type Error ¶
type Error struct {
Error string `json:"error,omitempty"` // Error
Code string `json:"code"` // Error code
Message string `json:"message"` // Human-readable description
}
Server returns this if there was an exception to your request
type FileAttachment ¶
type FileAttachment struct {
Attachment
Payload FileAttachmentPayload `json:"payload"`
Filename string `json:"filename"` // Uploaded file name
Size int `json:"size"` // File size in bytes
}
type FileAttachmentPayload ¶ added in v0.1.8
type FileAttachmentRequest ¶
type FileAttachmentRequest struct {
AttachmentRequest
Payload UploadedInfo `json:"payload"`
}
Request to attach file to message. MUST be the only attachment in message
func NewFileAttachmentRequest ¶ added in v0.1.8
func NewFileAttachmentRequest(payload UploadedInfo) *FileAttachmentRequest
type GetSubscriptionsResult ¶
type GetSubscriptionsResult struct {
Subscriptions []Subscription `json:"subscriptions"` // Current subscriptions
}
List of all WebHook subscriptions
type Image ¶
type Image struct {
Url string `json:"url"` // URL of image
}
Generic schema describing image object
type InlineKeyboardAttachment ¶
type InlineKeyboardAttachment struct {
Attachment
CallbackId string `json:"callback_id"` // Unique identifier of keyboard
Payload Keyboard `json:"payload"`
}
Buttons in messages
type InlineKeyboardAttachmentRequest ¶
type InlineKeyboardAttachmentRequest struct {
AttachmentRequest
Payload Keyboard `json:"payload"`
}
Request to attach keyboard to message
func NewInlineKeyboardAttachmentRequest ¶ added in v0.1.8
func NewInlineKeyboardAttachmentRequest(payload Keyboard) *InlineKeyboardAttachmentRequest
type Keyboard ¶
type Keyboard struct {
Buttons [][]ButtonInterface `json:"buttons"`
}
Keyboard is two-dimension array of buttons
type KeyboardBuilder ¶
type KeyboardBuilder struct {
// contains filtered or unexported fields
}
KeyboardBuilder implements builder for inline keyboard
func (*KeyboardBuilder) AddRow ¶
func (k *KeyboardBuilder) AddRow() *KeyboardRow
AddRow adds row to inline keyboard
func (*KeyboardBuilder) Build ¶
func (k *KeyboardBuilder) Build() Keyboard
Build returns result keyboard
type KeyboardRow ¶
type KeyboardRow struct {
// contains filtered or unexported fields
}
KeyboardRow represents buttons row
func (*KeyboardRow) AddCallback ¶
func (k *KeyboardRow) AddCallback(text string, intent Intent, payload string) *KeyboardRow
AddCallback button
func (*KeyboardRow) AddContact ¶
func (k *KeyboardRow) AddContact(text string) *KeyboardRow
AddContact button
func (*KeyboardRow) AddGeolocation ¶
func (k *KeyboardRow) AddGeolocation(text string, quick bool) *KeyboardRow
AddGeolocation button
func (*KeyboardRow) AddLink ¶
func (k *KeyboardRow) AddLink(text string, intent Intent, url string) *KeyboardRow
AddLink button
func (*KeyboardRow) Build ¶
func (k *KeyboardRow) Build() []ButtonInterface
Build returns result keyboard row
type LinkButton ¶
After pressing this type of button user follows the link it contains
type LinkedMessage ¶
type LinkedMessage struct {
Type MessageLinkType `json:"type"` // Type of linked message
Sender User `json:"sender,omitempty"` // User sent this message. Can be `null` if message has been posted on behalf of a channel
ChatId int `json:"chat_id,omitempty"` // Chat where message has been originally posted. For forwarded messages only
Message MessageBody `json:"message"`
}
type LocationAttachment ¶
type LocationAttachment struct {
Attachment
Latitude float64 `json:"latitude"`
Longitude float64 `json:"longitude"`
}
type LocationAttachmentRequest ¶
type LocationAttachmentRequest struct {
AttachmentRequest
Latitude float64 `json:"latitude"`
Longitude float64 `json:"longitude"`
}
Request to attach keyboard to message
func NewLocationAttachmentRequest ¶ added in v0.1.8
func NewLocationAttachmentRequest(latitude float64, longitude float64) *LocationAttachmentRequest
type MediaAttachmentPayload ¶ added in v0.1.8
type Message ¶
type Message struct {
Sender User `json:"sender,omitempty"` // User that sent this message. Can be `null` if message has been posted on behalf of a channel
Recipient Recipient `json:"recipient"` // Message recipient. Could be user or chat
Timestamp int `json:"timestamp"` // Unix-time when message was created
Link *LinkedMessage `json:"link,omitempty"` // Forwarder or replied message
Body MessageBody `json:"body"` // Body of created message. Text + attachments. Could be null if message contains only forwarded message
Stat *MessageStat `json:"stat,omitempty"` // Message statistics. Available only for channels in [GET:/messages](#operation/getMessages) context
}
Message in chat
type MessageBody ¶
type MessageBody struct {
Mid string `json:"mid"` // Unique identifier of message
Seq int `json:"seq"` // Sequence identifier of message in chat
Text string `json:"text,omitempty"` // Message text
Attachments []interface{}
ReplyTo string `json:"reply_to,omitempty"` // In case this message is reply to another, it is the unique identifier of the replied message
// contains filtered or unexported fields
}
Schema representing body of message
type MessageCallbackUpdate ¶
type MessageCallbackUpdate struct {
Update
Callback Callback `json:"callback"`
Message *Message `json:"message"` // Original message containing inline keyboard. Can be `null` in case it had been deleted by the moment a bots got this update
}
You will get this `update` as soon as user presses button
type MessageCreatedUpdate ¶
type MessageCreatedUpdate struct {
Update
Message Message `json:"message"` // Newly created message
}
You will get this `update` as soon as message is created
type MessageEditedUpdate ¶
You will get this `update` as soon as message is edited
type MessageLinkType ¶
type MessageLinkType string
MessageLinkType : Type of linked message
const ( FORWARD MessageLinkType = "forward" REPLY MessageLinkType = "reply" )
List of MessageLinkType
type MessageList ¶
type MessageList struct {
Messages []Message `json:"messages"` // List of messages
}
Paginated list of messages
type MessageRemovedUpdate ¶
type MessageRemovedUpdate struct {
Update
MessageId string `json:"message_id"` // Identifier of removed message
}
You will get this `update` as soon as message is removed
type MessageStat ¶ added in v0.1.8
type MessageStat struct {
Views int `json:"views"`
}
Message statistics
type NewMessageBody ¶
type NewMessageBody struct {
Text string `json:"text,omitempty"` // Message text
Attachments []interface{} `json:"attachments,omitempty"` // Message attachments. See `AttachmentRequest` and it's inheritors for full information
Link *NewMessageLink `json:"link"` // Link to Message
Notify bool `json:"notify,omitempty"` // If false, chat participants wouldn't be notified
}
type NewMessageLink ¶ added in v0.1.8
type NewMessageLink struct {
Type MessageLinkType `json:"type"` // Type of message link
Mid string `json:"mid"` // Message identifier of original message
}
type PhotoAttachment ¶
type PhotoAttachment struct {
Attachment
Payload PhotoAttachmentPayload `json:"payload"`
}
Image attachment
type PhotoAttachmentPayload ¶
type PhotoAttachmentRequest ¶
type PhotoAttachmentRequest struct {
AttachmentRequest
Payload PhotoAttachmentRequestPayload `json:"payload"`
}
func NewPhotoAttachmentRequest ¶ added in v0.1.8
func NewPhotoAttachmentRequest(payload PhotoAttachmentRequestPayload) *PhotoAttachmentRequest
type PhotoAttachmentRequestAllOf ¶ added in v0.1.8
type PhotoAttachmentRequestAllOf struct {
Payload PhotoAttachmentRequestPayload `json:"payload"`
}
type PhotoAttachmentRequestPayload ¶
type PhotoAttachmentRequestPayload struct {
Url string `json:"url,omitempty"` // Any external image URL you want to attach
Token string `json:"token,omitempty"` // Token of any existing attachment
Photos map[string]PhotoToken `json:"photos,omitempty"` // Tokens were obtained after uploading images
}
Request to attach image. All fields are mutually exclusive
type PhotoToken ¶
type PhotoToken struct {
Token string `json:"token"` // Encoded information of uploaded image
}
type PhotoTokens ¶
type PhotoTokens struct {
Photos map[string]PhotoToken `json:"photos"`
}
This is information you will receive as soon as an image uploaded
type Recipient ¶
type Recipient struct {
ChatId int `json:"chat_id,omitempty"` // Chat identifier
ChatType ChatType `json:"chat_type"` // Chat type
UserId int `json:"user_id,omitempty"` // User identifier, if message was sent to user
}
New message recipient. Could be user or chat
type RequestContactButton ¶
type RequestContactButton struct {
Button
}
After pressing this type of button client sends new message with attachment of current user contact
type RequestGeoLocationButton ¶
type RequestGeoLocationButton struct {
Button
Quick bool `json:"quick,omitempty"` // If *true*, sends location without asking user's confirmation
}
After pressing this type of button client sends new message with attachment of current user geo location
type SendMessageResult ¶
type SendMessageResult struct {
Message Message `json:"message"`
}
type SenderAction ¶
type SenderAction string
SenderAction : Different actions to send to chat members
const ( TYPING_ON SenderAction = "typing_on" TYPING_OFF SenderAction = "typing_off" SENDING_PHOTO SenderAction = "sending_photo" SENDING_VIDEO SenderAction = "sending_video" SENDING_AUDIO SenderAction = "sending_audio" MARK_SEEN SenderAction = "mark_seen" )
List of SenderAction
type ShareAttachment ¶
type ShareAttachment struct {
}
type SimpleQueryResult ¶
type SimpleQueryResult struct {
Success bool `json:"success"` // `true` if request was successful. `false` otherwise
Message string `json:"message,omitempty"` // Explanatory message if the result is not successful
}
Simple response to request
type StickerAttachment ¶
type StickerAttachment struct {
Attachment
Payload StickerAttachmentPayload `json:"payload"`
Width int `json:"width"` // Sticker width
Height int `json:"height"` // Sticker height
}
type StickerAttachmentPayload ¶ added in v0.1.8
type StickerAttachmentRequest ¶
type StickerAttachmentRequest struct {
AttachmentRequest
Payload StickerAttachmentRequestPayload `json:"payload"`
}
Request to attach sticker. MUST be the only attachment request in message
func NewStickerAttachmentRequest ¶ added in v0.1.8
func NewStickerAttachmentRequest(payload StickerAttachmentRequestPayload) *StickerAttachmentRequest
type StickerAttachmentRequestPayload ¶
type StickerAttachmentRequestPayload struct {
Code string `json:"code"` // Sticker code
}
type Subscription ¶
type Subscription struct {
Url string `json:"url"` // Webhook URL
Time int `json:"time"` // Unix-time when subscription was created
UpdateTypes []string `json:"update_types,omitempty"` // Update types bots subscribed for
Version string `json:"version,omitempty"`
}
Schema to describe WebHook subscription
type SubscriptionRequestBody ¶
type SubscriptionRequestBody struct {
Url string `json:"url"` // URL of HTTP(S)-endpoint of your bots. Must starts with http(s)://
UpdateTypes []string `json:"update_types,omitempty"` // List of update types your bots want to receive. See `Update` object for a complete list of types
Version string `json:"version,omitempty"` // Version of API. Affects model representation
}
Request to set up WebHook subscription
type Update ¶
type Update struct {
UpdateType UpdateType `json:"update_type"`
Timestamp int `json:"timestamp"` // Unix-time when event has occurred
}
`Update` object represents different types of events that happened in chat. See its inheritors
func (Update) GetUpdateTime ¶ added in v0.1.8
func (Update) GetUpdateType ¶ added in v0.1.8
func (u Update) GetUpdateType() UpdateType
type UpdateInterface ¶ added in v0.1.8
type UpdateInterface interface {
GetUpdateType() UpdateType
GetUpdateTime() time.Time
}
type UpdateList ¶
type UpdateList struct {
Updates []json.RawMessage `json:"updates"` // Page of updates
Marker *int `json:"marker"` // Pointer to the next data page
}
List of all updates in chats your bots participated in
type UpdateType ¶
type UpdateType string
type UploadEndpoint ¶
type UploadEndpoint struct {
Url string `json:"url"` // URL to upload
}
Endpoint you should upload to your binaries
type UploadType ¶
type UploadType string
UploadType : Type of file uploading
const ( PHOTO UploadType = "photo" VIDEO UploadType = "video" AUDIO UploadType = "audio" FILE UploadType = "file" )
List of UploadType
type UploadedInfo ¶
type UploadedInfo struct {
FileID int `json:"file_id,omitempty"`
Token string `json:"token,omitempty"` // Token is unique uploaded media identfier
}
This is information you will receive as soon as audio/video is uploaded
type UserAddedToChatUpdate ¶
type UserAddedToChatUpdate struct {
Update
ChatId int `json:"chat_id"` // Chat identifier where event has occurred
User User `json:"user"` // User added to chat
InviterId int `json:"inviter_id"` // User who added user to chat
}
You will receive this update when user has been added to chat where bots is administrator
type UserIdsList ¶
type UserIdsList struct {
UserIds []int `json:"user_ids"`
}
type UserRemovedFromChatUpdate ¶
type UserRemovedFromChatUpdate struct {
Update
ChatId int `json:"chat_id"` // Chat identifier where event has occurred
User User `json:"user"` // User removed from chat
AdminId int `json:"admin_id"` // Administrator who removed user from chat
}
You will receive this update when user has been removed from chat where bots is administrator
type UserWithPhoto ¶
type UserWithPhoto struct {
UserId int `json:"user_id"` // Users identifier
Name string `json:"name"` // Users visible name
Username string `json:"username,omitempty"` // Unique public user name. Can be `null` if user is not accessible or it is not set
AvatarUrl string `json:"avatar_url,omitempty"` // URL of avatar
FullAvatarUrl string `json:"full_avatar_url,omitempty"` // URL of avatar of a bigger size
}
type VideoAttachment ¶
type VideoAttachment struct {
Attachment
Payload MediaAttachmentPayload `json:"payload"`
}
type VideoAttachmentRequest ¶
type VideoAttachmentRequest struct {
AttachmentRequest
Payload UploadedInfo `json:"payload"`
}
Request to attach video to message
func NewVideoAttachmentRequest ¶ added in v0.1.8
func NewVideoAttachmentRequest(payload UploadedInfo) *VideoAttachmentRequest