@telegram.ts/types 1.8.0 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  import type { ChatAdministratorRights, User } from "./manageTypes";
2
2
  import type { MaybeInaccessibleMessage } from "./messageTypes";
3
3
 
4
- /** This object represents an inline keyboard that appears right next to the message it belongs to. */
4
+ /** This object represents one button of an inline keyboard. Exactly one of the optional fields must be used to specify type of the button. */
5
5
  export interface InlineKeyboardMarkup {
6
6
  /** Array of button rows, each represented by an Array of InlineKeyboardButton objects */
7
7
  inline_keyboard: InlineKeyboardButton[][];
@@ -17,11 +17,11 @@ export declare namespace InlineKeyboardButton {
17
17
  url: string;
18
18
  }
19
19
  export interface CallbackButton extends AbstractInlineKeyboardButton {
20
- /** Data to be sent in a callback query to the bot when button is pressed, 1-64 bytes */
20
+ /** Data to be sent in a callback query to the bot when button is pressed, 1-64 bytes. Not supported for messages sent on behalf of a Telegram Business account. */
21
21
  callback_data: string;
22
22
  }
23
23
  export interface WebAppButton extends AbstractInlineKeyboardButton {
24
- /** Description of the Web App that will be launched when the user presses the button. The Web App will be able to send an arbitrary message on behalf of the user using the method answerWebAppQuery. Available only in private chats between a user and the bot. */
24
+ /** Description of the Web App that will be launched when the user presses the button. The Web App will be able to send an arbitrary message on behalf of the user using the method answerWebAppQuery. Available only in private chats between a user and the bot. Not supported for messages sent on behalf of a Telegram Business account. */
25
25
  web_app: WebAppInfo;
26
26
  }
27
27
  export interface LoginButton extends AbstractInlineKeyboardButton {
@@ -29,19 +29,19 @@ export declare namespace InlineKeyboardButton {
29
29
  login_url: LoginUrl;
30
30
  }
31
31
  export interface SwitchInlineButton extends AbstractInlineKeyboardButton {
32
- /** If set, pressing the button will prompt the user to select one of their chats, open that chat and insert the bot's username and the specified inline query in the input field. Can be empty, in which case just the bot's username will be inserted. */
32
+ /** If set, pressing the button will prompt the user to select one of their chats, open that chat and insert the bot's username and the specified inline query in the input field. May be empty, in which case just the bot's username will be inserted. Not supported for messages sent on behalf of a Telegram Business account. */
33
33
  switch_inline_query: string;
34
34
  }
35
35
  export interface SwitchInlineCurrentChatButton
36
36
  extends AbstractInlineKeyboardButton {
37
37
  /** If set, pressing the button will insert the bot's username and the specified inline query in the current chat's input field. Can be empty, in which case only the bot's username will be inserted.
38
38
 
39
- This offers a quick way for the user to open your bot in inline mode in the same chat – good for selecting something from multiple options. */
39
+ This offers a quick way for the user to open your bot in inline mode in the same chat – good for selecting something from multiple options. Not supported in channels and for messages sent on behalf of a Telegram Business account. */
40
40
  switch_inline_query_current_chat: string;
41
41
  }
42
42
  export interface SwitchInlineChosenChatButton
43
43
  extends AbstractInlineKeyboardButton {
44
- /** If set, pressing the button will prompt the user to select one of their chats of the specified type, open that chat and insert the bot's username and the specified inline query in the input field */
44
+ /** If set, pressing the button will prompt the user to select one of their chats of the specified type, open that chat and insert the bot's username and the specified inline query in the input field. Not supported for messages sent on behalf of a Telegram Business account. */
45
45
  switch_inline_query_chosen_chat: SwitchInlineQueryChosenChat;
46
46
  }
47
47
  export interface GameButton extends AbstractInlineKeyboardButton {
@@ -51,7 +51,7 @@ export declare namespace InlineKeyboardButton {
51
51
  callback_game: CallbackGame;
52
52
  }
53
53
  export interface PayButton extends AbstractInlineKeyboardButton {
54
- /** Specify True, to send a Pay button.
54
+ /** Specify True, to send a Pay button. Substrings “⭐” and “XTR” in the buttons's text will be replaced with a Telegram Star icon.
55
55
 
56
56
  NOTE: This type of button must always be the first button in the first row and can only be used in invoice messages. */
57
57
  pay: boolean;
@@ -122,7 +122,7 @@ export interface CallbackQuery {
122
122
  game_short_name?: string;
123
123
  }
124
124
 
125
- /** This object represents a custom keyboard with reply options (see Introduction to bots for details and examples). */
125
+ /** This object represents a custom keyboard with reply options (see Introduction to bots for details and examples). Not supported in channels and for messages sent on behalf of a Telegram Business account. */
126
126
  export interface ReplyKeyboardMarkup {
127
127
  /** Array of button rows, each represented by an Array of KeyboardButton objects */
128
128
  keyboard: KeyboardButton[][];
@@ -171,7 +171,7 @@ export declare namespace KeyboardButton {
171
171
  }
172
172
  }
173
173
 
174
- /** This object represents one button of the reply keyboard. For simple text buttons, String can be used instead of this object to specify the button text. The optional fields web_app, request_users, request_chat, request_contact, request_location, and request_poll are mutually exclusive. */
174
+ /** This object represents one button of the reply keyboard. At most one of the optional fields must be used to specify type of the button. For simple text buttons, String can be used instead of this object to specify the button text. */
175
175
  export type KeyboardButton =
176
176
  | KeyboardButton.CommonButton
177
177
  | KeyboardButton.RequestUsersButton
@@ -188,7 +188,7 @@ export interface KeyboardButtonPollType {
188
188
  type?: "quiz" | "regular";
189
189
  }
190
190
 
191
- /** Upon receiving a message with this object, Telegram clients will remove the current custom keyboard and display the default letter-keyboard. By default, custom keyboards are displayed until a new keyboard is sent by a bot. An exception is made for one-time keyboards that are hidden immediately after the user presses a button (see ReplyKeyboardMarkup). */
191
+ /** Upon receiving a message with this object, Telegram clients will remove the current custom keyboard and display the default letter-keyboard. By default, custom keyboards are displayed until a new keyboard is sent by a bot. An exception is made for one-time keyboards that are hidden immediately after the user presses a button (see ReplyKeyboardMarkup). Not supported in channels and for messages sent on behalf of a Telegram Business account. */
192
192
  export interface ReplyKeyboardRemove {
193
193
  /** Requests clients to remove the custom keyboard (user will not be able to summon this keyboard; if you want to hide the keyboard from sight but keep it accessible, use one_time_keyboard in ReplyKeyboardMarkup) */
194
194
  remove_keyboard: true;
@@ -198,7 +198,7 @@ export interface ReplyKeyboardRemove {
198
198
  selective?: boolean;
199
199
  }
200
200
 
201
- /** Upon receiving a message with this object, Telegram clients will display a reply interface to the user (act as if the user has selected the bot's message and tapped 'Reply'). This can be extremely useful if you want to create user-friendly step-by-step interfaces without having to sacrifice privacy mode.
201
+ /** Upon receiving a message with this object, Telegram clients will display a reply interface to the user (act as if the user has selected the bot's message and tapped 'Reply'). This can be extremely useful if you want to create user-friendly step-by-step interfaces without having to sacrifice privacy mode. Not supported in channels and for messages sent on behalf of a Telegram Business account.
202
202
 
203
203
  Example: A poll bot for groups runs in privacy mode (only receives commands, replies to its messages and mentions). There could be two ways to create a new poll:
204
204
 
@@ -232,11 +232,11 @@ export interface KeyboardButtonRequestUsers {
232
232
  user_is_premium?: boolean;
233
233
  /** The maximum number of users to be selected; 1-10. Defaults to 1. */
234
234
  max_quantity?: boolean;
235
- /** Pass True to request the users' first and last name */
235
+ /** Pass True to request the users' first and last names */
236
236
  request_name?: boolean;
237
- /** Pass True to request the users' username */
237
+ /** Pass True to request the users' usernames */
238
238
  request_username?: boolean;
239
- /** Pass True to request the users' photo */
239
+ /** Pass True to request the users' photos */
240
240
  request_photo?: boolean;
241
241
  }
242
242
 
@@ -47,12 +47,16 @@ export declare namespace Message {
47
47
  edit_date?: number;
48
48
  /** True, if the message can't be forwarded */
49
49
  has_protected_content?: true;
50
+ /** True, if the caption must be shown above the message media */
51
+ show_caption_above_media?: true;
50
52
  /** True, if the message was sent by an implicit action, for example, as an away or a greeting business message, or as a scheduled message */
51
53
  is_from_offline?: true;
52
54
  /** Signature of the post author for messages in channels, or the custom title of an anonymous group administrator */
53
55
  author_signature?: string;
54
56
  /** Options used for link preview generation for the message, if it is a text message and link preview options were changed */
55
57
  link_preview_options?: LinkPreviewOptions;
58
+ /** Unique identifier of the message effect added to the message */
59
+ effect_id?: string;
56
60
  /** Inline keyboard attached to the message. login_url buttons are represented as ordinary url buttons. */
57
61
  reply_markup?: InlineKeyboardMarkup;
58
62
  }
@@ -119,6 +123,8 @@ export declare namespace Message {
119
123
  export type ProximityAlertTriggeredMessage = ServiceMessage &
120
124
  MsgWith<"proximity_alert_triggered">;
121
125
  export type BoostAddedMessage = ServiceMessage & MsgWith<"boost_added">;
126
+ export type ChatBackgroundSetMessage = ServiceMessage &
127
+ MsgWith<"chat_background_set">;
122
128
  export type ForumTopicCreatedMessage = ServiceMessage &
123
129
  MsgWith<"forum_topic_created">;
124
130
  export type ForumTopicEditedMessage = ServiceMessage &
@@ -228,6 +234,8 @@ export interface Message extends Message.MediaMessage {
228
234
  proximity_alert_triggered?: ProximityAlertTriggered;
229
235
  /** Service message: user boosted the chat */
230
236
  boost_added?: ChatBoostAdded;
237
+ /* Service message: chat background set */
238
+ chat_background_set?: ChatBackground;
231
239
  /** Service message: forum topic created */
232
240
  forum_topic_created?: ForumTopicCreated;
233
241
  /** Service message: forum topic edited */
@@ -303,7 +311,7 @@ Note that Telegram clients will display an **alert** to the user before opening
303
311
  Message entities can be nested, providing following restrictions are met:
304
312
  - If two entities have common characters, then one of them is fully contained inside another.
305
313
  - bold, italic, underline, strikethrough, and spoiler entities can contain and can be part of any other entities, except pre and code.
306
- - blockquote entities can't be nested.
314
+ - blockquote and expandable_blockquote entities can't be nested.
307
315
  - All other entities can't contain each other.
308
316
 
309
317
  Links `tg://user?id=<user_id>` can be used to mention a user by their ID without using a username. Please note:
@@ -335,9 +343,15 @@ pre-formatted fixed-width code block written in the Python programming language
335
343
  ```
336
344
  >Block quotation started
337
345
  >Block quotation continued
338
- >The last line of the block quotation**
339
- >The second block quotation started right after the previous\r
340
- >The third block quotation started right after the previous
346
+ >Block quotation continued
347
+ >Block quotation continued
348
+ >The last line of the block quotation
349
+ ***>The second expandable block quotation started right after the previous
350
+ >It is separated from the previous block quotation by an empty bold entity
351
+ >Expandable block quotation continued
352
+ >Hidden by default part of the expandable block quotation started
353
+ >Expandable block quotation continued
354
+ >The last line of the expandable block quotation with the expandability mark
341
355
  ```
342
356
  Please note:
343
357
 
@@ -345,7 +359,7 @@ Please note:
345
359
  - Inside `pre` and `code` entities, all '`' and '\' characters must be escaped with a preceding '\' character.
346
360
  - Inside the `(...)` part of the inline link and custom emoji definition, all ')' and '\' must be escaped with a preceding '\' character.
347
361
  - In all other places characters '_', '*', '[', ']', '(', ')', '~', '`', '>', '#', '+', '-', '=', '|', '{', '}', '.', '!' must be escaped with the preceding character '\'.
348
- - In case of ambiguity between `italic` and `underline` entities `__` is always greadily treated from left to right as beginning or end of `underline` entity, so instead of `___italic underline___` use `___italic underline_\r__`, where `\r` is a character with code 13, which will be ignored.
362
+ - In case of ambiguity between `italic` and `underline` entities `__` is always greadily treated from left to right as beginning or end of an `underline` entity, so instead of `___italic underline___` use `___italic underline_**__`, adding an empty bold entity as a separator.
349
363
  - A valid emoji must be provided as an alternative value for the custom emoji. The emoji will be shown instead of the custom emoji in places where a custom emoji cannot be displayed (e.g., system notifications) or if the message is forwarded by a non-premium user. It is recommended to use the emoji from the emoji field of the custom emoji sticker.
350
364
  - Custom emoji entities can only be used by bots that purchased additional usernames on Fragment.
351
365
 
@@ -366,6 +380,7 @@ To use this mode, pass *HTML* in the *parse_mode* field. The following tags are
366
380
  <pre>pre-formatted fixed-width code block</pre>
367
381
  <pre><code class="language-python">pre-formatted fixed-width code block written in the Python programming language</code></pre>
368
382
  <blockquote>Block quotation started\nBlock quotation continued\nThe last line of the block quotation</blockquote>
383
+ <blockquote expandable>Expandable block quotation started\nExpandable block quotation continued\nExpandable block quotation continued\nHidden by default part of the block quotation started\nExpandable block quotation continued\nThe last line of the block quotation</blockquote>
369
384
  ```
370
385
  Please note:
371
386
 
@@ -397,14 +412,14 @@ pre-formatted fixed-width code block written in the Python programming language
397
412
  Please note:
398
413
 
399
414
  - Entities must not be nested, use parse mode MarkdownV2 instead.
400
- - There is no way to specify “underline”, “strikethrough”, “spoiler”, “blockquote” and “custom_emoji” entities, use parse mode MarkdownV2 instead.
415
+ - There is no way to specify “underline”, “strikethrough”, “spoiler”, “blockquote”, “expandable_blockquote” and “custom_emoji” entities, use parse mode MarkdownV2 instead.
401
416
  - To escape characters '_', '*', '`', '[' outside of an entity, prepend the characters '\' before them.
402
417
  - Escaping inside entities is not allowed, so entity must be closed first and reopened again: use `_snake_\__case_` for italic `snake_case` and `*2*\**2=4*` for bold `2*2=4`. */
403
418
  export type ParseMode = "Markdown" | "MarkdownV2" | "HTML";
404
419
 
405
420
  export declare namespace MessageEntity {
406
421
  interface AbstractMessageEntity {
407
- /** Type of the entity. Currently, can be “mention” (@username), “hashtag” (#hashtag), “cashtag” ($USD), “bot_command” (/start@jobs_bot), “url” (https://telegram.org), “email” (do-not-reply@telegram.org), “phone_number” (+1-212-555-0123), “bold” (bold text), “italic” (italic text), “underline” (underlined text), “strikethrough” (strikethrough text), “spoiler” (spoiler message), “blockquote” (block quotation), “code” (monowidth string), “pre” (monowidth block), “text_link” (for clickable text URLs), “text_mention” (for users without usernames), “custom_emoji” (for inline custom emoji stickers) */
422
+ /** Type of the entity. Currently, can be “mention” (@username), “hashtag” (#hashtag), “cashtag” ($USD), “bot_command” (/start@jobs_bot), “url” (https://telegram.org), “email” (do-not-reply@telegram.org), “phone_number” (+1-212-555-0123), “bold” (bold text), “italic” (italic text), “underline” (underlined text), “strikethrough” (strikethrough text), “spoiler” (spoiler message), “blockquote” (block quotation), “expandable_blockquote” (collapsed-by-default block quotation), “code” (monowidth string), “pre” (monowidth block), “text_link” (for clickable text URLs), “text_mention” (for users without usernames), “custom_emoji” (for inline custom emoji stickers) */
408
423
  type: string;
409
424
  /** Offset in UTF-16 code units to the start of the entity */
410
425
  offset: number;
@@ -426,6 +441,7 @@ export declare namespace MessageEntity {
426
441
  | "strikethrough"
427
442
  | "spoiler"
428
443
  | "blockquote"
444
+ | "expandable_blockquote"
429
445
  | "code";
430
446
  }
431
447
  export interface PreMessageEntity extends AbstractMessageEntity {
@@ -747,10 +763,22 @@ export interface Dice {
747
763
  export interface PollOption {
748
764
  /** Option text, 1-100 characters */
749
765
  text: string;
766
+ /** Special entities that appear in the option text. Currently, only custom emoji entities are allowed in poll option texts */
767
+ text_entities?: MessageEntity[];
750
768
  /** Number of users that voted for this option */
751
769
  voter_count: number;
752
770
  }
753
771
 
772
+ /** This object contains information about one answer option in a poll to send. */
773
+ export interface InputPollOption {
774
+ /** Option text, 1-100 characters */
775
+ text: string;
776
+ /** Mode for parsing entities in the text. See formatting options for more details. Currently, only custom emoji entities are allowed */
777
+ text_parse_mode?: string;
778
+ /** A list of special entities that appear in the poll option text. It can be specified instead of text_parse_mode */
779
+ text_entities?: MessageEntity[];
780
+ }
781
+
754
782
  /** This object represents an answer of a user in a non-anonymous poll. */
755
783
  export interface PollAnswer {
756
784
  /** Unique poll identifier */
@@ -769,6 +797,8 @@ export interface Poll {
769
797
  id: string;
770
798
  /** Poll question, 1-300 characters */
771
799
  question: string;
800
+ /** Special entities that appear in the question. Currently, only custom emoji entities are allowed in poll questions */
801
+ question_entities?: MessageEntity[];
772
802
  /** List of poll options */
773
803
  options: PollOption[];
774
804
  /** Total number of users that voted in the poll */
@@ -835,6 +865,14 @@ export interface Story {
835
865
  id: number;
836
866
  }
837
867
 
868
+ /** Describes data sent from a Web App to the bot. */
869
+ export interface WebAppData {
870
+ /** The data. Be aware that a bad client can send arbitrary data in this field. */
871
+ data: string;
872
+ /** Text of the web_app keyboard button from which the Web App was opened. Be aware that a bad client can send arbitrary data in this field. */
873
+ button_text: string;
874
+ }
875
+
838
876
  /** This object represents the content of a service message, sent whenever a user in the chat triggers a proximity alert set by another user. */
839
877
  export interface ProximityAlertTriggered {
840
878
  /** User that triggered the alert */
@@ -869,6 +907,115 @@ export interface ForumTopicEdited {
869
907
  icon_custom_emoji_id?: string;
870
908
  }
871
909
 
910
+ /** This object represents a service message about a user boosting a chat. */
911
+ export interface ChatBoostAdded {
912
+ /** Number of boosts added by the user */
913
+ boost_count: number;
914
+ }
915
+
916
+ /** This object describes the way a background is filled based on the selected colors. Currently, it can be one of
917
+ - BackgroundFillSolid
918
+ - BackgroundFillGradient
919
+ - BackgroundFillFreeformGradient */
920
+ export type BackgroundFill =
921
+ | BackgroundFillSolid
922
+ | BackgroundFillGradient
923
+ | BackgroundFillFreeformGradient;
924
+
925
+ /** The background is filled using the selected color. */
926
+ export interface BackgroundFillSolid {
927
+ /** Type of the background fill, always “solid” */
928
+ type: "solid";
929
+ /** The color of the background fill in the RGB24 format */
930
+ color: number;
931
+ }
932
+
933
+ /** The background is a gradient fill. */
934
+ export interface BackgroundFillGradient {
935
+ /** Type of the background fill, always “gradient” */
936
+ type: "gradient";
937
+ /** Top color of the gradient in the RGB24 format */
938
+ top_color: number;
939
+ /** Bottom color of the gradient in the RGB24 format */
940
+ bottom_color: number;
941
+ /** Clockwise rotation angle of the background fill in degrees; 0-359 */
942
+ rotation_angle: number;
943
+ }
944
+
945
+ /** The background is a freeform gradient that rotates after every message in the chat. */
946
+ export interface BackgroundFillFreeformGradient {
947
+ /** Type of the background fill, always “freeform_gradient” */
948
+ type: "freeform_gradient";
949
+ /** A list of the 3 or 4 base colors that are used to generate the freeform gradient in the RGB24 format */
950
+ colors: number[];
951
+ }
952
+
953
+ /** This object describes the type of a background. Currently, it can be one of
954
+ - BackgroundTypeFill
955
+ - BackgroundTypeWallpaper
956
+ - BackgroundTypePattern
957
+ - BackgroundTypeChatTheme
958
+ - BackgroundTypeFill */
959
+ export type BackgroundType =
960
+ | BackgroundTypeFill
961
+ | BackgroundTypeWallpaper
962
+ | BackgroundTypePattern
963
+ | BackgroundTypeChatTheme;
964
+
965
+ /** The background is automatically filled based on the selected colors. */
966
+ export interface BackgroundTypeFill {
967
+ /** Type of the background, always “fill” */
968
+ type: "fill";
969
+ /** The background fill */
970
+ fill: BackgroundFill;
971
+ /** Dimming of the background in dark themes, as a percentage; 0-100 */
972
+ dark_theme_dimming: number;
973
+ }
974
+
975
+ /** The background is a wallpaper in the JPEG format. */
976
+ export interface BackgroundTypeWallpaper {
977
+ /** Type of the background, always “wallpaper” */
978
+ type: "wallpaper";
979
+ /** Document with the wallpaper */
980
+ document: Document;
981
+ /** Dimming of the background in dark themes, as a percentage; 0-100 */
982
+ dark_theme_dimming: number;
983
+ /** True, if the wallpaper is downscaled to fit in a 450x450 square and then box-blurred with radius 12 */
984
+ is_blurred?: true;
985
+ /** True, if the background moves slightly when the device is tilted */
986
+ is_moving?: true;
987
+ }
988
+
989
+ /** The background is a PNG or TGV (gzipped subset of SVG with MIME type “application/x-tgwallpattern”) pattern to be combined with the background fill chosen by the user. */
990
+ export interface BackgroundTypePattern {
991
+ /** Type of the background, always “pattern” */
992
+ type: "pattern";
993
+ /** Document with the pattern */
994
+ document: Document;
995
+ /** The background fill that is combined with the pattern */
996
+ fill: BackgroundFill;
997
+ /** Intensity of the pattern when it is shown above the filled background; 0-100 */
998
+ intensity: number;
999
+ /** True, if the background fill must be applied only to the pattern itself. All other pixels are black in this case. For dark themes only */
1000
+ is_inverted?: true;
1001
+ /** True, if the background moves slightly when the device is tilted */
1002
+ is_moving?: true;
1003
+ }
1004
+
1005
+ /** The background is taken directly from a built-in chat theme. */
1006
+ export interface BackgroundTypeChatTheme {
1007
+ /** Type of the background, always “chat_theme” */
1008
+ type: "chat_theme";
1009
+ /** Name of the chat theme, which is usually an emoji */
1010
+ theme_name: string;
1011
+ }
1012
+
1013
+ /** This object represents a chat background. */
1014
+ export interface ChatBackground {
1015
+ /** Type of the background*/
1016
+ type: BackgroundType;
1017
+ }
1018
+
872
1019
  /** This object represents a service message about a forum topic closed in the chat. Currently holds no information. */
873
1020
  export interface ForumTopicClosed {}
874
1021
 
@@ -942,7 +1089,7 @@ export interface VideoChatParticipantsInvited {
942
1089
 
943
1090
  /** This object contains information about a user that was shared with the bot using a KeyboardButtonRequestUser button. */
944
1091
  export interface SharedUser {
945
- /** Identifier of the shared user. This number may have more than 32 significant bits and some programming languages may have difficulty/silent defects in interpreting it. But it has at most 52 significant bits, so 64-bit integers or double-precision float types are safe for storing these identifiers. The bot may not have access to the user and could be unable to use this identifier, unless the user is already known to the bot by some other means. */
1092
+ /** Identifier of the shared user. The bot may not have access to the user and could be unable to use this identifier, unless the user is already known to the bot by some other means. */
946
1093
  user_id: number;
947
1094
  /** First name of the user, if the name was requested by the bot */
948
1095
  first_name?: string;
@@ -1131,7 +1278,9 @@ export interface File {
1131
1278
  file_path?: string;
1132
1279
  }
1133
1280
 
1134
- /** This object describes the type of a reaction. Currently, it can be one of */
1281
+ /** This object describes the type of a reaction. Currently, it can be one of
1282
+ - ReactionTypeEmoji
1283
+ - ReactionTypeCustomEmoji */
1135
1284
  export type ReactionType = ReactionTypeEmoji | ReactionTypeCustomEmoji;
1136
1285
 
1137
1286
  /** The reaction is based on an emoji. */
@@ -89,7 +89,7 @@ export interface Update {
89
89
  /** The bot was connected to or disconnected from a business account, or a user edited an existing connection with the bot */
90
90
  business_connection?: BusinessConnection;
91
91
 
92
- /** New non-service message from a connected business account */
92
+ /** New message from a connected business account */
93
93
  business_message?: Message & Update.Private;
94
94
 
95
95
  /** New version of a message from a connected business account */