@codebam/cf-workers-telegram-bot 11.12.0 → 11.18.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.
- package/dist/main.d.ts +3 -22
- package/dist/main.js +2 -7
- package/dist/telegram_api.d.ts +1 -1
- package/dist/telegram_bot.d.ts +2 -3
- package/dist/telegram_bot.js +1 -3
- package/dist/telegram_execution_context.d.ts +1 -2
- package/dist/telegram_execution_context.js +16 -20
- package/dist/types/PartialTelegramUpdate.d.ts +6 -6
- package/dist/types/TelegramCommand.d.ts +1 -1
- package/dist/types/TelegramGuestMessage.d.ts +1 -1
- package/dist/types.d.ts +1 -13
- package/dist/types.js +1 -5
- package/dist/utils.d.ts +34 -0
- package/dist/utils.js +109 -0
- package/package.json +5 -4
- package/dist/types/ChatPermissions.d.ts +0 -17
- package/dist/types/ChatPermissions.js +0 -1
- package/dist/types/TelegramBusinessConnection.d.ts +0 -10
- package/dist/types/TelegramBusinessConnection.js +0 -1
- package/dist/types/TelegramBusinessMessage.d.ts +0 -47
- package/dist/types/TelegramBusinessMessage.js +0 -1
- package/dist/types/TelegramCallbackQuery.d.ts +0 -15
- package/dist/types/TelegramCallbackQuery.js +0 -1
- package/dist/types/TelegramChat.d.ts +0 -21
- package/dist/types/TelegramChat.js +0 -1
- package/dist/types/TelegramDocument.d.ts +0 -10
- package/dist/types/TelegramDocument.js +0 -1
- package/dist/types/TelegramFrom.d.ts +0 -8
- package/dist/types/TelegramFrom.js +0 -1
- package/dist/types/TelegramInlineQuery.d.ts +0 -9
- package/dist/types/TelegramInlineQuery.js +0 -1
- package/dist/types/TelegramInlineQueryResult.d.ts +0 -6
- package/dist/types/TelegramInlineQueryResult.js +0 -8
- package/dist/types/TelegramInlineQueryResultArticle.d.ts +0 -13
- package/dist/types/TelegramInlineQueryResultArticle.js +0 -15
- package/dist/types/TelegramInlineQueryResultPhoto.d.ts +0 -21
- package/dist/types/TelegramInlineQueryResultPhoto.js +0 -23
- package/dist/types/TelegramInlineQueryResultVideo.d.ts +0 -21
- package/dist/types/TelegramInlineQueryResultVideo.js +0 -23
- package/dist/types/TelegramInlineQueryResultVoice.d.ts +0 -13
- package/dist/types/TelegramInlineQueryResultVoice.js +0 -14
- package/dist/types/TelegramInputMessageContent.d.ts +0 -5
- package/dist/types/TelegramInputMessageContent.js +0 -1
- package/dist/types/TelegramMessage.d.ts +0 -53
- package/dist/types/TelegramMessage.js +0 -1
- package/dist/types/TelegramMessageEntity.d.ts +0 -10
- package/dist/types/TelegramMessageEntity.js +0 -1
- package/dist/types/TelegramPhotoSize.d.ts +0 -8
- package/dist/types/TelegramPhotoSize.js +0 -1
- package/dist/types/TelegramPreCheckoutQuery.d.ts +0 -23
- package/dist/types/TelegramPreCheckoutQuery.js +0 -1
- package/dist/types/TelegramSuccessfulPayment.d.ts +0 -22
- package/dist/types/TelegramSuccessfulPayment.js +0 -1
- package/dist/types/TelegramUpdate.d.ts +0 -22
- package/dist/types/TelegramUpdate.js +0 -40
- package/dist/types/TelegramUser.d.ts +0 -13
- package/dist/types/TelegramUser.js +0 -1
- package/dist/types/TelegramVoice.d.ts +0 -7
- package/dist/types/TelegramVoice.js +0 -1
package/dist/main.d.ts
CHANGED
|
@@ -1,31 +1,12 @@
|
|
|
1
|
+
import { Chat as TelegramChat, User as TelegramUser, User as TelegramFrom, MessageEntity as TelegramMessageEntity, PhotoSize as TelegramPhotoSize, Message as TelegramMessage, Voice as TelegramVoice, InputMessageContent as TelegramInputMessageContent, InlineQuery as TelegramInlineQuery, Update as TelegramUpdate, InlineQueryResult as TelegramInlineQueryResult, InlineQueryResultPhoto as TelegramInlineQueryResultPhoto, InlineQueryResultArticle as TelegramInlineQueryResultArticle, InlineQueryResultVideo as TelegramInlineQueryResultVideo, InlineQueryResultVoice as TelegramInlineQueryResultVoice, ChatPermissions as ChatPermissions, Message as TelegramBusinessMessage, CallbackQuery as TelegramCallbackQuery, PreCheckoutQuery as TelegramPreCheckoutQuery, Document as TelegramDocument, SuccessfulPayment as TelegramSuccessfulPayment } from '@grammyjs/types';
|
|
1
2
|
import TelegramBot from './telegram_bot.js';
|
|
2
3
|
import TelegramExecutionContext from './telegram_execution_context.js';
|
|
3
4
|
import Webhook from './webhook.js';
|
|
4
5
|
import TelegramApi, { TelegramApiBaseParams, SendMessageParams, SendMessageDraftParams, SendPhotoParams, SendVideoParams, SendVoiceParams, SendChatActionParams, AnswerCallbackParams, AnswerInlineParams, AnswerGuestParams, SendInvoiceParams, AnswerPreCheckoutParams, TelegramApiParams } from './telegram_api.js';
|
|
5
6
|
import TelegramCommand from './types/TelegramCommand.js';
|
|
6
|
-
import TelegramFrom from './types/TelegramFrom.js';
|
|
7
|
-
import TelegramChat from './types/TelegramChat.js';
|
|
8
|
-
import TelegramUser from './types/TelegramUser.js';
|
|
9
|
-
import TelegramMessageEntity from './types/TelegramMessageEntity.js';
|
|
10
|
-
import TelegramPhotoSize from './types/TelegramPhotoSize.js';
|
|
11
|
-
import TelegramMessage from './types/TelegramMessage.js';
|
|
12
|
-
import { TelegramVoice } from './types/TelegramVoice.js';
|
|
13
7
|
import TelegramGuestMessage from './types/TelegramGuestMessage.js';
|
|
14
|
-
import TelegramInputMessageContent from './types/TelegramInputMessageContent.js';
|
|
15
|
-
import TelegramInlineQuery from './types/TelegramInlineQuery.js';
|
|
16
|
-
import TelegramUpdate from './types/TelegramUpdate.js';
|
|
17
8
|
import PartialTelegramUpdate from './types/PartialTelegramUpdate.js';
|
|
18
9
|
import TelegramInlineQueryType from './types/TelegramInlineQueryType.js';
|
|
19
|
-
import
|
|
20
|
-
import TelegramInlineQueryResultPhoto from './types/TelegramInlineQueryResultPhoto.js';
|
|
21
|
-
import TelegramInlineQueryResultArticle from './types/TelegramInlineQueryResultArticle.js';
|
|
22
|
-
import TelegramInlineQueryResultVideo from './types/TelegramInlineQueryResultVideo.js';
|
|
23
|
-
import TelegramInlineQueryResultVoice from './types/TelegramInlineQueryResultVoice.js';
|
|
24
|
-
import ChatPermissions from './types/ChatPermissions.js';
|
|
25
|
-
import TelegramBusinessMessage from './types/TelegramBusinessMessage.js';
|
|
26
|
-
import TelegramCallbackQuery from './types/TelegramCallbackQuery.js';
|
|
27
|
-
import TelegramPreCheckoutQuery from './types/TelegramPreCheckoutQuery.js';
|
|
28
|
-
import TelegramDocument from './types/TelegramDocument.js';
|
|
29
|
-
import TelegramSuccessfulPayment from './types/TelegramSuccessfulPayment.js';
|
|
10
|
+
import { markdownToHtml, fetchTool } from './utils.js';
|
|
30
11
|
export default TelegramBot;
|
|
31
|
-
export { TelegramBot, TelegramExecutionContext, Webhook, TelegramApi, TelegramApiBaseParams, SendMessageParams, SendMessageDraftParams, SendPhotoParams, SendVideoParams, SendVoiceParams, SendChatActionParams, AnswerCallbackParams, AnswerInlineParams, AnswerGuestParams, SendInvoiceParams, AnswerPreCheckoutParams, TelegramApiParams, TelegramCommand, TelegramFrom, TelegramChat, TelegramUser, TelegramMessageEntity, TelegramPhotoSize, TelegramMessage, TelegramVoice, TelegramGuestMessage, TelegramInputMessageContent, TelegramInlineQuery, TelegramUpdate, PartialTelegramUpdate, TelegramInlineQueryType, TelegramInlineQueryResult, TelegramInlineQueryResultPhoto, TelegramInlineQueryResultArticle, TelegramInlineQueryResultVideo, TelegramInlineQueryResultVoice, ChatPermissions, TelegramBusinessMessage, TelegramCallbackQuery, TelegramPreCheckoutQuery, TelegramDocument, TelegramSuccessfulPayment, };
|
|
12
|
+
export { TelegramBot, TelegramExecutionContext, Webhook, TelegramApi, TelegramApiBaseParams, SendMessageParams, SendMessageDraftParams, SendPhotoParams, SendVideoParams, SendVoiceParams, SendChatActionParams, AnswerCallbackParams, AnswerInlineParams, AnswerGuestParams, SendInvoiceParams, AnswerPreCheckoutParams, TelegramApiParams, TelegramCommand, TelegramFrom, TelegramChat, TelegramUser, TelegramMessageEntity, TelegramPhotoSize, TelegramMessage, TelegramVoice, TelegramGuestMessage, TelegramInputMessageContent, TelegramInlineQuery, TelegramUpdate, PartialTelegramUpdate, TelegramInlineQueryType, TelegramInlineQueryResult, TelegramInlineQueryResultPhoto, TelegramInlineQueryResultArticle, TelegramInlineQueryResultVideo, TelegramInlineQueryResultVoice, ChatPermissions, TelegramBusinessMessage, TelegramCallbackQuery, TelegramPreCheckoutQuery, TelegramDocument, TelegramSuccessfulPayment, markdownToHtml, fetchTool, };
|
package/dist/main.js
CHANGED
|
@@ -2,11 +2,6 @@ import TelegramBot from './telegram_bot.js';
|
|
|
2
2
|
import TelegramExecutionContext from './telegram_execution_context.js';
|
|
3
3
|
import Webhook from './webhook.js';
|
|
4
4
|
import TelegramApi from './telegram_api.js';
|
|
5
|
-
import
|
|
6
|
-
import TelegramInlineQueryResult from './types/TelegramInlineQueryResult.js';
|
|
7
|
-
import TelegramInlineQueryResultPhoto from './types/TelegramInlineQueryResultPhoto.js';
|
|
8
|
-
import TelegramInlineQueryResultArticle from './types/TelegramInlineQueryResultArticle.js';
|
|
9
|
-
import TelegramInlineQueryResultVideo from './types/TelegramInlineQueryResultVideo.js';
|
|
10
|
-
import TelegramInlineQueryResultVoice from './types/TelegramInlineQueryResultVoice.js';
|
|
5
|
+
import { markdownToHtml, fetchTool } from './utils.js';
|
|
11
6
|
export default TelegramBot;
|
|
12
|
-
export { TelegramBot, TelegramExecutionContext, Webhook, TelegramApi,
|
|
7
|
+
export { TelegramBot, TelegramExecutionContext, Webhook, TelegramApi, markdownToHtml, fetchTool, };
|
package/dist/telegram_api.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import TelegramInlineQueryResult from '
|
|
1
|
+
import { InlineQueryResult as TelegramInlineQueryResult } from '@grammyjs/types';
|
|
2
2
|
/** Interface for common Telegram API parameters */
|
|
3
3
|
export interface TelegramApiBaseParams {
|
|
4
4
|
chat_id: number | string;
|
package/dist/telegram_bot.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import TelegramUpdate from '
|
|
1
|
+
import { Update as TelegramUpdate } from '@grammyjs/types';
|
|
2
2
|
import TelegramExecutionContext from './telegram_execution_context.js';
|
|
3
3
|
import Webhook from './webhook.js';
|
|
4
4
|
/** Class representing a telegram bot. */
|
|
@@ -10,8 +10,7 @@ export default class TelegramBot {
|
|
|
10
10
|
/** The telegram webhook object */
|
|
11
11
|
webhook: Webhook;
|
|
12
12
|
/** The telegram update object */
|
|
13
|
-
update: TelegramUpdate;
|
|
14
|
-
/** The telegram commands record map */
|
|
13
|
+
update: TelegramUpdate; /** The telegram commands record map */
|
|
15
14
|
commands: Record<string, (ctx: TelegramExecutionContext) => Promise<Response | void>>;
|
|
16
15
|
/** Middleware functions to run before handlers */
|
|
17
16
|
middleware: ((ctx: TelegramExecutionContext) => Promise<Response | void>)[];
|
package/dist/telegram_bot.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import TelegramUpdate from './types/TelegramUpdate.js';
|
|
2
1
|
import TelegramExecutionContext from './telegram_execution_context.js';
|
|
3
2
|
import Webhook from './webhook.js';
|
|
4
3
|
/** Class representing a telegram bot. */
|
|
@@ -10,8 +9,7 @@ export default class TelegramBot {
|
|
|
10
9
|
/** The telegram webhook object */
|
|
11
10
|
webhook = new Webhook('', new Request('http://127.0.0.1'));
|
|
12
11
|
/** The telegram update object */
|
|
13
|
-
update =
|
|
14
|
-
/** The telegram commands record map */
|
|
12
|
+
update = { update_id: 0 }; /** The telegram commands record map */
|
|
15
13
|
commands = {};
|
|
16
14
|
/** Middleware functions to run before handlers */
|
|
17
15
|
middleware = [];
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
+
import { Update as TelegramUpdate, InlineQueryResult as TelegramInlineQueryResult } from '@grammyjs/types';
|
|
1
2
|
import TelegramApi from './telegram_api.js';
|
|
2
3
|
import TelegramBot from './telegram_bot.js';
|
|
3
|
-
import TelegramUpdate from './types/TelegramUpdate.js';
|
|
4
|
-
import TelegramInlineQueryResult from './types/TelegramInlineQueryResult.js';
|
|
5
4
|
/** Class representing the context of execution */
|
|
6
5
|
export default class TelegramExecutionContext {
|
|
7
6
|
/** an instance of the telegram bot */
|
|
@@ -1,8 +1,4 @@
|
|
|
1
1
|
import TelegramApi from './telegram_api.js';
|
|
2
|
-
import TelegramInlineQueryResultArticle from './types/TelegramInlineQueryResultArticle.js';
|
|
3
|
-
import TelegramInlineQueryResultPhoto from './types/TelegramInlineQueryResultPhoto.js';
|
|
4
|
-
import TelegramInlineQueryResultVideo from './types/TelegramInlineQueryResultVideo.js';
|
|
5
|
-
import TelegramInlineQueryResultVoice from './types/TelegramInlineQueryResultVoice.js';
|
|
6
2
|
/** Class representing the context of execution */
|
|
7
3
|
export default class TelegramExecutionContext {
|
|
8
4
|
/** an instance of the telegram bot */
|
|
@@ -45,7 +41,7 @@ export default class TelegramExecutionContext {
|
|
|
45
41
|
* @returns The user ID or undefined if not available
|
|
46
42
|
*/
|
|
47
43
|
get userId() {
|
|
48
|
-
return this.update.message?.from
|
|
44
|
+
return this.update.message?.from?.id ?? this.update.business_message?.from?.id ?? this.update.guest_message?.from?.id;
|
|
49
45
|
}
|
|
50
46
|
/**
|
|
51
47
|
* Parse arguments from the update
|
|
@@ -161,7 +157,7 @@ export default class TelegramExecutionContext {
|
|
|
161
157
|
...options,
|
|
162
158
|
chat_id: this.getChatId(),
|
|
163
159
|
message_thread_id: this.getThreadId(),
|
|
164
|
-
business_connection_id: this.update.business_message?.business_connection_id
|
|
160
|
+
business_connection_id: this.update.business_message?.business_connection_id?.toString() ?? '',
|
|
165
161
|
video,
|
|
166
162
|
});
|
|
167
163
|
case 'guest_message':
|
|
@@ -170,7 +166,7 @@ export default class TelegramExecutionContext {
|
|
|
170
166
|
return await this.api.answerInline(this.bot.api.toString(), {
|
|
171
167
|
...options,
|
|
172
168
|
inline_query_id: this.update.inline_query?.id.toString() ?? '',
|
|
173
|
-
results: [
|
|
169
|
+
results: [{ type: 'video', id: crypto.randomUUID(), video_url: video, mime_type: 'video/mp4', thumbnail_url: video, title: 'Video' }],
|
|
174
170
|
});
|
|
175
171
|
default:
|
|
176
172
|
return null;
|
|
@@ -209,7 +205,7 @@ export default class TelegramExecutionContext {
|
|
|
209
205
|
...options,
|
|
210
206
|
chat_id: this.getChatId(),
|
|
211
207
|
message_thread_id: this.getThreadId(),
|
|
212
|
-
business_connection_id: this.update.business_message?.business_connection_id
|
|
208
|
+
business_connection_id: this.update.business_message?.business_connection_id?.toString() ?? '',
|
|
213
209
|
photo,
|
|
214
210
|
caption,
|
|
215
211
|
});
|
|
@@ -218,7 +214,7 @@ export default class TelegramExecutionContext {
|
|
|
218
214
|
case 'inline':
|
|
219
215
|
return await this.api.answerInline(this.bot.api.toString(), {
|
|
220
216
|
inline_query_id: this.update.inline_query?.id.toString() ?? '',
|
|
221
|
-
results: [
|
|
217
|
+
results: [{ type: 'photo', id: crypto.randomUUID(), photo_url: photo, thumbnail_url: photo }],
|
|
222
218
|
});
|
|
223
219
|
default:
|
|
224
220
|
return null;
|
|
@@ -248,7 +244,7 @@ export default class TelegramExecutionContext {
|
|
|
248
244
|
...options,
|
|
249
245
|
chat_id: this.getChatId(),
|
|
250
246
|
message_thread_id: this.getThreadId(),
|
|
251
|
-
business_connection_id: this.update.business_message?.business_connection_id
|
|
247
|
+
business_connection_id: this.update.business_message?.business_connection_id?.toString() ?? '',
|
|
252
248
|
voice,
|
|
253
249
|
caption,
|
|
254
250
|
});
|
|
@@ -275,7 +271,7 @@ export default class TelegramExecutionContext {
|
|
|
275
271
|
});
|
|
276
272
|
case 'business_message':
|
|
277
273
|
return await this.api.sendChatAction(this.bot.api.toString(), {
|
|
278
|
-
business_connection_id: this.update.business_message?.business_connection_id
|
|
274
|
+
business_connection_id: this.update.business_message?.business_connection_id?.toString() ?? '',
|
|
279
275
|
chat_id: this.getChatId(),
|
|
280
276
|
message_thread_id: this.getThreadId(),
|
|
281
277
|
action: 'typing',
|
|
@@ -295,7 +291,7 @@ export default class TelegramExecutionContext {
|
|
|
295
291
|
if (this.update_type === 'inline') {
|
|
296
292
|
return await this.api.answerInline(this.bot.api.toString(), {
|
|
297
293
|
inline_query_id: this.update.inline_query?.id.toString() ?? '',
|
|
298
|
-
results: [
|
|
294
|
+
results: [{ type: 'article', id: crypto.randomUUID(), title: title ?? '', input_message_content: { message_text: message, parse_mode: parse_mode } }],
|
|
299
295
|
});
|
|
300
296
|
}
|
|
301
297
|
return null;
|
|
@@ -318,7 +314,7 @@ export default class TelegramExecutionContext {
|
|
|
318
314
|
* @returns Promise with the API response
|
|
319
315
|
*/
|
|
320
316
|
async answerGuestQueryText(message, parse_mode = '') {
|
|
321
|
-
return await this.answerGuestQuery(
|
|
317
|
+
return await this.answerGuestQuery({ type: 'article', id: crypto.randomUUID(), title: 'Response', input_message_content: { message_text: message, parse_mode: parse_mode } });
|
|
322
318
|
}
|
|
323
319
|
/**
|
|
324
320
|
* Answer a guest query with a photo
|
|
@@ -328,7 +324,7 @@ export default class TelegramExecutionContext {
|
|
|
328
324
|
* @returns Promise with the API response
|
|
329
325
|
*/
|
|
330
326
|
async answerGuestQueryPhoto(photo, caption = '', parse_mode = '') {
|
|
331
|
-
return await this.answerGuestQuery(
|
|
327
|
+
return await this.answerGuestQuery({ type: 'photo', id: crypto.randomUUID(), photo_url: photo, thumbnail_url: photo, caption, parse_mode: parse_mode });
|
|
332
328
|
}
|
|
333
329
|
/**
|
|
334
330
|
* Answer a guest query with a video
|
|
@@ -338,7 +334,7 @@ export default class TelegramExecutionContext {
|
|
|
338
334
|
* @returns Promise with the API response
|
|
339
335
|
*/
|
|
340
336
|
async answerGuestQueryVideo(video, caption = '', parse_mode = '') {
|
|
341
|
-
return await this.answerGuestQuery(
|
|
337
|
+
return await this.answerGuestQuery({ type: 'video', id: crypto.randomUUID(), video_url: video, mime_type: 'video/mp4', thumbnail_url: video, title: 'Video', caption, parse_mode: parse_mode });
|
|
342
338
|
}
|
|
343
339
|
/**
|
|
344
340
|
* Answer a guest query with a voice message
|
|
@@ -348,7 +344,7 @@ export default class TelegramExecutionContext {
|
|
|
348
344
|
* @returns Promise with the API response
|
|
349
345
|
*/
|
|
350
346
|
async answerGuestQueryVoice(voice, caption = '', parse_mode = '') {
|
|
351
|
-
return await this.answerGuestQuery(
|
|
347
|
+
return await this.answerGuestQuery({ type: 'voice', id: crypto.randomUUID(), voice_url: voice, title: 'Voice', caption, parse_mode: parse_mode });
|
|
352
348
|
}
|
|
353
349
|
/** Map of draft IDs to message IDs for streaming */
|
|
354
350
|
drafts = new Map();
|
|
@@ -362,7 +358,7 @@ export default class TelegramExecutionContext {
|
|
|
362
358
|
*/
|
|
363
359
|
async streamReply(message, draft_id, parse_mode = '', options = {}) {
|
|
364
360
|
const message_id = this.drafts.get(draft_id);
|
|
365
|
-
const business_connection_id = this.update.business_message?.business_connection_id
|
|
361
|
+
const business_connection_id = this.update.business_message?.business_connection_id?.toString();
|
|
366
362
|
if (message_id) {
|
|
367
363
|
return await this.api.editMessageText(this.bot.api.toString(), {
|
|
368
364
|
chat_id: this.getChatId(),
|
|
@@ -439,11 +435,11 @@ export default class TelegramExecutionContext {
|
|
|
439
435
|
chat_id: this.getChatId(),
|
|
440
436
|
message_thread_id: this.getThreadId(),
|
|
441
437
|
text: message,
|
|
442
|
-
business_connection_id: this.update.business_message?.business_connection_id
|
|
438
|
+
business_connection_id: this.update.business_message?.business_connection_id?.toString() ?? '',
|
|
443
439
|
parse_mode,
|
|
444
440
|
});
|
|
445
441
|
case 'callback':
|
|
446
|
-
if (this.update.callback_query?.message
|
|
442
|
+
if (this.update.callback_query?.message?.chat.id) {
|
|
447
443
|
return await this.api.sendMessage(this.bot.api.toString(), {
|
|
448
444
|
...options,
|
|
449
445
|
chat_id: this.update.callback_query.message.chat.id.toString(),
|
|
@@ -471,7 +467,7 @@ export default class TelegramExecutionContext {
|
|
|
471
467
|
return await this.api.sendInvoice(this.bot.api.toString(), {
|
|
472
468
|
chat_id: this.getChatId(),
|
|
473
469
|
message_thread_id: this.getThreadId(),
|
|
474
|
-
business_connection_id: this.update.business_message?.business_connection_id
|
|
470
|
+
business_connection_id: this.update.business_message?.business_connection_id?.toString(),
|
|
475
471
|
title,
|
|
476
472
|
description,
|
|
477
473
|
payload,
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import TelegramBusinessMessage from '
|
|
2
|
-
import TelegramInlineQuery from '
|
|
3
|
-
import TelegramMessage from '
|
|
1
|
+
import { Message as TelegramBusinessMessage } from '@grammyjs/types';
|
|
2
|
+
import { InlineQuery as TelegramInlineQuery } from '@grammyjs/types';
|
|
3
|
+
import { Message as TelegramMessage } from '@grammyjs/types';
|
|
4
4
|
import TelegramGuestMessage from './TelegramGuestMessage.js';
|
|
5
|
-
import TelegramPreCheckoutQuery from '
|
|
6
|
-
import TelegramCallbackQuery from '
|
|
7
|
-
import TelegramBusinessConnection from '
|
|
5
|
+
import { PreCheckoutQuery as TelegramPreCheckoutQuery } from '@grammyjs/types';
|
|
6
|
+
import { CallbackQuery as TelegramCallbackQuery } from '@grammyjs/types';
|
|
7
|
+
import { BusinessConnection as TelegramBusinessConnection } from '@grammyjs/types';
|
|
8
8
|
interface PartialTelegramUpdate {
|
|
9
9
|
update_id?: number;
|
|
10
10
|
message?: TelegramMessage;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import TelegramBot from '../telegram_bot.js';
|
|
2
|
-
import TelegramUpdate from '
|
|
2
|
+
import { Update as TelegramUpdate } from '@grammyjs/types';
|
|
3
3
|
type TelegramCommand = (bot: TelegramBot, update: TelegramUpdate, args: string[]) => Promise<Response>;
|
|
4
4
|
export default TelegramCommand;
|
package/dist/types.d.ts
CHANGED
|
@@ -1,22 +1,10 @@
|
|
|
1
|
+
import { Chat as TelegramChat, User as TelegramUser, User as TelegramFrom, MessageEntity as TelegramMessageEntity, PhotoSize as TelegramPhotoSize, Message as TelegramMessage, InputMessageContent as TelegramInputMessageContent, InlineQuery as TelegramInlineQuery, Update as TelegramUpdate, InlineQueryResult as TelegramInlineQueryResult, InlineQueryResultPhoto as TelegramInlineQueryResultPhoto, InlineQueryResultArticle as TelegramInlineQueryResultArticle, ChatPermissions as ChatPermissions } from '@grammyjs/types';
|
|
1
2
|
import TelegramBot from './telegram_bot.js';
|
|
2
3
|
import TelegramExecutionContext from './telegram_execution_context.js';
|
|
3
4
|
import Webhook from './webhook.js';
|
|
4
5
|
import TelegramApi from './telegram_api.js';
|
|
5
6
|
import TelegramCommand from './types/TelegramCommand.js';
|
|
6
|
-
import TelegramFrom from './types/TelegramFrom.js';
|
|
7
|
-
import TelegramChat from './types/TelegramChat.js';
|
|
8
|
-
import TelegramUser from './types/TelegramUser.js';
|
|
9
|
-
import TelegramMessageEntity from './types/TelegramMessageEntity.js';
|
|
10
|
-
import TelegramPhotoSize from './types/TelegramPhotoSize.js';
|
|
11
|
-
import TelegramMessage from './types/TelegramMessage.js';
|
|
12
|
-
import TelegramInputMessageContent from './types/TelegramInputMessageContent.js';
|
|
13
|
-
import TelegramInlineQuery from './types/TelegramInlineQuery.js';
|
|
14
|
-
import TelegramUpdate from './types/TelegramUpdate.js';
|
|
15
7
|
import PartialTelegramUpdate from './types/PartialTelegramUpdate.js';
|
|
16
8
|
import TelegramInlineQueryType from './types/TelegramInlineQueryType.js';
|
|
17
|
-
import TelegramInlineQueryResult from './types/TelegramInlineQueryResult.js';
|
|
18
|
-
import TelegramInlineQueryResultPhoto from './types/TelegramInlineQueryResultPhoto.js';
|
|
19
|
-
import TelegramInlineQueryResultArticle from './types/TelegramInlineQueryResultArticle.js';
|
|
20
|
-
import ChatPermissions from './types/ChatPermissions.js';
|
|
21
9
|
export default TelegramBot;
|
|
22
10
|
export { TelegramBot, TelegramExecutionContext, Webhook, TelegramApi, TelegramCommand, TelegramFrom, TelegramChat, TelegramUser, TelegramMessageEntity, TelegramPhotoSize, TelegramMessage, TelegramInputMessageContent, TelegramInlineQuery, TelegramUpdate, PartialTelegramUpdate, TelegramInlineQueryType, TelegramInlineQueryResult, TelegramInlineQueryResultPhoto, TelegramInlineQueryResultArticle, ChatPermissions, };
|
package/dist/types.js
CHANGED
|
@@ -2,9 +2,5 @@ import TelegramBot from './telegram_bot.js';
|
|
|
2
2
|
import TelegramExecutionContext from './telegram_execution_context.js';
|
|
3
3
|
import Webhook from './webhook.js';
|
|
4
4
|
import TelegramApi from './telegram_api.js';
|
|
5
|
-
import TelegramUpdate from './types/TelegramUpdate.js';
|
|
6
|
-
import TelegramInlineQueryResult from './types/TelegramInlineQueryResult.js';
|
|
7
|
-
import TelegramInlineQueryResultPhoto from './types/TelegramInlineQueryResultPhoto.js';
|
|
8
|
-
import TelegramInlineQueryResultArticle from './types/TelegramInlineQueryResultArticle.js';
|
|
9
5
|
export default TelegramBot;
|
|
10
|
-
export { TelegramBot, TelegramExecutionContext, Webhook, TelegramApi,
|
|
6
|
+
export { TelegramBot, TelegramExecutionContext, Webhook, TelegramApi, };
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export declare function markdownToHtml(s: string): Promise<string>;
|
|
2
|
+
export declare const fetchTool: {
|
|
3
|
+
name: string;
|
|
4
|
+
description: string;
|
|
5
|
+
parameters: {
|
|
6
|
+
type: string;
|
|
7
|
+
properties: {
|
|
8
|
+
url: {
|
|
9
|
+
type: string;
|
|
10
|
+
description: string;
|
|
11
|
+
};
|
|
12
|
+
method: {
|
|
13
|
+
type: string;
|
|
14
|
+
enum: string[];
|
|
15
|
+
default: string;
|
|
16
|
+
};
|
|
17
|
+
headers: {
|
|
18
|
+
type: string;
|
|
19
|
+
description: string;
|
|
20
|
+
};
|
|
21
|
+
body: {
|
|
22
|
+
type: string;
|
|
23
|
+
description: string;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
required: string[];
|
|
27
|
+
};
|
|
28
|
+
function: ({ url, method, headers, body }: {
|
|
29
|
+
url: string;
|
|
30
|
+
method?: string;
|
|
31
|
+
headers?: Record<string, string>;
|
|
32
|
+
body?: string;
|
|
33
|
+
}) => Promise<string>;
|
|
34
|
+
};
|
package/dist/utils.js
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { marked } from 'marked';
|
|
2
|
+
export async function markdownToHtml(s) {
|
|
3
|
+
const renderer = new marked.Renderer();
|
|
4
|
+
// Telegram supports: b, strong, i, em, u, ins, s, strike, del, span, tg-spoiler, a, code, pre, blockquote
|
|
5
|
+
renderer.heading = ({ tokens, depth }) => {
|
|
6
|
+
const text = renderer.parser.parseInline(tokens);
|
|
7
|
+
if (depth === 1) {
|
|
8
|
+
return `<b>${text}</b>\n\n`;
|
|
9
|
+
}
|
|
10
|
+
if (depth === 2) {
|
|
11
|
+
return `<b>${text}</b>\n\n`;
|
|
12
|
+
}
|
|
13
|
+
return `<b>${text}</b>\n\n`;
|
|
14
|
+
};
|
|
15
|
+
renderer.paragraph = ({ tokens }) => {
|
|
16
|
+
const text = renderer.parser.parseInline(tokens);
|
|
17
|
+
return `${text}\n\n`;
|
|
18
|
+
};
|
|
19
|
+
renderer.br = () => '\n';
|
|
20
|
+
renderer.list = ({ items, ordered, start }) => {
|
|
21
|
+
let result = '';
|
|
22
|
+
for (let i = 0; i < items.length; i++) {
|
|
23
|
+
const item = items[i];
|
|
24
|
+
const prefix = ordered ? `${(start !== '' && start !== undefined) ? Number(start) + i : i + 1}. ` : '• ';
|
|
25
|
+
result += `${prefix}${renderer.listitem(item)}\n`;
|
|
26
|
+
}
|
|
27
|
+
return result;
|
|
28
|
+
};
|
|
29
|
+
renderer.listitem = (item) => {
|
|
30
|
+
return renderer.parser.parseInline(item.tokens);
|
|
31
|
+
};
|
|
32
|
+
renderer.strong = ({ tokens }) => `<b>${renderer.parser.parseInline(tokens)}</b>`;
|
|
33
|
+
renderer.em = ({ tokens }) => `<i>${renderer.parser.parseInline(tokens)}</i>`;
|
|
34
|
+
renderer.codespan = ({ text }) => `<code>${text}</code>`;
|
|
35
|
+
renderer.code = ({ text, lang }) => {
|
|
36
|
+
if (lang) {
|
|
37
|
+
return `<pre><code class="language-${lang}">${text}</code></pre>\n`;
|
|
38
|
+
}
|
|
39
|
+
return `<pre><code>${text}</code></pre>\n`;
|
|
40
|
+
};
|
|
41
|
+
renderer.del = ({ tokens }) => `<s>${renderer.parser.parseInline(tokens)}</s>`;
|
|
42
|
+
renderer.link = ({ href, tokens }) => `<a href="${href}">${renderer.parser.parseInline(tokens)}</a>`;
|
|
43
|
+
renderer.image = ({ href, text }) => `<a href="${href}">${text}</a>`;
|
|
44
|
+
renderer.blockquote = ({ tokens }) => {
|
|
45
|
+
return `<blockquote>${renderer.parser.parse(tokens)}</blockquote>\n`;
|
|
46
|
+
};
|
|
47
|
+
renderer.hr = () => `────────\n\n`;
|
|
48
|
+
// html tag pass-through for supported tags or escaping
|
|
49
|
+
renderer.html = ({ text }) => {
|
|
50
|
+
const allowedTags = [
|
|
51
|
+
'b', 'strong', 'i', 'em', 'u', 'ins', 's', 'strike', 'del',
|
|
52
|
+
'span', 'tg-spoiler', 'a', 'code', 'pre', 'blockquote'
|
|
53
|
+
];
|
|
54
|
+
const match = /^<\/?([a-z0-9-]+)(?:\s+[^>]*)?>/i.exec(text);
|
|
55
|
+
if (match) {
|
|
56
|
+
const tagName = match[1].toLowerCase();
|
|
57
|
+
if (allowedTags.includes(tagName)) {
|
|
58
|
+
return text; // Allow through
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
// Escape everything else
|
|
62
|
+
return text.replace(/</g, '<').replace(/>/g, '>');
|
|
63
|
+
};
|
|
64
|
+
renderer.text = (token) => {
|
|
65
|
+
if ('tokens' in token && token.tokens) {
|
|
66
|
+
return renderer.parser.parseInline(token.tokens);
|
|
67
|
+
}
|
|
68
|
+
// Escape standard HTML entities
|
|
69
|
+
return token.text.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');
|
|
70
|
+
};
|
|
71
|
+
marked.setOptions({
|
|
72
|
+
gfm: true,
|
|
73
|
+
breaks: true,
|
|
74
|
+
});
|
|
75
|
+
const parsed = await marked.parse(s, { renderer });
|
|
76
|
+
// Trim multiple newlines
|
|
77
|
+
return parsed.replace(/\n{3,}/g, '\n\n').trim();
|
|
78
|
+
}
|
|
79
|
+
export const fetchTool = {
|
|
80
|
+
name: 'fetch',
|
|
81
|
+
description: 'Make an HTTP request to fetch a website or API, returning the HTML or JSON. You MUST use this tool when the user asks to fetch a URL, visit a website, or make a GET request, instead of writing code.',
|
|
82
|
+
parameters: {
|
|
83
|
+
type: 'object',
|
|
84
|
+
properties: {
|
|
85
|
+
url: { type: 'string', description: 'The URL to fetch' },
|
|
86
|
+
method: { type: 'string', enum: ['GET', 'POST', 'PUT', 'DELETE'], default: 'GET' },
|
|
87
|
+
headers: { type: 'object', description: 'HTTP headers to include in the request' },
|
|
88
|
+
body: { type: 'string', description: 'The request body' }
|
|
89
|
+
},
|
|
90
|
+
required: ['url']
|
|
91
|
+
},
|
|
92
|
+
function: async ({ url, method, headers, body }) => {
|
|
93
|
+
try {
|
|
94
|
+
const res = await fetch(url, {
|
|
95
|
+
method: method || 'GET',
|
|
96
|
+
headers: {
|
|
97
|
+
'User-Agent': 'Mozilla/5.0 (Cloudflare Worker Telegram Bot)',
|
|
98
|
+
...headers
|
|
99
|
+
},
|
|
100
|
+
body: body ? (typeof body === 'string' ? body : JSON.stringify(body)) : undefined
|
|
101
|
+
});
|
|
102
|
+
const text = await res.text();
|
|
103
|
+
return text.slice(0, 10000);
|
|
104
|
+
}
|
|
105
|
+
catch (e) {
|
|
106
|
+
return `Error executing fetch: ${String(e)}`;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
};
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codebam/cf-workers-telegram-bot",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.18.0",
|
|
4
4
|
"description": "serverless telegram bot on cf workers",
|
|
5
5
|
"main": "./dist/main.js",
|
|
6
6
|
"module": "./dist/main.js",
|
|
7
|
-
"types": "./dist/
|
|
7
|
+
"types": "./dist/main.d.ts",
|
|
8
8
|
"files": [
|
|
9
9
|
"dist",
|
|
10
10
|
"LICENSE",
|
|
@@ -17,7 +17,6 @@
|
|
|
17
17
|
"webhook"
|
|
18
18
|
],
|
|
19
19
|
"type": "module",
|
|
20
|
-
"private": false,
|
|
21
20
|
"publishConfig": {
|
|
22
21
|
"access": "public"
|
|
23
22
|
},
|
|
@@ -53,7 +52,9 @@
|
|
|
53
52
|
"wrangler": "^4.90.1"
|
|
54
53
|
},
|
|
55
54
|
"dependencies": {
|
|
56
|
-
"@eslint/eslintrc": "^3.3.5"
|
|
55
|
+
"@eslint/eslintrc": "^3.3.5",
|
|
56
|
+
"@grammyjs/types": "^3.27.2",
|
|
57
|
+
"marked": "^18.0.3"
|
|
57
58
|
},
|
|
58
59
|
"typedocOptions": {
|
|
59
60
|
"entryPoints": [
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
interface ChatPermissions {
|
|
2
|
-
can_send_messages?: boolean;
|
|
3
|
-
can_send_audios?: boolean;
|
|
4
|
-
can_send_documents?: boolean;
|
|
5
|
-
can_send_photos?: boolean;
|
|
6
|
-
can_send_videos?: boolean;
|
|
7
|
-
can_send_video_notes?: boolean;
|
|
8
|
-
can_send_voice_notes?: boolean;
|
|
9
|
-
can_send_polls?: boolean;
|
|
10
|
-
can_send_other_messages?: boolean;
|
|
11
|
-
can_add_web_page_previews?: boolean;
|
|
12
|
-
can_change_info?: boolean;
|
|
13
|
-
can_invite_users?: boolean;
|
|
14
|
-
can_pin_messages?: boolean;
|
|
15
|
-
can_manage_topics?: boolean;
|
|
16
|
-
}
|
|
17
|
-
export default ChatPermissions;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import TelegramChat from './TelegramChat.js';
|
|
2
|
-
import { TelegramDocument } from './TelegramDocument.js';
|
|
3
|
-
import TelegramFrom from './TelegramFrom.js';
|
|
4
|
-
import TelegramMessageEntity from './TelegramMessageEntity.js';
|
|
5
|
-
import TelegramPhotoSize from './TelegramPhotoSize.js';
|
|
6
|
-
import TelegramUser from './TelegramUser.js';
|
|
7
|
-
import TelegramMessage from './TelegramMessage.js';
|
|
8
|
-
interface TelegramBusinessMessage {
|
|
9
|
-
message_id: number;
|
|
10
|
-
business_connection_id: string;
|
|
11
|
-
from: TelegramFrom;
|
|
12
|
-
sender_chat?: TelegramChat;
|
|
13
|
-
date: number;
|
|
14
|
-
chat: TelegramChat;
|
|
15
|
-
forward_from?: TelegramUser;
|
|
16
|
-
forward_from_chat?: TelegramChat;
|
|
17
|
-
forward_from_message_id?: number;
|
|
18
|
-
forward_signature?: string;
|
|
19
|
-
forward_sender_name?: string;
|
|
20
|
-
forward_date?: number;
|
|
21
|
-
is_automatic_forward?: boolean;
|
|
22
|
-
reply_to_message?: TelegramMessage;
|
|
23
|
-
via_bot?: TelegramUser;
|
|
24
|
-
edit_date?: number;
|
|
25
|
-
has_protected_content?: boolean;
|
|
26
|
-
media_group_id?: string;
|
|
27
|
-
author_signature?: string;
|
|
28
|
-
text?: string;
|
|
29
|
-
entities?: TelegramMessageEntity[];
|
|
30
|
-
document?: TelegramDocument;
|
|
31
|
-
photo?: TelegramPhotoSize[];
|
|
32
|
-
caption?: string;
|
|
33
|
-
caption_entities?: TelegramMessageEntity[];
|
|
34
|
-
new_chat_members?: TelegramUser[];
|
|
35
|
-
new_chat_member?: TelegramUser;
|
|
36
|
-
left_chat_member?: TelegramUser;
|
|
37
|
-
new_chat_title?: string;
|
|
38
|
-
delete_chat_photo?: boolean;
|
|
39
|
-
group_chat_created?: boolean;
|
|
40
|
-
supergroup_chat_created?: boolean;
|
|
41
|
-
channel_chat_created?: boolean;
|
|
42
|
-
migrate_to_chat_id?: number;
|
|
43
|
-
migrate_from_chat_id?: number;
|
|
44
|
-
pinned_message?: TelegramMessage;
|
|
45
|
-
connected_website?: string;
|
|
46
|
-
}
|
|
47
|
-
export default TelegramBusinessMessage;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import TelegramFrom from './TelegramFrom.js';
|
|
2
|
-
import TelegramMessage from './TelegramMessage.js';
|
|
3
|
-
interface TelegramCallbackQuery {
|
|
4
|
-
chat_type: 'sender' | 'private' | 'group' | 'supergroup' | 'channel';
|
|
5
|
-
from: TelegramFrom;
|
|
6
|
-
id: number;
|
|
7
|
-
offset: string;
|
|
8
|
-
query: string;
|
|
9
|
-
message: TelegramMessage;
|
|
10
|
-
inline_message_id: string;
|
|
11
|
-
chat_instance: string;
|
|
12
|
-
data: string;
|
|
13
|
-
game_short_name: string;
|
|
14
|
-
}
|
|
15
|
-
export default TelegramCallbackQuery;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import TelegramMessage from './TelegramMessage.js';
|
|
2
|
-
interface TelegramChat {
|
|
3
|
-
id: number;
|
|
4
|
-
type: string;
|
|
5
|
-
title?: string;
|
|
6
|
-
username?: string;
|
|
7
|
-
first_name?: string;
|
|
8
|
-
last_name?: string;
|
|
9
|
-
bio?: string;
|
|
10
|
-
has_private_forwards: boolean;
|
|
11
|
-
description?: string;
|
|
12
|
-
invite_link?: string;
|
|
13
|
-
pinned_message?: TelegramMessage;
|
|
14
|
-
slow_mode_delay?: number;
|
|
15
|
-
message_auto_delete_time?: number;
|
|
16
|
-
has_protected_content?: boolean;
|
|
17
|
-
sticker_set_name?: string;
|
|
18
|
-
can_set_sticker_set?: boolean;
|
|
19
|
-
linked_chat_id?: number;
|
|
20
|
-
}
|
|
21
|
-
export default TelegramChat;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import TelegramPhotoSize from './TelegramPhotoSize.js';
|
|
2
|
-
export interface TelegramDocument {
|
|
3
|
-
file_name: string;
|
|
4
|
-
mime_type: string;
|
|
5
|
-
thumbnail: TelegramPhotoSize;
|
|
6
|
-
file_id: string;
|
|
7
|
-
file_unique_id: string;
|
|
8
|
-
file_size: number;
|
|
9
|
-
}
|
|
10
|
-
export default TelegramDocument;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import TelegramFrom from './TelegramFrom.js';
|
|
2
|
-
interface TelegramInlineQuery {
|
|
3
|
-
chat_type: 'sender' | 'private' | 'group' | 'supergroup' | 'channel';
|
|
4
|
-
from: TelegramFrom;
|
|
5
|
-
id: number;
|
|
6
|
-
offset: string;
|
|
7
|
-
query: string;
|
|
8
|
-
}
|
|
9
|
-
export default TelegramInlineQuery;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import TelegramInlineQueryResult from './TelegramInlineQueryResult.js';
|
|
2
|
-
import TelegramInputMessageContent from './TelegramInputMessageContent.js';
|
|
3
|
-
export default class TelegramInlineQueryResultArticle extends TelegramInlineQueryResult {
|
|
4
|
-
title: string;
|
|
5
|
-
input_message_content: TelegramInputMessageContent;
|
|
6
|
-
thumb_url: string;
|
|
7
|
-
constructor(data: {
|
|
8
|
-
content: string;
|
|
9
|
-
title?: string;
|
|
10
|
-
parse_mode?: string;
|
|
11
|
-
thumb_url?: string;
|
|
12
|
-
});
|
|
13
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import TelegramInlineQueryResult from './TelegramInlineQueryResult.js';
|
|
2
|
-
export default class TelegramInlineQueryResultArticle extends TelegramInlineQueryResult {
|
|
3
|
-
title;
|
|
4
|
-
input_message_content;
|
|
5
|
-
thumb_url;
|
|
6
|
-
constructor(data) {
|
|
7
|
-
super('article');
|
|
8
|
-
this.title = data.title ?? '';
|
|
9
|
-
this.input_message_content = {
|
|
10
|
-
message_text: data.content,
|
|
11
|
-
parse_mode: data.parse_mode ?? '',
|
|
12
|
-
};
|
|
13
|
-
this.thumb_url = data.thumb_url ?? '';
|
|
14
|
-
}
|
|
15
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import TelegramInlineQueryResult from './TelegramInlineQueryResult.js';
|
|
2
|
-
import TelegramInputMessageContent from './TelegramInputMessageContent.js';
|
|
3
|
-
export default class TelegramInlineQueryResultPhoto extends TelegramInlineQueryResult {
|
|
4
|
-
photo_url: string;
|
|
5
|
-
thumb_url: string;
|
|
6
|
-
photo_width?: number;
|
|
7
|
-
photo_height?: number;
|
|
8
|
-
title?: string;
|
|
9
|
-
description?: string;
|
|
10
|
-
caption?: string;
|
|
11
|
-
parse_mode?: string;
|
|
12
|
-
caption_entities?: string;
|
|
13
|
-
input_message_content?: TelegramInputMessageContent;
|
|
14
|
-
constructor(data: {
|
|
15
|
-
photo: string;
|
|
16
|
-
caption?: string;
|
|
17
|
-
parse_mode?: string;
|
|
18
|
-
title?: string;
|
|
19
|
-
description?: string;
|
|
20
|
-
});
|
|
21
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import TelegramInlineQueryResult from './TelegramInlineQueryResult.js';
|
|
2
|
-
export default class TelegramInlineQueryResultPhoto extends TelegramInlineQueryResult {
|
|
3
|
-
photo_url; // must be a jpg
|
|
4
|
-
thumb_url;
|
|
5
|
-
photo_width;
|
|
6
|
-
photo_height;
|
|
7
|
-
title;
|
|
8
|
-
description;
|
|
9
|
-
caption;
|
|
10
|
-
parse_mode;
|
|
11
|
-
caption_entities;
|
|
12
|
-
// reply_markup?: TelegramInlineKeyboardMarkup;
|
|
13
|
-
input_message_content;
|
|
14
|
-
constructor(data) {
|
|
15
|
-
super('photo');
|
|
16
|
-
this.photo_url = data.photo;
|
|
17
|
-
this.thumb_url = data.photo;
|
|
18
|
-
this.caption = data.caption;
|
|
19
|
-
this.parse_mode = data.parse_mode;
|
|
20
|
-
this.title = data.title;
|
|
21
|
-
this.description = data.description;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import TelegramInlineQueryResult from './TelegramInlineQueryResult.js';
|
|
2
|
-
import TelegramInputMessageContent from './TelegramInputMessageContent.js';
|
|
3
|
-
export default class TelegramInlineQueryResultVideo extends TelegramInlineQueryResult {
|
|
4
|
-
video_url: string;
|
|
5
|
-
mime_type: string;
|
|
6
|
-
thumb_url: string;
|
|
7
|
-
title: string;
|
|
8
|
-
caption?: string;
|
|
9
|
-
parse_mode?: string;
|
|
10
|
-
video_width?: number;
|
|
11
|
-
video_height?: number;
|
|
12
|
-
video_duration?: number;
|
|
13
|
-
description?: string;
|
|
14
|
-
input_message_content?: TelegramInputMessageContent;
|
|
15
|
-
constructor(data: {
|
|
16
|
-
video: string;
|
|
17
|
-
title?: string;
|
|
18
|
-
caption?: string;
|
|
19
|
-
parse_mode?: string;
|
|
20
|
-
});
|
|
21
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import TelegramInlineQueryResult from './TelegramInlineQueryResult.js';
|
|
2
|
-
export default class TelegramInlineQueryResultVideo extends TelegramInlineQueryResult {
|
|
3
|
-
video_url;
|
|
4
|
-
mime_type;
|
|
5
|
-
thumb_url;
|
|
6
|
-
title;
|
|
7
|
-
caption;
|
|
8
|
-
parse_mode;
|
|
9
|
-
video_width;
|
|
10
|
-
video_height;
|
|
11
|
-
video_duration;
|
|
12
|
-
description;
|
|
13
|
-
input_message_content;
|
|
14
|
-
constructor(data) {
|
|
15
|
-
super('video');
|
|
16
|
-
this.video_url = data.video;
|
|
17
|
-
this.mime_type = 'video/mp4';
|
|
18
|
-
this.thumb_url = data.video;
|
|
19
|
-
this.title = data.title ?? 'Video';
|
|
20
|
-
this.caption = data.caption;
|
|
21
|
-
this.parse_mode = data.parse_mode;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import TelegramInlineQueryResult from './TelegramInlineQueryResult.js';
|
|
2
|
-
export default class TelegramInlineQueryResultVoice extends TelegramInlineQueryResult {
|
|
3
|
-
voice_url: string;
|
|
4
|
-
title: string;
|
|
5
|
-
caption?: string;
|
|
6
|
-
parse_mode?: string;
|
|
7
|
-
constructor(data: {
|
|
8
|
-
voice: string;
|
|
9
|
-
title?: string;
|
|
10
|
-
caption?: string;
|
|
11
|
-
parse_mode?: string;
|
|
12
|
-
});
|
|
13
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import TelegramInlineQueryResult from './TelegramInlineQueryResult.js';
|
|
2
|
-
export default class TelegramInlineQueryResultVoice extends TelegramInlineQueryResult {
|
|
3
|
-
voice_url;
|
|
4
|
-
title;
|
|
5
|
-
caption;
|
|
6
|
-
parse_mode;
|
|
7
|
-
constructor(data) {
|
|
8
|
-
super('voice');
|
|
9
|
-
this.voice_url = data.voice;
|
|
10
|
-
this.title = data.title ?? 'Voice';
|
|
11
|
-
this.caption = data.caption;
|
|
12
|
-
this.parse_mode = data.parse_mode;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import TelegramChat from './TelegramChat.js';
|
|
2
|
-
import { TelegramDocument } from './TelegramDocument.js';
|
|
3
|
-
import TelegramFrom from './TelegramFrom.js';
|
|
4
|
-
import TelegramMessageEntity from './TelegramMessageEntity.js';
|
|
5
|
-
import TelegramPhotoSize from './TelegramPhotoSize.js';
|
|
6
|
-
import TelegramUser from './TelegramUser.js';
|
|
7
|
-
import TelegramSuccessfulPayment from './TelegramSuccessfulPayment.js';
|
|
8
|
-
import { TelegramVoice } from './TelegramVoice.js';
|
|
9
|
-
interface TelegramMessage {
|
|
10
|
-
message_id: number;
|
|
11
|
-
message_thread_id?: number;
|
|
12
|
-
from: TelegramFrom;
|
|
13
|
-
sender_chat?: TelegramChat;
|
|
14
|
-
date: number;
|
|
15
|
-
chat: TelegramChat;
|
|
16
|
-
forward_from?: TelegramUser;
|
|
17
|
-
forward_from_chat?: TelegramChat;
|
|
18
|
-
forward_from_message_id?: number;
|
|
19
|
-
forward_signature?: string;
|
|
20
|
-
forward_sender_name?: string;
|
|
21
|
-
forward_date?: number;
|
|
22
|
-
is_automatic_forward?: boolean;
|
|
23
|
-
reply_to_message?: TelegramMessage;
|
|
24
|
-
via_bot?: TelegramUser;
|
|
25
|
-
edit_date?: number;
|
|
26
|
-
has_protected_content?: boolean;
|
|
27
|
-
media_group_id?: string;
|
|
28
|
-
author_signature?: string;
|
|
29
|
-
text?: string;
|
|
30
|
-
entities?: TelegramMessageEntity[];
|
|
31
|
-
document?: TelegramDocument;
|
|
32
|
-
photo?: TelegramPhotoSize[];
|
|
33
|
-
voice?: TelegramVoice;
|
|
34
|
-
caption?: string;
|
|
35
|
-
caption_entities?: TelegramMessageEntity[];
|
|
36
|
-
new_chat_members?: TelegramUser[];
|
|
37
|
-
new_chat_member?: TelegramUser;
|
|
38
|
-
left_chat_member?: TelegramUser;
|
|
39
|
-
new_chat_title?: string;
|
|
40
|
-
delete_chat_photo?: boolean;
|
|
41
|
-
group_chat_created?: boolean;
|
|
42
|
-
supergroup_chat_created?: boolean;
|
|
43
|
-
channel_chat_created?: boolean;
|
|
44
|
-
migrate_to_chat_id?: number;
|
|
45
|
-
migrate_from_chat_id?: number;
|
|
46
|
-
pinned_message?: TelegramMessage;
|
|
47
|
-
successful_payment?: TelegramSuccessfulPayment;
|
|
48
|
-
connected_website?: string;
|
|
49
|
-
guest_bot_caller_user?: TelegramUser;
|
|
50
|
-
guest_bot_caller_chat?: TelegramChat;
|
|
51
|
-
guest_query_id?: string;
|
|
52
|
-
}
|
|
53
|
-
export default TelegramMessage;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import TelegramUser from './TelegramUser.js';
|
|
2
|
-
interface TelegramPreCheckoutQuery {
|
|
3
|
-
id: string;
|
|
4
|
-
from: TelegramUser;
|
|
5
|
-
currency: string;
|
|
6
|
-
total_amount: number;
|
|
7
|
-
invoice_payload: string;
|
|
8
|
-
shipping_option_id?: string;
|
|
9
|
-
order_info?: {
|
|
10
|
-
name?: string;
|
|
11
|
-
phone_number?: string;
|
|
12
|
-
email?: string;
|
|
13
|
-
shipping_address?: {
|
|
14
|
-
country_code: string;
|
|
15
|
-
state: string;
|
|
16
|
-
city: string;
|
|
17
|
-
street_line1: string;
|
|
18
|
-
street_line2: string;
|
|
19
|
-
post_code: string;
|
|
20
|
-
};
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
export default TelegramPreCheckoutQuery;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
interface TelegramSuccessfulPayment {
|
|
2
|
-
currency: string;
|
|
3
|
-
total_amount: number;
|
|
4
|
-
invoice_payload: string;
|
|
5
|
-
shipping_option_id?: string;
|
|
6
|
-
order_info?: {
|
|
7
|
-
name?: string;
|
|
8
|
-
phone_number?: string;
|
|
9
|
-
email?: string;
|
|
10
|
-
shipping_address?: {
|
|
11
|
-
country_code: string;
|
|
12
|
-
state: string;
|
|
13
|
-
city: string;
|
|
14
|
-
street_line1: string;
|
|
15
|
-
street_line2: string;
|
|
16
|
-
post_code: string;
|
|
17
|
-
};
|
|
18
|
-
};
|
|
19
|
-
telegram_payment_charge_id: string;
|
|
20
|
-
provider_payment_charge_id: string;
|
|
21
|
-
}
|
|
22
|
-
export default TelegramSuccessfulPayment;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import TelegramInlineQuery from './TelegramInlineQuery.js';
|
|
2
|
-
import TelegramMessage from './TelegramMessage.js';
|
|
3
|
-
import PartialTelegramUpdate from './PartialTelegramUpdate.js';
|
|
4
|
-
import TelegramCallbackQuery from './TelegramCallbackQuery.js';
|
|
5
|
-
import TelegramBusinessMessage from './TelegramBusinessMessage.js';
|
|
6
|
-
import TelegramGuestMessage from './TelegramGuestMessage.js';
|
|
7
|
-
import TelegramPreCheckoutQuery from './TelegramPreCheckoutQuery.js';
|
|
8
|
-
import TelegramBusinessConnection from './TelegramBusinessConnection.js';
|
|
9
|
-
export default class TelegramUpdate {
|
|
10
|
-
update_id: number;
|
|
11
|
-
message?: TelegramMessage;
|
|
12
|
-
edited_message?: TelegramMessage;
|
|
13
|
-
channel_post?: TelegramMessage;
|
|
14
|
-
edited_channel_post?: TelegramMessage;
|
|
15
|
-
inline_query?: TelegramInlineQuery;
|
|
16
|
-
callback_query?: TelegramCallbackQuery;
|
|
17
|
-
business_message?: TelegramBusinessMessage;
|
|
18
|
-
guest_message?: TelegramGuestMessage;
|
|
19
|
-
pre_checkout_query?: TelegramPreCheckoutQuery;
|
|
20
|
-
business_connection?: TelegramBusinessConnection;
|
|
21
|
-
constructor(update: PartialTelegramUpdate);
|
|
22
|
-
}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
export default class TelegramUpdate {
|
|
2
|
-
update_id;
|
|
3
|
-
message;
|
|
4
|
-
edited_message;
|
|
5
|
-
channel_post;
|
|
6
|
-
edited_channel_post;
|
|
7
|
-
inline_query;
|
|
8
|
-
// chosen_inline_result?: TelegramChosenInlineResult;
|
|
9
|
-
callback_query;
|
|
10
|
-
business_message;
|
|
11
|
-
guest_message;
|
|
12
|
-
// shipping_query?: TelegramShippingQuery;
|
|
13
|
-
pre_checkout_query;
|
|
14
|
-
// poll?: TelegramPoll;
|
|
15
|
-
// poll_answer?: TelegramPollAnswer;
|
|
16
|
-
// my_chat_member?: TelegramChatMemberUpdated;
|
|
17
|
-
// chat_member?: TelegramChatMemberUpdated;
|
|
18
|
-
// chat_join_request: TelegramChatJoinRequest;
|
|
19
|
-
business_connection;
|
|
20
|
-
constructor(update) {
|
|
21
|
-
this.update_id = update.update_id ?? 0;
|
|
22
|
-
this.message = update.message;
|
|
23
|
-
this.edited_message = update.edited_message;
|
|
24
|
-
this.channel_post = update.channel_post;
|
|
25
|
-
this.edited_channel_post = update.edited_channel_post;
|
|
26
|
-
this.inline_query = update.inline_query;
|
|
27
|
-
this.business_message = update.business_message;
|
|
28
|
-
this.guest_message = update.guest_message;
|
|
29
|
-
// chosen_inline_result = update.chosen_inline_result;
|
|
30
|
-
this.callback_query = update.callback_query;
|
|
31
|
-
// shipping_query = update.shipping_query;
|
|
32
|
-
this.pre_checkout_query = update.pre_checkout_query;
|
|
33
|
-
this.business_connection = update.business_connection;
|
|
34
|
-
// poll = update.poll;
|
|
35
|
-
// poll_answer = update.poll_answer;
|
|
36
|
-
// my_chat_member = update.my_chat_member;
|
|
37
|
-
// chat_member = update.chat_member;
|
|
38
|
-
// chat_join_request = update.chat_join_request;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
interface TelegramUser {
|
|
2
|
-
id: number;
|
|
3
|
-
is_bot: boolean;
|
|
4
|
-
first_name: string;
|
|
5
|
-
last_name?: string;
|
|
6
|
-
username?: string;
|
|
7
|
-
language_code?: string;
|
|
8
|
-
can_join_groups?: boolean;
|
|
9
|
-
can_read_all_group_messages?: boolean;
|
|
10
|
-
supports_inline_queries: boolean;
|
|
11
|
-
supports_guest_queries: boolean;
|
|
12
|
-
}
|
|
13
|
-
export default TelegramUser;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|