@codebam/cf-workers-telegram-bot 7.24.0 → 7.26.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/api.d.ts +30 -0
- package/dist/api.js +37 -0
- package/dist/ctx.d.ts +19 -0
- package/dist/ctx.js +109 -0
- package/dist/main/src/TelegramBot.1.d.ts +0 -0
- package/dist/main/src/TelegramBot.1.js +1 -0
- package/dist/main/src/TelegramBot.d.ts +0 -0
- package/dist/main/src/TelegramBot.js +1 -0
- package/dist/main/src/api.d.ts +14 -0
- package/dist/main/src/api.js +21 -0
- package/dist/main/src/bot_api.d.ts +10 -0
- package/dist/main/src/bot_api.js +11 -0
- package/dist/main/src/commands/ban.d.ts +5 -0
- package/dist/main/src/commands/ban.js +8 -0
- package/dist/main/src/commands/bored.d.ts +5 -0
- package/dist/main/src/commands/bored.js +7 -0
- package/dist/main/src/commands/clear.d.ts +5 -0
- package/dist/main/src/commands/clear.js +14 -0
- package/dist/main/src/commands/code.d.ts +5 -0
- package/dist/main/src/commands/code.js +4 -0
- package/dist/main/src/commands/commandlist.d.ts +5 -0
- package/dist/main/src/commands/commandlist.js +1 -0
- package/dist/main/src/commands/dog.d.ts +5 -0
- package/dist/main/src/commands/dog.js +7 -0
- package/dist/main/src/commands/duckduckgo.d.ts +5 -0
- package/dist/main/src/commands/duckduckgo.js +42 -0
- package/dist/main/src/commands/epoch.d.ts +5 -0
- package/dist/main/src/commands/epoch.js +4 -0
- package/dist/main/src/commands/getchatinfo.d.ts +5 -0
- package/dist/main/src/commands/getchatinfo.js +1 -0
- package/dist/main/src/commands/image.d.ts +5 -0
- package/dist/main/src/commands/image.js +19 -0
- package/dist/main/src/commands/joke.d.ts +5 -0
- package/dist/main/src/commands/joke.js +7 -0
- package/dist/main/src/commands/kanye.d.ts +5 -0
- package/dist/main/src/commands/kanye.js +8 -0
- package/dist/main/src/commands/mute.d.ts +5 -0
- package/dist/main/src/commands/mute.js +8 -0
- package/dist/main/src/commands/ping.d.ts +5 -0
- package/dist/main/src/commands/ping.js +1 -0
- package/dist/main/src/commands/question.d.ts +5 -0
- package/dist/main/src/commands/question.js +74 -0
- package/dist/main/src/commands/roll.d.ts +5 -0
- package/dist/main/src/commands/roll.js +6 -0
- package/dist/main/src/commands/sean.d.ts +5 -0
- package/dist/main/src/commands/sean.js +76 -0
- package/dist/main/src/commands/start.d.ts +5 -0
- package/dist/main/src/commands/start.js +1 -0
- package/dist/main/src/commands/toss.d.ts +5 -0
- package/dist/main/src/commands/toss.js +1 -0
- package/dist/main/src/commands/translate.d.ts +5 -0
- package/dist/main/src/commands/translate.js +26 -0
- package/dist/main/src/handler.d.ts +12 -0
- package/dist/main/src/handler.js +40 -0
- package/dist/main/src/libs.d.ts +5 -0
- package/dist/main/src/libs.js +7 -0
- package/dist/main/src/main.d.ts +4 -0
- package/dist/main/src/main.js +4 -0
- package/dist/main/src/telegram_api.d.ts +34 -0
- package/dist/main/src/telegram_api.js +192 -0
- package/dist/main/src/telegram_bot.d.ts +20 -0
- package/dist/main/src/telegram_bot.js +116 -0
- package/dist/main/src/telegram_commands.d.ts +22 -0
- package/dist/main/src/telegram_commands.js +21 -0
- package/dist/main/src/telegram_webhook.d.ts +10 -0
- package/dist/main/src/telegram_webhook.js +20 -0
- package/dist/main/src/types/Balance.d.ts +6 -0
- package/dist/main/src/types/Balance.js +1 -0
- package/dist/main/src/types/Bored.d.ts +10 -0
- package/dist/main/src/types/Bored.js +1 -0
- package/dist/main/src/types/ChatPermissions.d.ts +17 -0
- package/dist/main/src/types/ChatPermissions.js +1 -0
- package/dist/main/src/types/Command.d.ts +5 -0
- package/dist/main/src/types/Command.js +1 -0
- package/dist/main/src/types/CommandArgs.d.ts +5 -0
- package/dist/main/src/types/CommandArgs.js +1 -0
- package/dist/main/src/types/Commands.d.ts +3 -0
- package/dist/main/src/types/Commands.js +1 -0
- package/dist/main/src/types/Config.d.ts +20 -0
- package/dist/main/src/types/Config.js +33 -0
- package/dist/main/src/types/DDGQueryResponse.d.ts +12 -0
- package/dist/main/src/types/DDGQueryResponse.js +1 -0
- package/dist/main/src/types/DataTypes.d.ts +2 -0
- package/dist/main/src/types/DataTypes.js +1 -0
- package/dist/main/src/types/Joke.d.ts +20 -0
- package/dist/main/src/types/Joke.js +1 -0
- package/dist/main/src/types/Kanye.d.ts +4 -0
- package/dist/main/src/types/Kanye.js +1 -0
- package/dist/main/src/types/Kv.d.ts +3 -0
- package/dist/main/src/types/Kv.js +1 -0
- package/dist/main/src/types/PartialTelegramUpdate.d.ts +11 -0
- package/dist/main/src/types/PartialTelegramUpdate.js +1 -0
- package/dist/main/src/types/TelegramChat.d.ts +21 -0
- package/dist/main/src/types/TelegramChat.js +1 -0
- package/dist/main/src/types/TelegramCommand.d.ts +5 -0
- package/dist/main/src/types/TelegramCommand.js +1 -0
- package/dist/main/src/types/TelegramFrom.d.ts +8 -0
- package/dist/main/src/types/TelegramFrom.js +1 -0
- package/dist/main/src/types/TelegramInlineQuery.d.ts +9 -0
- package/dist/main/src/types/TelegramInlineQuery.js +1 -0
- package/dist/main/src/types/TelegramInlineQueryResult.d.ts +6 -0
- package/dist/main/src/types/TelegramInlineQueryResult.js +8 -0
- package/dist/main/src/types/TelegramInlineQueryResultArticle.d.ts +8 -0
- package/dist/main/src/types/TelegramInlineQueryResultArticle.js +15 -0
- package/dist/main/src/types/TelegramInlineQueryResultPhoto.d.ts +13 -0
- package/dist/main/src/types/TelegramInlineQueryResultPhoto.js +19 -0
- package/dist/main/src/types/TelegramInlineQueryType.d.ts +2 -0
- package/dist/main/src/types/TelegramInlineQueryType.js +1 -0
- package/dist/main/src/types/TelegramInputMessageContent.d.ts +5 -0
- package/dist/main/src/types/TelegramInputMessageContent.js +1 -0
- package/dist/main/src/types/TelegramMessage.d.ts +43 -0
- package/dist/main/src/types/TelegramMessage.js +1 -0
- package/dist/main/src/types/TelegramMessageEntity.d.ts +10 -0
- package/dist/main/src/types/TelegramMessageEntity.js +1 -0
- package/dist/main/src/types/TelegramPhotoSize.d.ts +8 -0
- package/dist/main/src/types/TelegramPhotoSize.js +1 -0
- package/dist/main/src/types/TelegramUpdate.d.ts +13 -0
- package/dist/main/src/types/TelegramUpdate.js +36 -0
- package/dist/main/src/types/TelegramUser.d.ts +12 -0
- package/dist/main/src/types/TelegramUser.js +1 -0
- package/dist/main/src/types/Update.d.ts +3 -0
- package/dist/main/src/types/Update.js +2 -0
- package/dist/main/src/types/WebhookCommands.d.ts +4 -0
- package/dist/main/src/types/WebhookCommands.js +2 -0
- package/dist/main/src/types/localhost.d.ts +3 -0
- package/dist/main/src/types/localhost.js +1 -0
- package/dist/main/src/types/types.d.ts +1 -0
- package/dist/main/src/types/types.js +1 -0
- package/dist/main/src/types.d.ts +26 -0
- package/dist/main/src/types.js +8 -0
- package/dist/main/src/webhook.d.ts +10 -0
- package/dist/main/src/webhook.js +15 -0
- package/dist/main.d.ts +1 -3
- package/dist/main.js +1 -3
- package/dist/telegram_api.d.ts +12 -1
- package/dist/telegram_api.js +9 -0
- package/dist/telegram_bot.d.ts +0 -1
- package/dist/telegram_bot.js +7 -3
- package/dist/telegram_execution_context.d.ts +0 -1
- package/dist/telegram_execution_context.js +3 -0
- package/dist/types/Balance.d.ts +6 -0
- package/dist/types/Balance.js +1 -0
- package/dist/types/Bored.d.ts +10 -0
- package/dist/types/Bored.js +1 -0
- package/dist/types/DDGQueryResponse.d.ts +12 -0
- package/dist/types/DDGQueryResponse.js +1 -0
- package/dist/types/Joke.d.ts +20 -0
- package/dist/types/Joke.js +1 -0
- package/dist/types/Kanye.d.ts +4 -0
- package/dist/types/Kanye.js +1 -0
- package/dist/types/Kv.d.ts +3 -0
- package/dist/types/Kv.js +1 -0
- package/dist/types/SerializableData.d.ts +2 -0
- package/dist/types/SerializableData.js +1 -0
- package/dist/types/TelegramCallbackQuery.d.ts +15 -0
- package/dist/types/TelegramCallbackQuery.js +1 -0
- package/dist/types/TelegramCommand.d.ts +0 -1
- package/dist/types/TelegramUpdate.d.ts +3 -2
- package/dist/types/TelegramUpdate.js +2 -4
- package/dist/types/localhost.d.ts +3 -0
- package/dist/types/localhost.js +1 -0
- package/dist/types.d.ts +1 -3
- package/dist/types.js +1 -3
- package/dist/webhook.d.ts +0 -1
- package/dist/worker/src/worker.d.ts +18 -0
- package/dist/worker/src/worker.js +81 -0
- package/package.json +11 -11
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export default class Webhook {
|
|
2
|
+
api;
|
|
3
|
+
token;
|
|
4
|
+
url;
|
|
5
|
+
commands;
|
|
6
|
+
constructor(api, token, url) {
|
|
7
|
+
this.api = api;
|
|
8
|
+
this.token = token;
|
|
9
|
+
this.url = url;
|
|
10
|
+
this.commands = {
|
|
11
|
+
default: async () => new Response('Invalid command'),
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
process = async (url) => this.commands[url.searchParams.get('command') ?? '']?.() ?? this.commands.default();
|
|
15
|
+
}
|
package/dist/main.d.ts
CHANGED
|
@@ -3,7 +3,6 @@ import TelegramExecutionContext from './telegram_execution_context.js';
|
|
|
3
3
|
import Webhook from './webhook.js';
|
|
4
4
|
import TelegramApi from './telegram_api.js';
|
|
5
5
|
import TelegramCommand from './types/TelegramCommand.js';
|
|
6
|
-
import WebhookCommands from './types/WebhookCommands.js';
|
|
7
6
|
import TelegramFrom from './types/TelegramFrom.js';
|
|
8
7
|
import TelegramChat from './types/TelegramChat.js';
|
|
9
8
|
import TelegramUser from './types/TelegramUser.js';
|
|
@@ -12,7 +11,6 @@ import TelegramPhotoSize from './types/TelegramPhotoSize.js';
|
|
|
12
11
|
import TelegramMessage from './types/TelegramMessage.js';
|
|
13
12
|
import TelegramInputMessageContent from './types/TelegramInputMessageContent.js';
|
|
14
13
|
import TelegramInlineQuery from './types/TelegramInlineQuery.js';
|
|
15
|
-
import Update from './types/Update.js';
|
|
16
14
|
import TelegramUpdate from './types/TelegramUpdate.js';
|
|
17
15
|
import PartialTelegramUpdate from './types/PartialTelegramUpdate.js';
|
|
18
16
|
import TelegramInlineQueryType from './types/TelegramInlineQueryType.js';
|
|
@@ -21,4 +19,4 @@ import TelegramInlineQueryResultPhoto from './types/TelegramInlineQueryResultPho
|
|
|
21
19
|
import TelegramInlineQueryResultArticle from './types/TelegramInlineQueryResultArticle.js';
|
|
22
20
|
import ChatPermissions from './types/ChatPermissions.js';
|
|
23
21
|
export default TelegramBot;
|
|
24
|
-
export { TelegramBot, TelegramExecutionContext, Webhook, TelegramApi, TelegramCommand,
|
|
22
|
+
export { TelegramBot, TelegramExecutionContext, Webhook, TelegramApi, TelegramCommand, TelegramFrom, TelegramChat, TelegramUser, TelegramMessageEntity, TelegramPhotoSize, TelegramMessage, TelegramInputMessageContent, TelegramInlineQuery, TelegramUpdate, PartialTelegramUpdate, TelegramInlineQueryType, TelegramInlineQueryResult, TelegramInlineQueryResultPhoto, TelegramInlineQueryResultArticle, ChatPermissions, };
|
package/dist/main.js
CHANGED
|
@@ -2,11 +2,9 @@ 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 WebhookCommands from './types/WebhookCommands.js';
|
|
6
|
-
import Update from './types/Update.js';
|
|
7
5
|
import TelegramUpdate from './types/TelegramUpdate.js';
|
|
8
6
|
import TelegramInlineQueryResult from './types/TelegramInlineQueryResult.js';
|
|
9
7
|
import TelegramInlineQueryResultPhoto from './types/TelegramInlineQueryResultPhoto.js';
|
|
10
8
|
import TelegramInlineQueryResultArticle from './types/TelegramInlineQueryResultArticle.js';
|
|
11
9
|
export default TelegramBot;
|
|
12
|
-
export { TelegramBot, TelegramExecutionContext, Webhook, TelegramApi,
|
|
10
|
+
export { TelegramBot, TelegramExecutionContext, Webhook, TelegramApi, TelegramUpdate, TelegramInlineQueryResult, TelegramInlineQueryResultPhoto, TelegramInlineQueryResultArticle, };
|
package/dist/telegram_api.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="@cloudflare/workers-types" />
|
|
2
1
|
import TelegramInlineQueryResultArticle from './types/TelegramInlineQueryResultArticle.js';
|
|
3
2
|
import TelegramInlineQueryResultPhoto from './types/TelegramInlineQueryResultPhoto.js';
|
|
4
3
|
import TelegramInlineQueryResultVideo from './types/TelegramInlineQueryResultVideo.js';
|
|
@@ -59,4 +58,16 @@ export default class TelegramApi {
|
|
|
59
58
|
inline_query_id: number | string;
|
|
60
59
|
results: TelegramInlineQueryResultArticle[] | TelegramInlineQueryResultPhoto[] | TelegramInlineQueryResultVideo[];
|
|
61
60
|
}): Promise<Response>;
|
|
61
|
+
/**
|
|
62
|
+
* Send an callback response to a given botApi
|
|
63
|
+
* @param botApi - full URL to the telegram API without slug
|
|
64
|
+
* @param data - data to append to the request
|
|
65
|
+
*/
|
|
66
|
+
answerCallback(botApi: string, data: {
|
|
67
|
+
callback_query_id: number | string;
|
|
68
|
+
text?: string;
|
|
69
|
+
show_alert?: boolean;
|
|
70
|
+
url?: string;
|
|
71
|
+
cache_time?: number;
|
|
72
|
+
}): Promise<Response>;
|
|
62
73
|
}
|
package/dist/telegram_api.js
CHANGED
|
@@ -73,4 +73,13 @@ export default class TelegramApi {
|
|
|
73
73
|
});
|
|
74
74
|
return await fetch(url);
|
|
75
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* Send an callback response to a given botApi
|
|
78
|
+
* @param botApi - full URL to the telegram API without slug
|
|
79
|
+
* @param data - data to append to the request
|
|
80
|
+
*/
|
|
81
|
+
async answerCallback(botApi, data) {
|
|
82
|
+
const url = this.getApiUrl(botApi, 'answerCallbackQuery', data);
|
|
83
|
+
return await fetch(url);
|
|
84
|
+
}
|
|
76
85
|
}
|
package/dist/telegram_bot.d.ts
CHANGED
package/dist/telegram_bot.js
CHANGED
|
@@ -46,7 +46,7 @@ export default class TelegramBot {
|
|
|
46
46
|
case 'POST': {
|
|
47
47
|
this.update = await request.json();
|
|
48
48
|
console.log(this.update);
|
|
49
|
-
let command = '
|
|
49
|
+
let command = ':message';
|
|
50
50
|
let args = [];
|
|
51
51
|
const ctx = new TelegramExecutionContext(this, this.update);
|
|
52
52
|
this.currentContext = ctx;
|
|
@@ -67,14 +67,18 @@ export default class TelegramBot {
|
|
|
67
67
|
command = ':document';
|
|
68
68
|
break;
|
|
69
69
|
}
|
|
70
|
+
case 'callback': {
|
|
71
|
+
command = ':callback';
|
|
72
|
+
break;
|
|
73
|
+
}
|
|
70
74
|
default:
|
|
71
75
|
break;
|
|
72
76
|
}
|
|
73
77
|
if (args.at(0)?.startsWith('/')) {
|
|
74
|
-
command = args.at(0)?.slice(1) ?? '
|
|
78
|
+
command = args.at(0)?.slice(1) ?? ':message';
|
|
75
79
|
}
|
|
76
80
|
if (!(command in this.commands)) {
|
|
77
|
-
command = '
|
|
81
|
+
command = ':message';
|
|
78
82
|
}
|
|
79
83
|
return await this.commands[command](ctx);
|
|
80
84
|
}
|
|
@@ -32,6 +32,9 @@ export default class TelegramExecutionContext {
|
|
|
32
32
|
else if (this.update.message?.document) {
|
|
33
33
|
this.update_type = 'document';
|
|
34
34
|
}
|
|
35
|
+
else if (this.update.callback_query?.id) {
|
|
36
|
+
this.update_type = 'callback';
|
|
37
|
+
}
|
|
35
38
|
}
|
|
36
39
|
/**
|
|
37
40
|
* Reply to the last message with a video
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
interface Joke {
|
|
2
|
+
error: boolean;
|
|
3
|
+
category: string;
|
|
4
|
+
type: string;
|
|
5
|
+
setup?: string;
|
|
6
|
+
delivery?: string;
|
|
7
|
+
joke?: string;
|
|
8
|
+
flags: {
|
|
9
|
+
nsfw: boolean;
|
|
10
|
+
religious: boolean;
|
|
11
|
+
political: boolean;
|
|
12
|
+
racist: boolean;
|
|
13
|
+
sexist: boolean;
|
|
14
|
+
explicit: boolean;
|
|
15
|
+
};
|
|
16
|
+
id: number;
|
|
17
|
+
safe: boolean;
|
|
18
|
+
lang: string;
|
|
19
|
+
}
|
|
20
|
+
export default Joke;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/types/Kv.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
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;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import TelegramInlineQuery from './TelegramInlineQuery.js';
|
|
2
2
|
import TelegramMessage from './TelegramMessage.js';
|
|
3
|
-
import Update from './Update.js';
|
|
4
3
|
import PartialTelegramUpdate from './PartialTelegramUpdate.js';
|
|
5
|
-
|
|
4
|
+
import TelegramCallbackQuery from './TelegramCallbackQuery.js';
|
|
5
|
+
export default class TelegramUpdate {
|
|
6
6
|
update_id: number;
|
|
7
7
|
message?: TelegramMessage;
|
|
8
8
|
edited_message?: TelegramMessage;
|
|
9
9
|
channel_post?: TelegramMessage;
|
|
10
10
|
edited_channel_post?: TelegramMessage;
|
|
11
11
|
inline_query?: TelegramInlineQuery;
|
|
12
|
+
callback_query?: TelegramCallbackQuery;
|
|
12
13
|
constructor(update: PartialTelegramUpdate);
|
|
13
14
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
export default class TelegramUpdate extends Update {
|
|
1
|
+
export default class TelegramUpdate {
|
|
3
2
|
update_id;
|
|
4
3
|
message;
|
|
5
4
|
edited_message;
|
|
@@ -7,7 +6,7 @@ export default class TelegramUpdate extends Update {
|
|
|
7
6
|
edited_channel_post;
|
|
8
7
|
inline_query;
|
|
9
8
|
// chosen_inline_result?: TelegramChosenInlineResult;
|
|
10
|
-
|
|
9
|
+
callback_query;
|
|
11
10
|
// shipping_query?: TelegramShippingQuery;
|
|
12
11
|
// pre_checkout_query?: TelegramPreCheckoutQuery;
|
|
13
12
|
// poll?: TelegramPoll;
|
|
@@ -16,7 +15,6 @@ export default class TelegramUpdate extends Update {
|
|
|
16
15
|
// chat_member?: TelegramChatMemberUpdated;
|
|
17
16
|
// chat_join_request: TelegramChatJoinRequest;
|
|
18
17
|
constructor(update) {
|
|
19
|
-
super();
|
|
20
18
|
this.update_id = update.update_id ?? 0;
|
|
21
19
|
this.message = update.message;
|
|
22
20
|
this.edited_message = update.edited_message;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default new URL('http://localhost');
|
package/dist/types.d.ts
CHANGED
|
@@ -3,7 +3,6 @@ import TelegramExecutionContext from './telegram_execution_context.js';
|
|
|
3
3
|
import Webhook from './webhook.js';
|
|
4
4
|
import TelegramApi from './telegram_api.js';
|
|
5
5
|
import TelegramCommand from './types/TelegramCommand.js';
|
|
6
|
-
import WebhookCommands from './types/WebhookCommands.js';
|
|
7
6
|
import TelegramFrom from './types/TelegramFrom.js';
|
|
8
7
|
import TelegramChat from './types/TelegramChat.js';
|
|
9
8
|
import TelegramUser from './types/TelegramUser.js';
|
|
@@ -12,7 +11,6 @@ import TelegramPhotoSize from './types/TelegramPhotoSize.js';
|
|
|
12
11
|
import TelegramMessage from './types/TelegramMessage.js';
|
|
13
12
|
import TelegramInputMessageContent from './types/TelegramInputMessageContent.js';
|
|
14
13
|
import TelegramInlineQuery from './types/TelegramInlineQuery.js';
|
|
15
|
-
import Update from './types/Update.js';
|
|
16
14
|
import TelegramUpdate from './types/TelegramUpdate.js';
|
|
17
15
|
import PartialTelegramUpdate from './types/PartialTelegramUpdate.js';
|
|
18
16
|
import TelegramInlineQueryType from './types/TelegramInlineQueryType.js';
|
|
@@ -21,4 +19,4 @@ import TelegramInlineQueryResultPhoto from './types/TelegramInlineQueryResultPho
|
|
|
21
19
|
import TelegramInlineQueryResultArticle from './types/TelegramInlineQueryResultArticle.js';
|
|
22
20
|
import ChatPermissions from './types/ChatPermissions.js';
|
|
23
21
|
export default TelegramBot;
|
|
24
|
-
export { TelegramBot, TelegramExecutionContext, Webhook, TelegramApi, TelegramCommand,
|
|
22
|
+
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,11 +2,9 @@ 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 WebhookCommands from './types/WebhookCommands.js';
|
|
6
|
-
import Update from './types/Update.js';
|
|
7
5
|
import TelegramUpdate from './types/TelegramUpdate.js';
|
|
8
6
|
import TelegramInlineQueryResult from './types/TelegramInlineQueryResult.js';
|
|
9
7
|
import TelegramInlineQueryResultPhoto from './types/TelegramInlineQueryResultPhoto.js';
|
|
10
8
|
import TelegramInlineQueryResultArticle from './types/TelegramInlineQueryResultArticle.js';
|
|
11
9
|
export default TelegramBot;
|
|
12
|
-
export { TelegramBot, TelegramExecutionContext, Webhook, TelegramApi,
|
|
10
|
+
export { TelegramBot, TelegramExecutionContext, Webhook, TelegramApi, TelegramUpdate, TelegramInlineQueryResult, TelegramInlineQueryResultPhoto, TelegramInlineQueryResultArticle, };
|
package/dist/webhook.d.ts
CHANGED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/// <reference types="@cloudflare/workers-types" />
|
|
2
|
+
interface Environment {
|
|
3
|
+
SECRET_TELEGRAM_API_TOKEN: string;
|
|
4
|
+
KV_GET_SET: KVNamespace;
|
|
5
|
+
KV_UID_DATA: KVNamespace;
|
|
6
|
+
SECRET_TELEGRAM_API_TOKEN2: string;
|
|
7
|
+
SECRET_TELEGRAM_API_TOKEN3: string;
|
|
8
|
+
SECRET_TELEGRAM_API_TOKEN4: string;
|
|
9
|
+
SECRET_TELEGRAM_API_TOKEN5: string;
|
|
10
|
+
AI: Ai;
|
|
11
|
+
DB: D1Database;
|
|
12
|
+
R2: R2Bucket;
|
|
13
|
+
CHAT_MODEL: string;
|
|
14
|
+
}
|
|
15
|
+
declare const _default: {
|
|
16
|
+
fetch: (request: Request, env: Environment) => Promise<Response>;
|
|
17
|
+
};
|
|
18
|
+
export default _default;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import TelegramBot from '../../main/src/telegram_bot';
|
|
2
|
+
export default {
|
|
3
|
+
fetch: async (request, env) => {
|
|
4
|
+
const bot = new TelegramBot(env.SECRET_TELEGRAM_API_TOKEN);
|
|
5
|
+
await bot
|
|
6
|
+
.on('default', async function () {
|
|
7
|
+
switch (bot.update_type) {
|
|
8
|
+
case 'message': {
|
|
9
|
+
const messages = [
|
|
10
|
+
{ role: 'system', content: 'You are a friendly assistant' },
|
|
11
|
+
{
|
|
12
|
+
role: 'user',
|
|
13
|
+
content: bot.update.message?.text?.toString() ?? '',
|
|
14
|
+
},
|
|
15
|
+
];
|
|
16
|
+
const response = await env.AI.run('@cf/meta/llama-3-8b-instruct', { messages });
|
|
17
|
+
if ('response' in response) {
|
|
18
|
+
await bot.reply(response.response ?? '');
|
|
19
|
+
}
|
|
20
|
+
break;
|
|
21
|
+
}
|
|
22
|
+
case 'inline': {
|
|
23
|
+
const inline_messages = [
|
|
24
|
+
{ role: 'system', content: 'You are a friendly assistant' },
|
|
25
|
+
{
|
|
26
|
+
role: 'user',
|
|
27
|
+
content: bot.update.inline_query?.query.toString() ?? '',
|
|
28
|
+
},
|
|
29
|
+
];
|
|
30
|
+
const inline_response = await env.AI.run('@cf/meta/llama-3-8b-instruct', { messages: inline_messages, max_tokens: 50 });
|
|
31
|
+
if ('response' in inline_response) {
|
|
32
|
+
await bot.reply(inline_response.response ?? '');
|
|
33
|
+
}
|
|
34
|
+
break;
|
|
35
|
+
}
|
|
36
|
+
default:
|
|
37
|
+
break;
|
|
38
|
+
}
|
|
39
|
+
return new Response('ok');
|
|
40
|
+
})
|
|
41
|
+
.handle(request.clone());
|
|
42
|
+
const bot2 = new TelegramBot(env.SECRET_TELEGRAM_API_TOKEN2);
|
|
43
|
+
await bot2
|
|
44
|
+
.on('default', async function () {
|
|
45
|
+
switch (bot2.update_type) {
|
|
46
|
+
case 'message': {
|
|
47
|
+
await bot2.reply('https://duckduckgo.com/?q=' + encodeURIComponent(bot.update.message?.text?.toString() ?? ''));
|
|
48
|
+
break;
|
|
49
|
+
}
|
|
50
|
+
case 'inline': {
|
|
51
|
+
await bot2.reply('https://duckduckgo.com/?q=' + encodeURIComponent(bot.update.inline_query?.query ?? ''));
|
|
52
|
+
break;
|
|
53
|
+
}
|
|
54
|
+
default:
|
|
55
|
+
break;
|
|
56
|
+
}
|
|
57
|
+
return new Response('ok');
|
|
58
|
+
})
|
|
59
|
+
.handle(request.clone());
|
|
60
|
+
const bot3 = new TelegramBot(env.SECRET_TELEGRAM_API_TOKEN3);
|
|
61
|
+
await bot3
|
|
62
|
+
.on('default', async function () {
|
|
63
|
+
switch (bot3.update_type) {
|
|
64
|
+
case 'inline': {
|
|
65
|
+
const { translated_text } = await env.AI.run('@cf/meta/m2m100-1.2b', {
|
|
66
|
+
text: bot3.update.inline_query?.query.toString() ?? '',
|
|
67
|
+
source_lang: 'french',
|
|
68
|
+
target_lang: 'english',
|
|
69
|
+
});
|
|
70
|
+
await bot3.reply(translated_text ?? '');
|
|
71
|
+
break;
|
|
72
|
+
}
|
|
73
|
+
default:
|
|
74
|
+
break;
|
|
75
|
+
}
|
|
76
|
+
return new Response('ok');
|
|
77
|
+
})
|
|
78
|
+
.handle(request.clone());
|
|
79
|
+
return new Response('ok');
|
|
80
|
+
},
|
|
81
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codebam/cf-workers-telegram-bot",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.26.0",
|
|
4
4
|
"description": "serverless telegram bot on cf workers",
|
|
5
5
|
"main": "./dist/main.js",
|
|
6
6
|
"module": "./dist/main.js",
|
|
@@ -31,16 +31,16 @@
|
|
|
31
31
|
"url": "https://github.com/codebam/cf-workers-telegram-bot.git"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
|
-
"@cloudflare/workers-types": "^4.
|
|
35
|
-
"@eslint/js": "^9.
|
|
36
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
37
|
-
"@typescript-eslint/parser": "^
|
|
38
|
-
"eslint": "^9.
|
|
34
|
+
"@cloudflare/workers-types": "^4.20241112.0",
|
|
35
|
+
"@eslint/js": "^9.14.0",
|
|
36
|
+
"@typescript-eslint/eslint-plugin": "^8.14.0",
|
|
37
|
+
"@typescript-eslint/parser": "^8.14.0",
|
|
38
|
+
"eslint": "^9.14.0",
|
|
39
39
|
"eslint-config-prettier": "^9.1.0",
|
|
40
|
-
"globals": "^15.
|
|
41
|
-
"prettier": "^3.
|
|
42
|
-
"typescript": "^5.
|
|
43
|
-
"typescript-eslint": "^
|
|
44
|
-
"vitest": "^1.
|
|
40
|
+
"globals": "^15.12.0",
|
|
41
|
+
"prettier": "^3.3.3",
|
|
42
|
+
"typescript": "^5.6.3",
|
|
43
|
+
"typescript-eslint": "^8.14.0",
|
|
44
|
+
"vitest": "^2.1.5"
|
|
45
45
|
}
|
|
46
46
|
}
|