· 9 years ago · Nov 16, 2016, 11:04 AM
1int ? = Int;
2long ? = Long;
3double ? = Double;
4string ? = String;
5
6bytes = Bytes;
7
8boolFalse = Bool;
9boolTrue = Bool;
10
11vector {t:Type} # [ t ] = Vector t;
12
13
14//@description Object of this type may be returned on every function call in case of the error
15//@code Error code, maybe changed in the future @message Error message, may be changed in the future
16error code:int message:string = Error;
17
18
19//@description Object of this type returns on successful function call for some functions
20ok = Ok;
21
22
23//@class AuthCodeType @description Provides information about the way an authentication code is delivered to the user
24
25//@description Code is delivered through private Telegram message, which can be viewed in the other client @length Length of the code
26authCodeTypeMessage length:int = AuthCodeType;
27
28//@description Code is delivered by SMS to the specified phone number @length Length of the code
29authCodeTypeSms length:int = AuthCodeType;
30
31//@description Code is delievered by voice call to the specified phone number @length Length of the code
32authCodeTypeCall length:int = AuthCodeType;
33
34//@description Code is delivered by the immediately cancelled call to the specified phone number. Number from which the call was done is the code @pattern Pattern of the phone number from which the call will be done
35authCodeTypeFlashCall pattern:string = AuthCodeType;
36
37
38//@class AuthState @description Represents current authorization state of the Client
39
40//@description TDLib needs user's phone number to authorize
41authStateWaitPhoneNumber = AuthState;
42
43//@description TDLib needs user authentication code to finish authorization @is_registered True, if user is already registered @code_type Describes the way, code was sent to the user @next_code_type Describes the way, next code will be sent to the user, nullable @timeout Timeout in seconds before code should be resent by calling resendAuthCode
44authStateWaitCode is_registered:Bool code_type:AuthCodeType next_code_type:AuthCodeType timeout:int = AuthState;
45
46//@description User is authorized but he needs to enter its password to begin to use application @hint Hint on password, can be empty @has_recovery Is recovery email set up
47//@email_unconfirmed_pattern Pattern of email to which recovery mail was sent, empty before recovery email was sent
48authStateWaitPassword hint:string has_recovery:Bool email_unconfirmed_pattern:string = AuthState;
49
50//@description User is successfully authorized. TDLib can answer queries
51authStateOk = AuthState;
52
53//@description User is currently logging out
54authStateLoggingOut = AuthState;
55
56
57//@description Represents a file @id Unique file identifier, 0 for empty file @persistent_id Persistent file identifier, if exists. Can be used across application restarts or even other devices for current logged user. If begins with "http://" or "https://", it is HTTP URL of the file. Currently, TDLib is unable to download files if only they URL is known
58//@size File size, 0 if unknown @path Local path to the file, if available
59file id:int persistent_id:string size:int path:string = File;
60
61
62//@class InputFile @description Points to some file
63
64//@description File defined by its id @id Unique file identifier
65inputFileId id:int = InputFile;
66
67//@description File defined by its persistent id @persistent_id Persistent file identifier
68inputFilePersistentId persistent_id:string = InputFile;
69
70//@description File deifned by local path @path Local path to the file
71inputFileLocal path:string = InputFile;
72
73
74//@description Photo description @type Thumbnail type (see https://core.telegram.org/constructor/photoSize)
75//@photo Information about photo file @width Photo width @height Photo height
76photoSize type:string photo:file width:int height:int = PhotoSize;
77
78
79//@description Describes animation file. Animation should be encoded in gif or mp4 format @width Width of the animation @height Height of the animation
80//@file_name Original name of a file as defined by sender @mime_type MIME type of a file, usually "image/gif" or "video/mp4" @thumb Animation thumb, nullable @animation File with the animation
81animation width:int height:int file_name:string mime_type:string thumb:photoSize animation:file = Animation;
82
83//@description Describes audio file. Audio is usually in mp3 format @duration Duration of the audio in seconds as defined by sender @title Title of the audio as defined by sender @performer Performer of the audio as defined by sender
84//@file_name Original name of a file as defined by sender @mime_type MIME type of a file as defined by sender @album_cover_thumb Thumb of the album's cover as defined by sender. Full size thumb should be extracted from the downloaded file, nullable @audio File with the audio
85audio duration:int title:string performer:string file_name:string mime_type:string album_cover_thumb:photoSize audio:file = Audio;
86
87//@description Describes document of any type @file_name Original name of a file as defined by sender @mime_type MIME type of file as defined by sender
88//@thumb Document thumb as defined by sender, nullable @document File with document
89document file_name:string mime_type:string thumb:photoSize document:file = Document;
90
91//@description Describes photo @id Photo identifier, 0 for deleted photo @photos Available variants of photo of different sizes
92photo id:long photos:vector<photoSize> = Photo;
93
94//@description Describes sticker @set_id Identifier of sticker set to which the sticker belongs or 0 if none @width Sticker width as defined by sender @height Sticker height as defined by sender
95//@emoji Emoji corresponding to the sticker @rating Rating of the sticker, non-negative. The rating is higher for often used stickers @thumb Sticker thumb in webp or jpeg format, nullable @sticker File with sticker
96sticker set_id:long width:int height:int emoji:string rating:double thumb:photoSize sticker:file = Sticker;
97
98//@description Describes video file @duration Duration of the video in seconds as defined by sender @width Video width as defined by sender @height Video height as defined by sender
99//@file_name Original name of a file as defined by sender @mime_type MIME type of a file as defined by sender @thumb Video thumb as defined by sender, nullable @video File with the video
100video duration:int width:int height:int file_name:string mime_type:string thumb:photoSize video:file = Video;
101
102//@description Describes voice record. Voice must be encoded with Opus codec and must be stored inside Ogg container @duration Duration of the voice record in seconds as defined by sender
103//@waveform Waveform representation of the voice in 5-bit format @mime_type MIME type of a file as defined by sender @voice File with the voice record
104voice duration:int waveform:bytes mime_type:string voice:file = Voice;
105
106//@description Describes web page preview @url Original URL of link @display_url URL to display
107//@type Type of web page: article, photo, audio, video, document, profile, app or something other
108//@site_name Short name of the site (i.e. Google Docs or App Store) @title Title of the content @param_description Description of the content
109//@photo Image representing the content, nullable
110//@embed_url Url to show embedded preview
111//@embed_type MIME type of embedded preview, i.e. text/html or video/mp4
112//@embed_width Width of embedded preview
113//@embed_height Height of embedded preview @duration Duration of the content @author Author of the content
114//@animation Preview as Animation if available, nullable
115//@audio Preview as Audio if available, nullable
116//@document Preview as Document if available (currently only for small pdf files and zip archives), nullable
117//@sticker Preview as Sticker for small .webp files if available, nullable
118//@video Preview as Video if available, nullable
119//@voice Preview as Voice if available, nullable
120webPage url:string display_url:string type:string site_name:string title:string description:string photo:photo embed_url:string embed_type:string embed_width:int embed_height:int duration:int author:string animation:animation audio:audio document:document sticker:sticker video:video voice:voice = WebPage;
121
122//@description Describes user contact @phone_number User's phone number @first_name User first name @last_name User last name @user_id User identifier if known, 0 otherwise
123contact phone_number:string first_name:string last_name:string user_id:int = Contact;
124
125//@description Describes location on Earth @latitude Latitude of location in degrees as defined by sender @longitude Longitude of location in degrees as defined by sender
126location latitude:double longitude:double = Location;
127
128//@description Describes venue @location Venue location as defined by sender @title Venue name as defined by sender @address Venue address as defined by sender @provider Provider of venue database as defined by sender. Only "foursquare" need to be supported currently
129//@id Identifier of the venue in provider database as defined by sender
130venue location:location title:string address:string provider:string id:string = Venue;
131
132//@description Descripes a game @id Game id @short_name Game short name, to share a game use a URL https://telegram.me/{bot_username}?game={game_short_name} @title Game title @text Game text, usually containing game scoreboards @text_entities Entities contained in the text @description Game description @photo Game photo @animation Game animation, nullable
133game id:long short_name:string title:string text:string text_entities:vector<MessageEntity> description:string photo:photo animation:animation = Game;
134
135
136//@description Describes user profile photo @id Photo identifier, 0 for empty photo. Can be used to find photo in list of userProfilePhotos
137//@small Small (160x160) user profile photo @big Big (640x640) user profile photo
138profilePhoto id:long small:file big:file = ProfilePhoto;
139
140//@description Describes chat photo @small Small (160x160) chat photo @big Big (640x640) chat photo
141chatPhoto small:file big:file = ChatPhoto;
142
143
144//@class LinkState @description Represents ordered relationship between two users
145
146//@description Other user's phone number doesn't known
147linkStateNone = LinkState;
148
149//@description Other user's phone number is known but user not in contacts list
150linkStateKnowsPhoneNumber = LinkState;
151
152//@description Other user is in contacts list, particularly its phone number is known
153linkStateContact = LinkState;
154
155
156//@class UserType @description Allows to distinguish different kinds of users: general users, deleted users and bots
157
158//@description General user
159userTypeGeneral = UserType;
160
161//@description Deleted user or deleted bot. There is no any information about it except user_id. None of active action can be performed with deleted user
162userTypeDeleted = UserType;
163
164//@description Bot (see https://core.telegram.org/bots) @can_join_group_chats If true, bot can be invited to group and supergroup chats
165//@can_read_all_group_chat_messages If true, bot can read all group or supergroup chat messages, not only addressed to him. In private chats bot always can read all messages
166//@is_inline True, if bot supports inline queries @inline_query_placeholder Placeholder for inline query @need_location If true, user location should be sent with every inline query to this bot
167userTypeBot can_join_group_chats:Bool can_read_all_group_chat_messages:Bool is_inline:Bool inline_query_placeholder:string need_location:Bool = UserType;
168
169//@description Currently there is no any information about the user except user_id. It can happens very-very rarely. None of active action can be performed with unknown user
170userTypeUnknown = UserType;
171
172
173//@description Represents command supported by bot @command Text of the bot command @param_description Description of the bot command
174botCommand command:string description:string = BotCommand;
175
176//@description Provides information about bot and command supported by him @param_description Big description shown in user info page @commands List of commands cupported by bot
177botInfo description:string commands:vector<botCommand> = BotInfo;
178
179
180//@description Represents user @id User identifier @first_name User first name @last_name User last name @username User username
181//@phone_number User's phone number @status User's online status @profile_photo User profile photo, nullable
182//@my_link Relationships from me to other user @foreign_link Relationships from other user to me @is_verified True, if user is verified @restriction_reason If non-empty, contains the reason, why access to this user must be restricted. Format of the string is "{type}: {description}".
183//-{type} contains type of the restriction and at least one of the suffixes "-all", "-ios", "-android", "-wp", which describes platforms on which access should be restricted. For example, "terms-ios-android". {description} contains human-readable description of the restriction, which can be showed to the user
184//@have_access If false, the user is inaccessible and the only known information about it is inside this class. It can't be passed to any method except GetUser. Currently it can be false only for inaccessible authors of the channel posts @type Type of the user
185user id:int first_name:string last_name:string username:string phone_number:string status:UserStatus profile_photo:profilePhoto my_link:LinkState foreign_link:LinkState is_verified:Bool restriction_reason:string have_access:Bool type:UserType = User;
186
187//@description Gives full information about an user (except full list of profile photos) @user General info about the user @is_blocked Is user blacklisted by current user @about Short user description @bot_info Information about bot if user is a bot, nullable
188userFull user:user is_blocked:Bool about:string bot_info:botInfo = UserFull;
189
190//@description Contains part of the list of user photos @total_count Total number of user profile photos @photos List of photos
191userProfilePhotos total_count:int photos:vector<photo> = UserProfilePhotos;
192
193
194//@class ChatMemberStatus @description Provides information about status of a member in the chat
195
196//@description Creator of the chat, can delete any message, kick any user and add editors and moderators in channels
197chatMemberStatusCreator = ChatMemberStatus;
198
199//@description In broadcast channels, member that can post messages to the broadcast channel and have moderator rights. In groups and supergroups, member that can add new members to the chat/kick unpriviledged members
200chatMemberStatusEditor = ChatMemberStatus;
201
202//@description Only for channels, member that can delete messages of unprivileged members and kick them
203chatMemberStatusModerator = ChatMemberStatus;
204
205//@description User is a member of the chat, but have no any additional privileges
206chatMemberStatusMember = ChatMemberStatus;
207
208//@description User is not a chat member
209chatMemberStatusLeft = ChatMemberStatus;
210
211//@description User was kicked from the chat (and obviously is not a chat member)
212chatMemberStatusKicked = ChatMemberStatus;
213
214
215//@description User with information about its chat joining/kicking @user_id User identifier of the chat member @inviter_user_id Identifier of a user invited this member to/kicked this member from the chat, 0 if unknown
216//@join_date Date the user has joined a chat, unix time @status Status of the member in the chat @bot_info Information about bot if user is a bot, nullable. Can be null even for bot if bot is not a chat member
217chatMember user_id:int inviter_user_id:int join_date:int status:ChatMemberStatus bot_info:botInfo = ChatMember;
218
219//@description Contains list of chat members @total_count Approximate total count of found chat members @members List of members
220chatMembers total_count:int members:vector<chatMember> = ChatMembers;
221
222
223//@class ChannelMembersFilter @description Specifies kind of chat users to return in getChannelMembers
224
225//@description Return recently active users in reverse chronological order
226channelMembersRecent = ChannelMembersFilter;
227
228//@description Return privileged members, i.e. creator, editors and moderators are returned
229channelMembersAdministrators = ChannelMembersFilter;
230
231//@description Return kicked from the channel
232channelMembersKicked = ChannelMembersFilter;
233
234//@description Return bots in the channel
235channelMembersBots = ChannelMembersFilter;
236
237
238//@description Represents a group of zero or more other users @id Group identifier
239//@member_count Group member count
240//@status Status of the current user in the group
241//@anyone_can_edit True, if all members granted editor rights in the group
242//@is_active True, if group is active
243//@migrated_to_channel_id Identifier of channel (supergroup) to which this group was migrated or 0 if none
244group id:int member_count:int status:ChatMemberStatus anyone_can_edit:Bool is_active:Bool migrated_to_channel_id:int = Group;
245
246//@description Gives full information about a group @group General info about the group
247//@creator_user_id User identifier of the group creator, 0 if unknown @members Group members
248//@invite_link Invite link for this group, available only for group creator and only after it is generated at least once
249groupFull group:group creator_user_id:int members:vector<chatMember> invite_link:string = GroupFull;
250
251
252//@description Represents a channel with zero or more subscribers. There two different kinds of channels: supergroups and broadcast channels
253//@id Channel identifier
254//@username Channel username, empty for private channels
255//@date Date when current user has joined the channel or date when channel was created, if user is not a member. Unix time
256//@status Status of the current user in the channel
257//@anyone_can_invite True, if any member of the supergroup can invite other members. If the channel is not a supergroup, the field is meaningless
258//@sign_messages True, if messages sent to the channel should content information about the sender. If the channel is a supergroup, the field is meaningless
259//@is_supergroup True, if channel is a supergroup and is not a broadcast
260//@is_verified True, if the channel is verified
261//@restriction_reason If non-empty, contains the reason, why access to this channel must be restricted. Format of the string is "{type}: {description}".
262//-{type} contains type of the restriction and at least one of the suffixes "-all", "-ios", "-android", "-wp", which describes platforms on which access should be restricted. For example, "terms-ios-android". {description} contains human-readable description of the restriction, which can be showed to the user
263channel id:int username:string date:int status:ChatMemberStatus anyone_can_invite:Bool sign_messages:Bool is_supergroup:Bool is_verified:Bool restriction_reason:string = Channel;
264
265//@description Gives full information about a channel
266//@channel General info about the channel
267//@about Information about the channel
268//@member_count Channel member count, 0 if unknown
269//@administrator_count Number of privileged users in the channel, 0 if unknown
270//@kicked_count Number of users kicked from the channel, 0 if unknown
271//@can_get_members True, if members of the channel can be retrieved
272//@can_set_username True, if channel can be made public
273//@invite_link Invite link for this channel
274//@pinned_message_id Identifier of the pinned message in the channel chat, or 0 if none
275//@migrated_from_group_id Identifier of the group, this supergroup migrated from, or 0 if none
276//@migrated_from_max_message_id Identifier of last message in the group chat migrated from, or 0 if none
277channelFull channel:channel about:string member_count:int administrator_count:int kicked_count:int can_get_members:Bool can_set_username:Bool invite_link:string pinned_message_id:int migrated_from_group_id:int migrated_from_max_message_id:int = ChannelFull;
278
279
280//@description Represents a secret chat
281secretChat id:int user_id:int state:int ttl:int = SecretChat;
282
283//@description Gives full information about a secret chat
284secretChatFull secret_chat:secretChat key_hash:string = SecretChatFull;
285
286
287//@description Contains chat invite link @invite_link Chat invite link
288chatInviteLink invite_link:string = ChatInviteLink;
289
290//@description Contains information about chat invite link @chat_id Chat identifier of the invite link or 0 if user is not a member of this chat @title Title of the chat @photo Chat photo, nullable @member_count Total member count @members Some chat members that may be known to the current user
291//@is_group True, if the chat is a group chat @is_channel True, if the chat is a channel chat @is_public_channel True, if the chat is a channel chat with set up username @is_supergroup_channel True, if the chat is a supergroup channel chat
292chatInviteLinkInfo chat_id:long title:string photo:chatPhoto member_count:int members:vector<user> is_group:Bool is_channel:Bool is_public_channel:Bool is_supergroup_channel:Bool = ChatInviteLinkInfo;
293
294
295//@description Contains list of users @users List of users
296users users:vector<user> = Users;
297
298
299//@class MessageForwardInfo @description Contains information about initial sender of forwarded message
300
301//@description Message is originally written by known user @sender_user_id Identifier of a user, who originally sent this message @date Date when message was originally sent
302messageForwardedFromUser sender_user_id:int date:int = MessageForwardInfo;
303
304//@description Message is orifinally a channel post @chat_id Identifier of a chat from which message is forwarded @sender_user_id User identifier of the original message sender, 0 if unknown
305//@date Date when message was originally sent @message_id Message identifier of the message from which the message is forwarded, 0 if unknown
306messageForwardedPost chat_id:long sender_user_id:int date:int message_id:int = MessageForwardInfo;
307
308
309//@class MessageSendState @description Contains information about sending state of the message
310
311//@description Message is incoming
312messageIsIncoming = MessageSendState;
313
314//@description Message is outgoing but is yet not delivered to the server
315messageIsBeingSent = MessageSendState;
316
317//@description Message was synchronized with the server
318messageIsSuccessfullySent = MessageSendState;
319
320//@description Message is failed to send
321messageIsFailedToSend = MessageSendState;
322
323
324//@description Describes message
325//@id Unique message identifier
326//@sender_user_id Identifier of the user who sent the message, 0 if unknown. It can be unknown for channel posts which are not signed by the author
327//@chat_id Chat identifier
328//@send_state Information about sending state of the message
329//@can_be_edited True, if message can be edited
330//@can_be_deleted True, if message can be deleted
331//@is_post True, if message is channel post. All messages to broadcast channels are posts, all other messages are not posts
332//@date Date when message was sent, unix time
333//@edit_date Date when message was edited last time, unix time
334//@forward_info Information about initial message sender, nullable
335//@reply_to_message_id If non-zero, identifier of the message this message replies to, can be identifier of deleted message
336//@via_bot_user_id If non-zero, user identifier of the bot this message is sent via
337//@views Number of times this message was viewed
338//@content Content of the message
339//@reply_markup Reply markup for the message, nullable
340message id:int sender_user_id:int chat_id:long send_state:MessageSendState can_be_edited:Bool can_be_deleted:Bool is_post:Bool date:int edit_date:int forward_info:MessageForwardInfo reply_to_message_id:int via_bot_user_id:int views:int content:MessageContent reply_markup:ReplyMarkup = Message;
341
342//@description Contains list of messages @total_count Approximate total count of found messages @messages List of messages
343messages total_count:int messages:vector<message> = Messages;
344
345
346//@class NotificationSettingsScope @description Describes kinds of chat for which notification settings are applied
347
348//@description Notification settings applied to particular chat @chat_id Chat identifier
349notificationSettingsForChat chat_id:long = NotificationSettingsScope;
350
351//@description Notification settings applied to all private chats
352notificationSettingsForPrivateChats = NotificationSettingsScope;
353
354//@description Notification settings applied to all group chats
355notificationSettingsForGroupChats = NotificationSettingsScope;
356
357//@description Notification settings applied to all chats
358notificationSettingsForAllChats = NotificationSettingsScope;
359
360
361//@description Contains information about notification settings for chat or chats @mute_for Time left before notifications will be unmuted @sound Audio file name for notifications
362//@show_preview Display message text/media in notification
363notificationSettings mute_for:int sound:string show_preview:Bool = NotificationSettings;
364
365
366//@description Contains information about draft of a message @reply_to_message_id Identifier of a message to reply to or 0 @input_message_text Content of a draft message, always should be of a type inputMessageText
367draftMessage reply_to_message_id:int input_message_text:InputMessageContent = DraftMessage;
368
369
370//@class ChatInfo @description Describes type of a chat
371
372//@description Ordinary chat with one user @user Information about interlocutor
373privateChatInfo user:user = ChatInfo;
374
375//@description Chat with zero or more other users @group Information about the chat
376groupChatInfo group:group = ChatInfo;
377
378//@description Chat with unlimited number of members @channel Information about the chat
379channelChatInfo channel:channel = ChatInfo;
380
381//@description Secret chat with one user
382secretChatInfo secret_chat:secretChat = ChatInfo;
383
384//@description Chat (private chat or group chat or channel chat)
385//@id Chat unique identifier
386//@title Chat title
387//@photo Chat photo, nullable
388//@top_message Last message in the chat, nullable
389//@order Parameter by descending of which chats are sorted in the chat list. If order of two chats is equal, then they need to be sorted by id also in descending order. If order == 0, position of the chat in the list is undetermined.
390//@unread_count Count of unread messages in the chat
391//@last_read_inbox_message_id Identifier of last read incoming message
392//@last_read_outbox_message_id Identifier of last read outgoing message
393//@notification_settings Notification settings for this chat
394//@reply_markup_message_id Identifier of the message from which reply markup need to be used or 0 if there is no default custom reply markup in the chat
395//@draft_message Draft of a message in the chat, nullable. parse_mode in input_message_text always will be null
396//@type Information about type of the chat
397chat id:long title:string photo:chatPhoto top_message:message order:long unread_count:int last_read_inbox_message_id:int last_read_outbox_message_id:int notification_settings:notificationSettings reply_markup_message_id:int draft_message:draftMessage type:ChatInfo = Chat;
398
399//@description Contains list of chats @chats List of chats
400chats chats:vector<chat> = Chats;
401
402
403//@class KeyboardButtonType @description Describes type of the keyboard button
404
405//@description Simple button with a text, which should be sent when the button is pressed
406keyboardButtonTypeText = KeyboardButtonType;
407
408//@description A button which sends user's phone number when pressed, available only in private chats
409keyboardButtonTypeRequestPhoneNumber = KeyboardButtonType;
410
411//@description A button which sends user location when pressed, available only in private chats
412keyboardButtonTypeRequestLocation = KeyboardButtonType;
413
414
415//@description Represents one button of the bot keyboard @text Text of the button @type Type of the button
416keyboardButton text:string type:KeyboardButtonType = KeyboardButton;
417
418
419//@class InlineKeyboardButtonType @description Describes type of the inline keyboard button
420
421//@description A button which opens the specified URL @url URL to open
422inlineKeyboardButtonTypeUrl url:string = InlineKeyboardButtonType;
423
424//@description A button which sends to the bot special callback query @data Data to be sent to the bot through a callack query
425inlineKeyboardButtonTypeCallback data:bytes = InlineKeyboardButtonType;
426
427//@description A button with a game which sends to the bot special callback query, must be in the first column and row of the keyboard, can be attached only to a message with content of the type messageGame
428inlineKeyboardButtonTypeCallbackGame = InlineKeyboardButtonType;
429
430//@description A button which forces inline query to the bot to be substitued in the input field @query Inline query to be sent to the bot @in_current_chat True, if the inline query should be sent from the current chat
431inlineKeyboardButtonTypeSwitchInline query:string in_current_chat:Bool = InlineKeyboardButtonType;
432
433
434//@description Represents one button of the inline keyboard @text Text of the button @type Type of the button
435inlineKeyboardButton text:string type:InlineKeyboardButtonType = InlineKeyboardButton;
436
437
438//@class ReplyMarkup @description Contains description of custom keyboard and actions with it for fast reply to bots
439
440//@description Instruct clients to hide keyboard after receiving this message. This kind of keyboard can't be received. Instead UpdateChatReplyMarkup with message_id == 0 will be send
441//@personal Keyboard is showed automatically only for mentioned users or replied to chat user, for incoming messages it is true if and only if keyboard needs to be automatically showed to current user
442replyMarkupHideKeyboard personal:Bool = ReplyMarkup;
443
444//@description Instruct clients to force reply to this message @personal Keyboard is showed automatically only for mentioned users or replied to chat user, for incoming messages it is true if and only if keyboard needs to be automatically showed to current user
445replyMarkupForceReply personal:Bool = ReplyMarkup;
446
447//@description Contains custom keyboard layout for fast reply to bot
448//@rows List of rows of bot keyboard buttons
449//@resize_keyboard Do clients need to resize keyboard
450//@one_time Do clients need to hide keyboard after use
451//@personal Keyboard is showed automatically only for mentioned users or replied to chat user, for incoming messages it is true if and only if keyboard needs to be automatically showed to current user
452replyMarkupShowKeyboard rows:vector<vector<keyboardButton>> resize_keyboard:Bool one_time:Bool personal:Bool = ReplyMarkup;
453
454//@description Contains inline keyboard layout
455//@rows List of rows of inline keyboard buttons
456replyMarkupInlineKeyboard rows:vector<vector<inlineKeyboardButton>> = ReplyMarkup;
457
458
459//@class MessageContent @description Content of a message
460
461//@description Text message @text Text of the message @entities Entities contained in the text @web_page Preview of a web page mentioned in the text, nullable
462messageText text:string entities:vector<MessageEntity> web_page:webPage = MessageContent;
463
464//@description Animation message @animation Message content, nullable for messages sent through sendInlineQueryResultMessage @caption Animation caption
465messageAnimation animation:animation caption:string = MessageContent;
466
467//@description Audio message @audio Message content, nullable for messages sent through sendInlineQueryResultMessage @caption Audio caption @is_listened True, if the audio message was listened to
468messageAudio audio:audio caption:string is_listened:Bool = MessageContent;
469
470//@description Document message @document Message content, nullable for messages sent through sendInlineQueryResultMessage @caption Document caption
471messageDocument document:document caption:string = MessageContent;
472
473//@description Photo message @photo Message content, nullable for messages sent through sendInlineQueryResultMessage @caption Photo caption
474messagePhoto photo:photo caption:string = MessageContent;
475
476//@description Sticker message @sticker Message content, nullable for messages sent through sendInlineQueryResultMessage
477messageSticker sticker:sticker = MessageContent;
478
479//@description Video message @video Message content, nullable for messages sent through sendInlineQueryResultMessage @caption Video caption
480messageVideo video:video caption:string = MessageContent;
481
482//@description Voice message @voice Message content, nullable for messages sent through sendInlineQueryResultMessage @caption Voice caption @is_listened True, if the voice message was listened to
483messageVoice voice:voice caption:string is_listened:Bool = MessageContent;
484
485//@description Message with location @location Message content
486messageLocation location:location = MessageContent;
487
488//@description Message with information about venue @venue Message content
489messageVenue venue:venue = MessageContent;
490
491//@description User contact message @contact Message content
492messageContact contact:contact = MessageContent;
493
494//@description Message with a game @game The game
495messageGame game:game = MessageContent;
496
497//@description New group chat created @title Title of created group chat @members Parcticipants of created group chat
498messageGroupChatCreate title:string members:vector<user> = MessageContent;
499
500//@description New channel chat created @title Title of created channel chat
501messageChannelChatCreate title:string = MessageContent;
502
503//@description Chat title changed @title New chat title
504messageChatChangeTitle title:string = MessageContent;
505
506//@description Chat photo changed @photo New chat photo
507messageChatChangePhoto photo:photo = MessageContent;
508
509//@description Chat photo deleted
510messageChatDeletePhoto = MessageContent;
511
512//@description Chat members added @members New chat member
513messageChatAddMembers members:vector<user> = MessageContent;
514
515//@description Chat member joined by invite link @inviter_user_id Inviter of the member, i.e. creator of the chat
516messageChatJoinByLink inviter_user_id:int = MessageContent;
517
518//@description Chat member deleted @user Left or kicked chat member
519messageChatDeleteMember user:user = MessageContent;
520
521//@description Group chat is migrated to supergroup channel and deactivated @channel_id Identifier of the channel it is migrated to
522messageChatMigrateTo channel_id:int = MessageContent;
523
524//@description Supergroup channel is created from group chat @title Title of created channel chat @group_id Identifier of the group it is migrated from
525messageChatMigrateFrom title:string group_id:int = MessageContent;
526
527//@description Some message was pinned @message_id Identifier of the pinned message, can be identifier of the deleted message
528messagePinMessage message_id:int = MessageContent;
529
530//@description New high score was achieved in a game @game_message_id Identifier of the message with the game, can be identifier of the deleted message @game_id Identifier of the game, may be different from the games presented in the message with the game @score New score
531messageGameScore game_message_id:int game_id:long score:int = MessageContent;
532
533//@description Unsupported message content
534messageUnsupported = MessageContent;
535
536
537//@class MessageEntity @description Represent part of the message text which needs to be formatted in some unusual way
538
539//@description Mention of the user by his username @offset Offset of the entity in UTF-16 code points @length Length of the entity in UTF-16 code points
540messageEntityMention offset:int length:int = MessageEntity;
541
542//@description Hashtag beginning with # @offset Offset of the entity in UTF-16 code points @length Length of the entity in UTF-16 code points
543messageEntityHashtag offset:int length:int = MessageEntity;
544
545//@description Bot command beginning with / @offset Offset of the entity in UTF-16 code points @length Length of the entity in UTF-16 code points
546messageEntityBotCommand offset:int length:int = MessageEntity;
547
548//@description Url beginning with http @offset Offset of the entity in UTF-16 code points @length Length of the entity in UTF-16 code points
549messageEntityUrl offset:int length:int = MessageEntity;
550
551//@description Email @offset Offset of the entity in UTF-16 code points @length Length of the entity in UTF-16 code points
552messageEntityEmail offset:int length:int = MessageEntity;
553
554//@description Bold text @offset Offset of the entity in UTF-16 code points @length Length of the entity in UTF-16 code points
555messageEntityBold offset:int length:int = MessageEntity;
556
557//@description Italic text @offset Offset of the entity in UTF-16 code points @length Length of the entity in UTF-16 code points
558messageEntityItalic offset:int length:int = MessageEntity;
559
560//@description Text needs to be formatted as inside of code HTML tag @offset Offset of the entity in UTF-16 code points @length Length of the entity in UTF-16 code points
561messageEntityCode offset:int length:int = MessageEntity;
562
563//@description Text needs to be formatted as inside of pre HTML tag @offset Offset of the entity in UTF-16 code points @length Length of the entity in UTF-16 code points
564messageEntityPre offset:int length:int = MessageEntity;
565
566//@description Text needs to be formatted as inside of pre and code HTML tags @offset Offset of the entity in UTF-16 code points @length Length of the entity in UTF-16 code points @language Language of code as defined by sender
567messageEntityPreCode offset:int length:int language:string = MessageEntity;
568
569//@description Text description showed instead of the url @offset Offset of the entity in UTF-16 code points @length Length of the entity in UTF-16 code points @url Url to be opened after link will be clicked
570messageEntityTextUrl offset:int length:int url:string = MessageEntity;
571
572//@description Mention of the user by some text @offset Offset of the entity in UTF-16 code points @length Length of the entity in UTF-16 code points @user_id Identifier of the mentioned user
573messageEntityMentionName offset:int length:int user_id:int = MessageEntity;
574
575
576//@class TextParseMode @description Describes a way text should be parsed for MessageEntities, by default text is treated as is
577
578//@description Text should be parsed in markdown-style way
579textParseModeMarkdown = TextParseMode;
580
581//@description Text should be parsed in the HTML-style way
582textParseModeHTML = TextParseMode;
583
584
585//@description Thumb to send along with a file, should be in jpeg format or webp format for stickers @path Path to the file with the thumb @width Thumb width, use 0 if unknown @height Thumb height, use 0 if unknown
586inputThumb path:string width:int height:int = InputThumb;
587
588//@class InputMessageContent @description Content of a message to send
589
590//@description Text message @text Text to send @disable_web_page_preview Pass true to disable rich preview for link in the message text @clear_draft Pass true if chat draft message should be deleted
591//@entities Bold, Italic, Code, Pre, PreCode and TextUrl entities contained in the text. Non-bot users can't use TextUrl entities. Can't be used with non-null parse_mode @parse_mode Text parse mode, nullable. Can't be used along with enitities
592inputMessageText text:string disable_web_page_preview:Bool clear_draft:Bool entities:vector<MessageEntity> parse_mode:TextParseMode = InputMessageContent;
593
594//@description Animation message @animation Animation file to send @thumb Animation thumb, if available @width Width of the animation, may be replaced by the server @height Height of the animation, may be replaced by the server @caption Animation caption
595inputMessageAnimation animation:InputFile thumb:inputThumb width:int height:int caption:string = InputMessageContent;
596
597//@description Audio message @audio Audio file to send @album_cover_thumb Thumb of the album's cover, if available @duration Duration of audio in seconds, may be replaced by the server @title Title of the audio, may be replaced by the server @performer Performer of the audio, may be replaced by the server @caption Audio caption
598inputMessageAudio audio:InputFile album_cover_thumb:inputThumb duration:int title:string performer:string caption:string = InputMessageContent;
599
600//@description Document message @document Document to send @thumb Document thumb, if available @caption Document caption
601inputMessageDocument document:InputFile thumb:inputThumb caption:string = InputMessageContent;
602
603//@description Photo message @photo Photo to send @caption Photo caption
604inputMessagePhoto photo:InputFile caption:string = InputMessageContent;
605
606//@description Sticker message @sticker Sticker to send @thumb Sticker thumb, if available
607inputMessageSticker sticker:InputFile thumb:inputThumb = InputMessageContent;
608
609//@description Video message @video Video to send @thumb Video thumb, if available @duration Duration of video in seconds @width Video width @height Video height @caption Video caption
610inputMessageVideo video:InputFile thumb:inputThumb duration:int width:int height:int caption:string = InputMessageContent;
611
612//@description Voice message @voice Voice file to send @duration Duration of voice in seconds @waveform Waveform representation of the voice in 5-bit format @caption Voice caption
613inputMessageVoice voice:InputFile duration:int waveform:bytes caption:string = InputMessageContent;
614
615//@description Message with location @location Location to send
616inputMessageLocation location:location = InputMessageContent;
617
618//@description Message with information about venue @venue Venue to send
619inputMessageVenue venue:venue = InputMessageContent;
620
621//@description User contact message @contact Contact to send
622inputMessageContact contact:contact = InputMessageContent;
623
624//@description Message with a game @bot_user_id User identifier of a bot owned the game @game_short_name Game short name
625inputMessageGame bot_user_id:int game_short_name:string = InputMessageContent;
626
627//@description Forwarded message @from_chat_id Chat identifier of the message to forward @message_id Identifier of the message to forward
628inputMessageForwarded from_chat_id:long message_id:int = InputMessageContent;
629
630
631//@class SearchMessagesFilter @description Represents filter for content of searched messages
632
633//@description Return all found messages
634searchMessagesFilterEmpty = SearchMessagesFilter;
635
636//@description Return only animation messages
637searchMessagesFilterAnimation = SearchMessagesFilter;
638
639//@description Return only audio messages
640searchMessagesFilterAudio = SearchMessagesFilter;
641
642//@description Return only document messages
643searchMessagesFilterDocument = SearchMessagesFilter;
644
645//@description Return only photo messages
646searchMessagesFilterPhoto = SearchMessagesFilter;
647
648//@description Return only video messages
649searchMessagesFilterVideo = SearchMessagesFilter;
650
651//@description Return only voice messages
652searchMessagesFilterVoice = SearchMessagesFilter;
653
654//@description Return only photo and video messages
655searchMessagesFilterPhotoAndVideo = SearchMessagesFilter;
656
657//@description Return only messages containing url
658searchMessagesFilterUrl = SearchMessagesFilter;
659
660//@description Return only messages containing chat photos
661searchMessagesFilterChatPhoto = SearchMessagesFilter;
662
663
664//@class SendMessageAction @description Notifies about activity in chat
665
666//@description User typing message
667sendMessageTypingAction = SendMessageAction;
668//@description User cancels typing
669sendMessageCancelAction = SendMessageAction;
670//@description User records a video
671sendMessageRecordVideoAction = SendMessageAction;
672//@description User uploads a video @progress Upload progress in percents
673sendMessageUploadVideoAction progress:int = SendMessageAction;
674//@description User records voice message
675sendMessageRecordVoiceAction = SendMessageAction;
676//@description User uploads voice message @progress Upload progress in percents
677sendMessageUploadVoiceAction progress:int = SendMessageAction;
678//@description User uploads a photo @progress Upload progress in percents
679sendMessageUploadPhotoAction progress:int = SendMessageAction;
680//@description User uploads a document @progress Upload progress in percents
681sendMessageUploadDocumentAction progress:int = SendMessageAction;
682//@description User sends geolocation
683sendMessageGeoLocationAction = SendMessageAction;
684//@description User chooses contact to send
685sendMessageChooseContactAction = SendMessageAction;
686//@description User starts to play a game
687sendMessageStartPlayGameAction = SendMessageAction;
688//@description User stops to play a game
689sendMessageStopPlayGameAction = SendMessageAction;
690
691
692//@class UserStatus @description Describes last time user was online
693
694//@description User status was newer changed
695userStatusEmpty = UserStatus;
696
697//@description User is online @expires Unix time when user's online status will expire
698userStatusOnline expires:int = UserStatus;
699
700//@description User is offline @was_online Unix time user was online last time
701userStatusOffline was_online:int = UserStatus;
702
703//@description User was online recently
704userStatusRecently = UserStatus;
705
706//@description User is offline, but was online last week
707userStatusLastWeek = UserStatus;
708
709//@description User is offline, but was online last month
710userStatusLastMonth = UserStatus;
711
712
713//@description Represents list of stickers @stickers Stickers
714stickers stickers:vector<sticker> = Stickers;
715
716//@description Represents sticker set @id Sticker set identifier @title Title of the sticker set @name Name of the sticker set @rating Rating of the sticker, non-negative. The rating is higher for often used stickers
717//@is_installed True if sticker set is installed by logged in user @is_enabled True if sticker set is enabled @is_official True if sticker set is official and can't be uninstalled @stickers List of stickers in this set
718stickerSet id:long title:string name:string rating:double is_installed:Bool is_enabled:Bool is_official:Bool stickers:vector<sticker> = StickerSet;
719
720//@description Represents short information about sticker set @id Sticker set identifier @title Title of the sticker set @name Name of the sticker set @rating Rating of the sticker, non-negative. The rating is higher for often used stickers
721//@is_installed True if sticker set is installed by logged in user @is_enabled True if sticker set is enabled @is_official True if sticker set is official and can't be uninstalled @size Number of stickers in the set
722stickerSetInfo id:long title:string name:string rating:double is_installed:Bool is_enabled:Bool is_official:Bool size:int = StickerSetInfo;
723
724//@description Represents list of sticker sets @sets List of sticker sets
725stickerSets sets:vector<stickerSetInfo> = StickerSets;
726
727
728//@description Represents list of animations @animations Animations
729animations animations:vector<animation> = Animations;
730
731
732//@class InputInlineQueryResult @description Represents one result of the inline query received from the bot
733
734//@description Represents link to an animated gif @id Unique identifier of this result @title Title of the result @thumb_url Url of the static result thumb (jpeg or gif), if exists
735//@gif_url Url of the gif-file (file size must not exceed 1MB) @gif_width Width of the gif @gif_height Height of the gif
736//@reply_markup Message reply markup, should be of type replyMarkupInlineKeyboard or null
737//@input_message_content Content of the message to be sent, should be of type inputMessageText or inputMessageAnimation or InputMessageLocation or InputMessageVenue or InputMessageContact
738inputInlineQueryResultAnimatedGif id:string title:string thumb_url:string gif_url:string gif_width:int gif_height:int reply_markup:ReplyMarkup input_message_content:InputMessageContent = InputInlineQueryResult;
739
740//@description Represents link to an animated (i.e. without sound) H.264/MPEG-4 AVC video @id Unique identifier of this result @title Title of the result @thumb_url Url of the static result thumb (jpeg or gif), if exists
741//@mpeg4_url Url of the mp4-file (file size must not exceed 1MB) @mpeg4_width Width of the video @mpeg4_height Height of the video
742//@reply_markup Message reply markup, should be of type replyMarkupInlineKeyboard or null
743//@input_message_content Content of the message to be sent, should be of type inputMessageText or inputMessageAnimation or InputMessageLocation or InputMessageVenue or InputMessageContact
744inputInlineQueryResultAnimatedMpeg4 id:string title:string thumb_url:string mpeg4_url:string mpeg4_width:int mpeg4_height:int reply_markup:ReplyMarkup input_message_content:InputMessageContent = InputInlineQueryResult;
745
746//@description Represents link to an article or web page @id Unique identifier of this result @url Url of the result, if exists @hide_url True, if url must be not shown @title Title of the result
747//@param_description Short description of the result @thumb_url Url of the result thumb, if exists @thumb_width Thumb width, if known @thumb_height Thumb height, if known
748//@reply_markup Message reply markup, should be of type replyMarkupInlineKeyboard or null
749//@input_message_content Content of the message to be sent, should be of type inputMessageText or InputMessageLocation or InputMessageVenue or InputMessageContact
750inputInlineQueryResultArticle id:string url:string hide_url:Bool title:string description:string thumb_url:string thumb_width:int thumb_height:int reply_markup:ReplyMarkup input_message_content:InputMessageContent = InputInlineQueryResult;
751
752//@description Represents link to a mp3 audio file @id Unique identifier of this result @title Title of the audio @performer Performer of the audio
753//@audio_url Url of the audio file @audio_duration Audio duration in seconds
754//@reply_markup Message reply markup, should be of type replyMarkupInlineKeyboard or null
755//@input_message_content Content of the message to be sent, should be of type inputMessageText or inputMessageAudio or InputMessageLocation or InputMessageVenue or InputMessageContact
756inputInlineQueryResultAudio id:string title:string performer:string audio_url:string audio_duration:int reply_markup:ReplyMarkup input_message_content:InputMessageContent = InputInlineQueryResult;
757
758//@description Represents user contact @id Unique identifier of this result @contact User contact @thumb_url Url of the result thumb, if exists @thumb_width Thumb width, if known @thumb_height Thumb height, if known
759//@reply_markup Message reply markup, should be of type replyMarkupInlineKeyboard or null
760//@input_message_content Content of the message to be sent, should be of type inputMessageText or InputMessageLocation or InputMessageVenue or InputMessageContact
761inputInlineQueryResultContact id:string contact:contact thumb_url:string thumb_width:int thumb_height:int reply_markup:ReplyMarkup input_message_content:InputMessageContent = InputInlineQueryResult;
762
763//@description Represents link to a file @id Unique identifier of this result @title Title of the result @param_description Short description of the result, if known @document_url Url of the file @mime_type MIME type of the file content, only “application/pdf†and “application/zip†are allowed now
764//@thumb_url Url of the file thumb, if exists @thumb_width Width of the thumb @thumb_height Height of the thumb
765//@reply_markup Message reply markup, should be of type replyMarkupInlineKeyboard or null
766//@input_message_content Content of the message to be sent, should be of type inputMessageText or inputMessageDocument or InputMessageLocation or InputMessageVenue or InputMessageContact
767inputInlineQueryResultDocument id:string title:string description:string document_url:string mime_type:string thumb_url:string thumb_width:int thumb_height:int reply_markup:ReplyMarkup input_message_content:InputMessageContent = InputInlineQueryResult;
768
769//@description Represents a game @id Unique identifier of this result @game_short_name Game short name @reply_markup Message reply markup, should be of type replyMarkupInlineKeyboard or null
770inputInlineQueryResultGame id:string game_short_name:string reply_markup:ReplyMarkup = InputInlineQueryResult;
771
772//@description Represents a point on the map @id Unique identifier of this result @location Result @title Title of the result @thumb_url Url of the result thumb, if exists @thumb_width Thumb width, if known @thumb_height Thumb height, if known
773//@reply_markup Message reply markup, should be of type replyMarkupInlineKeyboard or null
774//@input_message_content Content of the message to be sent, should be of type inputMessageText or InputMessageLocation or InputMessageVenue or InputMessageContact
775inputInlineQueryResultLocation id:string location:location title:string thumb_url:string thumb_width:int thumb_height:int reply_markup:ReplyMarkup input_message_content:InputMessageContent = InputInlineQueryResult;
776
777//@description Represents link to a jpeg photo @id Unique identifier of this result @title Title of the result, if known @param_description Short description of the result, if known @thumb_url Url of the photo thumb, if exists
778//@photo_url Url of the jpeg photo (photo must not exceed 5MB) @photo_width Width of the photo @photo_height Height of the photo
779//@reply_markup Message reply markup, should be of type replyMarkupInlineKeyboard or null
780//@input_message_content Content of the message to be sent, should be of type inputMessageText or inputMessagePhoto or InputMessageLocation or InputMessageVenue or InputMessageContact
781inputInlineQueryResultPhoto id:string title:string description:string thumb_url:string photo_url:string photo_width:int photo_height:int reply_markup:ReplyMarkup input_message_content:InputMessageContent = InputInlineQueryResult;
782
783//@description Represents link to a webp sticker @id Unique identifier of this result @thumb_url Url of the sticker thumb, if exists
784//@sticker_url Url of the webp sticker (file with a sticker must not exceed 5MB) @sticker_width Width of the sticker @sticker_height Height of the sticker
785//@reply_markup Message reply markup, should be of type replyMarkupInlineKeyboard or null
786//@input_message_content Content of the message to be sent, should be of type inputMessageText or inputMessageSticker or InputMessageLocation or InputMessageVenue or InputMessageContact
787inputInlineQueryResultSticker id:string thumb_url:string sticker_url:string sticker_width:int sticker_height:int reply_markup:ReplyMarkup input_message_content:InputMessageContent = InputInlineQueryResult;
788
789//@description Represents information about a venue @id Unique identifier of this result @venue Result @thumb_url Url of the result thumb, if exists @thumb_width Thumb width, if known @thumb_height Thumb height, if known
790//@reply_markup Message reply markup, should be of type replyMarkupInlineKeyboard or null
791//@input_message_content Content of the message to be sent, should be of type inputMessageText or InputMessageLocation or InputMessageVenue or InputMessageContact
792inputInlineQueryResultVenue id:string venue:venue thumb_url:string thumb_width:int thumb_height:int reply_markup:ReplyMarkup input_message_content:InputMessageContent = InputInlineQueryResult;
793
794//@description Represents link to a page containing an embedded video player or a video file @id Unique identifier of this result @title Title of the result @param_description Short description of the result, if known
795//@thumb_url Url of the video thumb (jpeg), if exists @video_url Url of the embedded video player or video file @mime_type MIME type of the content of video url, only "text/html" or "video/mp4" are allowed now
796//@video_width Video width @video_height Video height @video_duration Video duration in seconds
797//@reply_markup Message reply markup, should be of type replyMarkupInlineKeyboard or null
798//@input_message_content Content of the message to be sent, should be of type inputMessageText or inputMessageVideo or InputMessageLocation or InputMessageVenue or InputMessageContact
799inputInlineQueryResultVideo id:string title:string description:string thumb_url:string video_url:string mime_type:string video_width:int video_height:int video_duration:int reply_markup:ReplyMarkup input_message_content:InputMessageContent = InputInlineQueryResult;
800
801//@description Represents link to a opus encoded audio file in ogg contatiner @id Unique identifier of this result @title Title of the voice file
802//@voice_url Url of the voice file @voice_duration Voice duration in seconds
803//@reply_markup Message reply markup, should be of type replyMarkupInlineKeyboard or null
804//@input_message_content Content of the message to be sent, should be of type inputMessageText or inputMessageVoice or InputMessageLocation or InputMessageVenue or InputMessageContact
805inputInlineQueryResultVoice id:string title:string voice_url:string voice_duration:int reply_markup:ReplyMarkup input_message_content:InputMessageContent = InputInlineQueryResult;
806
807
808//@class InlineQueryResult @description Represents one result of the inline query
809
810//@description Represents link to an article or web page @id Unique identifier of this result @url Url of the result, if exists @hide_url True, if url must be not shown @title Title of the result
811//@param_description Short description of the result @thumb_url Url of the result thumb, if exists @thumb_width Thumb width, if known @thumb_height Thumb height, if known
812inlineQueryResultArticle id:string url:string hide_url:Bool title:string description:string thumb_url:string thumb_width:int thumb_height:int = InlineQueryResult;
813
814//@description Represents user contact @id Unique identifier of this result @contact User contact @thumb_url Url of the result thumb, if exists @thumb_width Thumb width, if known @thumb_height Thumb height, if known
815inlineQueryResultContact id:string contact:contact thumb_url:string thumb_width:int thumb_height:int = InlineQueryResult;
816
817//@description Represents a point on the map @id Unique identifier of this result @location The result @title Title of the result @thumb_url Url of the result thumb, if exists @thumb_width Thumb width, if known @thumb_height Thumb height, if known
818inlineQueryResultLocation id:string location:location title:string thumb_url:string thumb_width:int thumb_height:int = InlineQueryResult;
819
820//@description Represents information about a venue @id Unique identifier of this result @venue The result @thumb_url Url of the result thumb, if exists @thumb_width Thumb width, if known @thumb_height Thumb height, if known
821inlineQueryResultVenue id:string venue:venue thumb_url:string thumb_width:int thumb_height:int = InlineQueryResult;
822
823//@description Represents information about a game @id Unique identifier of this result @game The result
824inlineQueryResultGame id:string game:game = InlineQueryResult;
825
826//@description Represents an animation cached on the telegram server @id Unique identifier of this result @animation The animation @title Animation title
827inlineQueryResultAnimation id:string animation:animation title:string = InlineQueryResult;
828
829//@description Represents an audio cached on the telegram server @id Unique identifier of this result @audio The audio
830inlineQueryResultAudio id:string audio:audio = InlineQueryResult;
831
832//@description Represents a document cached on the telegram server @id Unique identifier of this result @document The document @title Document title @param_description Document description
833inlineQueryResultDocument id:string document:document title:string description:string = InlineQueryResult;
834
835//@description Represents a photo cached on the telegram server @id Unique identifier of this result @photo The photo @title Title of the result, if known @param_description Short description of the result, if known
836inlineQueryResultPhoto id:string photo:photo title:string description:string = InlineQueryResult;
837
838//@description Represents a sticker cached on the telegram server @id Unique identifier of this result @sticker The sticker
839inlineQueryResultSticker id:string sticker:sticker = InlineQueryResult;
840
841//@description Represents a video cached on the telegram server @id Unique identifier of this result @video The video @title Title of the video @param_description Description of the video
842inlineQueryResultVideo id:string video:video title:string description:string = InlineQueryResult;
843
844//@description Represents a voice cached on the telegram server @id Unique identifier of this result @voice The voice @title Title of the voice file
845inlineQueryResultVoice id:string voice:voice title:string = InlineQueryResult;
846
847
848//@description Represents results of the inline query. Use sendInlineQueryResultMessage to send the result of the query @inline_query_id Unique identifier of the inline query @next_offset Offset for the next request. If it is empty, there is no more results @results Results of the query
849//@switch_pm_text If non-empty, this text should be shown on the button, which opens private chat with the bot and sends bot start message with parameter switch_pm_parameter @switch_pm_parameter Parameter for the bot start message
850inlineQueryResults inline_query_id:long next_offset:string results:vector<InlineQueryResult> switch_pm_text:string switch_pm_parameter:string = InlineQueryResults;
851
852
853//@class CallbackQueryPayload @description Represents payload of a callback query
854
855//@description Payload from a general callback button @data Data that was attached to the callback button as specified by the users client
856callbackQueryData data:bytes = CallbackQueryPayload;
857
858//@description Payload from a game callback button @game_short_name Short name of the game that was attached to the callback button
859callbackQueryGame game_short_name:string = CallbackQueryPayload;
860
861
862//@description Contains answer of the bot to the callback query @text Text of the answer @show_alert If true, an alert should be shown to the user instead of a toast @url URL to be open
863callbackQueryAnswer text:string show_alert:Bool url:string = CallbackQueryAnswer;
864
865
866//@description Contains one row of the game high scores table @position Position in the high score table @user_id User identifier @score User score
867gameHighScore position:int user_id:int score:int = GameHighScore;
868
869//@description Contains list of game high scores @scores List of game high scores
870gameHighScores scores:vector<gameHighScore> = GameHighScores;
871
872
873//@class OptionValue @description Represents value of an option
874
875//@description Boolean option @value Value of an option
876optionBoolean value:Bool = OptionValue;
877
878//@description Unknown option or option having default value
879optionEmpty = OptionValue;
880
881//@description Integer option @value Value of an option
882optionInteger value:int = OptionValue;
883
884//@description String option @value Value of an option
885optionString value:string = OptionValue;
886
887
888//@class Update @description Contains notifications about data changes
889
890//@description New message received, maybe outcoming message sent from other device @message New message @disable_notification If true, notification about the message should be disabled
891updateNewMessage message:message disable_notification:Bool = Update;
892
893//@description Message is successfully sent @message Information about sent message. Usually only message identifier, date and content are changed, but some other fields may also change @old_message_id Previous temporary message identifier
894updateMessageSendSucceeded message:message old_message_id:int = Update;
895
896//@description Message fails to send. Be aware that some being sent messages can be irrecoverably deleted and updateDeleteMessages will come instead of this update (or doesn't come at all if deletion was done by call to deleteMessages) @chat_id Chat identifier @message_id Message identifier @error_code Error code @error_message Error message
897updateMessageSendFailed chat_id:long message_id:int error_code:int error_message:string = Update;
898
899//@description Sent message gets new content @chat_id Chat identifier @message_id Message identifier @new_content New message content
900updateMessageContent chat_id:long message_id:int new_content:MessageContent = Update;
901
902//@description Message was edited. Changes in the message content will come in a separate updateMessageContent @chat_id Chat identifier @message_id Message identifier @edit_date Date the message was edited, unix time @reply_markup New message reply markup, nullable
903updateMessageEdited chat_id:long message_id:int edit_date:int reply_markup:ReplyMarkup = Update;
904
905//@description View count of the message has changed @chat_id Chat identifier @message_id Message identifier @views New value of view count
906updateMessageViews chat_id:long message_id:int views:int = Update;
907
908//@description Some date about chat has been changed @chat New data about the chat
909updateChat chat:chat = Update;
910
911//@description Top message of the chat has changed @chat_id Chat identifier @top_message New top message of the chat, nullable
912updateChatTopMessage chat_id:long top_message:message = Update;
913
914//@description Order of the chat in the chat list has changed @chat_id Chat identifier @order New value of the order
915updateChatOrder chat_id:long order:long = Update;
916
917//@description Title of chat was changed @chat_id Chat identifier @title New chat title
918updateChatTitle chat_id:long title:string = Update;
919
920//@description Chat photo was changed @chat_id Chat identifier @photo New chat photo, nullable
921updateChatPhoto chat_id:long photo:chatPhoto = Update;
922
923//@description User reads incoming messages from some other device @chat_id Chat identifier @last_read_inbox_message_id Identifier of last read incoming message
924//@unread_count Number of unread messages left in chat
925updateChatReadInbox chat_id:long last_read_inbox_message_id:int unread_count:int = Update;
926
927//@description Some outcoming messages was read @chat_id Chat identifier @last_read_outbox_message_id Identifier of last read outgoing message
928updateChatReadOutbox chat_id:long last_read_outbox_message_id:int = Update;
929
930//@description Default chat reply markup has changed. It can happen because new message with reply markup has come or old reply markup was hidden by user
931//@chat_id Chat identifier @reply_markup_message_id Identifier of the message from which reply markup need to be used or 0 if there is no default custom reply markup in the chat
932updateChatReplyMarkup chat_id:long reply_markup_message_id:int = Update;
933
934//@description Chat draft has changed @chat_id Chat identifier @draft_message New chat draft_message, nullable
935updateChatDraftMessage chat_id:long draft_message:draftMessage = Update;
936
937//@description Notification settings for some chats was updated @scope Kinds of chats for which notification settings was updated
938//@notification_settings New notification settings
939updateNotificationSettings scope:NotificationSettingsScope notification_settings:notificationSettings = Update;
940
941//@description Some messages was deleted @chat_id Chat identifier @message_ids Identifiers of deleted message
942updateDeleteMessages chat_id:long message_ids:vector<int> = Update;
943
944//@description Some chat activity @chat_id Chat identifier @user_id Identifier of user doing action @action Action description
945updateUserAction chat_id:long user_id:int action:SendMessageAction = Update;
946
947//@description User went online/offline @user_id User identifier @status New user status
948updateUserStatus user_id:int status:UserStatus = Update;
949
950//@description Some data about an user has been changed @user New data about the user
951updateUser user:user = Update;
952
953//@description Some data about a group has been changed @group New data about the group
954updateGroup group:group = Update;
955
956//@description Some data about a channel has been changed @channel New data about the channel
957updateChannel channel:channel = Update;
958
959//@description Some data about a secret chat has been changed @secret_chat New data about the secret chat
960updateSecretChat secret_chat:secretChat = Update;
961
962//@description Some data from channelFull has been changed @channel_full New full information about the channel
963updateChannelFull channel_full:channelFull = Update;
964
965//@description User blocked/unblocked @user_id User identifier @is_blocked Is user blacklisted by current user
966updateUserBlocked user_id:int is_blocked:Bool = Update;
967
968//@description User has logged in from another device @date Date of logging in @device Device used to log in @location Location from where user logged in
969updateNewAuthorization date:int device:string location:string = Update;
970
971//@description File is partly downloaded/uploaded @file_id File identifier @size Total file size (0 means unknown) @ready Bytes downloaded/uploaded. Negative number means that download/upload has failed and was terminated
972updateFileProgress file_id:int size:int ready:int = Update;
973
974//@description File is downloaded/uploaded @file Synced file
975updateFile file:file = Update;
976
977//@description Some option changed its value @name Option name @value New option value
978updateOption name:string value:OptionValue = Update;
979
980//@description Some stickers was updated. Need to drop stickers cache if have some
981updateStickers = Update;
982
983//@description List of saved animations was updated. Need to drop saved animations cache if have some
984updateSavedAnimations = Update;
985
986//@description Bots only. New incoming inline query @id Unique query identifier @sender_user_id Identifier of the user who sent the query @user_location User location, provided by the client, nullable @query Text of the query @offset Offset of the first entry to return
987updateNewInlineQuery id:long sender_user_id:int user_location:location query:string offset:string = Update;
988
989//@description Bots only. User has chosen a result of the inline query @sender_user_id Identifier of the user who sent the query @user_location User location, provided by the client, nullable @query Text of the query @result_id Identifier of the chosen result @inline_message_id Identifier of the sent inline message, if known
990updateNewChosenInlineResult sender_user_id:int user_location:location query:string result_id:string inline_message_id:string = Update;
991
992//@description Bots only. New incoming callback query @id Unique query identifier @sender_user_id Identifier of the user who sent the query @chat_id Identifier of the chat, in which the query was sent
993//@message_id Identifier of the message, from which the query is originated @chat_instance Identifier, uniquely corresponding to the chat a message was sent to @payload Query payload
994updateNewCallbackQuery id:long sender_user_id:int chat_id:long message_id:int chat_instance:long payload:CallbackQueryPayload = Update;
995
996//@description Bots only. New incoming callback query from message sent via bot @id Unique query identifier @sender_user_id Identifier of the user who sent the query @inline_message_id Identifier of the inline message, from which the query is originated
997//@chat_instance Identifier, uniquely corresponding to the chat a message was sent to @payload Query payload
998updateNewInlineCallbackQuery id:long sender_user_id:int inline_message_id:string chat_instance:long payload:CallbackQueryPayload = Update;
999
1000
1001test.empty = test.Empty;
1002test.int value:int = test.Int;
1003test.string value:string = test.String;
1004test.bytes value:bytes = test.Bytes;
1005test.vectorInt value:vector<int> = test.VectorInt;
1006test.vectorIntObject value:vector<test.Int> = test.VectorIntObject;
1007test.vectorString value:vector<string> = test.VectorString;
1008test.vectorStringObject value:vector<test.String> = test.VectorStringObject;
1009
1010---functions---
1011
1012//@description Returns current authorization state, offline request
1013getAuthState = AuthState;
1014
1015//@description Sets user's phone number and sends authentication code to the user. Works only when authGetState returns authStateWaitPhoneNumber. If phone number is not recognized or another error has happened, returns an error. Otherwise returns authStateWaitCode
1016//@phone_number User's phone number in any reasonable format @allow_flash_call Pass True, if code can be sent via flash call to the specified phone number @is_current_phone_number Pass true, if the phone number is used on the current device. Ignored if allow_flash_call is False
1017setAuthPhoneNumber phone_number:string allow_flash_call:Bool is_current_phone_number:Bool = AuthState;
1018
1019//@description Resends authentication code to the user. Works only when authGetState returns authStateWaitCode and next_code_type of result is not null. Returns authStateWaitCode on success
1020resendAuthCode = AuthState;
1021
1022//@description Checks authentication code. Works only when authGetState returns authStateWaitCode. Returns authStateWaitPassword or authStateOk on success @code Verification code from SMS, Telegram message, voice call or flash call
1023//@first_name Non-empty user first name, if user is yet not registered @last_name User last name, if user is yet not registered
1024checkAuthCode code:string first_name:string last_name:string = AuthState;
1025
1026//@description Checks password for correctness. Works only when authGetState returns authStateWaitPassword. Returns authStateOk on success @password Password to check
1027checkAuthPassword password:string = AuthState;
1028
1029//@description Requests to send recover code to email. Works only when authGetState returns authStateWaitPassword. Returns authStateWaitPassword on success
1030requestAuthPasswordRecovery = AuthState;
1031
1032//@description Recovers password with recover code sent to email. Works only when authGetState returns authStateWaitPassword. Returns authStateOk on success @recover_code Recover code to check
1033recoverAuthPassword recover_code:string = AuthState;
1034
1035//@description Logs out user. If force == false, begins to perform soft log out, returns authStateLoggingOut after completion. If force == true then succeeds almost immediately without cleaning anything at the server, but returns error with code 401 and description "Unauthorized"
1036//@force If true, just delete all local data. Session will remain in list of active sessions
1037resetAuth force:Bool = AuthState;
1038
1039//@description Check bot's authentication token to log in as a bot. Works only when authGetState returns authStateWaitPhoneNumber. Can be used instead of setAuthPhoneNumber and checkAuthCode to log in. Returns authStateOk on success @token Bot token
1040checkAuthBotToken token:string = AuthState;
1041
1042
1043//@description Returns current logged in user
1044getMe = User;
1045
1046//@description Returns information about an user by its identifier, offline request if current user is not a bot @user_id User identifier
1047getUser user_id:int = User;
1048
1049//@description Returns full information about an user by its identifier @user_id User identifier
1050getUserFull user_id:int = UserFull;
1051
1052//@description Returns information about a group by its identifier, offline request if current user is not a bot @group_id Group identifier
1053getGroup group_id:int = Group;
1054
1055//@description Returns full information about a group by its identifier @group_id Group identifier
1056getGroupFull group_id:int = GroupFull;
1057
1058//@description Returns information about a channel by its identifier, offline request if current user is not a bot @channel_id Channel identifier
1059getChannel channel_id:int = Channel;
1060
1061//@description Returns full information about a channel by its identifier, cached for at most 1 minute @channel_id Channel identifier
1062getChannelFull channel_id:int = ChannelFull;
1063
1064//@description Returns information about a chat by its identifier, offline request if current user is not a bot @chat_id Chat identifier
1065getChat chat_id:long = Chat;
1066
1067//@description Returns information about a message @chat_id Identifier of the chat, message belongs to @message_id Identifier of the message to get
1068getMessage chat_id:long message_id:int = Message;
1069
1070//@description Returns information about messages. If message is not found, returns null on the corresponding position of the result @chat_id Identifier of the chat, messages belongs to @message_ids Identifiers of the messages to get
1071getMessages chat_id:long message_ids:vector<int> = Messages;
1072
1073//@description Returns information about a file, offline request @file_id Identifier of the file to get
1074getFile file_id:int = File;
1075
1076//@description Returns information about a file by its persistent id, offline request @persistent_file_id Persistent identifier of the file to get
1077getFilePersistent persistent_file_id:string = File;
1078
1079
1080//@description Returns list of chats in the right order, chats are sorted by (order, chat_id) in decreasing order. For example, to get list of chats from the beginning, the offset_order should be equal 2^63 - 1 @offset_order Chat order to return chats from @offset_chat_id Chat identifier to return chats from @limit Maximum number of chats to be returned
1081getChats offset_order:long offset_chat_id:long limit:int = Chats;
1082
1083//@description Searches public chat by its username. Currently only private and channel chats can be public. Returns chat if found, otherwise some error is returned @username Username to be resolved
1084searchPublicChat username:string = Chat;
1085
1086//@description Searches public chats by prefix of their username. Currently only private and channel (including supergroup) chats can be public. Returns meaningful number of results. Returns nothing if length of the searched username prefix is less than 5. Excludes private chats with contacts from the results @username_prefix Prefix of the username to search
1087searchPublicChats username_prefix:string = Chats;
1088
1089//@description Searches for specified query in the title and username of known chats, offline request. Returns chats in the order of them in the chat list @query Query to search for, if query is empty, returns up to 20 recently found chats @limit Maximum number of chats to be returned
1090searchChats query:string limit:int = Chats;
1091
1092//@description Adds chat to the list of recently found chats. The chat is added to the beginning of the list. If the chat is already in the list, at first it is removed from the list @chat_id Identifier of the chat to add
1093addRecentlyFoundChat chat_id:long = Ok;
1094
1095//@description Clears list of recently found chats
1096deleteRecentlyFoundChats = Ok;
1097
1098
1099//@description Returns messages in a chat. Automatically calls openChat. Returns result in reverse chronological order, i.e. in order of decreasing message.message_id @chat_id Chat identifier
1100//@from_message_id Identifier of the message near which we need a history, you can use 0 to get results from the beginning, i.e. from oldest to newest
1101//@offset Specify 0 to get results exactly from from_message_id or negative offset to get specified message and some newer messages
1102//@limit Maximum number of messages to be returned, should be positive and can't be greater than 100. If offset is negative, limit must be greater than -offset. There may be less than limit messages returned even the end of the history is not reached
1103getChatHistory chat_id:long from_message_id:int offset:int limit:int = Messages;
1104
1105//@description Deletes all messages in the chat. Can't be used for channel chats @chat_id Chat identifier @remove_from_chat_list Pass true, if chat should be removed from the chat list
1106deleteChatHistory chat_id:long remove_from_chat_list:Bool = Ok;
1107
1108//@description Searches for messages with given words in the chat. Returns result in reverse chronological order, i. e. in order of decreasimg message_id. Doesn't work in secret chats @chat_id Chat identifier to search in
1109//@query Query to search for @from_message_id Identifier of the message from which we need a history, you can use 0 to get results from beginning @limit Maximum number of messages to be returned, can't be greater than 100
1110//@filter Filter for content of searched messages
1111searchChatMessages chat_id:long query:string from_message_id:int limit:int filter:SearchMessagesFilter = Messages;
1112
1113//@description Searches for messages in all chats except secret. Returns result in reverse chronological order, i. e. in order of decreasing (date, chat_id, message_id) @query Query to search for
1114//@offset_date Date of the message to search from, you can use 0 or any date in the future to get results from the beginning
1115//@offset_chat_id Chat identifier of the last found message or 0 for the first request
1116//@offset_message_id Message identifier of the last found message or 0 for the first request
1117//@limit Maximum number of messages to be returned, can't be greater than 100
1118searchMessages query:string offset_date:int offset_chat_id:long offset_message_id:int limit:int = Messages;
1119
1120
1121//@description Sends a message. Returns sent message. UpdateChatTopMessage will not be sent, so returned message should be used to update chat top message @chat_id Chat to send message @reply_to_message_id Identifier of a message to reply to or 0
1122//@disable_notification Pass true, to disable notification about the message in up to date clients, bots only @from_background Pass true, if the message is sent from background
1123//@reply_markup Markup for replying to message, available only for bots @input_message_content Content of a message to send
1124sendMessage chat_id:long reply_to_message_id:int disable_notification:Bool from_background:Bool reply_markup:ReplyMarkup input_message_content:InputMessageContent = Message;
1125
1126//@description Invites bot to a chat (if it is not in the chat) and send /start to it. Bot can't be invited to a private chat other than chat with the bot. Bots can't be invited to broadcast channel chats. Returns sent message. UpdateChatTopMessage will not be sent, so returned message should be used to update chat top message
1127//@bot_user_id Identifier of the bot @chat_id Identifier of the chat @parameter Hidden parameter sent to bot for deep linking (https://api.telegram.org/bots#deep-linking)
1128sendBotStartMessage bot_user_id:int chat_id:long parameter:string = Message;
1129
1130//@description Sends result of the inline query as a message. Returns sent message. UpdateChatTopMessage will not be sent, so returned message should be used to update chat top message. Always clears chat draft message @chat_id Chat to send message @reply_to_message_id Identifier of a message to reply to or 0
1131//@disable_notification Pass true, to disable notification about the message in up to date clients, bots only @from_background Pass true, if the message is sent from background
1132//@query_id Identifier of the inline query @result_id Identifier of the inline result
1133sendInlineQueryResultMessage chat_id:long reply_to_message_id:int disable_notification:Bool from_background:Bool query_id:long result_id:string = Message;
1134
1135//@description Forwards previously sent messages. Returns forwarded messages in the same order as message identifiers passed in message_ids. If message can't be forwarded, null will be returned instead of the message. UpdateChatTopMessage will not be sent, so returned messages should be used to update chat top message
1136//@chat_id Identifier of a chat to forward messages @from_chat_id Identifier of a chat to forward from @message_ids Identifiers of messages to forward
1137//@disable_notification Pass true, to disable notification about the message in up to date clients, bots only @from_background Pass true, if the message is sent from background
1138forwardMessages chat_id:long from_chat_id:long message_ids:vector<int> disable_notification:Bool from_background:Bool = Messages;
1139
1140//@description Deletes messages. UpdateDeleteMessages will not be sent for messages deleted through that function @chat_id Chat identifier @message_ids Identifiers of messages to delete
1141deleteMessages chat_id:long message_ids:vector<int> = Ok;
1142
1143
1144//@description Edits text of text or game message. Non-bots can edit message in a limited period of time. Returns edited message after edit is complete server side
1145//@chat_id Chat the message belongs to @message_id Identifier of the message @reply_markup New message reply markup, only for bots @input_message_content New text content of the message. Should be of type InputMessageText
1146editMessageText chat_id:long message_id:int reply_markup:ReplyMarkup input_message_content:InputMessageContent = Message;
1147
1148//@description Edits message content caption. Non-bots can edit message in a limited period of time. Returns edited message after edit is complete server side
1149//@chat_id Chat the message belongs to @message_id Identifier of the message @reply_markup New message reply markup, only for bots @caption New message content caption
1150editMessageCaption chat_id:long message_id:int reply_markup:ReplyMarkup caption:string = Message;
1151
1152//@description Bots only. Edits message reply markup. Returns edited message after edit is complete server side
1153//@chat_id Chat the message belongs to @message_id Identifier of the message @reply_markup New message reply markup
1154editMessageReplyMarkup chat_id:long message_id:int reply_markup:ReplyMarkup = Message;
1155
1156//@description Bots only. Edits text of an inline text or game message sent via bot @inline_message_id Inline message identifier @reply_markup New message reply markup @input_message_content New text content of the message. Should be of type InputMessageText
1157editInlineMessageText inline_message_id:string reply_markup:ReplyMarkup input_message_content:InputMessageContent = Ok;
1158
1159//@description Bots only. Edits caption of an inline message content sent via bot @inline_message_id Inline message identifier @reply_markup New message reply markup @caption New message content caption
1160editInlineMessageCaption inline_message_id:string reply_markup:ReplyMarkup caption:string = Ok;
1161
1162//@description Bots only. Edits reply markup of an inline message sent via bot @inline_message_id Inline message identifier @reply_markup New message reply markup
1163editInlineMessageReplyMarkup inline_message_id:string reply_markup:ReplyMarkup = Ok;
1164
1165
1166//@description Sends inline query to a bot and returns its results. Unavailable for bots @bot_user_id Identifier of the bot send query to @chat_id Identifier of the chat, where the query is sent @user_location User location, only if needed @query Text of the query @offset Offset of the first entry to return
1167getInlineQueryResults bot_user_id:int chat_id:long user_location:location query:string offset:string = InlineQueryResults;
1168
1169//@description Sets result of the inline query. Bots only @inline_query_id Identifier of the inline query @is_personal Does result of the query can be cached only for specified user
1170//@results Results of the query @cache_time Allowed time to cache results of the query, defaults to 300 @next_offset Offset for the next inline query, pass empty string if there is no more results
1171//@switch_pm_text If non-empty, this text should be shown on the button, which opens private chat with the bot and sends bot start message with parameter switch_pm_parameter @switch_pm_parameter Parameter for the bot start message
1172answerInlineQuery inline_query_id:long is_personal:Bool results:vector<InputInlineQueryResult> cache_time:int next_offset:string switch_pm_text:string switch_pm_parameter:string = Ok;
1173
1174
1175//@description Sends callback query to a bot and returns answer to it. Unavailable for bots @chat_id Identifier of the chat with a message @message_id Identifier of the message, from which the query is originated @payload Query payload
1176getCallbackQueryAnswer chat_id:long message_id:int payload:CallbackQueryPayload = CallbackQueryAnswer;
1177
1178//@description Sets result of the callback query. Bots only @callback_query_id Identifier of the callback query @text Text of the answer @show_alert If true, an alert should be shown to the user instead of a toast @url Url to be opened
1179answerCallbackQuery callback_query_id:long text:string show_alert:Bool url:string = Ok;
1180
1181
1182//@description Updates game score of the specified user in the game. Bots only @chat_id Chat a message with the game belongs to @message_id Identifier of the message @edit_message True, if message should be edited @user_id User identifier @score New score
1183setGameScore chat_id:long message_id:int edit_message:Bool user_id:int score:int = Message;
1184
1185//@description Updates game score of the specified user in the game. Bots only @inline_message_id Inline message identifier @edit_message True, if message should be edited @user_id User identifier @score New score
1186setInlineGameScore inline_message_id:string edit_message:Bool user_id:int score:int = Ok;
1187
1188//@description Returns game high scores and some part of the score table around of the specified user in the game. Bots only @chat_id Chat a message with the game belongs to @message_id Identifier of the message @user_id User identifie
1189getGameHighScores chat_id:long message_id:int user_id:int = GameHighScores;
1190
1191//@description Returns game high scores and some part of the score table around of the specified user in the game. Bots only @inline_message_id Inline message identifier @user_id User identifier
1192getInlineGameHighScores inline_message_id:string user_id:int = GameHighScores;
1193
1194
1195//@description Deletes default reply markup from chat. This method needs to be called after one-time keyboard or ForceReply reply markup has been used. UpdateChatReplyMarkup will be send if reply markup will be changed @chat_id Chat identifier
1196//@message_id Message identifier of used keyboard
1197deleteChatReplyMarkup chat_id:long message_id:int = Ok;
1198
1199
1200//@description Sends notification about user activity in a chat @chat_id Chat identifier @action Action description
1201sendChatAction chat_id:long action:SendMessageAction = Ok;
1202
1203
1204//@description Chat is opened by the user. Many useful activities depends on chat being opened or closed. For example, in channels all updates are received only for opened chats @chat_id Chat identifier
1205openChat chat_id:long = Ok;
1206
1207//@description Chat is closed by the user. Many useful activities depends on chat being opened or closed. @chat_id Chat identifier
1208closeChat chat_id:long = Ok;
1209
1210//@description Messages are viewed by the user. Many useful activities depends on message being viewed. For example, marking messages as read, incrementing of view counter, updating of view counter, removing of deleted messages in channels @chat_id Chat identifier @message_ids Identifiers of viewed messages
1211viewMessages chat_id:long message_ids:vector<int> = Ok;
1212
1213//@description Message content is opened, for example the user has opened a photo, a video, a document, a location or a venue or have listened to an audio or a voice message @chat_id Chat identifier of the message @message_id Identifier of the message with opened content
1214openMessageContent chat_id:long message_id:int = Ok;
1215
1216
1217//@description Returns existing chat corresponding to the given user @user_id User identifier
1218createPrivateChat user_id:int = Chat;
1219
1220//@description Returns existing chat corresponding to the known group @group_id Group identifier
1221createGroupChat group_id:int = Chat;
1222
1223//@description Returns existing chat corresponding to the known channel @channel_id Channel identifier
1224createChannelChat channel_id:int = Chat;
1225
1226//@description Returns existing chat corresponding to the known secret chat @secret_chat_id SecretChat identifier
1227createSecretChat secret_chat_id:int = Chat;
1228
1229//@description Creates new group chat and send corresponding messageGroupChatCreate, returns created chat @user_ids Identifiers of users to add to the group @title Title of new group chat
1230createNewGroupChat user_ids:vector<int> title:string = Chat;
1231
1232//@description Creates new channel chat and send corresponding messageChannelChatCreate, returns created chat @title Title of new channel chat @is_supergroup True, if supergroup chat should be created @about Information about the channel
1233createNewChannelChat title:string is_supergroup:Bool about:string = Chat;
1234
1235//@description Creates new secret chat, returns created chat @user_id Identifier of a user to create secret chat with
1236createNewSecretChat user_id:int = Chat;
1237
1238//@description Creates new channel supergroup chat from existing group chat and send corresponding messageChatMigrateTo and messageChatMigrateFrom. Available only if member limit for group was reached. Deactivates group @chat_id Group chat identifier
1239migrateGroupChatToChannelChat chat_id:long = Chat;
1240
1241
1242//@description Changes chat title. Title can't be changed for private chats. Title will not change until change will be synchronized with the server. Title will not be changed if application is killed before it can send request to the server.
1243//- There will be update about change of the title on success. Otherwise error will be returned
1244//@chat_id Chat identifier @title New title of a chat
1245changeChatTitle chat_id:long title:string = Ok;
1246
1247//@description Changes chat photo. Photo can't be changed for private chats. Photo will not change until change will be synchronized with the server. Photo will not be changed if application is killed before it can send request to the server.
1248//- There will be update about change of the photo on success. Otherwise error will be returned @chat_id Chat identifier @photo New chat photo. You can use zero InputFileId to delete photo. Files accessible only by HTTP URL are not acceptable
1249changeChatPhoto chat_id:long photo:InputFile = Ok;
1250
1251//@description Changes chat draft message @chat_id Chat identifier @draft_message New draft message, nullable
1252changeChatDraftMessage chat_id:long draft_message:draftMessage = Ok;
1253
1254//@description Adds new member to chat. Members can't be added to private or secret chats. Member will not be added until chat state will be synchronized with the server. Member will not be added if application is killed before it can send request to the server
1255//@chat_id Chat identifier @user_id Identifier of the user to add @forward_limit Number of previous messages from chat to forward to new member, ignored for channel chats
1256addChatMember chat_id:long user_id:int forward_limit:int = Ok;
1257
1258//@description Adds many new members to the chat. Currently, available only for channels. Can't be used to join the channel. Member will not be added until chat state will be synchronized with the server. Member will not be added if application is killed before it can send request to the server
1259//@chat_id Chat identifier @user_ids Identifiers of the users to add
1260addChatMembers chat_id:long user_ids:vector<int> = Ok;
1261
1262//@description Changes status of the chat member, need appropriate privileges. In channel chats, user will be added to chat members if he is yet not a member and there is less than 200 members in the channel.
1263//- Status will not be changed until chat state will be synchronized with the server. Status will not be changed if application is killed before it can send request to the server
1264//@chat_id Chat identifier @user_id Identifier of the user to edit status, bots can be editors in the channel chats @status New status of the member in the chat
1265changeChatMemberStatus chat_id:long user_id:int status:ChatMemberStatus = Ok;
1266
1267//@description Returns information about one participant of the chat @chat_id Chat identifier @user_id User identifier
1268getChatMember chat_id:long user_id:int = ChatMember;
1269
1270
1271//@description Asynchronously downloads file from cloud. Updates updateFileProgress will notify about download progress. Update updateFile will notify about successful download @file_id Identifier of file to download
1272downloadFile file_id:int = Ok;
1273
1274//@description Stops file downloading. If file already downloaded do nothing. @file_id Identifier of file to cancel download
1275cancelDownloadFile file_id:int = Ok;
1276
1277
1278//@description Generates new chat invite link, previously generated link is revoked. Available for group and channel chats. Only creator of the chat can export chat invite link @chat_id Chat identifier
1279exportChatInviteLink chat_id:long = ChatInviteLink;
1280
1281//@description Checks chat invite link for validness and returns information about the corresponding chat @invite_link Invite link to check. Should begin with "https://telegram.me/joinchat/"
1282checkChatInviteLink invite_link:string = ChatInviteLinkInfo;
1283
1284//@description Imports chat invite link, adds current user to a chat if possible. Member will not be added until chat state will be synchronized with the server. Member will not be added if application is killed before it can send request to the server
1285//@invite_link Invite link to import. Should begin with "https://telegram.me/joinchat/"
1286importChatInviteLink invite_link:string = Ok;
1287
1288
1289//@description Adds user to black list @user_id User identifier
1290blockUser user_id:int = Ok;
1291
1292//@description Removes user from black list @user_id User identifier
1293unblockUser user_id:int = Ok;
1294
1295
1296//@description Adds new contacts/edits existing contacts, contacts user identifiers are ignored. Returns list of corresponding users in the same order as input contacts. If contact doesn't registered in Telegram, user with id == 0 will be returned @contacts List of contacts to import/edit
1297importContacts contacts:vector<contact> = Users;
1298
1299//@description Searches for specified query in the first name, last name and username of the known user contacts @query Query to search for, can be empty to return all contacts @limit Maximum number of users to be returned
1300searchContacts query:string limit:int = Users;
1301
1302//@description Deletes users from contacts list @user_ids Identifiers of users to be deleted
1303deleteContacts user_ids:vector<int> = Ok;
1304
1305
1306//@description Returns profile photos of the user. Result of this query can't be invalidated, so it must be used with care @user_id User identifier @offset Photos to skip, must be non-negative @limit Maximum number of photos to be returned, can't be greater than 100
1307getUserProfilePhotos user_id:int offset:int limit:int = UserProfilePhotos;
1308
1309
1310//@description Returns stickers corresponding to given emoji @emoji String representation of emoji. If empty, returns all known stickers
1311getStickers emoji:string = Stickers;
1312
1313//@description Returns list of installed sticker sets @only_enabled If true, returns only enabled sticker sets
1314getStickerSets only_enabled:Bool = StickerSets;
1315
1316//@description Returns information about sticker set by its identifier @set_id Identifier of the sticker set
1317getStickerSet set_id:long = StickerSet;
1318
1319//@description Searches sticker set by its short name @name Name of the sticker set
1320searchStickerSet name:string = StickerSet;
1321
1322//@description Installs/uninstalls or enables/archives sticker set. Official sticker set can't be uninstalled, but it can be archived @set_id Identifier of the sticker set @is_installed New value of is_installed @is_enabled New value of is_enabled
1323updateStickerSet set_id:long is_installed:Bool is_enabled:Bool = Ok;
1324
1325
1326//@description Returns saved animations
1327getSavedAnimations = Animations;
1328
1329//@description Manually adds new animation to the list of saved animations. New animation is added to the beginning of the list. If the animation is already in the list, at first it is removed from the list. Only video animations with MIME type "video/mp4" can be added to the list
1330//@animation Animation file to add. Only known to server animations (i. e. successfully sent via message) can be added to the list
1331addSavedAnimation animation:InputFile = Ok;
1332
1333//@description Removes animation from the list of saved animations @animation Animation file to delete
1334deleteSavedAnimation animation:InputFile = Ok;
1335
1336
1337//@description Returns up to 20 recently used inline bots in the order of the last usage
1338getRecentInlineBots = Users;
1339
1340
1341//@description Get web page preview by text of the message. Do not call this function to often @message_text Message text
1342getWebPagePreview message_text:string = WebPage;
1343
1344
1345//@description Returns notification settings for given scope @scope Scope to return information about notification settings
1346getNotificationSettings scope:NotificationSettingsScope = NotificationSettings;
1347
1348//@description Changes notification settings for given scope @scope Scope to change notification settings
1349//@notification_settings New notification settings for given scope
1350setNotificationSettings scope:NotificationSettingsScope notification_settings:notificationSettings = Ok;
1351
1352
1353//@description Uploads new profile photo for logged in user. Photo will not change until change will be synchronized with the server. Photo will not be changed if application is killed before it can send request to the server. If something changes, updateUser will be sent @photo_path Path to new profile photo
1354setProfilePhoto photo_path:string = Ok;
1355
1356//@description Deletes profile photo. If something changes, updateUser will be sent @profile_photo_id Identifier of profile photo to delete
1357deleteProfilePhoto profile_photo_id:long = Ok;
1358
1359//@description Changes first and last names of logged in user. If something changes, updateUser will be sent @first_name New value of user first name, must not be empty @last_name New value of user last name
1360changeName first_name:string last_name:string = Ok;
1361
1362//@description Changes about information of logged in user @about New value of userFull.about
1363changeAbout about:string = Ok;
1364
1365//@description Changes username of logged in user. If something changes, updateUser will be sent @username New value of username. Use empty string to remove username
1366changeUsername username:string = Ok;
1367
1368//@description Changes user's phone number and sends authentication code to the new user's phone number. Returns authStateWaitCode with information about sent code on success
1369//@phone_number New user's phone number in any reasonable format @allow_flash_call Pass True, if code can be sent via flash call to the specified phone number @is_current_phone_number Pass true, if the phone number is used on the current device. Ignored if allow_flash_call is False
1370changePhoneNumber phone_number:string allow_flash_call:Bool is_current_phone_number:Bool = AuthState;
1371
1372//@description Resends authentication code sent to change user's phone number. Wotks only if in previously received authStateWaitCode next_code_type was not null. Returns authStateWaitCode on success
1373resendChangePhoneNumberCode = AuthState;
1374
1375//@description Checks authentication code sent to change user's phone number. Returns authStateOk on success @code Verification code from SMS, voice call or flash call
1376checkChangePhoneNumberCode code:string = AuthState;
1377
1378
1379//@description Gives or revokes all members of the group editor rights. Needs creator privileges in the group @group_id Identifier of the group @anyone_can_edit New value of anyone_can_edit
1380toggleGroupEditors group_id:int anyone_can_edit:Bool = Ok;
1381
1382
1383//@description Changes username of the channel. Needs creator privileges in the channel @channel_id Identifier of the channel @username New value of username. Use empty string to remove username
1384changeChannelUsername channel_id:int username:string = Ok;
1385
1386//@description Gives or revokes right to invite new members to all current members of the channel. Needs creator privileges in the channel. Available only for supergroups @channel_id Identifier of the channel @anyone_can_invite New value of anyone_can_invite
1387toggleChannelInvites channel_id:int anyone_can_invite:Bool = Ok;
1388
1389//@description Enables or disables sender signature on sent messages in the channel. Needs creator privileges in the channel. Not available for supergroups @channel_id Identifier of the channel @sign_messages New value of sign_messages
1390toggleChannelSignMessages channel_id:int sign_messages:Bool = Ok;
1391
1392//@description Changes information about the channel. Needs creator privileges in the broadcast channel or editor privileges in the supergroup channel @channel_id Identifier of the channel @about New value of about
1393changeChannelAbout channel_id:int about:string = Ok;
1394
1395//@description Pins a message in a supergroup channel chat. Needs editor privileges in the channel @channel_id Identifier of the channel @message_id Identifier of the new pinned message @disable_notification True, if there should be no notification about the pinned message
1396pinChannelMessage channel_id:int message_id:int disable_notification:Bool = Ok;
1397
1398//@description Removes pinned message in the supergroup channel. Needs editor privileges in the channel @channel_id Identifier of the channel
1399unpinChannelMessage channel_id:int = Ok;
1400
1401//@description Returns information about channel members or kicked from channel users. Can be used only if channel_full->can_get_members == true @channel_id Identifier of the channel
1402//@filter Kind of channel users to return, defaults to channelMembersRecent @offset Number of channel users to skip @limit Maximum number of users be returned, can't be greater than 200
1403getChannelMembers channel_id:int filter:ChannelMembersFilter offset:int limit:int = ChatMembers;
1404
1405//@description Deletes channel along with all messages in corresponding chat. Releases channel username and removes all members. Needs creator privileges in the channel. Channels with more than 1000 members can't be deleted @channel_id Identifier of the channel
1406deleteChannel channel_id:int = Ok;
1407
1408
1409//@description Returns value of an option by its name. See list of available options on https://core.telegram.org/tdlib/options
1410//@name Name of the option
1411getOption name:string = OptionValue;
1412
1413//@description Sets value of an option. See list of available options on https://core.telegram.org/tdlib/options. Only writable options can be set
1414//@name Name of the option @value New value of the option
1415setOption name:string value:OptionValue = Ok;
1416
1417
1418//@description Returns Ok after specified amount of the time passed @seconds Number of seconds before that function returns
1419setAlarm seconds:double = Ok;
1420
1421
1422//@description Deletes account, deleting from the server all information associated with it. Account's phone number can be used to create new account, but only once in two weeks @reason Optional reason of account deletion
1423deleteAccount reason:string = Ok;
1424
1425
1426test.callEmpty = test.Empty;
1427test.squareInt x:int = test.Int;
1428test.callString x:string = test.String;
1429test.callBytes x:bytes = test.Bytes;
1430test.callVectorInt x:%Vector<int> = test.VectorInt;
1431test.callVectorIntObject x:%Vector<test.Int> = test.VectorIntObject;
1432test.callVectorString x:%Vector<string> = test.VectorString;
1433test.callVectorStringObject x:%Vector<test.String> = test.VectorStringObject;
1434
1435test.testNet = test.Empty;