@skroz/telegram-bot 1.0.29 → 1.1.1
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.
- package/dist/FileUpload.d.ts +14 -0
- package/dist/FileUpload.d.ts.map +1 -0
- package/dist/FileUpload.js +3 -0
- package/dist/FileUpload.js.map +1 -0
- package/dist/ResultAndDescription.d.ts +6 -0
- package/dist/ResultAndDescription.d.ts.map +1 -0
- package/dist/ResultAndDescription.js +6 -0
- package/dist/ResultAndDescription.js.map +1 -0
- package/dist/TelegramTypes.d.ts +885 -0
- package/dist/TelegramTypes.d.ts.map +1 -0
- package/dist/TelegramTypes.js +3 -0
- package/dist/TelegramTypes.js.map +1 -0
- package/dist/index.d.ts +23 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +192 -94
- package/dist/index.js.map +1 -1
- package/dist/index_backup.d.ts +3 -0
- package/dist/index_backup.d.ts.map +1 -0
- package/dist/index_backup.js +433 -0
- package/dist/index_backup.js.map +1 -0
- package/package.json +3 -6
- package/src/FileUpload.ts +13 -0
- package/src/ResultAndDescription.ts +7 -0
- package/src/TelegramTypes.ts +1161 -0
- package/src/index.ts +246 -162
- package/src/index_backup.ts +430 -0
|
@@ -0,0 +1,1161 @@
|
|
|
1
|
+
import { FileUpload } from './FileUpload';
|
|
2
|
+
|
|
3
|
+
/* eslint-disable @typescript-eslint/no-empty-interface */
|
|
4
|
+
/* eslint-disable @typescript-eslint/naming-convention */
|
|
5
|
+
|
|
6
|
+
export type TG_ParseMode = 'Markdown' | 'MarkdownV2' | 'HTML';
|
|
7
|
+
|
|
8
|
+
export type TG_MessageEntityType =
|
|
9
|
+
| 'mention'
|
|
10
|
+
| 'hashtag'
|
|
11
|
+
| 'cashtag'
|
|
12
|
+
| 'bot_command'
|
|
13
|
+
| 'url'
|
|
14
|
+
| 'email'
|
|
15
|
+
| 'phone_number'
|
|
16
|
+
| 'bold'
|
|
17
|
+
| 'italic'
|
|
18
|
+
| 'underline'
|
|
19
|
+
| 'strikethrough'
|
|
20
|
+
| 'spoiler'
|
|
21
|
+
| 'blockquote'
|
|
22
|
+
| 'code'
|
|
23
|
+
| 'pre'
|
|
24
|
+
| 'text_link'
|
|
25
|
+
| 'text_mention'
|
|
26
|
+
| 'custom_emoji';
|
|
27
|
+
|
|
28
|
+
export type TG_ChatType = 'private' | 'group' | 'supergroup' | 'channel';
|
|
29
|
+
|
|
30
|
+
export type TG_InputMediaType =
|
|
31
|
+
| 'photo'
|
|
32
|
+
| 'video'
|
|
33
|
+
| 'animation'
|
|
34
|
+
| 'audio'
|
|
35
|
+
| 'document';
|
|
36
|
+
|
|
37
|
+
export type TG_PollType = 'regular' | 'quiz';
|
|
38
|
+
|
|
39
|
+
export type TG_DiceEmoji = '🎲' | '🎯' | '🏀' | '⚽' | '🎳' | '🎰';
|
|
40
|
+
|
|
41
|
+
export type TG_EncryptedPassportElementType =
|
|
42
|
+
| 'personal_details'
|
|
43
|
+
| 'passport'
|
|
44
|
+
| 'driver_license'
|
|
45
|
+
| 'identity_card'
|
|
46
|
+
| 'internal_passport'
|
|
47
|
+
| 'address'
|
|
48
|
+
| 'utility_bill'
|
|
49
|
+
| 'bank_statement'
|
|
50
|
+
| 'rental_agreement'
|
|
51
|
+
| 'passport_registration'
|
|
52
|
+
| 'temporary_registration'
|
|
53
|
+
| 'phone_number'
|
|
54
|
+
| 'email';
|
|
55
|
+
|
|
56
|
+
interface TG_Response {
|
|
57
|
+
ok: boolean; // Успешность выполнения запроса
|
|
58
|
+
error_code?: number; // Код ошибки (если запрос завершился неудачей)
|
|
59
|
+
description?: string; // Описание ошибки (если запрос завершился неудачей)
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export interface TG_User {
|
|
63
|
+
id: number; // Уникальный идентификатор пользователя
|
|
64
|
+
is_bot: boolean; // Признак того, является ли пользователь ботом
|
|
65
|
+
first_name: string; // Имя пользователя
|
|
66
|
+
last_name?: string; // Фамилия пользователя (опционально)
|
|
67
|
+
username?: string; // Имя пользователя (логин) без "@"
|
|
68
|
+
language_code?: string; // Код языка (например, "en" или "ru") пользователя
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export interface TG_ChatLocation {
|
|
72
|
+
location: Location; // Геолокация
|
|
73
|
+
address: string; // Адрес
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export interface TG_ChatPhoto {
|
|
77
|
+
small_file_id: string; // Уникальный идентификатор файла маленькой версии фото профиля
|
|
78
|
+
small_file_unique_id: string; // Уникальный идентификатор файла маленькой версии фото профиля (для сжатия без потерь)
|
|
79
|
+
big_file_id: string; // Уникальный идентификатор файла большой версии фото профиля
|
|
80
|
+
big_file_unique_id: string; // Уникальный идентификатор файла большой версии фото профиля (для сжатия без потерь)
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export interface TG_File {
|
|
84
|
+
file_id: string; // Уникальный идентификатор файла
|
|
85
|
+
file_unique_id?: string; // Уникальный идентификатор файла вне зависимости от версии бота (опционально)
|
|
86
|
+
file_size?: number; // Размер файла (опционально)
|
|
87
|
+
file_path?: string; // Путь к файлу на серверах Telegram (опционально)
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export interface TG_ChatPermissions {
|
|
91
|
+
can_send_messages?: boolean; // Пользователь может отправлять сообщения
|
|
92
|
+
can_send_media_messages?: boolean; // Пользователь может отправлять сообщения с медиа-контентом (фото, видео, аудио, документы и т. д.)
|
|
93
|
+
can_send_polls?: boolean; // Пользователь может отправлять опросы
|
|
94
|
+
can_send_other_messages?: boolean; // Пользователь может отправлять другие типы сообщений (например, игровые, encypted и т. д.)
|
|
95
|
+
can_add_web_page_previews?: boolean; // Пользователь может добавлять предварительные просмотры веб-страниц в сообщения
|
|
96
|
+
can_change_info?: boolean; // Пользователь может менять информацию о группе/канале
|
|
97
|
+
can_invite_users?: boolean; // Пользователь может приглашать новых участников в группу/канал
|
|
98
|
+
can_pin_messages?: boolean; // Пользователь может закреплять сообщения
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/* Подробности ответа для команды getChat - информация о каналах и юзерах */
|
|
102
|
+
export interface TG_Chat {
|
|
103
|
+
id: number; // Уникальный идентификатор чата
|
|
104
|
+
type: TG_ChatType; // Тип чата (например, "private", "group", "supergroup", "channel")
|
|
105
|
+
title?: string; // Название чата (для групп, супергрупп и каналов)
|
|
106
|
+
username?: string; // Имя пользователя (только для частных чатов)
|
|
107
|
+
first_name?: string; // Имя пользователя (только для частных чатов)
|
|
108
|
+
last_name?: string; // Фамилия пользователя (только для частных чатов)
|
|
109
|
+
photo?: TG_ChatPhoto;
|
|
110
|
+
description?: string; // Описание чата (только для супергрупп и каналов)
|
|
111
|
+
invite_link?: string; // Ссылка приглашения в чат (только для супергрупп и каналов)
|
|
112
|
+
pinned_message?: TG_Message; // Закрепленное сообщение (если есть)
|
|
113
|
+
permissions?: TG_ChatPermissions; // Права пользователей в чате (только для супергрупп и каналов)
|
|
114
|
+
slow_mode_delay?: number; // Задержка медленного режима (только для супергрупп)
|
|
115
|
+
sticker_set_name?: string; // Название набора стикеров (если есть)
|
|
116
|
+
can_set_sticker_set?: boolean; // Возможность установки набора стикеров (только для супергрупп)
|
|
117
|
+
linked_chat_id?: number; // ID связанного чата для канала (если есть)
|
|
118
|
+
location?: TG_ChatLocation; // Геолокация (только для чатов, созданных на основе геолокации)
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
export interface TG_Location {
|
|
122
|
+
latitude: number; // Широта, заданная отправителем
|
|
123
|
+
longitude: number; // Долгота, заданная отправителем
|
|
124
|
+
horizontal_accuracy?: number; // Радиус неопределённости для местоположения (в метрах, от 0 до 1500)
|
|
125
|
+
live_period?: number; // Время, в течение которого местоположение может обновляться (в секундах)
|
|
126
|
+
heading?: number; // Направление движения пользователя (в градусах, от 1 до 360)
|
|
127
|
+
proximity_alert_radius?: number; // Максимальная дистанция для оповещений о приближении другого члена чата (в метрах)
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
export interface TG_MessageEntity {
|
|
131
|
+
type: TG_MessageEntityType; // Тип сущности сообщения
|
|
132
|
+
offset: number; // Смещение начала сущности в тексте сообщения
|
|
133
|
+
length: number; // Длина сущности
|
|
134
|
+
url?: string; // URL связанной сущности (если есть)
|
|
135
|
+
user?: TG_User; // Пользователь, связанный с сущностью (если есть)
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
export interface TG_PhotoSize {
|
|
139
|
+
file_id: string; // Уникальный идентификатор файла фотографии
|
|
140
|
+
width: number; // Ширина фотографии
|
|
141
|
+
height: number; // Высота фотографии
|
|
142
|
+
file_size?: number; // Размер файла фотографии (опционально)
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
export interface TG_Animation {
|
|
146
|
+
file_id: string; // Уникальный идентификатор файла анимации
|
|
147
|
+
width: number; // Ширина анимации
|
|
148
|
+
height: number; // Высота анимации
|
|
149
|
+
duration: number; // Продолжительность анимации в секундах
|
|
150
|
+
thumb?: TG_PhotoSize; // Превью анимации (если доступно)
|
|
151
|
+
file_name?: string; // Имя файла (если доступно)
|
|
152
|
+
mime_type?: string; // MIME-тип файла (если доступно)
|
|
153
|
+
file_size?: number; // Размер файла в байтах (если доступно)
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
export interface TG_Game {
|
|
157
|
+
title: string; // Название игры
|
|
158
|
+
description: string; // Описание игры
|
|
159
|
+
photo: TG_PhotoSize[]; // Фотографии игры
|
|
160
|
+
text?: string; // Текст игры
|
|
161
|
+
text_entities?: TG_MessageEntity[]; // Сущности текста игры
|
|
162
|
+
animation?: TG_Animation; // Анимация, связанная с игрой
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
export interface TG_Audio {
|
|
166
|
+
file_id: string; // Уникальный идентификатор файла аудио
|
|
167
|
+
duration: number; // Продолжительность аудио в секундах
|
|
168
|
+
performer?: string; // Исполнитель аудио (опционально)
|
|
169
|
+
title?: string; // Название аудио (опционально)
|
|
170
|
+
mime_type?: string; // MIME-тип файла (опционально)
|
|
171
|
+
file_size?: number; // Размер файла в байтах (опционально)
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
export interface TG_Document {
|
|
175
|
+
file_id: string; // Уникальный идентификатор файла документа
|
|
176
|
+
thumb?: TG_PhotoSize; // Превью документа (если доступно)
|
|
177
|
+
file_name?: string; // Имя файла (если доступно)
|
|
178
|
+
mime_type?: string; // MIME-тип файла (если доступно)
|
|
179
|
+
file_size?: number; // Размер файла в байтах (если доступно)
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
export interface TG_Sticker {
|
|
183
|
+
file_id: string; // Уникальный идентификатор файла стикера
|
|
184
|
+
width: number; // Ширина стикера
|
|
185
|
+
height: number; // Высота стикера
|
|
186
|
+
thumb?: TG_PhotoSize; // Превью стикера (если доступно)
|
|
187
|
+
emoji?: string; // Эмодзи, связанные со стикером (если доступно)
|
|
188
|
+
file_size?: number; // Размер файла в байтах (если доступно)
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
export interface TG_Video {
|
|
192
|
+
file_id: string; // Уникальный идентификатор файла видео
|
|
193
|
+
width: number; // Ширина видео
|
|
194
|
+
height: number; // Высота видео
|
|
195
|
+
duration: number; // Продолжительность видео в секундах
|
|
196
|
+
thumb?: TG_PhotoSize; // Превью видео (если доступно)
|
|
197
|
+
mime_type?: string; // MIME-тип файла (если доступно)
|
|
198
|
+
file_size?: number; // Размер файла в байтах (если доступно)
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
export interface TG_Voice {
|
|
202
|
+
file_id: string; // Уникальный идентификатор файла голосового сообщения
|
|
203
|
+
duration: number; // Продолжительность голосового сообщения в секундах
|
|
204
|
+
mime_type?: string; // MIME-тип файла (если доступно)
|
|
205
|
+
file_size?: number; // Размер файла в байтах (если доступно)
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
export interface TG_VideoNote {
|
|
209
|
+
file_id: string; // Уникальный идентификатор файла видеозаметки
|
|
210
|
+
length: number; // Длительность видеозаметки в секундах
|
|
211
|
+
duration: number; // Продолжительность видеозаметки в секундах
|
|
212
|
+
thumb?: TG_PhotoSize; // Превью видеозаметки (если доступно)
|
|
213
|
+
file_size?: number; // Размер файла в байтах (если доступно)
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
export interface TG_Contact {
|
|
217
|
+
phone_number: string; // Номер телефона контакта
|
|
218
|
+
first_name: string; // Имя контакта
|
|
219
|
+
last_name?: string; // Фамилия контакта (опционально)
|
|
220
|
+
user_id?: number; // Уникальный идентификатор пользователя контакта (опционально)
|
|
221
|
+
vcard?: string; // vCard контакта (опционально)
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
export interface TG_Venue {
|
|
225
|
+
location: TG_Location; // Местоположение места проведения
|
|
226
|
+
title: string; // Название места проведения
|
|
227
|
+
address: string; // Адрес места проведения
|
|
228
|
+
foursquare_id?: string; // Уникальный идентификатор места проведения в Foursquare (опционально)
|
|
229
|
+
foursquare_type?: string; // Тип места проведения в Foursquare (опционально)
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
export interface TG_PollOption {
|
|
233
|
+
text: string; // Текст варианта ответа на опрос
|
|
234
|
+
voter_count: number; // Количество пользователей, выбравших этот вариант ответа
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
export interface TG_Poll {
|
|
238
|
+
id: string; // Уникальный идентификатор опроса
|
|
239
|
+
question: string; // Вопрос опроса
|
|
240
|
+
options: TG_PollOption[]; // Варианты ответов на опрос
|
|
241
|
+
is_closed: boolean; // Флаг, указывающий, закрыт ли опрос
|
|
242
|
+
is_anonymous: boolean; // Флаг, указывающий, анонимный ли опрос
|
|
243
|
+
type?: TG_PollType; // Тип опроса (опционально)
|
|
244
|
+
allows_multiple_answers?: boolean; // Разрешено ли выбирать несколько вариантов ответов (опционально)
|
|
245
|
+
correct_option_id?: number; // Идентификатор правильного варианта ответа (опционально)
|
|
246
|
+
explanation?: string; // Пояснение к правильному варианту ответа (опционально)
|
|
247
|
+
explanation_entities?: TG_MessageEntity[]; // Сущности текста пояснения (опционально)
|
|
248
|
+
open_period?: number; // Время (в секундах), в течение которого опрос будет активен (опционально)
|
|
249
|
+
close_date?: number; // Таймстэмп закрытия опроса (опционально)
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
export interface TG_PollAnswer {
|
|
253
|
+
poll_id: string; // Уникальный идентификатор опроса
|
|
254
|
+
user: TG_User; // Пользователь, который ответил на опрос
|
|
255
|
+
option_ids: number[]; // Идентификаторы выбранных пользователем вариантов ответа
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
export interface TG_Dice {
|
|
259
|
+
emoji: TG_DiceEmoji; // Эмодзи, связанное с кубиком
|
|
260
|
+
value: number; // Значение кубика (1-6 для "🎲", 1-5 для "🎯")
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
export interface TG_Invoice {
|
|
264
|
+
title: string; // Название товара
|
|
265
|
+
description: string; // Описание товара
|
|
266
|
+
start_parameter: string; // Уникальный параметр начала платежа
|
|
267
|
+
currency: string; // Валюта счета (например, "USD", "RUB", "EUR", и т. д.)
|
|
268
|
+
total_amount: number; // Общая сумма платежа в копейках
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
// Тип MessageOriginUser
|
|
272
|
+
export interface TG_MessageOriginUser {
|
|
273
|
+
type: 'user'; // Тип источника сообщения, всегда "user"
|
|
274
|
+
date: number; // Дата отправки сообщения изначально в формате Unix time
|
|
275
|
+
sender_user: TG_User; // Пользователь, который отправил сообщение изначально
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
// Тип MessageOriginHiddenUser
|
|
279
|
+
export interface TG_MessageOriginHiddenUser {
|
|
280
|
+
type: 'hidden_user'; // Тип источника сообщения, всегда "hidden_user"
|
|
281
|
+
date: number; // Дата отправки сообщения изначально в формате Unix time
|
|
282
|
+
sender_user_name: string; // Имя пользователя, который отправил сообщение изначально
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
// Тип MessageOriginChat
|
|
286
|
+
export interface TG_MessageOriginChat {
|
|
287
|
+
type: 'chat'; // Тип источника сообщения, всегда "chat"
|
|
288
|
+
date: number; // Дата отправки сообщения изначально в формате Unix time
|
|
289
|
+
sender_chat: TG_Chat; // Чат, который отправил сообщение изначально
|
|
290
|
+
author_signature?: string; // Для сообщений, отправленных изначально анонимным администратором чата, подпись оригинального автора сообщения
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
// Тип MessageOriginChannel
|
|
294
|
+
export interface TG_MessageOriginChannel {
|
|
295
|
+
type: 'channel'; // Тип источника сообщения, всегда "channel"
|
|
296
|
+
date: number; // Дата отправки сообщения изначально в формате Unix time
|
|
297
|
+
chat: TG_Chat; // Чат канала, в который изначально было отправлено сообщение
|
|
298
|
+
message_id: number; // Уникальный идентификатор сообщения внутри чата
|
|
299
|
+
author_signature?: string; // Подпись оригинального автора сообщения
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
export interface TG_Story {
|
|
303
|
+
chat: TG_Chat; // Чат, который опубликовал историю
|
|
304
|
+
id: number; // Уникальный идентификатор истории в чате
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
export interface TG_Giveaway {
|
|
308
|
+
chats: TG_Chat[]; // Список чатов, которым пользователь должен присоединиться для участия в розыгрыше
|
|
309
|
+
winners_selection_date: number; // Момент времени (в формате Unix timestamp), когда будут выбраны победители розыгрыша
|
|
310
|
+
winner_count: number; // Количество пользователей, которые должны быть выбраны победителями розыгрыша
|
|
311
|
+
only_new_members?: boolean; // true, если только пользователи, которые присоединились к чатам после начала розыгрыша, могут быть признаны победителями
|
|
312
|
+
has_public_winners?: boolean; // true, если список победителей розыгрыша будет виден всем
|
|
313
|
+
prize_description?: string; // Описание дополнительного приза розыгрыша
|
|
314
|
+
country_codes?: string[]; // Список двухбуквенных кодов стран ISO 3166-1 alpha-2, указывающих страны, из которых должны происходить участники розыгрыша
|
|
315
|
+
premium_subscription_month_count?: number; // Количество месяцев, на которое будет активна подписка Telegram Premium, выигранная в розыгрыше
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
export interface TG_GiveawayWinners {
|
|
319
|
+
chat: TG_Chat; // Чат, который создал розыгрыш
|
|
320
|
+
giveaway_message_id: number; // Идентификатор сообщения с розыгрышем в чате
|
|
321
|
+
winners_selection_date: number; // Момент времени (в формате Unix timestamp), когда были выбраны победители розыгрыша
|
|
322
|
+
winner_count: number; // Общее количество победителей в розыгрыше
|
|
323
|
+
winners: TG_User[]; // Список до 100 победителей розыгрыша
|
|
324
|
+
additional_chat_count?: number; // Количество других чатов, в которые пользователь должен был присоединиться, чтобы быть признанным участником розыгрыша
|
|
325
|
+
premium_subscription_month_count?: number; // Количество месяцев, на которое будет активна подписка Telegram Premium, выигранная в розыгрыше
|
|
326
|
+
unclaimed_prize_count?: number; // Количество нераспределенных призов
|
|
327
|
+
only_new_members?: boolean; // true, если только пользователи, присоединившиеся к чатам после начала розыгрыша, были признаны победителями
|
|
328
|
+
was_refunded?: boolean; // true, если розыгрыш был отменен из-за возврата платежа за него
|
|
329
|
+
prize_description?: string; // Описание дополнительного приза розыгрыша
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
export interface TG_GiveawayCompleted {
|
|
333
|
+
winner_count: number; // Количество победителей в розыгрыше
|
|
334
|
+
unclaimed_prize_count?: number; // Количество нераспределенных призов
|
|
335
|
+
giveaway_message?: TG_Message; // Сообщение с розыгрышем, который завершился, если его не удалили
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
export interface TG_ExternalReplyInfo {
|
|
339
|
+
origin: TG_MessageOrigin; // Происхождение ответного сообщения
|
|
340
|
+
chat?: TG_Chat; // Чат, к которому относится исходное сообщение. Доступно только если чат является супергруппой или каналом.
|
|
341
|
+
message_id?: number; // Уникальный идентификатор сообщения внутри исходного чата. Доступно только если исходный чат является супергруппой или каналом.
|
|
342
|
+
link_preview_options?: TG_LinkPreviewOptions; // Опции, используемые для предварительного просмотра ссылки для исходного сообщения, если оно является текстовым сообщением
|
|
343
|
+
animation?: TG_Animation; // Анимация в ответе на сообщение, информация об анимации
|
|
344
|
+
audio?: TG_Audio; // Аудиофайл в ответе на сообщение, информация о файле
|
|
345
|
+
document?: Document; // Общий файл в ответе на сообщение, информация о файле
|
|
346
|
+
photo?: TG_PhotoSize[]; // Фотография в ответе на сообщение, доступные размеры фотографии
|
|
347
|
+
sticker?: TG_Sticker; // Стикер в ответе на сообщение, информация о стикере
|
|
348
|
+
story?: TG_Story; // Пересылаемая история в ответе на сообщение
|
|
349
|
+
video?: TG_Video; // Видео в ответе на сообщение, информация о видео
|
|
350
|
+
video_note?: TG_VideoNote; // Видеосообщение в ответе на сообщение, информация о видеосообщении
|
|
351
|
+
voice?: TG_Voice; // Голосовое сообщение в ответе на сообщение, информация о файле
|
|
352
|
+
has_media_spoiler?: boolean; // True, если медиаконтент сообщения скрыт анимацией спойлера
|
|
353
|
+
contact?: TG_Contact; // Общая контактная информация в ответе на сообщение, информация о контакте
|
|
354
|
+
dice?: TG_Dice; // Кубик в ответе на сообщение с случайным значением
|
|
355
|
+
game?: TG_Game; // Игра в ответе на сообщение, информация об игре
|
|
356
|
+
giveaway?: TG_Giveaway; // Запланированный розыгрыш в ответе на сообщение, информация о розыгрыше
|
|
357
|
+
giveaway_winners?: TG_GiveawayWinners; // Розыгрыш с публичными победителями завершен
|
|
358
|
+
invoice?: TG_Invoice; // Счет на оплату в ответе на сообщение, информация о счете
|
|
359
|
+
location?: TG_Location; // Общее местоположение в ответе на сообщение, информация о местоположении
|
|
360
|
+
poll?: TG_Poll; // Опрос в ответе на сообщение, информация о опросе
|
|
361
|
+
venue?: TG_Venue; // Место в ответе на сообщение, информация о месте
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
export interface TG_TextQuote {
|
|
365
|
+
text: string; // Текст цитируемой части сообщения, на которое отвечает данный сообщение
|
|
366
|
+
entities?: TG_MessageEntity[]; // Специальные сущности, которые присутствуют в цитате. В настоящее время в цитатах сохраняются только жирный, курсив, подчеркивание, зачеркивание, спойлер и пользовательские смайлы.
|
|
367
|
+
position: number; // Приблизительная позиция цитаты в исходном сообщении в кодовых единицах UTF-16, указанных отправителем
|
|
368
|
+
is_manual?: boolean; // true, если цитата была выбрана вручную отправителем сообщения. В противном случае цитата была добавлена автоматически сервером.
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
// Общий тип для всех источников сообщений
|
|
372
|
+
type TG_MessageOrigin =
|
|
373
|
+
| TG_MessageOriginUser
|
|
374
|
+
| TG_MessageOriginHiddenUser
|
|
375
|
+
| TG_MessageOriginChat
|
|
376
|
+
| TG_MessageOriginChannel;
|
|
377
|
+
|
|
378
|
+
// Этот тип описывает сообщение, которое было удалено или иным образом недоступно боту.
|
|
379
|
+
export interface TG_InaccessibleMessage {
|
|
380
|
+
chat: TG_Chat; // Чат, к которому принадлежало сообщение
|
|
381
|
+
message_id: number; // Уникальный идентификатор сообщения внутри чата
|
|
382
|
+
date: 0; // Всегда 0. Поле можно использовать для различения обычных и недоступных сообщений.
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
// Этот тип описывает сообщение, к которому бот может не иметь доступа.
|
|
386
|
+
// Это может быть один из следующих вариантов:
|
|
387
|
+
type TG_MaybeInaccessibleMessage = TG_Message | TG_InaccessibleMessage;
|
|
388
|
+
|
|
389
|
+
// Этот объект содержит основную информацию о успешной оплате.
|
|
390
|
+
export interface TG_SuccessfulPayment {
|
|
391
|
+
currency: string; // Трехбуквенный код валюты ISO 4217
|
|
392
|
+
total_amount: number; // Общая сумма в наименьших единицах валюты (целое число, не float/double). Например, для цены 1,45 доллара США передается amount = 145. Смотрите параметр exp в currencies.json, он показывает количество цифр после десятичной точки для каждой валюты (2 для большинства валют).
|
|
393
|
+
invoice_payload: string; // Полезная нагрузка счета, указанная ботом
|
|
394
|
+
shipping_option_id?: string; // Идентификатор выбранного пользователем варианта доставки (необязательно)
|
|
395
|
+
order_info?: TG_OrderInfo; // Информация о заказе, предоставленная пользователем (необязательно)
|
|
396
|
+
telegram_payment_charge_id: string; // Идентификатор оплаты Telegram
|
|
397
|
+
provider_payment_charge_id: string; // Идентификатор оплаты провайдера
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
// Этот объект содержит информацию о пользователе, который был передан боту с помощью кнопки KeyboardButtonRequestUser.
|
|
401
|
+
export interface TG_SharedUser {
|
|
402
|
+
user_id: number; // Идентификатор переданного пользователя
|
|
403
|
+
first_name?: string; // Имя пользователя, если его запрашивал бот (необязательно)
|
|
404
|
+
last_name?: string; // Фамилия пользователя, если его запрашивал бот (необязательно)
|
|
405
|
+
username?: string; // Имя пользователя, если его запрашивал бот (необязательно)
|
|
406
|
+
photo?: TG_PhotoSize[]; // Доступные размеры фотографии чата, если фотография была запрошена ботом (необязательно)
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
// Этот объект содержит информацию о пользователях, чьи идентификаторы были переданы боту с помощью кнопки KeyboardButtonRequestUsers.
|
|
410
|
+
export interface TG_UsersShared {
|
|
411
|
+
request_id: number; // Идентификатор запроса
|
|
412
|
+
users: TG_SharedUser[]; // Информация о пользователях, переданных боту
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
// Этот объект содержит информацию о чате, который был передан боту с помощью кнопки KeyboardButtonRequestChat.
|
|
416
|
+
export interface TG_ChatShared {
|
|
417
|
+
request_id: number; // Идентификатор запроса
|
|
418
|
+
chat_id: number; // Идентификатор переданного чата
|
|
419
|
+
title?: string; // Название чата, если название было запрошено ботом (необязательно)
|
|
420
|
+
username?: string; // Имя пользователя чата, если оно было запрошено ботом и доступно (необязательно)
|
|
421
|
+
photo?: TG_PhotoSize[]; // Доступные размеры фотографии чата, если фотография была запрошена ботом (необязательно)
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
// Этот объект представляет собой сервисное сообщение о пользователе, разрешившем боту отправлять сообщения после добавления его в меню вложений, запуска веб-приложения по ссылке или принятия явного запроса от веб-приложения, отправленного методом requestWriteAccess.
|
|
425
|
+
export interface TG_WriteAccessAllowed {
|
|
426
|
+
from_request?: boolean; // true, если доступ был предоставлен после того, как пользователь принял явный запрос от веб-приложения, отправленного методом requestWriteAccess (необязательно)
|
|
427
|
+
web_app_name?: string; // Название веб-приложения, если доступ был предоставлен при запуске веб-приложения по ссылке (необязательно)
|
|
428
|
+
from_attachment_menu?: boolean; // true, если доступ был предоставлен, когда бот был добавлен в меню вложений или боковое меню (необязательно)
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
// Описывает данные Telegram Passport, которые были переданы пользователем боту.
|
|
432
|
+
export interface TG_PassportData {
|
|
433
|
+
data: TG_EncryptedPassportElement[]; // Массив с информацией о документах и других элементах Telegram Passport, которые были переданы боту
|
|
434
|
+
credentials: TG_EncryptedCredentials; // Зашифрованные учетные данные, необходимые для расшифровки данных
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
// Представляет файл, загруженный в Telegram Passport. В настоящее время все файлы Telegram Passport в формате JPEG после расшифровки и не превышают 10 МБ.
|
|
438
|
+
export interface TG_PassportFile {
|
|
439
|
+
file_id: string; // Идентификатор этого файла, который можно использовать для загрузки или повторного использования файла
|
|
440
|
+
file_unique_id: string; // Уникальный идентификатор этого файла, который должен оставаться постоянным во времени и для разных ботов. Не может быть использован для загрузки или повторного использования файла.
|
|
441
|
+
file_size: number; // Размер файла в байтах
|
|
442
|
+
file_date: number; // Время в формате Unix, когда файл был загружен
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
// Описывает документы или другие элементы Telegram Passport, переданные пользователем боту.
|
|
446
|
+
export interface TG_EncryptedPassportElement {
|
|
447
|
+
type: TG_EncryptedPassportElementType; // Тип элемента. Один из “personal_details”, “passport”, “driver_license”, “identity_card”, “internal_passport”, “address”, “utility_bill”, “bank_statement”, “rental_agreement”, “passport_registration”, “temporary_registration”, “phone_number”, “email”.
|
|
448
|
+
data?: string; // Закодированные в Base64 зашифрованные данные элемента Telegram Passport, предоставленные пользователем; доступны только для типов “personal_details”, “passport”, “driver_license”, “identity_card”, “internal_passport” и “address”.
|
|
449
|
+
phone_number?: string; // Верифицированный номер телефона пользователя; доступен только для типа “phone_number”
|
|
450
|
+
email?: string; // Верифицированный адрес электронной почты пользователя; доступен только для типа “email”
|
|
451
|
+
files?: TG_PassportFile[]; // Массив зашифрованных файлов с документами, предоставленными пользователем; доступен только для типов “utility_bill”, “bank_statement”, “rental_agreement”, “passport_registration” и “temporary_registration”.
|
|
452
|
+
front_side?: TG_PassportFile; // Зашифрованный файл с передней стороной документа, предоставленного пользователем; доступен только для типов “passport”, “driver_license”, “identity_card” и “internal_passport”.
|
|
453
|
+
reverse_side?: TG_PassportFile; // Зашифрованный файл с обратной стороной документа, предоставленного пользователем; доступен только для типов “driver_license” и “identity_card”.
|
|
454
|
+
selfie?: TG_PassportFile; // Зашифрованный файл с селфи пользователя, держащего документ, предоставленный пользователем; доступен при запросе для типов “passport”, “driver_license”, “identity_card” и “internal_passport”.
|
|
455
|
+
translation?: TG_PassportFile[]; // Массив зашифрованных файлов с переведенными версиями документов, предоставленных пользователем; доступен при запросе для типов “passport”, “driver_license”, “identity_card”, “internal_passport”, “utility_bill”, “bank_statement”, “rental_agreement”, “passport_registration” и “temporary_registration”.
|
|
456
|
+
hash: string; // Хэш элемента для использования в PassportElementErrorUnspecified
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
// Этот объект представляет содержимое служебного сообщения, отправленного всякий раз, когда пользователь в чате вызывает срабатывание оповещения о близости, установленного другим пользователем.
|
|
460
|
+
export interface TG_ProximityAlertTriggered {
|
|
461
|
+
traveler: TG_User; // Пользователь, вызвавший оповещение
|
|
462
|
+
watcher: TG_User; // Пользователь, установивший оповещение
|
|
463
|
+
distance: number; // Расстояние между пользователями
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
// Этот объект представляет служебное сообщение об изменении настроек автоматического удаления сообщений.
|
|
467
|
+
export interface TG_MessageAutoDeleteTimerChanged {
|
|
468
|
+
message_auto_delete_time: number; // Новое время автоматического удаления сообщений в чате; в секундах
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
// Этот объект представляет служебное сообщение о том, что пользователь усилил чат.
|
|
472
|
+
export interface TG_ChatBoostAdded {
|
|
473
|
+
boost_count: number; // Количество усилений, добавленных пользователем
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
// Этот объект представляет служебное сообщение о создании новой темы форума в чате.
|
|
477
|
+
export interface TG_ForumTopicCreated {
|
|
478
|
+
name: string; // Название темы
|
|
479
|
+
icon_color: number; // Цвет иконки темы в формате RGB
|
|
480
|
+
icon_custom_emoji_id?: string; // Уникальный идентификатор пользовательского смайлика, показываемого как иконка темы
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
// Этот объект представляет служебное сообщение о закрытии форумной темы в чате. В настоящее время не содержит информации.
|
|
484
|
+
export interface TG_ForumTopicClosed {}
|
|
485
|
+
|
|
486
|
+
// Этот объект представляет служебное сообщение об отредактированной форумной теме.
|
|
487
|
+
export interface TG_ForumTopicEdited {
|
|
488
|
+
name?: string; // Новое название темы, если оно было отредактировано
|
|
489
|
+
icon_custom_emoji_id?: string; // Новый идентификатор пользовательского смайлика, показываемого как иконка темы, если он был отредактирован; пустая строка, если иконка была удалена
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
// Этот объект представляет служебное сообщение о повторном открытии форумной темы в чате. В настоящее время не содержит информации.
|
|
493
|
+
export interface TG_ForumTopicReopened {}
|
|
494
|
+
|
|
495
|
+
// Этот объект представляет служебное сообщение о скрытии форумной темы "Общее" в чате. В настоящее время не содержит информации.
|
|
496
|
+
export interface TG_GeneralForumTopicHidden {}
|
|
497
|
+
|
|
498
|
+
// Этот объект представляет служебное сообщение об открытии форумной темы "Общее" в чате. В настоящее время не содержит информации.
|
|
499
|
+
export interface TG_GeneralForumTopicUnhidden {}
|
|
500
|
+
|
|
501
|
+
// Описывает зашифрованные учетные данные, необходимые для дешифровки и аутентификации EncryptedPassportElement. См. Документацию Telegram Passport для полного описания процессов дешифровки и аутентификации данных.
|
|
502
|
+
export interface TG_EncryptedCredentials {
|
|
503
|
+
data: string; // Зашифрованные в Base64 JSON-сериализованные данные с уникальной полезной нагрузкой пользователя, хэшами данных и секретами, необходимыми для дешифровки и аутентификации EncryptedPassportElement
|
|
504
|
+
hash: string; // Хэш данных в кодировке Base64 для аутентификации данных
|
|
505
|
+
secret: string; // Секрет в кодировке Base64, зашифрованный с использованием открытого ключа RSA бота, необходимый для дешифровки данных
|
|
506
|
+
}
|
|
507
|
+
|
|
508
|
+
// Этот объект представляет служебное сообщение о создании запланированного розыгрыша призов. В настоящее время не содержит информации.
|
|
509
|
+
export interface TG_GiveawayCreated {}
|
|
510
|
+
|
|
511
|
+
// Этот объект представляет служебное сообщение о запланированном видеочате в чате.
|
|
512
|
+
export interface TG_VideoChatScheduled {
|
|
513
|
+
start_date: number; // Момент времени (в формате Unix timestamp), когда видеочат должен быть запущен администратором чата
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
// Этот объект представляет служебное сообщение о начале видеочата в чате. В настоящее время не содержит информации.
|
|
517
|
+
export interface TG_VideoChatStarted {}
|
|
518
|
+
|
|
519
|
+
// Этот объект представляет служебное сообщение о завершении видеочата в чате.
|
|
520
|
+
export interface TG_VideoChatEnded {
|
|
521
|
+
duration: number; // Длительность видеочата в секундах
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
// Этот объект представляет служебное сообщение о новых участниках, приглашенных на видеочат.
|
|
525
|
+
export interface TG_VideoChatParticipantsInvited {
|
|
526
|
+
users: TG_User[]; // Новые участники, которые были приглашены на видеочат
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
// Этот объект описывает данные, отправленные из веб-приложения боту.
|
|
530
|
+
export interface TG_WebAppData {
|
|
531
|
+
data: string; // Данные. Обратите внимание, что плохой клиент может отправлять произвольные данные в этом поле.
|
|
532
|
+
button_text?: string; // Текст кнопки веб-приложения, из которой было открыто веб-приложение. Обратите внимание, что плохой клиент может отправлять произвольные данные в этом поле.
|
|
533
|
+
}
|
|
534
|
+
|
|
535
|
+
export interface TG_Message {
|
|
536
|
+
message_id: number; // Уникальный идентификатор сообщения внутри этого чата
|
|
537
|
+
message_thread_id?: number; // Уникальный идентификатор темы сообщения, к которой принадлежит сообщение; только для супергрупп
|
|
538
|
+
from?: TG_User; // Отправитель сообщения; пусто для сообщений, отправленных в каналы
|
|
539
|
+
sender_chat?: TG_Chat; // Отправитель сообщения, отправленный от имени чата. Например, сам канал для сообщений из канала, сама супергруппа для сообщений от анонимных администраторов группы, связанный канал для сообщений, автоматически пересылаемых в группу обсуждения
|
|
540
|
+
sender_boost_count?: number; // Если отправитель сообщения усилил чат, количество усилений, добавленных пользователем
|
|
541
|
+
sender_business_bot?: TG_User; // Бот, который фактически отправил сообщение от имени бизнес-аккаунта. Доступно только для исходящих сообщений, отправленных от имени связанного бизнес-аккаунта.
|
|
542
|
+
date: number; // Дата отправки сообщения в формате Unix time. Всегда положительное число, представляющее действительную дату.
|
|
543
|
+
business_connection_id?: string; // Уникальный идентификатор бизнес-соединения, из которого было получено сообщение. Если он не пуст, сообщение принадлежит чату соответствующего бизнес-аккаунта, который независим от любого потенциального чата бота, который может иметь тот же идентификатор.
|
|
544
|
+
chat: TG_Chat; // Чат, к которому принадлежит сообщение
|
|
545
|
+
forward_origin?: TG_MessageOrigin; // Информация об оригинальном сообщении для пересланных сообщений
|
|
546
|
+
is_topic_message?: boolean; // true, если сообщение отправлено в тему форума
|
|
547
|
+
is_automatic_forward?: boolean; // true, если сообщение - это сообщение канала, которое было автоматически переслано в связанную группу обсуждения
|
|
548
|
+
reply_to_message?: TG_Message; // Для ответов в том же чате и теме сообщения - исходное сообщение
|
|
549
|
+
external_reply?: TG_ExternalReplyInfo; // Информация о сообщении, на которое отвечается, которая может прийти из другого чата или темы форума
|
|
550
|
+
quote?: TG_TextQuote; // Для ответов, которые цитируют часть исходного сообщения, процитированная часть сообщения
|
|
551
|
+
reply_to_story?: TG_Story; // Для ответов на историю, исходная история
|
|
552
|
+
via_bot?: TG_User; // Бот, через который было отправлено сообщение
|
|
553
|
+
edit_date?: number; // Дата последнего редактирования сообщения в формате Unix time
|
|
554
|
+
has_protected_content?: boolean; // true, если сообщение не может быть переслано
|
|
555
|
+
is_from_offline?: boolean; // true, если сообщение было отправлено неявным действием, например, как отсутствующее или приветственное бизнес-сообщение или как запланированное сообщение
|
|
556
|
+
media_group_id?: string; // Уникальный идентификатор группы медиа-сообщений, к которой принадлежит это сообщение
|
|
557
|
+
author_signature?: string; // Подпись автора сообщения для сообщений в каналах или пользовательский заголовок анонимного администратора группы
|
|
558
|
+
text?: string; // Для текстовых сообщений - фактический текст сообщения в кодировке UTF-8
|
|
559
|
+
entities?: TG_MessageEntity[]; // Для текстовых сообщений - специальные сущности, такие как имена пользователей, URL, команды ботов и т. д., которые появляются в тексте
|
|
560
|
+
link_preview_options?: TG_LinkPreviewOptions; // Опции, используемые для генерации предпросмотра ссылок для сообщения, если оно является текстовым сообщением и опции предпросмотра ссылок были изменены
|
|
561
|
+
animation?: TG_Animation; // Сообщение - это анимация, информация о анимации. Для совместимости, когда это поле установлено, также будет установлено поле документа
|
|
562
|
+
audio?: TG_Audio; // Сообщение - это аудиофайл, информация о файле
|
|
563
|
+
document?: TG_Document; // Сообщение - это общий файл, информация о файле
|
|
564
|
+
photo?: TG_PhotoSize[]; // Сообщение - это фотография, доступные размеры фотографии
|
|
565
|
+
sticker?: TG_Sticker; // Сообщение - это стикер, информация о стикере
|
|
566
|
+
story?: TG_Story; // Сообщение - это пересланная история
|
|
567
|
+
video?: TG_Video; // Сообщение - это видео, информация о видео
|
|
568
|
+
video_note?: TG_VideoNote; // Сообщение - это видео-заметка, информация о видео-сообщении
|
|
569
|
+
voice?: TG_Voice; // Сообщение - это голосовое сообщение, информация о файле
|
|
570
|
+
caption?: string; // Подпись к анимации, аудио, документу, фото, видео или голосу
|
|
571
|
+
caption_entities?: TG_MessageEntity[]; // Для сообщений с подписью - специальные сущности, такие как имена пользователей, URL, команды ботов и т. д., которые появляются в подписи
|
|
572
|
+
has_media_spoiler?: boolean; // true, если медиа-сообщение покрыто анимацией-спойлером
|
|
573
|
+
contact?: TG_Contact; // Сообщение - это общий контакт, информация о контакте
|
|
574
|
+
dice?: TG_Dice; // Сообщение - это кубик с случайным значением
|
|
575
|
+
game?: TG_Game; // Сообщение - это игра, информация о игре
|
|
576
|
+
poll?: TG_Poll; // Сообщение - это опрос, информация о опросе
|
|
577
|
+
venue?: TG_Venue; // Сообщение - это место, информация о месте
|
|
578
|
+
location?: TG_Location; // Сообщение - это общее местоположение, информация о местоположении
|
|
579
|
+
new_chat_members?: TG_User[]; // Новые участники, добавленные в группу или супергруппу, и информация о них (бот сам может быть одним из этих участников)
|
|
580
|
+
left_chat_member?: TG_User; // Участник был удален из группы, информация о нем (этот участник может быть самим ботом)
|
|
581
|
+
new_chat_title?: string; // Заголовок чата был изменен на это значение
|
|
582
|
+
new_chat_photo?: TG_PhotoSize[]; // Фото чата было изменено на это значение
|
|
583
|
+
delete_chat_photo?: boolean; // Сервисное сообщение: фото чата было удалено
|
|
584
|
+
group_chat_created?: boolean; // Сервисное сообщение: группа создана
|
|
585
|
+
supergroup_chat_created?: boolean; // Сервисное сообщение: супергруппа создана
|
|
586
|
+
channel_chat_created?: boolean; // Сервисное сообщение: канал создан
|
|
587
|
+
message_auto_delete_timer_changed?: TG_MessageAutoDeleteTimerChanged; // Сервисное сообщение: настройки автоудаления сообщений изменились в чате
|
|
588
|
+
migrate_to_chat_id?: number; // Группа была перенесена в супергруппу с указанным идентификатором
|
|
589
|
+
migrate_from_chat_id?: number; // Супергруппа была перенесена из группы с указанным идентификатором
|
|
590
|
+
pinned_message?: TG_MaybeInaccessibleMessage; // Указанное сообщение закреплено. Обратите внимание, что объект Message в этом поле не будет содержать дополнительных полей reply_to_message, даже если само является ответом.
|
|
591
|
+
invoice?: TG_Invoice; // Сообщение - это счет на оплату, информация о счете
|
|
592
|
+
successful_payment?: TG_SuccessfulPayment; // Сообщение - это сервисное сообщение об успешной оплате, информация об оплате
|
|
593
|
+
users_shared?: TG_UsersShared; // Сервисное сообщение: пользователи были переданы боту
|
|
594
|
+
chat_shared?: TG_ChatShared; // Сервисное сообщение: чат был передан боту
|
|
595
|
+
connected_website?: string; // Доменное имя веб-сайта, на котором пользователь вошел в систему. Подробнее о входе в систему Telegram
|
|
596
|
+
write_access_allowed?: TG_WriteAccessAllowed; // Сервисное сообщение: пользователь разрешил боту отправлять сообщения после добавления его в приложение или боковое меню, запуская веб-приложение по ссылке или принимая явный запрос из веб-приложения, отправленный методом requestWriteAccess
|
|
597
|
+
passport_data?: TG_PassportData; // Данные Telegram Passport
|
|
598
|
+
proximity_alert_triggered?: TG_ProximityAlertTriggered; // Сервисное сообщение. Пользователь в чате вызвал предупреждение о приближении другого пользователя, пока делился местоположением в реальном времени.
|
|
599
|
+
boost_added?: TG_ChatBoostAdded; // Сервисное сообщение: пользователь усилил чат
|
|
600
|
+
forum_topic_created?: TG_ForumTopicCreated; // Сервисное сообщение: создана тема форума
|
|
601
|
+
forum_topic_edited?: TG_ForumTopicEdited; // Сервисное сообщение: тема форума изменена
|
|
602
|
+
forum_topic_closed?: TG_ForumTopicClosed; // Сервисное сообщение: тема форума закрыта
|
|
603
|
+
forum_topic_reopened?: TG_ForumTopicReopened; // Сервисное сообщение: тема форума снова открыта
|
|
604
|
+
general_forum_topic_hidden?: TG_GeneralForumTopicHidden; // Сервисное сообщение: тема форума "Общее" скрыта
|
|
605
|
+
general_forum_topic_unhidden?: TG_GeneralForumTopicUnhidden; // Сервисное сообщение: тема форума "Общее" снова открыта
|
|
606
|
+
giveaway_created?: TG_GiveawayCreated; // Сервисное сообщение: создана запланированная розыгрыш
|
|
607
|
+
giveaway?: TG_Giveaway; // Сообщение - это сообщение запланированного розыгрыша
|
|
608
|
+
giveaway_winners?: TG_GiveawayWinners; // Завершен розыгрыш с публичными победителями
|
|
609
|
+
giveaway_completed?: TG_GiveawayCompleted; // Сервисное сообщение: розыгрыш без публичных победителей завершен
|
|
610
|
+
video_chat_scheduled?: TG_VideoChatScheduled; // Сервисное сообщение: запланирован видеочат
|
|
611
|
+
video_chat_started?: TG_VideoChatStarted; // Сервисное сообщение: видеочат начат
|
|
612
|
+
video_chat_ended?: TG_VideoChatEnded; // Сервисное сообщение: видеочат завершен
|
|
613
|
+
video_chat_participants_invited?: TG_VideoChatParticipantsInvited; // Сервисное сообщение: новые участники приглашены на видеочат
|
|
614
|
+
web_app_data?: TG_WebAppData; // Сервисное сообщение: данные, отправленные веб-приложением
|
|
615
|
+
reply_markup?: TG_InlineKeyboardMarkup; // Встроенная клавиатура, прикрепленная к сообщению. Кнопки login_url представлены как обычные url-кнопки.
|
|
616
|
+
}
|
|
617
|
+
|
|
618
|
+
export interface TG_InlineQuery {
|
|
619
|
+
id: string; // Уникальный идентификатор встроенного запроса
|
|
620
|
+
from: TG_User; // Отправитель запроса
|
|
621
|
+
query: string; // Текст запроса
|
|
622
|
+
offset: string; // Смещение результатов
|
|
623
|
+
location?: TG_Location; // Местоположение отправителя (опционально)
|
|
624
|
+
}
|
|
625
|
+
|
|
626
|
+
export interface TG_ChosenInlineResult {
|
|
627
|
+
result_id: string; // Уникальный идентификатор выбранного результата
|
|
628
|
+
from: TG_User; // Пользователь, который выбрал результат
|
|
629
|
+
query: string; // Текст запроса
|
|
630
|
+
inline_message_id?: string; // Идентификатор встроенного сообщения (опционально)
|
|
631
|
+
location?: TG_Location; // Местоположение отправителя (опционально)
|
|
632
|
+
inline_message_text?: string; // Текст встроенного сообщения (опционально)
|
|
633
|
+
}
|
|
634
|
+
|
|
635
|
+
export interface TG_CallbackQuery {
|
|
636
|
+
id: string; // Уникальный идентификатор callback-запроса
|
|
637
|
+
from: TG_User; // Отправитель запроса
|
|
638
|
+
message?: TG_Message; // Сообщение, связанное с callback-запросом
|
|
639
|
+
inline_message_id?: string; // Идентификатор встроенного сообщения (если запрос отправлен из встроенного сообщения)
|
|
640
|
+
chat_instance: string; // Уникальный идентификатор чата, к которому относится callback-запрос
|
|
641
|
+
data?: string; // Данные, связанные с callback-запросом (если есть)
|
|
642
|
+
game_short_name?: string; // Краткое название игры, связанной с callback-запросом (если есть)
|
|
643
|
+
}
|
|
644
|
+
|
|
645
|
+
export interface TG_ShippingAddress {
|
|
646
|
+
country_code: string; // Код страны (ISO 3166-1 alpha-2)
|
|
647
|
+
state: string; // Полное название региона/штата
|
|
648
|
+
city: string; // Город
|
|
649
|
+
street_line1: string; // Первая строка адреса
|
|
650
|
+
street_line2: string; // Вторая строка адреса
|
|
651
|
+
post_code: string; // Почтовый индекс
|
|
652
|
+
}
|
|
653
|
+
|
|
654
|
+
export interface TG_ShippingQuery {
|
|
655
|
+
id: string; // Уникальный идентификатор запроса на доставку
|
|
656
|
+
from: TG_User; // Отправитель запроса
|
|
657
|
+
invoice_payload: string; // Полезная нагрузка счета
|
|
658
|
+
shipping_address: TG_ShippingAddress; // Адрес доставки
|
|
659
|
+
}
|
|
660
|
+
|
|
661
|
+
export interface TG_OrderInfo {
|
|
662
|
+
name?: string; // Имя пользователя
|
|
663
|
+
phone_number?: string; // Номер телефона пользователя
|
|
664
|
+
email?: string; // Адрес электронной почты пользователя
|
|
665
|
+
shipping_address?: TG_ShippingAddress; // Адрес доставки заказа
|
|
666
|
+
}
|
|
667
|
+
|
|
668
|
+
export interface TG_PreCheckoutQuery {
|
|
669
|
+
id: string; // Уникальный идентификатор предварительного запроса на оформление заказа
|
|
670
|
+
from: TG_User; // Отправитель запроса
|
|
671
|
+
currency: string; // Валюта заказа (например, "USD", "RUB", "EUR", и т. д.)
|
|
672
|
+
total_amount: number; // Общая сумма заказа в минимальных единицах валюты
|
|
673
|
+
invoice_payload: string; // Полезная нагрузка счета
|
|
674
|
+
shipping_option_id?: string; // Идентификатор выбранного варианта доставки (если есть)
|
|
675
|
+
order_info?: TG_OrderInfo; // Информация о заказе (если есть)
|
|
676
|
+
}
|
|
677
|
+
|
|
678
|
+
export interface TG_Update {
|
|
679
|
+
update_id: number; // Уникальный идентификатор обновления
|
|
680
|
+
message?: TG_Message; // Сообщение, связанное с обновлением
|
|
681
|
+
edited_message?: TG_Message; // Отредактированное сообщение, связанное с обновлением
|
|
682
|
+
channel_post?: TG_Message; // Сообщение канала, связанное с обновлением
|
|
683
|
+
edited_channel_post?: TG_Message; // Отредактированное сообщение канала, связанное с обновлением
|
|
684
|
+
inline_query?: TG_InlineQuery; // Встроенный запрос, связанный с обновлением
|
|
685
|
+
chosen_inline_result?: TG_ChosenInlineResult; // Выбранный результат встроенного запроса, связанный с обновлением
|
|
686
|
+
callback_query?: TG_CallbackQuery; // Callback-запрос, связанный с обновлением
|
|
687
|
+
shipping_query?: TG_ShippingQuery; // Запрос на доставку, связанный с обновлением
|
|
688
|
+
pre_checkout_query?: TG_PreCheckoutQuery; // Предварительный запрос на оформление заказа, связанный с обновлением
|
|
689
|
+
poll?: TG_Poll; // Опрос, связанный с обновлением
|
|
690
|
+
poll_answer?: TG_PollAnswer; // Ответ на опрос, связанный с обновлением
|
|
691
|
+
}
|
|
692
|
+
|
|
693
|
+
/* Ответ для команды getChat - информация о каналах и юзерах */
|
|
694
|
+
export interface TG_ChatResponse extends TG_Response {
|
|
695
|
+
// ok: boolean; // Успешность выполнения запроса
|
|
696
|
+
result?: TG_Chat; // Информация о чате (если запрос успешен)
|
|
697
|
+
// error_code?: number; // Код ошибки (если запрос завершился неудачей)
|
|
698
|
+
// description?: string; // Описание ошибки (если запрос завершился неудачей)
|
|
699
|
+
}
|
|
700
|
+
|
|
701
|
+
/* Команда для телеграм бота, которая отображается в меню */
|
|
702
|
+
export interface TG_BotCommand {
|
|
703
|
+
command: string; // Команда бота
|
|
704
|
+
description: string | null; // Описание команды
|
|
705
|
+
}
|
|
706
|
+
|
|
707
|
+
/* ответ от телеграма при установке команд */
|
|
708
|
+
export interface TG_SetMyCommandsResponse extends TG_Response {
|
|
709
|
+
// ok: boolean; // Успешность выполнения запроса
|
|
710
|
+
result?: boolean; // Результат установки команд (true, если успешно)
|
|
711
|
+
// error_code?: number; // Код ошибки (если запрос завершился неудачей)
|
|
712
|
+
// description?: string; // Описание ошибки (если запрос завершился неудачей)
|
|
713
|
+
}
|
|
714
|
+
|
|
715
|
+
export interface TG_GetMeResponse extends TG_Response {
|
|
716
|
+
// ok: boolean; // Успешность выполнения запроса
|
|
717
|
+
result?: TG_User; // Информация о пользователе (если запрос успешен)
|
|
718
|
+
// error_code?: number; // Код ошибки (если запрос завершился неудачей)
|
|
719
|
+
// description?: string; // Описание ошибки (если запрос завершился неудачей)
|
|
720
|
+
}
|
|
721
|
+
|
|
722
|
+
export interface TG_SendMessageResponse extends TG_Response {
|
|
723
|
+
// ok: boolean;
|
|
724
|
+
result?: TG_Message; // Сообщение в случае успешной отправки
|
|
725
|
+
// error_code?: number; // Код ошибки в случае неудачи
|
|
726
|
+
// description?: string; // Описание ошибки в случае неудачи
|
|
727
|
+
}
|
|
728
|
+
/*
|
|
729
|
+
export interface TG_EditMessageTextResponse {
|
|
730
|
+
ok: boolean;
|
|
731
|
+
result?: any;
|
|
732
|
+
description?: string;
|
|
733
|
+
} */
|
|
734
|
+
|
|
735
|
+
export interface TG_GetUpdatesResponse extends TG_Response {
|
|
736
|
+
// ok: boolean; // Флаг, указывающий на успешность выполнения команды
|
|
737
|
+
result?: TG_Update[]; // Массив обновлений в случае успешного ответа
|
|
738
|
+
// error_code?: number; // Код ошибки в случае неудачи
|
|
739
|
+
// description?: string; // Описание ошибки в случае неудачи
|
|
740
|
+
}
|
|
741
|
+
|
|
742
|
+
export interface TG_GetFileResponse extends TG_Response {
|
|
743
|
+
// ok: boolean;
|
|
744
|
+
result?: TG_File;
|
|
745
|
+
// error_code?: number;
|
|
746
|
+
// description?: string;
|
|
747
|
+
}
|
|
748
|
+
|
|
749
|
+
export interface TG_InputMediaAudio {
|
|
750
|
+
type: 'audio'; // Тип результата, должен быть audio
|
|
751
|
+
media: string; // Файл для отправки. Передайте file_id для отправки файла, существующего на серверах Telegram, или HTTP URL для получения файла Telegram из Интернета, или передайте "attach://<file_attach_name>", чтобы загрузить новый файл с использованием multipart/form-data под именем <file_attach_name>. Больше информации о передаче файлов
|
|
752
|
+
thumbnail?: FileUpload | string; // Обложка отправленного файла; может быть проигнорирована, если генерация обложки для файла поддерживается на стороне сервера. Обложка должна быть в формате JPEG и размером менее 200 кб. Ширина и высота обложки не должны превышать 320. Игнорируется, если файл не загружен с использованием multipart/form-data. Обложки нельзя использовать повторно и могут быть загружены только как новый файл, поэтому вы можете передать "attach://<file_attach_name>", если обложка была загружена с использованием multipart/form-data под именем <file_attach_name>
|
|
753
|
+
caption?: string; // Подпись к аудио для отправки, 0-1024 символа после обработки сущностей
|
|
754
|
+
parse_mode?: TG_ParseMode; // Режим разбора сущностей в подписи аудио. См. варианты форматирования для более подробной информации.
|
|
755
|
+
caption_entities?: TG_MessageEntity[]; // Список специальных сущностей, которые появляются в подписи, которые можно указать вместо parse_mode
|
|
756
|
+
duration?: number; // Длительность аудио в секундах
|
|
757
|
+
performer?: string; // Исполнитель аудио
|
|
758
|
+
title?: string; // Название аудио
|
|
759
|
+
}
|
|
760
|
+
|
|
761
|
+
export interface TG_InputMediaDocument {
|
|
762
|
+
type: 'document'; // Тип результата, должен быть document
|
|
763
|
+
media: string; // Файл для отправки. Передайте file_id для отправки файла, существующего на серверах Telegram, или HTTP URL для получения файла Telegram из Интернета, или передайте "attach://<file_attach_name>", чтобы загрузить новый файл с использованием multipart/form-data под именем <file_attach_name>. Больше информации о передаче файлов
|
|
764
|
+
thumbnail?: FileUpload | string; // Обложка отправленного файла; может быть проигнорирована, если генерация обложки для файла поддерживается на стороне сервера. Обложка должна быть в формате JPEG и размером менее 200 кб. Ширина и высота обложки не должны превышать 320. Игнорируется, если файл не загружен с использованием multipart/form-data. Обложки нельзя использовать повторно и могут быть загружены только как новый файл, поэтому вы можете передать "attach://<file_attach_name>", если обложка была загружена с использованием multipart/form-data под именем <file_attach_name>
|
|
765
|
+
caption?: string; // Подпись к документу для отправки, 0-1024 символа после обработки сущностей
|
|
766
|
+
parse_mode?: TG_ParseMode; // Режим разбора сущностей в подписи документа. См. варианты форматирования для более подробной информации.
|
|
767
|
+
caption_entities?: TG_MessageEntity[]; // Список специальных сущностей, которые появляются в подписи, которые можно указать вместо parse_mode
|
|
768
|
+
disable_content_type_detection?: boolean; // Отключает автоматическое определение типа контента на стороне сервера для файлов, загруженных с использованием multipart/form-data. Всегда True, если документ отправляется как часть альбома.
|
|
769
|
+
}
|
|
770
|
+
|
|
771
|
+
export interface TG_InputMediaPhoto {
|
|
772
|
+
type: 'photo'; // Тип результата, должен быть photo
|
|
773
|
+
media: string; // Файл для отправки. Передайте file_id для отправки файла, существующего на серверах Telegram, или HTTP URL для получения файла Telegram из Интернета, или передайте "attach://<file_attach_name>", чтобы загрузить новый файл с использованием multipart/form-data под именем <file_attach_name>. Больше информации о передаче файлов
|
|
774
|
+
caption?: string; // Подпись к фото для отправки, 0-1024 символа после обработки сущностей
|
|
775
|
+
parse_mode?: TG_ParseMode; // Режим разбора сущностей в подписи фото. См. варианты форматирования для более подробной информации.
|
|
776
|
+
caption_entities?: TG_MessageEntity[]; // Список специальных сущностей, которые появляются в подписи, которые можно указать вместо parse_mode
|
|
777
|
+
has_spoiler?: boolean; // Передайте True, если фото должно быть закрыто анимацией-спойлером
|
|
778
|
+
}
|
|
779
|
+
|
|
780
|
+
export interface TG_InputMediaVideo {
|
|
781
|
+
type: 'video'; // Тип результата, должен быть video
|
|
782
|
+
media: string; // Файл для отправки. Передайте file_id для отправки файла, существующего на серверах Telegram, или HTTP URL для получения файла Telegram из Интернета, или передайте "attach://<file_attach_name>", чтобы загрузить новый файл с использованием multipart/form-data под именем <file_attach_name>. Больше информации о передаче файлов
|
|
783
|
+
thumbnail?: FileUpload | string; // Обложка отправленного файла; может быть проигнорирована, если генерация обложки для файла поддерживается на стороне сервера. Обложка должна быть в формате JPEG и размером менее 200 кб. Ширина и высота обложки не должны превышать 320. Игнорируется, если файл не загружен с использованием multipart/form-data. Обложки нельзя использовать повторно и могут быть загружены только как новый файл, поэтому вы можете передать "attach://<file_attach_name>", если обложка была загружена с использованием multipart/form-data под именем <file_attach_name>
|
|
784
|
+
caption?: string; // Подпись к видео для отправки, 0-1024 символа после обработки сущностей
|
|
785
|
+
parse_mode?: TG_ParseMode; // Режим разбора сущностей в подписи видео. См. варианты форматирования для более подробной информации.
|
|
786
|
+
caption_entities?: TG_MessageEntity[]; // Список специальных сущностей, которые появляются в подписи, которые можно указать вместо parse_mode
|
|
787
|
+
width?: number; // Ширина видео
|
|
788
|
+
height?: number; // Высота видео
|
|
789
|
+
duration?: number; // Длительность видео в секундах
|
|
790
|
+
supports_streaming?: boolean; // Передайте True, если загруженное видео подходит для потоковой передачи
|
|
791
|
+
has_spoiler?: boolean; // Передайте True, если видео должно быть закрыто анимацией-спойлером
|
|
792
|
+
}
|
|
793
|
+
|
|
794
|
+
export interface TG_ReplyParameters {
|
|
795
|
+
message_id: number; // Идентификатор сообщения, на которое будет дан ответ, в текущем чате
|
|
796
|
+
chat_id?: number | string; // Идентификатор чата или имя пользователя канала, если сообщение, на которое ответ, находится в другом чате (опционально)
|
|
797
|
+
allow_sending_without_reply?: boolean; // Передать true, если сообщение должно быть отправлено, даже если указанное сообщение для ответа не найдено (опционально)
|
|
798
|
+
quote?: string; // Цитируемая часть сообщения, на которое будет ответ (опционально)
|
|
799
|
+
quote_parse_mode?: TG_ParseMode; // Режим разбора сущностей в цитате (опционально)
|
|
800
|
+
quote_entities?: TG_MessageEntity[]; // Список специальных сущностей, присутствующих в цитате (опционально)
|
|
801
|
+
quote_position?: number; // Позиция цитаты в исходном сообщении в кодовых единицах UTF-16 (опционально)
|
|
802
|
+
}
|
|
803
|
+
|
|
804
|
+
export interface TG_SendMediaGroupInput {
|
|
805
|
+
business_connection_id?: string;
|
|
806
|
+
chat_id: number | string;
|
|
807
|
+
message_thread_id?: number;
|
|
808
|
+
media: (
|
|
809
|
+
| TG_InputMediaAudio
|
|
810
|
+
| TG_InputMediaDocument
|
|
811
|
+
| TG_InputMediaPhoto
|
|
812
|
+
| TG_InputMediaVideo
|
|
813
|
+
)[];
|
|
814
|
+
disable_notification?: boolean;
|
|
815
|
+
protect_content?: boolean;
|
|
816
|
+
reply_parameters?: TG_ReplyParameters;
|
|
817
|
+
}
|
|
818
|
+
|
|
819
|
+
export type TG_Action =
|
|
820
|
+
| 'typing'
|
|
821
|
+
| 'upload_photo'
|
|
822
|
+
| 'record_video'
|
|
823
|
+
| 'upload_video'
|
|
824
|
+
| 'record_voice'
|
|
825
|
+
| 'upload_voice'
|
|
826
|
+
| 'upload_document'
|
|
827
|
+
| 'choose_sticker'
|
|
828
|
+
| 'find_location'
|
|
829
|
+
| 'record_video_note'
|
|
830
|
+
| 'upload_video_note';
|
|
831
|
+
|
|
832
|
+
export interface TG_SendActionInput {
|
|
833
|
+
business_connection_id?: string;
|
|
834
|
+
chat_id: number | string;
|
|
835
|
+
message_thread_id?: number;
|
|
836
|
+
action: TG_Action;
|
|
837
|
+
}
|
|
838
|
+
|
|
839
|
+
export interface TG_SendMediaGroupResponse extends TG_Response {
|
|
840
|
+
// ok: boolean; // Флаг успешного выполнения запроса
|
|
841
|
+
result?: TG_Message[]; // Массив объектов сообщений, представляющих отправленные медиа (доступно только в случае успешного выполнения)
|
|
842
|
+
// error_code?: number; // Код ошибки (доступно только в случае неуспешного выполнения)
|
|
843
|
+
// description?: string; // Описание ошибки (доступно только в случае неуспешного выполнения)
|
|
844
|
+
}
|
|
845
|
+
|
|
846
|
+
export interface TG_LinkPreviewOptions {
|
|
847
|
+
is_disabled?: boolean; // True, если превью ссылки отключено
|
|
848
|
+
url?: string; // URL для использования в превью ссылки. Если пусто, то будет использован первый найденный URL в тексте сообщения
|
|
849
|
+
prefer_small_media?: boolean; // True, если медиа-контент в превью ссылки должен быть уменьшен
|
|
850
|
+
prefer_large_media?: boolean; // True, если медиа-контент в превью ссылки должен быть увеличен
|
|
851
|
+
show_above_text?: boolean; // True, если превью ссылки должно отображаться над текстом сообщения
|
|
852
|
+
}
|
|
853
|
+
|
|
854
|
+
export interface TG_WebAppInfo {
|
|
855
|
+
url: string; // HTTPS URL веб-приложения для открытия с дополнительными данными
|
|
856
|
+
}
|
|
857
|
+
|
|
858
|
+
export interface TG_LoginUrl {
|
|
859
|
+
url: string; // HTTPS URL, который будет открыт с данными авторизации пользователя в строке запроса при нажатии кнопки
|
|
860
|
+
forward_text?: string; // Новый текст кнопки в пересланных сообщениях (опционально)
|
|
861
|
+
bot_username?: string; // Имя бота, используемое для авторизации пользователя (опционально)
|
|
862
|
+
request_write_access?: boolean; // Передайте true, чтобы запросить разрешение на отправку сообщений пользователю (опционально)
|
|
863
|
+
}
|
|
864
|
+
|
|
865
|
+
export interface TG_SwitchInlineQueryChosenChat {
|
|
866
|
+
query?: string; // По умолчанию встроенный запрос для вставки в поле ввода (опционально)
|
|
867
|
+
allow_user_chats?: boolean; // true, если можно выбирать частные чаты с пользователями (опционально)
|
|
868
|
+
allow_bot_chats?: boolean; // true, если можно выбирать частные чаты с ботами (опционально)
|
|
869
|
+
allow_group_chats?: boolean; // true, если можно выбирать чаты групп и супергрупп (опционально)
|
|
870
|
+
allow_channel_chats?: boolean; // true, если можно выбирать чаты каналов (опционально)
|
|
871
|
+
}
|
|
872
|
+
|
|
873
|
+
export interface TG_InlineKeyboardButton {
|
|
874
|
+
text: string; // Текст метки на кнопке
|
|
875
|
+
url?: string; // HTTP или tg:// URL, который будет открыт при нажатии кнопки
|
|
876
|
+
callback_data?: string; // Данные, которые будут отправлены в запросе обратного вызова боту при нажатии кнопки
|
|
877
|
+
web_app?: TG_WebAppInfo; // Описание веб-приложения, которое будет запущено при нажатии кнопки пользователем
|
|
878
|
+
login_url?: TG_LoginUrl; // HTTPS URL, используемый для автоматической авторизации пользователя
|
|
879
|
+
switch_inline_query?: string; // Если установлено, при нажатии кнопки пользователю будет предложено выбрать один из их чатов
|
|
880
|
+
switch_inline_query_current_chat?: string; // Если установлено, при нажатии кнопки в текущем чате будет вставлено имя пользователя бота и указанный встроенный запрос
|
|
881
|
+
switch_inline_query_chosen_chat?: TG_SwitchInlineQueryChosenChat; // Если установлено, при нажатии кнопки пользователю будет предложено выбрать один из их чатов указанного типа
|
|
882
|
+
// callback_game?: CallbackGame; // Описание игры, которая будет запущена при нажатии кнопки // A placeholder, currently holds no information. Use BotFather to set up your game.
|
|
883
|
+
pay?: boolean; // Указывает, отправить ли кнопку оплаты
|
|
884
|
+
}
|
|
885
|
+
|
|
886
|
+
export interface TG_InlineKeyboardMarkup {
|
|
887
|
+
inline_keyboard: TG_InlineKeyboardButton[][]; // Массив строк кнопок, каждая представлена массивом объектов InlineKeyboardButton
|
|
888
|
+
}
|
|
889
|
+
|
|
890
|
+
export interface TG_KeyboardButtonRequestUsers {
|
|
891
|
+
request_id: number; // Знаковый 32-битный идентификатор запроса, который будет получен обратно в объекте UsersShared. Должен быть уникальным в пределах сообщения
|
|
892
|
+
user_is_bot?: boolean; // Укажите True, чтобы запросить ботов, передайте False, чтобы запросить обычных пользователей. Если не указано, дополнительных ограничений не применяется.
|
|
893
|
+
user_is_premium?: boolean; // Укажите True, чтобы запросить премиум-пользователей, передайте False, чтобы запросить не-премиум-пользователей. Если не указано, дополнительных ограничений не применяется.
|
|
894
|
+
max_quantity?: number; // Максимальное количество пользователей для выбора; 1-10. По умолчанию 1.
|
|
895
|
+
request_name?: boolean; // Укажите True, чтобы запросить имя и фамилию пользователей
|
|
896
|
+
request_username?: boolean; // Укажите True, чтобы запросить имя пользователя пользователей
|
|
897
|
+
request_photo?: boolean; // Укажите True, чтобы запросить фотографию пользователей
|
|
898
|
+
}
|
|
899
|
+
|
|
900
|
+
export interface TG_ChatAdministratorRights {
|
|
901
|
+
is_anonymous: boolean; // True, если присутствие пользователя в чате скрыто
|
|
902
|
+
can_manage_chat: boolean; // True, если администратор может получить доступ к журналу событий чата, получить список участников, видеть скрытых участников супергруппы и канала, отправлять жалобы на спам и игнорировать режим замедления. Подразумевается любым другим привилегиям администратора.
|
|
903
|
+
can_delete_messages: boolean; // True, если администратор может удалять сообщения других пользователей
|
|
904
|
+
can_manage_video_chats: boolean; // True, если администратор может управлять видеочатами
|
|
905
|
+
can_restrict_members: boolean; // True, если администратор может ограничивать, банить или разбанивать участников чата, или получать статистику супергруппы
|
|
906
|
+
can_promote_members: boolean; // True, если администратор может добавлять новых администраторов с частью их собственных привилегий или понижать администраторов, которых они назначили, непосредственно или косвенно (назначенных администраторами, которых назначил пользователь)
|
|
907
|
+
can_change_info: boolean; // True, если пользователь может изменять название чата, фотографию и другие настройки
|
|
908
|
+
can_invite_users: boolean; // True, если пользователь может приглашать новых участников в чат
|
|
909
|
+
can_post_stories: boolean; // True, если администратор может размещать истории в чате
|
|
910
|
+
can_edit_stories: boolean; // True, если администратор может редактировать истории, размещенные другими пользователями
|
|
911
|
+
can_delete_stories: boolean; // True, если администратор может удалять истории, размещенные другими пользователями
|
|
912
|
+
can_post_messages?: boolean; // True, если администратор может размещать сообщения в канале или получать статистику канала; только для каналов
|
|
913
|
+
can_edit_messages?: boolean; // True, если администратор может редактировать сообщения других пользователей и может прикреплять сообщения; только для каналов
|
|
914
|
+
can_pin_messages?: boolean; // True, если пользователь может закреплять сообщения; только для групп и супергрупп
|
|
915
|
+
can_manage_topics?: boolean; // True, если пользователь может создавать, переименовывать, закрывать и открывать темы форума; только для супергрупп
|
|
916
|
+
}
|
|
917
|
+
|
|
918
|
+
export interface TG_KeyboardButtonRequestChat {
|
|
919
|
+
request_id: number; // Знаковый 32-битный идентификатор запроса, который будет получен обратно в объекте ChatShared. Должен быть уникальным в пределах сообщения
|
|
920
|
+
chat_is_channel: boolean; // Передайте True, чтобы запросить чат канала, передайте False, чтобы запросить групповой чат или супергрупповой чат.
|
|
921
|
+
chat_is_forum?: boolean; // Передайте True, чтобы запросить форум супергруппы, передайте False, чтобы запросить чат, не являющийся форумом. Если не указано, дополнительных ограничений не применяется.
|
|
922
|
+
chat_has_username?: boolean; // Передайте True, чтобы запросить супергруппу или канал с именем пользователя, передайте False, чтобы запросить чат без имени пользователя. Если не указано, дополнительных ограничений не применяется.
|
|
923
|
+
chat_is_created?: boolean; // Передайте True, чтобы запросить чат, принадлежащий пользователю. В противном случае дополнительные ограничения не применяются.
|
|
924
|
+
user_administrator_rights?: TG_ChatAdministratorRights; // JSON-сериализованный объект, перечисляющий требуемые права администратора пользователя в чате. Права должны быть надмножеством bot_administrator_rights. Если не указано, дополнительных ограничений не применяется.
|
|
925
|
+
bot_administrator_rights?: TG_ChatAdministratorRights; // JSON-сериализованный объект, перечисляющий требуемые права администратора бота в чате. Права должны быть подмножеством user_administrator_rights. Если не указано, дополнительных ограничений не применяется.
|
|
926
|
+
bot_is_member?: boolean; // Передайте True, чтобы запросить чат с ботом в качестве участника. В противном случае дополнительные ограничения не применяются.
|
|
927
|
+
request_title?: boolean; // Передайте True, чтобы запросить название чата
|
|
928
|
+
request_username?: boolean; // Передайте True, чтобы запросить имя пользователя чата
|
|
929
|
+
request_photo?: boolean; // Передайте True, чтобы запросить фотографию чата
|
|
930
|
+
}
|
|
931
|
+
|
|
932
|
+
export interface TG_KeyboardButtonPollType {
|
|
933
|
+
type?: 'quiz' | 'regular'; // Опционально. Если передается 'quiz', пользователю разрешено создавать только опросы в режиме викторины. Если передается 'regular', разрешены только обычные опросы. В противном случае пользователю разрешено создавать опрос любого типа.
|
|
934
|
+
}
|
|
935
|
+
|
|
936
|
+
export interface TG_KeyboardButton {
|
|
937
|
+
text: string; // Текст кнопки. Если ни одно из дополнительных полей не используется, оно будет отправлено как сообщение при нажатии на кнопку
|
|
938
|
+
request_users?: TG_KeyboardButtonRequestUsers; // Если указано, нажатие на кнопку откроет список подходящих пользователей. Идентификаторы выбранных пользователей будут отправлены боту в сообщении о «users_shared». Доступно только в личных чатах.
|
|
939
|
+
request_chat?: TG_KeyboardButtonRequestChat; // Если указано, нажатие на кнопку откроет список подходящих чатов. Нажатие на чат отправит его идентификатор боту в сообщении о «chat_shared». Доступно только в личных чатах.
|
|
940
|
+
request_contact?: boolean; // Если True, номер телефона пользователя будет отправлен как контакт при нажатии на кнопку. Доступно только в личных чатах.
|
|
941
|
+
request_location?: boolean; // Если True, текущее местоположение пользователя будет отправлено при нажатии на кнопку. Доступно только в личных чатах.
|
|
942
|
+
request_poll?: TG_KeyboardButtonPollType; // Если указано, пользователь будет предложено создать опрос и отправить его боту при нажатии на кнопку. Доступно только в личных чатах.
|
|
943
|
+
web_app?: TG_WebAppInfo; // Если указано, описанное веб-приложение будет запущено при нажатии на кнопку. Веб-приложение сможет отправить сообщение о «web_app_data». Доступно только в личных чатах.
|
|
944
|
+
}
|
|
945
|
+
|
|
946
|
+
export interface TG_ReplyKeyboardMarkup {
|
|
947
|
+
keyboard: TG_KeyboardButton[][]; // Массив строк кнопок, каждая строка представлена массивом объектов KeyboardButton
|
|
948
|
+
is_persistent?: boolean; // Запрашивает клиентов всегда показывать клавиатуру, когда обычная клавиатура скрыта. По умолчанию false.
|
|
949
|
+
resize_keyboard?: boolean; // Запрашивает вертикальное изменение размера клавиатуры для оптимального подгонки (например, уменьшение клавиатуры, если есть только две строки кнопок). По умолчанию false.
|
|
950
|
+
one_time_keyboard?: boolean; // Запрашивает клиентов скрыть клавиатуру сразу после использования. Клавиатура все еще будет доступна, но клиенты автоматически отобразят обычную буквенную клавиатуру в чате - пользователь может нажать специальную кнопку в поле ввода, чтобы снова увидеть пользовательскую клавиатуру. По умолчанию false.
|
|
951
|
+
input_field_placeholder?: string; // Текст-подсказка, отображаемый в поле ввода, когда клавиатура активна; 1-64 символа
|
|
952
|
+
selective?: boolean; // Используйте этот параметр, если вы хотите показывать клавиатуру только определенным пользователям. Цели: 1) пользователи, которые @упоминаются в тексте объекта Message; 2) если сообщение бота является ответом на сообщение в том же чате и форуме, отправитель исходного сообщения.
|
|
953
|
+
}
|
|
954
|
+
|
|
955
|
+
export interface TG_ReplyKeyboardRemove {
|
|
956
|
+
remove_keyboard: true; // Запрашивает у клиентов удаление пользовательской клавиатуры (пользователь не сможет вызвать эту клавиатуру; если вы хотите скрыть клавиатуру из виду, но сохранить доступ к ней, используйте one_time_keyboard в ReplyKeyboardMarkup)
|
|
957
|
+
selective?: boolean; // Используйте этот параметр, если вы хотите удалить клавиатуру только для определенных пользователей. Цели: 1) пользователи, упомянутые в тексте объекта сообщения; 2) если сообщение бота является ответом на сообщение в том же чате и форумной теме, отправитель оригинального сообщения.
|
|
958
|
+
}
|
|
959
|
+
|
|
960
|
+
export interface TG_ForceReply {
|
|
961
|
+
force_reply: true; // Показывает интерфейс ответа пользователю, как если бы они вручную выбрали сообщение бота и нажали «Ответить»
|
|
962
|
+
input_field_placeholder?: string; // Плейсхолдер, отображаемый в поле ввода при активном ответе; от 1 до 64 символов
|
|
963
|
+
selective?: boolean; // Используйте этот параметр, если вы хотите принудительный ответ только от определенных пользователей. Цели: 1) пользователи, упомянутые в тексте объекта сообщения; 2) если сообщение бота является ответом на сообщение в том же чате и форумной теме, отправитель оригинального сообщения.
|
|
964
|
+
}
|
|
965
|
+
|
|
966
|
+
export interface TG_SendMessageInput {
|
|
967
|
+
business_connection_id?: string;
|
|
968
|
+
chat_id: number | string;
|
|
969
|
+
message_thread_id?: number;
|
|
970
|
+
text: string;
|
|
971
|
+
parse_mode?: TG_ParseMode;
|
|
972
|
+
entities?: TG_MessageEntity[];
|
|
973
|
+
link_preview_options?: TG_LinkPreviewOptions;
|
|
974
|
+
disable_notification?: boolean;
|
|
975
|
+
protect_content?: boolean;
|
|
976
|
+
reply_parameters?: TG_ReplyParameters;
|
|
977
|
+
reply_markup?:
|
|
978
|
+
| TG_InlineKeyboardMarkup
|
|
979
|
+
| TG_ReplyKeyboardMarkup
|
|
980
|
+
| TG_ReplyKeyboardRemove
|
|
981
|
+
| TG_ForceReply;
|
|
982
|
+
}
|
|
983
|
+
|
|
984
|
+
export interface TG_EditMessageTextInput {
|
|
985
|
+
chat_id?: number | string;
|
|
986
|
+
message_id?: number;
|
|
987
|
+
inline_message_id?: string;
|
|
988
|
+
text: string;
|
|
989
|
+
parse_mode?: TG_ParseMode;
|
|
990
|
+
disable_web_page_preview?: boolean;
|
|
991
|
+
reply_markup?: any;
|
|
992
|
+
}
|
|
993
|
+
|
|
994
|
+
export interface TG_SendPhotoInput {
|
|
995
|
+
business_connection_id?: string;
|
|
996
|
+
chat_id: number | string;
|
|
997
|
+
message_thread_id?: number;
|
|
998
|
+
photo: FileUpload | string;
|
|
999
|
+
caption?: string;
|
|
1000
|
+
parse_mode?: TG_ParseMode;
|
|
1001
|
+
caption_entities?: TG_MessageEntity[];
|
|
1002
|
+
has_spoiler?: boolean;
|
|
1003
|
+
disable_notification?: boolean;
|
|
1004
|
+
protect_content?: boolean;
|
|
1005
|
+
reply_parameters?: TG_ReplyParameters;
|
|
1006
|
+
reply_markup?:
|
|
1007
|
+
| TG_InlineKeyboardMarkup
|
|
1008
|
+
| TG_ReplyKeyboardMarkup
|
|
1009
|
+
| TG_ReplyKeyboardRemove
|
|
1010
|
+
| TG_ForceReply;
|
|
1011
|
+
}
|
|
1012
|
+
|
|
1013
|
+
export interface TG_SendVideoInput {
|
|
1014
|
+
business_connection_id?: string;
|
|
1015
|
+
chat_id: number | string;
|
|
1016
|
+
message_thread_id?: number;
|
|
1017
|
+
video: FileUpload | string;
|
|
1018
|
+
duration?: number;
|
|
1019
|
+
width?: number;
|
|
1020
|
+
height?: number;
|
|
1021
|
+
thumbnail?: FileUpload | string;
|
|
1022
|
+
caption?: string;
|
|
1023
|
+
parse_mode?: TG_ParseMode;
|
|
1024
|
+
caption_entities?: TG_MessageEntity[];
|
|
1025
|
+
has_spoiler?: boolean;
|
|
1026
|
+
supports_streaming?: boolean;
|
|
1027
|
+
disable_notification?: boolean;
|
|
1028
|
+
protect_content?: boolean;
|
|
1029
|
+
reply_parameters?: TG_ReplyParameters;
|
|
1030
|
+
reply_markup?:
|
|
1031
|
+
| TG_InlineKeyboardMarkup
|
|
1032
|
+
| TG_ReplyKeyboardMarkup
|
|
1033
|
+
| TG_ReplyKeyboardRemove
|
|
1034
|
+
| TG_ForceReply;
|
|
1035
|
+
}
|
|
1036
|
+
|
|
1037
|
+
export interface TG_EditMessageMediaInput {
|
|
1038
|
+
chat_id?: number | string;
|
|
1039
|
+
message_id?: number;
|
|
1040
|
+
inline_message_id?: string;
|
|
1041
|
+
media: {
|
|
1042
|
+
type: TG_InputMediaType;
|
|
1043
|
+
media: string; // file_id, URL, или "attach://<file_name>"
|
|
1044
|
+
caption?: string;
|
|
1045
|
+
parse_mode?: TG_ParseMode;
|
|
1046
|
+
};
|
|
1047
|
+
reply_markup?: any;
|
|
1048
|
+
}
|
|
1049
|
+
|
|
1050
|
+
/* export interface TG_EditMessageMediaResponse {
|
|
1051
|
+
ok: boolean;
|
|
1052
|
+
result?: any;
|
|
1053
|
+
description?: string;
|
|
1054
|
+
} */
|
|
1055
|
+
|
|
1056
|
+
export interface TG_EditMessageCaptionInput {
|
|
1057
|
+
chat_id?: number | string;
|
|
1058
|
+
message_id?: number;
|
|
1059
|
+
inline_message_id?: string;
|
|
1060
|
+
caption?: string;
|
|
1061
|
+
parse_mode?: TG_ParseMode;
|
|
1062
|
+
caption_entities?: Array<{
|
|
1063
|
+
type: string;
|
|
1064
|
+
offset: number;
|
|
1065
|
+
length: number;
|
|
1066
|
+
url?: string;
|
|
1067
|
+
user?: any;
|
|
1068
|
+
language?: string;
|
|
1069
|
+
}>;
|
|
1070
|
+
reply_markup?: any;
|
|
1071
|
+
}
|
|
1072
|
+
|
|
1073
|
+
/* export interface TG_EditMessageCaptionResponse {
|
|
1074
|
+
ok: boolean;
|
|
1075
|
+
result?: any;
|
|
1076
|
+
description?: string;
|
|
1077
|
+
} */
|
|
1078
|
+
|
|
1079
|
+
export interface TG_SendDocumentInput {
|
|
1080
|
+
business_connection_id?: string; // Optional: Unique identifier of the business connection on behalf of which the message will be sent
|
|
1081
|
+
chat_id: number | string; // Required: Unique identifier for the target chat or username of the target channel (e.g., @channelusername)
|
|
1082
|
+
message_thread_id?: number; // Optional: Unique identifier for the target message thread (topic) of the forum; for forum supergroups only
|
|
1083
|
+
document: File | Buffer | string; // Required: File to send. Can be a file_id, HTTP URL, or a new file uploaded via multipart/form-data
|
|
1084
|
+
thumbnail?: File | string; // Optional: Thumbnail for the file (JPEG format, less than 200 kB, max 320x320)
|
|
1085
|
+
caption?: string; // Optional: Document caption (0-1024 characters)
|
|
1086
|
+
parse_mode?: TG_ParseMode; // Optional: Mode for parsing entities in the document caption
|
|
1087
|
+
caption_entities?: TG_MessageEntity[]; // Optional: JSON-serialized list of special entities in the caption
|
|
1088
|
+
disable_content_type_detection?: boolean; // Optional: Disables automatic server-side content type detection for multipart/form-data uploads
|
|
1089
|
+
disable_notification?: boolean; // Optional: Sends the message silently (no sound notification)
|
|
1090
|
+
protect_content?: boolean; // Optional: Protects the content of the message from forwarding or saving
|
|
1091
|
+
allow_paid_broadcast?: boolean; // Optional: Allows up to 1000 messages per second with a fee of 0.1 Telegram Stars per message
|
|
1092
|
+
message_effect_id?: string; // Optional: Unique identifier of the message effect to be applied (for private chats only)
|
|
1093
|
+
reply_parameters?: TG_ReplyParameters; // Optional: Description of the message to reply to
|
|
1094
|
+
reply_markup?:
|
|
1095
|
+
| TG_InlineKeyboardMarkup
|
|
1096
|
+
| TG_ReplyKeyboardMarkup
|
|
1097
|
+
| TG_ReplyKeyboardRemove
|
|
1098
|
+
| TG_ForceReply; // Optional: Additional export interface options for custom keyboards or reply instructions
|
|
1099
|
+
}
|
|
1100
|
+
|
|
1101
|
+
/* export interface TG_SendPhotoResponse {
|
|
1102
|
+
ok: boolean;
|
|
1103
|
+
error_code?: number;
|
|
1104
|
+
description?: string;
|
|
1105
|
+
result?: TG_Message;
|
|
1106
|
+
} */
|
|
1107
|
+
|
|
1108
|
+
/* export interface TG_SendDocumentResponse {
|
|
1109
|
+
ok: boolean;
|
|
1110
|
+
error_code?: number;
|
|
1111
|
+
description?: string;
|
|
1112
|
+
result?: TG_Message;
|
|
1113
|
+
} */
|
|
1114
|
+
|
|
1115
|
+
export interface TG_DeleteMessageInput {
|
|
1116
|
+
chat_id: number | string;
|
|
1117
|
+
message_id: number;
|
|
1118
|
+
}
|
|
1119
|
+
|
|
1120
|
+
export interface TG_LabeledPrice {
|
|
1121
|
+
label: string; // Название позиции (например, "Товар", "Доставка")
|
|
1122
|
+
amount: number; // Цена в минимальных единицах валюты (целое число, не float/double)
|
|
1123
|
+
}
|
|
1124
|
+
|
|
1125
|
+
export interface TG_CreateInvoiceInput {
|
|
1126
|
+
business_connection_id?: string; // Уникальный идентификатор бизнес-соединения (только для Telegram Stars)
|
|
1127
|
+
title: string; // Название товара, 1-32 символа
|
|
1128
|
+
description: string; // Описание товара, 1-255 символов
|
|
1129
|
+
payload: string; // Полезная нагрузка счета, задается ботом
|
|
1130
|
+
provider_token?: string; // Токен платежного провайдера. Передайте "" для Telegram Stars
|
|
1131
|
+
currency: string; // Валюта счета (например, "USD", "RUB", "EUR", "XTR")
|
|
1132
|
+
prices: TG_LabeledPrice[]; // Состав цены (список позиций)
|
|
1133
|
+
subscription_period?: number; // Срок действия подписки в секундах (только для XTR, всегда 2592000)
|
|
1134
|
+
max_tip_amount?: number; // Максимальная сумма чаевых в минимальных единицах валюты
|
|
1135
|
+
suggested_tip_amounts?: number[]; // Список рекомендуемых сумм чаевых
|
|
1136
|
+
provider_data?: string; // JSON-данные о счете для провайдера
|
|
1137
|
+
photo_url?: string; // URL фото товара или услуги
|
|
1138
|
+
photo_size?: number; // Размер фото в байтах
|
|
1139
|
+
photo_width?: number; // Ширина фото
|
|
1140
|
+
photo_height?: number; // Высота фото
|
|
1141
|
+
need_name?: boolean; // Требуется ли ФИО пользователя
|
|
1142
|
+
need_phone_number?: boolean; // Требуется ли телефон пользователя
|
|
1143
|
+
need_email?: boolean; // Требуется ли email пользователя
|
|
1144
|
+
need_shipping_address?: boolean; // Требуется ли адрес доставки
|
|
1145
|
+
send_phone_number_to_provider?: boolean; // Отправлять ли телефон провайдеру
|
|
1146
|
+
send_email_to_provider?: boolean; // Отправлять ли email провайдеру
|
|
1147
|
+
is_flexible?: boolean; // Финальная цена зависит от метода доставки
|
|
1148
|
+
}
|
|
1149
|
+
|
|
1150
|
+
export interface TG_AnswerPreCheckoutQueryInput {
|
|
1151
|
+
pre_checkout_query_id: string; // Уникальный идентификатор запроса, на который нужно ответить
|
|
1152
|
+
ok: boolean; // Укажите true, если всё в порядке и бот готов продолжить оформление заказа; false, если возникли проблемы
|
|
1153
|
+
error_message?: string; // Обязательно, если ok = false. Сообщение об ошибке, объясняющее причину невозможности продолжить оформление заказа
|
|
1154
|
+
}
|
|
1155
|
+
|
|
1156
|
+
/**
|
|
1157
|
+
* Ответ Telegram API на метод answerPreCheckoutQuery.
|
|
1158
|
+
*/
|
|
1159
|
+
export interface TG_AnswerPreCheckoutQueryResponse extends TG_Response {
|
|
1160
|
+
result?: boolean; // true, если ответ на предварительный запрос успешно принят
|
|
1161
|
+
}
|