Documentation ¶
Index ¶
- Constants
- type API
- func (a API) AnswerCallbackQuery(callbackID, text string, showAlert bool) (APIResponseMessage, error)
- func (a API) AnswerInlineQuery(inlineQueryID string, results []InlineQueryResult) (APIResponseBase, error)
- func (a API) AnswerInlineQueryOptions(inlineQueryID string, results []InlineQueryResult, opts InlineQueryOptions) (APIResponseBase, error)
- func (a API) Command(command, description string) BotCommand
- func (a API) DeleteMessage(chatID int64, messageID int) (APIResponseMessage, error)
- func (a API) DeleteWebhook() (APIResponseUpdate, error)
- func (a API) EditMessageReplyMarkup(chatID int64, messageID int, keyboard []byte) (APIResponseMessage, error)
- func (a API) EditMessageText(chatID int64, messageID int, text string, opts ...Option) (APIResponseMessage, error)
- func (a API) EditMessageTextWithKeyboard(chatID int64, messageID int, text string, keyboard []byte, opts ...Option) (APIResponseMessage, error)
- func (a API) GetChat(chatID int64) (APIResponseChat, error)
- func (a API) GetChatAdministrators(chatID int64) (APIResponseAdmins, error)
- func (a API) GetMyCommands() (APIResponseCommands, error)
- func (a API) GetStickerSet(name string) (APIResponseStickerSet, error)
- func (a API) GetUpdates(offset, timeout int) (APIResponseUpdate, error)
- func (a API) InlineKbdBtn(text, url, callbackData string) InlineButton
- func (a API) InlineKbdBtnCbd(text, callbackData string) InlineButton
- func (a API) InlineKbdBtnURL(text, url string) InlineButton
- func (a API) InlineKbdMarkup(inlineKbdRows ...InlineKbdRow) (jsn []byte)
- func (a API) InlineKbdRow(inlineButtons ...InlineButton) InlineKbdRow
- func (a API) KeyboardButton(text string, requestContact, requestLocation bool) Button
- func (a API) KeyboardMarkup(resizeKeyboard, oneTimeKeyboard, selective bool, keyboardRows ...KbdRow) (kbd []byte)
- func (a API) KeyboardRemove(selective bool) (kbdrmv []byte)
- func (a API) KeyboardRow(buttons ...Button) (kbdRow KbdRow)
- func (a API) SendAnimation(filepath, caption string, chatID int64, opts ...Option) (APIResponseMessage, error)
- func (a API) SendAnimationByID(animationID, caption string, chatID int64, opts ...Option) (APIResponseMessage, error)
- func (a API) SendAnimationBytes(filepath, caption string, chatID int64, data []byte, opts ...Option) (APIResponseMessage, error)
- func (a API) SendAnimationWithKeyboard(filepath, caption string, chatID int64, keyboard []byte, opts ...Option) (APIResponseMessage, error)
- func (a API) SendAnimationWithKeyboardBytes(filepath, caption string, chatID int64, data []byte, keyboard []byte, ...) (APIResponseMessage, error)
- func (a API) SendAudio(filepath, caption string, chatID int64, opts ...Option) (APIResponseMessage, error)
- func (a API) SendAudioByID(audioID, caption string, chatID int64, opts ...Option) (APIResponseMessage, error)
- func (a API) SendAudioBytes(filepath, caption string, chatID int64, data []byte, opts ...Option) (APIResponseMessage, error)
- func (a API) SendAudioWithKeyboard(filepath, caption string, chatID int64, keyboard []byte, opts ...Option) (APIResponseMessage, error)
- func (a API) SendAudioWithKeyboardBytes(filepath, caption string, chatID int64, data []byte, keyboard []byte, ...) (APIResponseMessage, error)
- func (a API) SendChatAction(action ChatAction, chatID int64) (APIResponseMessage, error)
- func (a API) SendContact(phoneNumber, firstName, lastName string, chatID int64) (APIResponseMessage, error)
- func (a API) SendDocument(filepath, caption string, chatID int64, opts ...Option) (APIResponseMessage, error)
- func (a API) SendDocumentByID(documentID, caption string, chatID int64, opts ...Option) (APIResponseMessage, error)
- func (a API) SendDocumentBytes(filepath, caption string, chatID int64, data []byte, opts ...Option) (APIResponseMessage, error)
- func (a API) SendDocumentWithKeyboard(filepath, caption string, chatID int64, keyboard []byte, opts ...Option) (APIResponseMessage, error)
- func (a API) SendDocumentWithKeyboardBytes(filepath, caption string, chatID int64, data []byte, keyboard []byte, ...) (APIResponseMessage, error)
- func (a API) SendMessage(text string, chatID int64, opts ...Option) (APIResponseMessage, error)
- func (a API) SendMessageReply(text string, chatID int64, messageID int, opts ...Option) (APIResponseMessage, error)
- func (a API) SendMessageWithKeyboard(text string, chatID int64, keyboard []byte, opts ...Option) (APIResponseMessage, error)
- func (a API) SendPhoto(filepath, caption string, chatID int64, opts ...Option) (APIResponseMessage, error)
- func (a API) SendPhotoByID(photoID, caption string, chatID int64, opts ...Option) (APIResponseMessage, error)
- func (a API) SendPhotoBytes(filepath, caption string, chatID int64, data []byte, opts ...Option) (APIResponseMessage, error)
- func (a API) SendPhotoWithKeyboard(filepath, caption string, chatID int64, keyboard []byte, opts ...Option) (APIResponseMessage, error)
- func (a API) SendPhotoWithKeyboardBytes(filepath, caption string, chatID int64, data []byte, keyboard []byte, ...) (APIResponseMessage, error)
- func (a API) SendSticker(stickerID string, chatID int64) (APIResponseMessage, error)
- func (a API) SendVideo(filepath, caption string, chatID int64, opts ...Option) (APIResponseMessage, error)
- func (a API) SendVideoByID(videoID, caption string, chatID int64, opts ...Option) (APIResponseMessage, error)
- func (a API) SendVideoBytes(filepath, caption string, chatID int64, data []byte, opts ...Option) (APIResponseMessage, error)
- func (a API) SendVideoNote(filepath string, chatID int64, opts ...Option) (APIResponseMessage, error)
- func (a API) SendVideoNoteByID(videoID string, chatID int64) (APIResponseMessage, error)
- func (a API) SendVideoNoteBytes(filepath string, chatID int64, data []byte, opts ...Option) (APIResponseMessage, error)
- func (a API) SendVideoNoteWithKeyboard(filepath string, chatID int64, keyboard []byte, opts ...Option) (APIResponseMessage, error)
- func (a API) SendVideoNoteWithKeyboardBytes(filepath string, chatID int64, data []byte, keyboard []byte, opts ...Option) (APIResponseMessage, error)
- func (a API) SendVideoWithKeyboard(filepath, caption string, chatID int64, keyboard []byte, opts ...Option) (APIResponseMessage, error)
- func (a API) SendVideoWithKeyboardBytes(filepath, caption string, chatID int64, data []byte, keyboard []byte, ...) (APIResponseMessage, error)
- func (a API) SendVoice(filepath, caption string, chatID int64, opts ...Option) (APIResponseMessage, error)
- func (a API) SendVoiceByID(voiceID, caption string, chatID int64, opts ...Option) (APIResponseMessage, error)
- func (a API) SendVoiceBytes(filepath, caption string, chatID int64, data []byte, opts ...Option) (APIResponseMessage, error)
- func (a API) SendVoiceWithKeyboard(filepath, caption string, chatID int64, keyboard []byte, opts ...Option) (APIResponseMessage, error)
- func (a API) SendVoiceWithKeyboardBytes(filepath, caption string, chatID int64, data []byte, keyboard []byte, ...) (APIResponseMessage, error)
- func (a API) SetMyCommands(commands ...BotCommand) (APIResponseCommands, error)
- func (a API) SetWebhook(url string) (APIResponseUpdate, error)
- type APIResponseAdmins
- type APIResponseBase
- type APIResponseChat
- type APIResponseCommands
- type APIResponseMessage
- type APIResponseStickerSet
- type APIResponseUpdate
- type Animation
- type Audio
- type Bot
- type BotCommand
- type Button
- type CallbackQuery
- type Chat
- type ChatAction
- type ChatInviteLink
- type ChatLocation
- type ChatMember
- type ChatMemberUpdated
- type ChatPermissions
- type ChatPhoto
- type ChosenInlineResult
- type Contact
- type Dice
- type Dispatcher
- type Document
- type Game
- type InlineButton
- type InlineKbdRow
- type InlineKeyboard
- type InlineQuery
- type InlineQueryOptions
- type InlineQueryResult
- type InlineQueryResultArticle
- type InlineQueryResultAudio
- type InlineQueryResultCachedAudio
- type InlineQueryResultCachedDocument
- type InlineQueryResultCachedGif
- type InlineQueryResultCachedMpeg4Gif
- type InlineQueryResultCachedPhoto
- type InlineQueryResultCachedSticker
- type InlineQueryResultCachedVideo
- type InlineQueryResultCachedVoice
- type InlineQueryResultContact
- type InlineQueryResultDocument
- type InlineQueryResultGame
- type InlineQueryResultGif
- type InlineQueryResultLocation
- type InlineQueryResultMpeg4Gif
- type InlineQueryResultPhoto
- type InlineQueryResultVenue
- type InlineQueryResultVideo
- type InlineQueryResultVoice
- type InlineQueryType
- type InputContactMessageContent
- type InputLocationMessageContent
- type InputMessageContent
- type InputTextMessageContent
- type InputVenueMessageContent
- type KbdRow
- type Keyboard
- type KeyboardRemove
- type Location
- type MaskPosition
- type Message
- type MessageAutoDeleteTimerChanged
- type MessageEntity
- type NewBotFn
- type Option
- type PhotoSize
- type Poll
- type PollAnswer
- type PollOption
- type ProximityAlertTriggered
- type Sticker
- type StickerSet
- type Update
- type User
- type Venue
- type Video
- type VideoNote
- type Voice
- type VoiceChatEnded
- type VoiceChatParticipantsInvited
- type VoiceChatStarted
Constants ¶
const ( ParseMarkdown Option = "&parse_mode=markdown" ParseMarkdownV2 = "&parse_mode=markdownv2" ParseHTML = "&parse_mode=html" DisableWebPagePreview = "&disable_web_page_preview=true" DisableNotification = "&disable_notification=true" )
These are all the possible options that can be used by some methods.
const ( Typing ChatAction = "typing" UploadPhoto = "upload_photo" RecordVideo = "record_video" UploadVideo = "upload_video" RecordAudio = "record_audio" UploadAudio = "upload_audio" UploadDocument = "upload_document" FindLocation = "find_location" RecordVideoNote = "record_video_note" UploadVideoNote = "upload_video_note" )
These are all the possible actions that can be sent through the SendChatAction method.
const ( ARTICLE InlineQueryType = "article" PHOTO = "photo" GIF = "gif" MPEG4GIF = "mpeg4_gif" VIDEO = "video" AUDIO = "audio" VOICE = "voice" DOCUMENT = "document" LOCATION = "location" VENUE = "venue" CONTACT = "contact" GAME = "game" STICKER = "sticker" )
These are all the possible types for the various InlineQueryResult*'s Type field.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type API ¶ added in v2.2.0
type API string
API is the object that contains all the functions that wrap those of the Telegram Bot API.
func (API) AnswerCallbackQuery ¶ added in v2.2.0
func (a API) AnswerCallbackQuery(callbackID, text string, showAlert bool) (APIResponseMessage, error)
AnswerCallbackQuery is used to send answers to callback queries sent from inline keyboards. The answer will be displayed to the user as a notification at the top of the chat screen or as an alert.
func (API) AnswerInlineQuery ¶ added in v2.2.0
func (a API) AnswerInlineQuery(inlineQueryID string, results []InlineQueryResult) (APIResponseBase, error)
AnswerInlineQuery is a wrapper method for AnswerInlineQueryOptions.
func (API) AnswerInlineQueryOptions ¶ added in v2.2.0
func (a API) AnswerInlineQueryOptions(inlineQueryID string, results []InlineQueryResult, opts InlineQueryOptions) (APIResponseBase, error)
AnswerInlineQueryOptions is used to send answers to an inline query.
func (API) Command ¶ added in v2.2.0
func (a API) Command(command, description string) BotCommand
Command is a wrapper method for the BotCommand type. It's used to create a new command for the bot.
func (API) DeleteMessage ¶ added in v2.2.0
func (a API) DeleteMessage(chatID int64, messageID int) (APIResponseMessage, error)
DeleteMessage is used to delete a message, including service messages, with the following limitations: - A message can only be deleted if it was sent less than 48 hours ago. - A dice message in a private chat can only be deleted if it was sent more than 24 hours ago. - Bots can delete outgoing messages in private chats, groups, and supergroups. - Bots can delete incoming messages in private chats. - Bots granted can_post_messages permissions can delete outgoing messages in channels. - If the bot is an administrator of a group, it can delete any message there. - If the bot has can_delete_messages permission in a supergroup or a channel, it can delete any message there.
func (API) DeleteWebhook ¶ added in v2.2.0
func (a API) DeleteWebhook() (APIResponseUpdate, error)
DeleteWebhook is used to remove webhook integration if you decide to switch back to getUpdates.
func (API) EditMessageReplyMarkup ¶ added in v2.2.0
func (a API) EditMessageReplyMarkup(chatID int64, messageID int, keyboard []byte) (APIResponseMessage, error)
EditMessageReplyMarkup is used to edit only the reply markup of messages.
func (API) EditMessageText ¶ added in v2.2.0
func (a API) EditMessageText(chatID int64, messageID int, text string, opts ...Option) (APIResponseMessage, error)
EditMessageText is used to edit text and game messages.
func (API) EditMessageTextWithKeyboard ¶ added in v2.2.0
func (a API) EditMessageTextWithKeyboard(chatID int64, messageID int, text string, keyboard []byte, opts ...Option) (APIResponseMessage, error)
EditMessageTextWithKeyboard is the same as EditMessageText, but allows to send a custom keyboard.
func (API) GetChat ¶ added in v2.2.0
func (a API) GetChat(chatID int64) (APIResponseChat, error)
GetChat is used to get up to date information about the chat. (current name of the user for one-on-one conversations, current username of a user, group or channel, etc.)
func (API) GetChatAdministrators ¶ added in v2.3.1
func (a API) GetChatAdministrators(chatID int64) (APIResponseAdmins, error)
GetChatAdministrators is used to get a list of administrators in a chat.
func (API) GetMyCommands ¶ added in v2.2.0
func (a API) GetMyCommands() (APIResponseCommands, error)
GetMyCommands is used to get the current list of the bot's commands.
func (API) GetStickerSet ¶ added in v2.2.0
func (a API) GetStickerSet(name string) (APIResponseStickerSet, error)
GetStickerSet is used to get a sticker set.
func (API) GetUpdates ¶ added in v2.2.0
func (a API) GetUpdates(offset, timeout int) (APIResponseUpdate, error)
GetUpdates is used to receive incoming updates using long polling.
func (API) InlineKbdBtn ¶ added in v2.2.0
func (a API) InlineKbdBtn(text, url, callbackData string) InlineButton
InlineKbdBtn is a wrapper method for the InlineButton type. It's used to create a new inline keyboard button.
func (API) InlineKbdBtnCbd ¶ added in v2.2.0
func (a API) InlineKbdBtnCbd(text, callbackData string) InlineButton
InlineKbdBtnCbd is a wrapper method for InlineKbdBtn, but only with callbackData.
func (API) InlineKbdBtnURL ¶ added in v2.2.0
func (a API) InlineKbdBtnURL(text, url string) InlineButton
InlineKbdBtnURL is a wrapper method for InlineKbdBtn, but only with url.
func (API) InlineKbdMarkup ¶ added in v2.2.0
func (a API) InlineKbdMarkup(inlineKbdRows ...InlineKbdRow) (jsn []byte)
InlineKbdMarkup represents an inline keyboard that appears right next to the message it belongs to. This method generates the actual JSON that will be sent to Telegram to make the desired inline keyboard show up in a message.
func (API) InlineKbdRow ¶ added in v2.2.0
func (a API) InlineKbdRow(inlineButtons ...InlineButton) InlineKbdRow
InlineKbdRow is a wrapper method for the InlineKbdRow type. It's used to create a row of inline keyboard buttons.
func (API) KeyboardButton ¶ added in v2.2.0
KeyboardButton is a wrapper method for the Button type. It's used to create a new keyboard button.
func (API) KeyboardMarkup ¶ added in v2.2.0
func (a API) KeyboardMarkup(resizeKeyboard, oneTimeKeyboard, selective bool, keyboardRows ...KbdRow) (kbd []byte)
KeyboardMarkup represents a custom keyboard with reply options. This method generates the actual JSON that will be sent to Telegram to make the desired keyboard show up in a message.
func (API) KeyboardRemove ¶ added in v2.2.0
KeyboardRemove generates the object to send in a message to remove the current custom keyboard and display the default letter-keyboard.
func (API) KeyboardRow ¶ added in v2.2.0
KeyboardRow is a wrapper method for the KbdRow type. It's used to create a row of keyboard buttons.
func (API) SendAnimation ¶ added in v2.2.0
func (a API) SendAnimation(filepath, caption string, chatID int64, opts ...Option) (APIResponseMessage, error)
SendAnimation is used to send animation files (GIF or H.264/MPEG-4 AVC video without sound).
func (API) SendAnimationByID ¶ added in v2.2.0
func (a API) SendAnimationByID(animationID, caption string, chatID int64, opts ...Option) (APIResponseMessage, error)
SendAnimationByID is used to send animation files (GIF or H.264/MPEG-4 AVC video without sound) that already exist on the Telegram servers.
func (API) SendAnimationBytes ¶ added in v2.2.0
func (a API) SendAnimationBytes(filepath, caption string, chatID int64, data []byte, opts ...Option) (APIResponseMessage, error)
SendAnimationBytes is used to send animation files (GIF or H.264/MPEG-4 AVC video without sound) as a slice of bytes.
func (API) SendAnimationWithKeyboard ¶ added in v2.4.0
func (a API) SendAnimationWithKeyboard(filepath, caption string, chatID int64, keyboard []byte, opts ...Option) (APIResponseMessage, error)
SendAnimationWithKeyboard is used to send animation files with a keyboard (GIF or H.264/MPEG-4 AVC video without sound).
func (API) SendAnimationWithKeyboardBytes ¶ added in v2.4.0
func (a API) SendAnimationWithKeyboardBytes(filepath, caption string, chatID int64, data []byte, keyboard []byte, opts ...Option) (APIResponseMessage, error)
SendAnimationWithKeyboardBytes is used to send animation files with a keyboard (GIF or H.264/MPEG-4 AVC video without sound) as a slice of bytes.
func (API) SendAudio ¶ added in v2.2.0
func (a API) SendAudio(filepath, caption string, chatID int64, opts ...Option) (APIResponseMessage, error)
SendAudio is used to send audio files, if you want Telegram clients to display them in the music player. Your audio must be in the .MP3 or .M4A format.
func (API) SendAudioByID ¶ added in v2.2.0
func (a API) SendAudioByID(audioID, caption string, chatID int64, opts ...Option) (APIResponseMessage, error)
SendAudioByID is used to send audio files that already exist on the Telegram servers, if you want Telegram clients to display them in the music player.
func (API) SendAudioBytes ¶ added in v2.2.0
func (a API) SendAudioBytes(filepath, caption string, chatID int64, data []byte, opts ...Option) (APIResponseMessage, error)
SendAudioBytes is used to send audio files as a slice of bytes, if you want Telegram clients to display them in the music player.
func (API) SendAudioWithKeyboard ¶ added in v2.4.0
func (a API) SendAudioWithKeyboard(filepath, caption string, chatID int64, keyboard []byte, opts ...Option) (APIResponseMessage, error)
SendAudioWithKeyboard is used to send audio files with a keyboard, if you want Telegram clients to display them in the music player. Your audio must be in the .MP3 or .M4A format.
func (API) SendAudioWithKeyboardBytes ¶ added in v2.4.0
func (a API) SendAudioWithKeyboardBytes(filepath, caption string, chatID int64, data []byte, keyboard []byte, opts ...Option) (APIResponseMessage, error)
SendAudioWithKeyboardBytes is used to send audio files with a keyboard as a slice of bytes, if you want Telegram clients to display them in the music player.
func (API) SendChatAction ¶ added in v2.2.0
func (a API) SendChatAction(action ChatAction, chatID int64) (APIResponseMessage, error)
SendChatAction is used to tell the user that something is happening on the bot's side. The status is set for 5 seconds or less (when a message arrives from your bot, Telegram clients clear its typing status).
func (API) SendContact ¶ added in v2.2.0
func (a API) SendContact(phoneNumber, firstName, lastName string, chatID int64) (APIResponseMessage, error)
SendContact is used to send phone contacts.
func (API) SendDocument ¶ added in v2.2.0
func (a API) SendDocument(filepath, caption string, chatID int64, opts ...Option) (APIResponseMessage, error)
SendDocument is used to send general files.
func (API) SendDocumentByID ¶ added in v2.2.0
func (a API) SendDocumentByID(documentID, caption string, chatID int64, opts ...Option) (APIResponseMessage, error)
SendDocumentByID is used to send general files that already exist on the Telegram servers.
func (API) SendDocumentBytes ¶ added in v2.2.0
func (a API) SendDocumentBytes(filepath, caption string, chatID int64, data []byte, opts ...Option) (APIResponseMessage, error)
SendDocumentBytes is used to send general files as a slice of bytes.
func (API) SendDocumentWithKeyboard ¶ added in v2.4.0
func (a API) SendDocumentWithKeyboard(filepath, caption string, chatID int64, keyboard []byte, opts ...Option) (APIResponseMessage, error)
SendDocumentWithKeyboard is used to send general files with a keyboard.
func (API) SendDocumentWithKeyboardBytes ¶ added in v2.4.0
func (a API) SendDocumentWithKeyboardBytes(filepath, caption string, chatID int64, data []byte, keyboard []byte, opts ...Option) (APIResponseMessage, error)
SendDocumentWithKeyboardBytes is used to send general files with a keyboard as a slice of bytes.
func (API) SendMessage ¶ added in v2.2.0
SendMessage is used to send text messages.
func (API) SendMessageReply ¶ added in v2.2.0
func (a API) SendMessageReply(text string, chatID int64, messageID int, opts ...Option) (APIResponseMessage, error)
SendMessageReply is used to send a message as a reply to a previously received one.
func (API) SendMessageWithKeyboard ¶ added in v2.2.0
func (a API) SendMessageWithKeyboard(text string, chatID int64, keyboard []byte, opts ...Option) (APIResponseMessage, error)
SendMessageWithKeyboard is used to send a message with a keyboard.
func (API) SendPhoto ¶ added in v2.2.0
func (a API) SendPhoto(filepath, caption string, chatID int64, opts ...Option) (APIResponseMessage, error)
SendPhoto is used to send photos.
func (API) SendPhotoByID ¶ added in v2.2.0
func (a API) SendPhotoByID(photoID, caption string, chatID int64, opts ...Option) (APIResponseMessage, error)
SendPhotoByID is used to send photos through an ID of a photo that already exists on the Telegram servers.
func (API) SendPhotoBytes ¶ added in v2.2.0
func (a API) SendPhotoBytes(filepath, caption string, chatID int64, data []byte, opts ...Option) (APIResponseMessage, error)
SendPhotoBytes is used to send photos as a slice of bytes.
func (API) SendPhotoWithKeyboard ¶ added in v2.2.0
func (a API) SendPhotoWithKeyboard(filepath, caption string, chatID int64, keyboard []byte, opts ...Option) (APIResponseMessage, error)
SendPhotoWithKeyboard is used to send photos with a keyboard.
func (API) SendPhotoWithKeyboardBytes ¶ added in v2.2.0
func (a API) SendPhotoWithKeyboardBytes(filepath, caption string, chatID int64, data []byte, keyboard []byte, opts ...Option) (APIResponseMessage, error)
SendPhotoWithKeyboardBytes is used to send photos as a slice of bytes with a keyboard.
func (API) SendSticker ¶ added in v2.2.0
func (a API) SendSticker(stickerID string, chatID int64) (APIResponseMessage, error)
SendSticker is used to send static .WEBP or animated .TGS stickers.
func (API) SendVideo ¶ added in v2.2.0
func (a API) SendVideo(filepath, caption string, chatID int64, opts ...Option) (APIResponseMessage, error)
SendVideo is used to send video files. Telegram clients support mp4 videos (other formats may be sent with SendDocument).
func (API) SendVideoByID ¶ added in v2.2.0
func (a API) SendVideoByID(videoID, caption string, chatID int64, opts ...Option) (APIResponseMessage, error)
SendVideoByID is used to send video files that already exist on the Telegram servers.
func (API) SendVideoBytes ¶ added in v2.2.0
func (a API) SendVideoBytes(filepath, caption string, chatID int64, data []byte, opts ...Option) (APIResponseMessage, error)
SendVideoBytes is used to send video files as a slice of bytes.
func (API) SendVideoNote ¶ added in v2.2.0
func (a API) SendVideoNote(filepath string, chatID int64, opts ...Option) (APIResponseMessage, error)
SendVideoNote is used to send video messages.
func (API) SendVideoNoteByID ¶ added in v2.2.4
func (a API) SendVideoNoteByID(videoID string, chatID int64) (APIResponseMessage, error)
SendVideoNoteByID is used to send video messages that already exist on the Telegram servers.
func (API) SendVideoNoteBytes ¶ added in v2.2.4
func (a API) SendVideoNoteBytes(filepath string, chatID int64, data []byte, opts ...Option) (APIResponseMessage, error)
SendVideoNoteBytes is used to send video messages as a slice of bytes.
func (API) SendVideoNoteWithKeyboard ¶ added in v2.4.0
func (a API) SendVideoNoteWithKeyboard(filepath string, chatID int64, keyboard []byte, opts ...Option) (APIResponseMessage, error)
SendVideoNoteWithKeyboard is used to send video messages with a keyboard.
func (API) SendVideoNoteWithKeyboardBytes ¶ added in v2.4.0
func (a API) SendVideoNoteWithKeyboardBytes(filepath string, chatID int64, data []byte, keyboard []byte, opts ...Option) (APIResponseMessage, error)
SendVideoNoteWithKeyboardBytes is used to send video messages with a keyboard as a slice of bytes.
func (API) SendVideoWithKeyboard ¶ added in v2.4.0
func (a API) SendVideoWithKeyboard(filepath, caption string, chatID int64, keyboard []byte, opts ...Option) (APIResponseMessage, error)
SendVideoWithKeyboard is used to send video files with a keyboard. Telegram clients support mp4 videos (other formats may be sent with SendDocument).
func (API) SendVideoWithKeyboardBytes ¶ added in v2.4.0
func (a API) SendVideoWithKeyboardBytes(filepath, caption string, chatID int64, data []byte, keyboard []byte, opts ...Option) (APIResponseMessage, error)
SendVideoWithKeyboardBytes is used to send video files with a keyboard as a slice of bytes.
func (API) SendVoice ¶ added in v2.2.0
func (a API) SendVoice(filepath, caption string, chatID int64, opts ...Option) (APIResponseMessage, error)
SendVoice is used to send audio files, if you want Telegram clients to display the file as a playable voice message. For this to work, your audio must be in an .OGG file encoded with OPUS (other formats may be sent as Audio or Document).
func (API) SendVoiceByID ¶ added in v2.2.0
func (a API) SendVoiceByID(voiceID, caption string, chatID int64, opts ...Option) (APIResponseMessage, error)
SendVoiceByID is used to send audio files that already exists on the Telegram servers, if you want Telegram clients to display the file as a playable voice message.
func (API) SendVoiceBytes ¶ added in v2.2.0
func (a API) SendVoiceBytes(filepath, caption string, chatID int64, data []byte, opts ...Option) (APIResponseMessage, error)
SendVoiceBytes is used to send audio files as a slice of bytes, if you want Telegram clients to display the file as a playable voice message.
func (API) SendVoiceWithKeyboard ¶ added in v2.4.0
func (a API) SendVoiceWithKeyboard(filepath, caption string, chatID int64, keyboard []byte, opts ...Option) (APIResponseMessage, error)
SendVoiceWithKeyboard is used to send audio files with a keyboard, if you want Telegram clients to display the file as a playable voice message. For this to work, your audio must be in an .OGG file encoded with OPUS (other formats may be sent as Audio or Document).
func (API) SendVoiceWithKeyboardBytes ¶ added in v2.4.0
func (a API) SendVoiceWithKeyboardBytes(filepath, caption string, chatID int64, data []byte, keyboard []byte, opts ...Option) (APIResponseMessage, error)
SendVoiceWithKeyboardBytes is used to send audio files with a keyboard as a slice of bytes, if you want Telegram clients to display the file as a playable voice message.
func (API) SetMyCommands ¶ added in v2.2.0
func (a API) SetMyCommands(commands ...BotCommand) (APIResponseCommands, error)
SetMyCommands is used to change the list of the bot's commands.
func (API) SetWebhook ¶ added in v2.2.0
func (a API) SetWebhook(url string) (APIResponseUpdate, error)
SetWebhook is used to specify a url and receive incoming updates via an outgoing webhook.
type APIResponseAdmins ¶ added in v2.3.1
type APIResponseAdmins struct { Result []ChatMember `json:"result,omitempty"` APIResponseBase }
APIResponseAdmins represents the incoming response from Telegram servers. Used by GetChatAdministrator (since it returns an array of ChatMembers).
type APIResponseBase ¶
type APIResponseBase struct { Ok bool `json:"ok"` ErrorCode int `json:"error_code,omitempty"` Description string `json:"description,omitempty"` }
APIResponseBase is a base type that represents the incoming response from Telegram servers. Used by APIResponse* to slim down the implementation.
type APIResponseChat ¶ added in v2.2.1
type APIResponseChat struct { Result *Chat `json:"result,omitempty"` APIResponseBase }
APIResponseChat represents the incoming response from Telegram servers. Used by GetChat (since it returns a Chat).
type APIResponseCommands ¶
type APIResponseCommands struct { Result []BotCommand `json:"result,omitempty"` APIResponseBase }
APIResponseCommands represents the incoming response from Telegram servers. Used by SetMyCommands and GetMyCommands (since they return an array of BotCommands).
type APIResponseMessage ¶
type APIResponseMessage struct { Result *Message `json:"result,omitempty"` APIResponseBase }
APIResponseMessage represents the incoming response from Telegram servers. Used by the methods in the api.go module (since they return a Message).
type APIResponseStickerSet ¶ added in v2.2.2
type APIResponseStickerSet struct { Result *StickerSet `json:"result,omitempty"` APIResponseBase }
APIResponseStickerSet represents the incoming response from Telegram servers. Used by GetStickerSet (since it returns a StickerSet).
type APIResponseUpdate ¶
type APIResponseUpdate struct { Result []*Update `json:"result,omitempty"` APIResponseBase }
APIResponseUpdate represents the incoming response from Telegram servers. Used by getUpdates (since it returns an array of Updates).
type Animation ¶ added in v2.2.2
type Animation struct { FileID string `json:"file_id"` FileUID string `json:"file_unique_id"` Width int `json:"width"` Height int `json:"height"` Duration int `json:"duration"` Thumb *PhotoSize `json:"thumb,omitempty"` FileName string `json:"file_name,omitempty"` MimeType string `json:"mime_type,omitempty"` FileSize int `json:"file_size,omitempty"` }
Animation represents an animation file (GIF or H.264/MPEG-4 AVC video without sound).
type Audio ¶
type Audio struct { FileID string `json:"file_id"` FileUID string `json:"file_unique_id"` Duration int `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 int `json:"file_size,omitempty"` Thumb *PhotoSize `json:"thumb,omitempty"` }
Audio represents an audio file to be treated as music by the Telegram clients.
type Bot ¶
type Bot interface { // Update will be called upon receiving any update from Telegram. Update(*Update) }
Bot is the interface that must be implemented by your definition of the struct thus it represent each open session with a user on Telegram.
type BotCommand ¶
BotCommand represents a bot command.
type Button ¶
type Button struct { Text string `json:"text"` RequestContact bool `json:"request_contact,omitempty"` RequestLocation bool `json:"request_location,omitempty"` }
Button represents a button in a keyboard.
type CallbackQuery ¶
type CallbackQuery struct { ID string `json:"id"` User *User `json:"from"` Message *Message `json:"message,omitempty"` InlineMessageID string `json:"inline_message_id,omitempty"` Data string `json:"data,omitempty"` }
CallbackQuery represents an incoming callback query from a callback button in an inline keyboard. If the button that originated the query was attached to a message sent by the bot, the field message will be present. If the button was attached to a message sent via the bot (in inline mode), the field inline_message_id will be present. Exactly one of the fields data or game_short_name will be present.
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"` Photo *ChatPhoto `json:"photo,omitempty"` Bio string `json:"bio,omitempty"` Description string `json:"description,omitempty"` InviteLink string `json:"invite_link,omitempty"` PinnedMessage *Message `json:"pinned_message,omitempty"` Permissions *ChatPermissions `json:"permissions,omitempty"` SlowModeDelay int `json:"slow_mode_delay,omitempty"` MessageAutoDeleteTime int `json:"message_auto_delete_time,omitempty"` StickerSetName string `json:"sticker_set_name,omitempty"` CanSetStickerSet bool `json:"can_set_sticker_set,omitempty"` LinkedChatID int64 `json:"linked_chat_id,omitempty"` Location *ChatLocation `json:"location,omitempty"` }
Chat represents a chat.
type ChatAction ¶
type ChatAction string
ChatAction is a custom type for the various actions that can be sent through the SendChatAction method.
type ChatInviteLink ¶ added in v2.2.1
type ChatInviteLink struct { InviteLink string `json:"invite_link"` Creator *User `json:"creator"` IsPrimary bool `json:"is_primary"` IsRevoked bool `json:"is_revoked"` ExpireDate int `json:"expire_date,omitempty"` MemberLimit int `json:"member_limit,omitempty"` }
ChatInviteLink represents an invite link for a chat.
type ChatLocation ¶ added in v2.2.1
ChatLocation represents a location to which a chat is connected.
type ChatMember ¶ added in v2.2.1
type ChatMember struct { User *User `json:"user"` Status string `json:"status"` CustomTitle string `json:"custom_title,omitempty"` IsAnonymous bool `json:"is_anonymous,omitempty"` CanBeEdited bool `json:"can_be_edited,omitempty"` CanManageChat bool `json:"can_manage_chat,omitempty"` CanPostMessages bool `json:"can_post_messages,omitempty"` CanEditMessages bool `json:"can_edit_messages,omitempty"` CanDeleteMessages bool `json:"can_delete_messages,omitempty"` CanManageVoiceChats bool `json:"can_manage_voice_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"` CanPinMessages bool `json:"can_pin_messages,omitempty"` IsMember bool `json:"is_member,omitempty"` CanSendMessages bool `json:"can_send_messages,omitempty"` CanSendMediaMessages bool `json:"can_send_media_messages,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"` UntilDate int `json:"until_date,omitempty"` }
ChatMember contains information about one member of a chat.
type ChatMemberUpdated ¶ added in v2.2.1
type ChatMemberUpdated struct { Chat *Chat `json:"chat"` User *User `json:"from"` Date int `json:"date"` OldChatMember *ChatMember `json:"old_chat_member"` NewChatMember *ChatMember `json:"new_chat_member"` InviteLink *ChatInviteLink `json:"invite_link,omitempty"` }
ChatMemberUpdated represents changes in the status of a chat member.
type ChatPermissions ¶ added in v2.2.1
type ChatPermissions struct { CanSendMessages bool `json:"can_send_messages,omitempty"` CanSendMediaMessages bool `json:"can_send_media_messages,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"` }
ChatPermissions describes actions that a non-administrator user is allowed to take in a chat.
type ChatPhoto ¶ added in v2.2.1
type ChatPhoto struct { SmallFileID string `json:"small_file_id"` SmallFileUID string `json:"small_file_unique_id"` BigFileID string `json:"big_file_id"` BigFileUID string `json:"big_file_unique_id"` }
ChatPhoto represents a chat photo.
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"` }
ChosenInlineResult represents a result of an inline query that was chosen by the user and sent to their chat partner.
type Contact ¶
type Contact struct { PhoneNumber string `json:"phone_number"` FirstName string `json:"first_name"` LastName string `json:"last_name,omitempty"` UserID int `json:"user_id,omitempty"` Vcard string `json:"vcard,omitempty"` }
Contact represents a phone contact.
type Dispatcher ¶
type Dispatcher struct {
// contains filtered or unexported fields
}
The Dispatcher passes the updates from the Telegram Bot API to the Bot instance associated with each chatID. When a new chat ID is found, the provided function of type NewBotFn will be called.
func NewDispatcher ¶
func NewDispatcher(token string, newBotFn NewBotFn) *Dispatcher
NewDispatcher returns a new instance of the Dispatcher object. Calls the Update function of the bot associated with each chat ID. If a new chat ID is found, newBotFn will be called first.
func (*Dispatcher) AddSession ¶
func (d *Dispatcher) AddSession(chatID int64)
AddSession allows to arbitrarily create a new Bot instance.
func (*Dispatcher) DelSession ¶
func (d *Dispatcher) DelSession(chatID int64)
DelSession deletes the Bot instance, seen as a session, from the map with all of them.
func (*Dispatcher) ListenWebhook ¶
func (d *Dispatcher) ListenWebhook(webhookURL string) error
ListenWebhook sets a webhook and listens for incoming updates. The webhookUrl should be provided in the following format: '<hostname>:<port>/<path>', eg: 'https://example.com:443/bot_token'. ListenWebhook will then proceed to communicate the webhook url '<hostname>/<path>' to Telegram and run a webserver that listens to ':<port>' and handles the path.
func (*Dispatcher) Poll ¶
func (d *Dispatcher) Poll() error
Poll starts the polling loop so that the dispatcher calls the function Update upon receiving any update from Telegram.
type Document ¶
type Document struct { FileID string `json:"file_id"` FileUID string `json:"file_unique_id"` Thumb *PhotoSize `json:"thumb,omitempty"` FileName string `json:"file_name,omitempty"` MimeType string `json:"mime_type,omitempty"` FileSize int `json:"file_size,omitempty"` }
Document represents a general file (as opposed to photos, voice messages and audio files).
type Game ¶ added in v2.2.5
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"` // contains filtered or unexported fields }
Game represents a game.
type InlineButton ¶
type InlineButton struct { Text string `json:"text"` URL string `json:"url,omitempty"` CallbackData string `json:"callback_data,omitempty"` }
InlineButton represents a button in an inline keyboard.
type InlineKbdRow ¶
type InlineKbdRow []InlineButton
InlineKbdRow represents a row of buttons in an inline keyboard.
type InlineKeyboard ¶
type InlineKeyboard struct {
InlineKeyboard []InlineKbdRow `json:"inline_keyboard"`
}
InlineKeyboard represents an inline keyboard.
type InlineQuery ¶
type InlineQuery struct { ID string `json:"id"` From *User `json:"from"` Location *Location `json:"location,omitempty"` Query string `json:"query"` Offset string `json:"offset"` }
InlineQuery represents an incoming inline query. When the user sends an empty query, your bot could return some default or trending results.
type InlineQueryOptions ¶ added in v2.1.0
type InlineQueryOptions struct { CacheTime int IsPersonal bool NextOffset string SwitchPmText string SwitchPmParameter string }
InlineQueryOptions is a custom type which contains the various options required by the AnswerInlineQueryOptions method.
type InlineQueryResult ¶ added in v2.1.0
type InlineQueryResult interface {
ImplementsInlineQueryResult()
}
InlineQueryResult represents an interface that implements all the various InlineQueryResult* types.
type InlineQueryResultArticle ¶ added in v2.1.0
type InlineQueryResultArticle struct { Type InlineQueryType `json:"type"` ID string `json:"id"` Title string `json:"title"` ReplyMarkup *InlineKeyboard `json:"reply_markup,omitempty"` URL string `json:"url,omitempty"` HideURL bool `json:"hide_url,omitempty"` Description string `json:"description,omitempty"` ThumbURL string `json:"thumb_url,omitempty"` ThumbWidth int `json:"thumb_width,omitempty"` ThumbHeight int `json:"thumb_height,omitempty"` InputMessageContent InputMessageContent `json:"input_message_content,omitempty"` }
InlineQueryResultArticle represents a link to an article or web page.
func (InlineQueryResultArticle) ImplementsInlineQueryResult ¶ added in v2.1.0
func (i InlineQueryResultArticle) ImplementsInlineQueryResult()
ImplementsInlineQueryResult is used to implement the InlineQueryResult interface.
type InlineQueryResultAudio ¶ added in v2.1.0
type InlineQueryResultAudio struct { Type InlineQueryType `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 int `json:"audio_duration,omitempty"` ReplyMarkup *InlineKeyboard `json:"reply_markup,omitempty"` InputMessageContent InputMessageContent `json:"input_message_content,omitempty"` }
InlineQueryResultAudio represents a link to an MP3 audio file. By default, this audio file will be sent by the user. Alternatively, you can use InputMessageContent to send a message with the specified content instead of the audio.
func (InlineQueryResultAudio) ImplementsInlineQueryResult ¶ added in v2.1.0
func (i InlineQueryResultAudio) ImplementsInlineQueryResult()
ImplementsInlineQueryResult is used to implement the InlineQueryResult interface.
type InlineQueryResultCachedAudio ¶ added in v2.1.0
type InlineQueryResultCachedAudio struct { Type InlineQueryType `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 *InlineKeyboard `json:"reply_markup,omitempty"` InputMessageContent InputMessageContent `json:"input_message_content,omitempty"` }
InlineQueryResultCachedAudio represents a link to an MP3 audio file stored on the Telegram servers. By default, this audio file will be sent by the user. Alternatively, you can use InputMessageContent to send a message with the specified content instead of the audio.
func (InlineQueryResultCachedAudio) ImplementsInlineQueryResult ¶ added in v2.1.0
func (i InlineQueryResultCachedAudio) ImplementsInlineQueryResult()
ImplementsInlineQueryResult is used to implement the InlineQueryResult interface.
type InlineQueryResultCachedDocument ¶ added in v2.1.0
type InlineQueryResultCachedDocument struct { Type InlineQueryType `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 *InlineKeyboard `json:"reply_markup,omitempty"` InputMessageContent InputMessageContent `json:"input_message_content,omitempty"` }
InlineQueryResultCachedDocument represents a link to a file stored on the Telegram servers. By default, this file will be sent by the user with an optional caption. Alternatively, you can use InputMessageContent to send a message with the specified content instead of the file.
func (InlineQueryResultCachedDocument) ImplementsInlineQueryResult ¶ added in v2.1.0
func (i InlineQueryResultCachedDocument) ImplementsInlineQueryResult()
ImplementsInlineQueryResult is used to implement the InlineQueryResult interface.
type InlineQueryResultCachedGif ¶ added in v2.1.0
type InlineQueryResultCachedGif struct { Type InlineQueryType `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"` ReplyMarkup *InlineKeyboard `json:"reply_markup,omitempty"` InputMessageContent InputMessageContent `json:"input_message_content,omitempty"` }
InlineQueryResultCachedGif represents a link to an animated GIF file stored on the Telegram servers. By default, this animated GIF file will be sent by the user with an optional caption. Alternatively, you can use InputMessageContent to send a message with specified content instead of the animation.
func (InlineQueryResultCachedGif) ImplementsInlineQueryResult ¶ added in v2.1.0
func (i InlineQueryResultCachedGif) ImplementsInlineQueryResult()
ImplementsInlineQueryResult is used to implement the InlineQueryResult interface.
type InlineQueryResultCachedMpeg4Gif ¶ added in v2.1.0
type InlineQueryResultCachedMpeg4Gif struct { Type InlineQueryType `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"` ReplyMarkup *InlineKeyboard `json:"reply_markup,omitempty"` InputMessageContent InputMessageContent `json:"input_message_content,omitempty"` }
InlineQueryResultCachedMpeg4Gif represents a link to a video animation (H.264/MPEG-4 AVC video without sound) stored on the Telegram servers. By default, this animated MPEG-4 file will be sent by the user with an optional caption. Alternatively, you can use InputMessageContent to send a message with the specified content instead of the animation.
func (InlineQueryResultCachedMpeg4Gif) ImplementsInlineQueryResult ¶ added in v2.1.0
func (i InlineQueryResultCachedMpeg4Gif) ImplementsInlineQueryResult()
ImplementsInlineQueryResult is used to implement the InlineQueryResult interface.
type InlineQueryResultCachedPhoto ¶ added in v2.1.0
type InlineQueryResultCachedPhoto struct { Type InlineQueryType `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"` ReplyMarkup *InlineKeyboard `json:"reply_markup,omitempty"` InputMessageContent InputMessageContent `json:"input_message_content,omitempty"` }
InlineQueryResultCachedPhoto represents a link to a photo stored on the Telegram servers. By default, this photo will be sent by the user with an optional caption. Alternatively, you can use InputMessageContent to send a message with the specified content instead of the photo.
func (InlineQueryResultCachedPhoto) ImplementsInlineQueryResult ¶ added in v2.1.0
func (i InlineQueryResultCachedPhoto) ImplementsInlineQueryResult()
ImplementsInlineQueryResult is used to implement the InlineQueryResult interface.
type InlineQueryResultCachedSticker ¶ added in v2.1.0
type InlineQueryResultCachedSticker struct { Type InlineQueryType `json:"type"` ID string `json:"id"` StickerFileID string `json:"sticker_file_id"` ReplyMarkup *InlineKeyboard `json:"reply_markup,omitempty"` InputMessageContent InputMessageContent `json:"input_message_content,omitempty"` }
InlineQueryResultCachedSticker represents a link to a sticker stored on the Telegram servers. By default, this sticker will be sent by the user. Alternatively, you can use InputMessageContent to send a message with the specified content instead of the sticker.
func (InlineQueryResultCachedSticker) ImplementsInlineQueryResult ¶ added in v2.1.0
func (i InlineQueryResultCachedSticker) ImplementsInlineQueryResult()
ImplementsInlineQueryResult is used to implement the InlineQueryResult interface.
type InlineQueryResultCachedVideo ¶ added in v2.1.0
type InlineQueryResultCachedVideo struct { Type InlineQueryType `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"` ReplyMarkup *InlineKeyboard `json:"reply_markup,omitempty"` InputMessageContent InputMessageContent `json:"input_message_content,omitempty"` }
InlineQueryResultCachedVideo represents a link to a video file stored on the Telegram servers. By default, this video file will be sent by the user with an optional caption. Alternatively, you can use InputMessageContent to send a message with the specified content instead of the video.
func (InlineQueryResultCachedVideo) ImplementsInlineQueryResult ¶ added in v2.1.0
func (i InlineQueryResultCachedVideo) ImplementsInlineQueryResult()
ImplementsInlineQueryResult is used to implement the InlineQueryResult interface.
type InlineQueryResultCachedVoice ¶ added in v2.1.0
type InlineQueryResultCachedVoice struct { Type InlineQueryType `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 *InlineKeyboard `json:"reply_markup,omitempty"` InputMessageContent InputMessageContent `json:"input_message_content,omitempty"` }
InlineQueryResultCachedVoice represents a link to a voice message stored on the Telegram servers. By default, this voice message will be sent by the user. Alternatively, you can use InputMessageContent to send a message with the specified content instead of the voice message.
func (InlineQueryResultCachedVoice) ImplementsInlineQueryResult ¶ added in v2.1.0
func (i InlineQueryResultCachedVoice) ImplementsInlineQueryResult()
ImplementsInlineQueryResult is used to implement the InlineQueryResult interface.
type InlineQueryResultContact ¶ added in v2.1.0
type InlineQueryResultContact struct { Type InlineQueryType `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 *InlineKeyboard `json:"reply_markup,omitempty"` ThumbURL string `json:"thumb_url,omitempty"` ThumbWidth int `json:"thumb_width,omitempty"` ThumbHeight int `json:"thumb_height,omitempty"` InputMessageContent InputMessageContent `json:"input_message_content,omitempty"` }
InlineQueryResultContact represents a contact with a phone number. By default, this contact will be sent by the user. Alternatively, you can use InputMessageContent to send a message with the specified content instead of the contact.
func (InlineQueryResultContact) ImplementsInlineQueryResult ¶ added in v2.1.0
func (i InlineQueryResultContact) ImplementsInlineQueryResult()
ImplementsInlineQueryResult is used to implement the InlineQueryResult interface.
type InlineQueryResultDocument ¶ added in v2.1.0
type InlineQueryResultDocument struct { Type InlineQueryType `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 *InlineKeyboard `json:"reply_markup,omitempty"` ThumbURL string `json:"thumb_url,omitempty"` ThumbWidth int `json:"thumb_width,omitempty"` ThumbHeight int `json:"thumb_height,omitempty"` InputMessageContent InputMessageContent `json:"input_message_content,omitempty"` }
InlineQueryResultDocument represents a link to a file. By default, this file will be sent by the user with an optional caption. Alternatively, you can use InputMessageContent to send a message with the specified content instead of the file. Currently, only .PDF and .ZIP files can be sent using this method.
func (InlineQueryResultDocument) ImplementsInlineQueryResult ¶ added in v2.1.0
func (i InlineQueryResultDocument) ImplementsInlineQueryResult()
ImplementsInlineQueryResult is used to implement the InlineQueryResult interface.
type InlineQueryResultGame ¶ added in v2.1.0
type InlineQueryResultGame struct { Type InlineQueryType `json:"type"` ID string `json:"id"` GameShortName string `json:"game_short_name"` ReplyMarkup *InlineKeyboard `json:"reply_markup,omitempty"` }
InlineQueryResultGame represents a Game.
func (InlineQueryResultGame) ImplementsInlineQueryResult ¶ added in v2.1.0
func (i InlineQueryResultGame) ImplementsInlineQueryResult()
ImplementsInlineQueryResult is used to implement the InlineQueryResult interface.
type InlineQueryResultGif ¶ added in v2.1.0
type InlineQueryResultGif struct { Type InlineQueryType `json:"type"` ID string `json:"id"` GifURL string `json:"gif_url"` GifWidth int `json:"gif_width,omitempty"` GifHeight int `json:"gif_height,omitempty"` GifDuration int `json:"gif_duration,omitempty"` ThumbURL string `json:"thumb_url"` ThumbMimeType string `json:"thumb_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"` ReplyMarkup *InlineKeyboard `json:"reply_markup,omitempty"` InputMessageContent InputMessageContent `json:"input_message_content,omitempty"` }
InlineQueryResultGif represents a link to an animated GIF file. By default, this animated GIF file will be sent by the user with optional caption. Alternatively, you can use InputMessageContent to send a message with the specified content instead of the animation.
func (InlineQueryResultGif) ImplementsInlineQueryResult ¶ added in v2.1.0
func (i InlineQueryResultGif) ImplementsInlineQueryResult()
ImplementsInlineQueryResult is used to implement the InlineQueryResult interface.
type InlineQueryResultLocation ¶ added in v2.1.0
type InlineQueryResultLocation struct { Type InlineQueryType `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 int `json:"live_period,omitempty"` Heading int `json:"heading,omitempty"` ProximityAlertRadius int `json:"proximity_alert_radius,omitempty"` ReplyMarkup *InlineKeyboard `json:"reply_markup,omitempty"` ThumbURL string `json:"thumb_url,omitempty"` ThumbWidth int `json:"thumb_width,omitempty"` ThumbHeight int `json:"thumb_height,omitempty"` InputMessageContent InputMessageContent `json:"input_message_content,omitempty"` }
InlineQueryResultLocation represents a location on a map. By default, the location will be sent by the user. Alternatively, you can use InputMessageContent to send a message with the specified content instead of the location.
func (InlineQueryResultLocation) ImplementsInlineQueryResult ¶ added in v2.1.0
func (i InlineQueryResultLocation) ImplementsInlineQueryResult()
ImplementsInlineQueryResult is used to implement the InlineQueryResult interface.
type InlineQueryResultMpeg4Gif ¶ added in v2.1.0
type InlineQueryResultMpeg4Gif struct { Type InlineQueryType `json:"type"` ID string `json:"id"` Mpeg4URL string `json:"mpeg4_url"` Mpeg4Width int `json:"mpeg4_width,omitempty"` Mpeg4Height int `json:"mpeg4_height,omitempty"` Mpeg4Duration int `json:"mpeg4_duration,omitempty"` ThumbURL string `json:"thumb_url"` ThumbMimeType string `json:"thumb_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"` ReplyMarkup *InlineKeyboard `json:"reply_markup,omitempty"` InputMessageContent InputMessageContent `json:"input_message_content,omitempty"` }
InlineQueryResultMpeg4Gif represents a link to a video animation (H.264/MPEG-4 AVC video without sound). By default, this animated MPEG-4 file will be sent by the user with optional caption. Alternatively, you can use InputMessageContent to send a message with the specified content instead of the animation.
func (InlineQueryResultMpeg4Gif) ImplementsInlineQueryResult ¶ added in v2.1.0
func (i InlineQueryResultMpeg4Gif) ImplementsInlineQueryResult()
ImplementsInlineQueryResult is used to implement the InlineQueryResult interface.
type InlineQueryResultPhoto ¶ added in v2.1.0
type InlineQueryResultPhoto struct { Type InlineQueryType `json:"type"` ID string `json:"id"` PhotoURL string `json:"photo_url"` ThumbURL string `json:"thumb_url"` PhotoWidth int `json:"photo_width,omitempty"` PhotoHeight int `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"` ReplyMarkup *InlineKeyboard `json:"reply_markup,omitempty"` InputMessageContent InputMessageContent `json:"input_message_content,omitempty"` }
InlineQueryResultPhoto represents a link to a photo. By default, this photo will be sent by the user with optional caption. Alternatively, you can use InputMessageContent to send a message with the specified content instead of the photo.
func (InlineQueryResultPhoto) ImplementsInlineQueryResult ¶ added in v2.1.0
func (i InlineQueryResultPhoto) ImplementsInlineQueryResult()
ImplementsInlineQueryResult is used to implement the InlineQueryResult interface.
type InlineQueryResultVenue ¶ added in v2.1.0
type InlineQueryResultVenue struct { Type InlineQueryType `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 *InlineKeyboard `json:"reply_markup,omitempty"` ThumbURL string `json:"thumb_url,omitempty"` ThumbWidth int `json:"thumb_width,omitempty"` ThumbHeight int `json:"thumb_height,omitempty"` InputMessageContent InputMessageContent `json:"input_message_content,omitempty"` }
InlineQueryResultVenue represents a venue. By default, the venue will be sent by the user. Alternatively, you can use InputMessageContent to send a message with the specified content instead of the venue.
func (InlineQueryResultVenue) ImplementsInlineQueryResult ¶ added in v2.1.0
func (i InlineQueryResultVenue) ImplementsInlineQueryResult()
ImplementsInlineQueryResult is used to implement the InlineQueryResult interface.
type InlineQueryResultVideo ¶ added in v2.1.0
type InlineQueryResultVideo struct { Type InlineQueryType `json:"type"` ID string `json:"id"` VideoURL string `json:"video_url"` MimeType string `json:"mime_type"` ThumbURL string `json:"thumb_url"` Title string `json:"title"` Caption string `json:"caption,omitempty"` ParseMode string `json:"parse_mode,omitempty"` CaptionEntities []*MessageEntity `json:"caption_entities,omitempty"` VideoWidth int `json:"video_width,omitempty"` VideoHeight int `json:"video_height,omitempty"` VideoDuration int `json:"video_duration,omitempty"` Description string `json:"description,omitempty"` ReplyMarkup *InlineKeyboard `json:"reply_markup,omitempty"` InputMessageContent InputMessageContent `json:"input_message_content,omitempty"` }
InlineQueryResultVideo represents a link to a page containing an embedded video player or a video file. By default, this video file will be sent by the user with an optional caption. Alternatively, you can use InputMessageContent to send a message with the specified content instead of the video.
func (InlineQueryResultVideo) ImplementsInlineQueryResult ¶ added in v2.1.0
func (i InlineQueryResultVideo) ImplementsInlineQueryResult()
ImplementsInlineQueryResult is used to implement the InlineQueryResult interface.
type InlineQueryResultVoice ¶ added in v2.1.0
type InlineQueryResultVoice struct { Type InlineQueryType `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 int `json:"voice_duration,omitempty"` ReplyMarkup *InlineKeyboard `json:"reply_markup,omitempty"` InputMessageContent InputMessageContent `json:"input_message_content,omitempty"` }
InlineQueryResultVoice represents a link to a voice recording in an .OGG container encoded with OPUS. By default, this voice recording will be sent by the user. Alternatively, you can use InputMessageContent to send a message with the specified content instead of the the voice message.
func (InlineQueryResultVoice) ImplementsInlineQueryResult ¶ added in v2.1.0
func (i InlineQueryResultVoice) ImplementsInlineQueryResult()
ImplementsInlineQueryResult is used to implement the InlineQueryResult interface.
type InlineQueryType ¶ added in v2.1.0
type InlineQueryType string
InlineQueryType is a custom type for the various InlineQueryResult*'s Type field.
type InputContactMessageContent ¶ added in v2.1.0
type InputContactMessageContent struct { PhoneNumber string `json:"phone_number"` FirstName string `json:"first_name"` LastName string `json:"last_name,omitempty"` Vcard string `json:"vcard,omitempty"` }
InputContactMessageContent represents the content of a contact message to be sent as the result of an inline query.
func (InputContactMessageContent) ImplementsInputMessageContent ¶ added in v2.1.0
func (i InputContactMessageContent) ImplementsInputMessageContent()
ImplementsInputMessageContent is used to implement the InputMessageContent interface.
type InputLocationMessageContent ¶ added in v2.1.0
type InputLocationMessageContent struct { Latitude float64 `json:"latitude"` Longitude float64 `json:"longitude"` HorizontalAccuracy float64 `json:"horizontal_accuracy,omitempty"` LivePeriod int `json:"live_period,omitempty"` Heading int `json:"heading,omitempty"` ProximityAlertRadius int `json:"proximity_alert_radius,omitempty"` }
InputLocationMessageContent represents the content of a location message to be sent as the result of an inline query.
func (InputLocationMessageContent) ImplementsInputMessageContent ¶ added in v2.1.0
func (i InputLocationMessageContent) ImplementsInputMessageContent()
ImplementsInputMessageContent is used to implement the InputMessageContent interface.
type InputMessageContent ¶ added in v2.1.0
type InputMessageContent interface {
ImplementsInputMessageContent()
}
InputMessageContent represents an interface that implements all the various Input*MessageContent types.
type InputTextMessageContent ¶ added in v2.1.0
type InputTextMessageContent struct { MessageText string `json:"message_text"` ParseMode string `json:"parse_mode,omitempty"` Entities []*MessageEntity `json:"entities,omitempty"` DisableWebPagePreview bool `json:"disable_web_page_preview,omitempty"` }
InputTextMessageContent represents the content of a text message to be sent as the result of an inline query.
func (InputTextMessageContent) ImplementsInputMessageContent ¶ added in v2.1.0
func (i InputTextMessageContent) ImplementsInputMessageContent()
ImplementsInputMessageContent is used to implement the InputMessageContent interface.
type InputVenueMessageContent ¶ added in v2.1.0
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"` }
InputVenueMessageContent represents the content of a venue message to be sent as the result of an inline query.
func (InputVenueMessageContent) ImplementsInputMessageContent ¶ added in v2.1.0
func (i InputVenueMessageContent) ImplementsInputMessageContent()
ImplementsInputMessageContent is used to implement the InputMessageContent interface.
type Keyboard ¶
type Keyboard struct { Keyboard []KbdRow `json:"keyboard"` ResizeKeyboard bool `json:"resize_keyboard,omitempty"` OneTimeKeyboard bool `json:"one_time_keyboard,omitempty"` Selective bool `json:"selective,omitempty"` }
Keyboard represents a keyboard.
type KeyboardRemove ¶
type KeyboardRemove struct { RemoveKeyboard bool `json:"remove_keyboard"` Selective bool `json:"selective,omitempty"` }
KeyboardRemove represents a keyboard removal request.
type Location ¶
type Location struct { Longitude float64 `json:"longitude"` Latitude float64 `json:"latitude"` HorizontalAccuracy float64 `json:"horizontal_accuracy,omitempty"` LivePeriod int `json:"live_period,omitempty"` Heading int `json:"heading,omitempty"` ProximityAlertRadius int `json:"proximity_alert_radius,omitempty"` }
Location represents a point on the map.
type MaskPosition ¶
type MaskPosition struct { Point string `json:"point"` XShift float32 `json:"x_shift"` YShift float32 `json:"y_shift"` Scale float32 `json:"scale"` }
MaskPosition describes the position on faces where a mask should be placed by default.
type Message ¶
type Message struct { ID int `json:"message_id"` User *User `json:"from,omitempty"` SenderChat *Chat `json:"sender_chat,omitempty"` Date int `json:"date"` Chat *Chat `json:"chat"` ForwardFrom *User `json:"forward_from,omitempty"` ForwardFromChat *Chat `json:"forward_from_chat,omitempty"` ForwardFromMessageID int `json:"forward_from_message_id,omitempty"` ForwardSignature string `json:"forward_signature,omitempty"` ForwardSenderName string `json:"forward_sender_name,omitempty"` ForwardDate int `json:"forward_date,omitempty"` ReplyToMessage *Message `json:"reply_to_message,omitempty"` ViaBot *User `json:"via_bot,omitempty"` EditDate int `json:"edit_date,omitempty"` MediaGroupID string `json:"media_group_id,omitempty"` AuthorSignature string `json:"author_signature,omitempty"` Text string `json:"text,omitempty"` Entities []*MessageEntity `json:"entities,omitempty"` Animation *Animation `json:"animation,omitempty"` Audio *Audio `json:"audio,omitempty"` Document *Document `json:"document,omitempty"` Photo []*PhotoSize `json:"photo,omitempty"` Sticker *Sticker `json:"sticker,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"` 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 int `json:"migrate_to_chat_id,omitempty"` MigrateFromChatID int `json:"migrate_from_chat_id,omitempty"` PinnedMessage *Message `json:"pinned_message,omitempty"` ConnectedWebsite string `json:"connected_website,omitempty"` ProximityAlertTriggered *ProximityAlertTriggered `json:"proximity_alert_triggered,omitempty"` VoiceChatStarted *VoiceChatStarted `json:"voice_chat_started,omitempty"` VoiceChatEnded *VoiceChatEnded `json:"voice_chat_ended,omitempty"` VoiceChatParticipantsInvited *VoiceChatParticipantsInvited `json:"voice_chat_participants_invited,omitempty"` ReplyMarkup *InlineKeyboard `json:"reply_markup,omitempty"` }
Message represents a message.
type MessageAutoDeleteTimerChanged ¶ added in v2.2.5
type MessageAutoDeleteTimerChanged struct {
MessageAutoDeleteTime int `json:"message_auto_delete_time"`
}
MessageAutoDeleteTimerChanged represents a service message about a change in auto-delete timer settings.
type MessageEntity ¶
type MessageEntity struct { Type string `json:"type"` Offset int `json:"offset"` Length int `json:"Length"` URL string `json:"url,omitempty"` User *User `json:"user,omitempty"` }
MessageEntity represents one special entity in a text message. For example, hashtags, usernames, URLs, etc.
type NewBotFn ¶
NewBotFn is called every time echosphere receives an update with a chat ID never encountered before.
type Option ¶
type Option string
Option is a custom type for the various frequent options used by some methods of the API.
type PhotoSize ¶
type PhotoSize struct { FileID string `json:"file_id"` FileUID string `json:"file_unique_id"` Width int `json:"width"` Height int `json:"height"` FileSize int `json:"file_size,omitempty"` }
PhotoSize represents one size of a photo or a file / sticker thumbnail.
type Poll ¶ added in v2.2.2
type Poll struct { ID string `json:"id"` Question string `json:"question"` Options []*PollOption `json:"options"` TotalVoterCount int `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 int `json:"correct_option_id,omitempty"` Explanation string `json:"explanation,omitempty"` ExplanationEntities []*MessageEntity `json:"explanation_entities,omitempty"` OpenPeriod int `json:"open_period,omitempty"` CloseDate int `json:"close_date,omitempty"` }
Poll contains information about a poll.
type PollAnswer ¶ added in v2.2.2
type PollAnswer struct { PollID string `json:"poll_id"` User *User `json:"user"` OptionIDs []int `json:"option_ids"` }
PollAnswer represents an answer of a user in a non-anonymous poll.
type PollOption ¶ added in v2.2.2
PollOption contains information about one answer option in a poll.
type ProximityAlertTriggered ¶ added in v2.2.5
type ProximityAlertTriggered struct { Traveler *User `json:"traveler"` Watcher *User `json:"watcher"` Distance int `json:"distance"` }
ProximityAlertTriggered represents the content of a service message, sent whenever a user in the chat triggers a proximity alert set by another user.
type Sticker ¶
type Sticker struct { FileID string `json:"file_id"` FileUID string `json:"file_unique_id"` Width int `json:"width"` Height int `json:"height"` IsAnimated bool `json:"is_animated"` Thumb *PhotoSize `json:"thumb,omitempty"` Emoji string `json:"emoji,omitempty"` SetName string `json:"set_name,omitempty"` MaskPosition MaskPosition `json:"mask_position"` FileSize int `json:"file_size,omitempty"` }
Sticker represents a sticker.
type StickerSet ¶
type StickerSet struct { Name string `json:"name"` Title string `json:"title"` IsAnimated bool `json:"is_animated"` ContainsMasks bool `json:"contains_masks"` Stickers []*Sticker `json:"sticker"` Thumb *PhotoSize `json:"thumb,omitempty"` }
StickerSet represents a sticker set.
type Update ¶
type Update struct { ID int `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"` InlineQuery *InlineQuery `json:"inline_query,omitempty"` ChosenInlineResult *ChosenInlineResult `json:"chosen_inline_result,omitempty"` CallbackQuery *CallbackQuery `json:"callback_query,omitempty"` }
Update represents an incoming update. At most one of the optional parameters can be present in any given update.
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"` }
User represents a Telegram user or bot.
type Venue ¶ added in v2.2.2
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"` }
Venue represents a venue.
type Video ¶
type Video struct { FileID string `json:"file_id"` FileUID string `json:"file_unique_id"` Width int `json:"width"` Height int `json:"height"` Duration int `json:"duration"` Thumb *PhotoSize `json:"thumb,omitempty"` FileName string `json:"file_name,omitempty"` MimeType string `json:"mime_type,omitempty"` FileSize int `json:"file_size,omitempty"` }
Video represents a video file.
type VideoNote ¶
type VideoNote struct { FileID string `json:"file_id"` FileUID string `json:"file_unique_id"` Length int `json:"length"` Duration int `json:"duration"` Thumb *PhotoSize `json:"thumb,omitempty"` FileSize int `json:"file_size,omitempty"` }
VideoNote represents a video message (available in Telegram apps as of v.4.0).
type Voice ¶
type Voice struct { FileID string `json:"file_id"` FileUID string `json:"file_unique_id"` Duration int `json:"duration"` MimeType string `json:"mime_type,omitempty"` FileSize int `json:"file_size,omitempty"` }
Voice represents a voice note.
type VoiceChatEnded ¶ added in v2.2.5
type VoiceChatEnded struct {
Duration int `json:"duration"`
}
VoiceChatEnded represents a service message about a voice chat ended in the chat.
type VoiceChatParticipantsInvited ¶ added in v2.2.5
type VoiceChatParticipantsInvited struct {
Users []*User `json:"users,omitempty"`
}
VoiceChatParticipantsInvited represents a service message about new members invited to a voice chat.
type VoiceChatStarted ¶ added in v2.2.5
type VoiceChatStarted struct{}
VoiceChatStarted represents a service message about a voice chat started in the chat.