@aracna/telegram-bot 2.0.8 → 2.0.10
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/apis/telegram-api.d.ts +1 -1
- package/apis/telegram-api.js +1 -64
- package/apis/telegram-file-api.d.ts +1 -1
- package/apis/telegram-file-api.js +1 -24
- package/classes/client.d.ts +2 -2
- package/classes/client.js +1 -420
- package/definitions/constants.d.ts +1 -1
- package/definitions/constants.js +1 -57
- package/definitions/enums.js +1 -7
- package/definitions/interfaces.d.ts +1 -1
- package/definitions/interfaces.js +0 -2
- package/definitions/types.d.ts +1 -1
- package/definitions/types.js +0 -2
- package/index.cjs +1 -0
- package/index.js +1 -273
- package/loggers/class-logger.js +1 -6
- package/package.json +6 -31
- package/requests/add-requests.d.ts +1 -1
- package/requests/add-requests.js +1 -14
- package/requests/answer-requests.d.ts +1 -1
- package/requests/answer-requests.js +1 -23
- package/requests/approve-requests.d.ts +1 -1
- package/requests/approve-requests.js +1 -7
- package/requests/ban-requests.d.ts +1 -1
- package/requests/ban-requests.js +1 -11
- package/requests/business-requests.d.ts +1 -1
- package/requests/business-requests.js +1 -63
- package/requests/close-requests.d.ts +1 -1
- package/requests/close-requests.js +1 -11
- package/requests/copy-requests.d.ts +1 -1
- package/requests/copy-requests.js +1 -11
- package/requests/create-requests.d.ts +1 -1
- package/requests/create-requests.js +1 -30
- package/requests/decline-requests.d.ts +1 -1
- package/requests/decline-requests.js +1 -7
- package/requests/delete-requests.d.ts +1 -1
- package/requests/delete-requests.js +1 -35
- package/requests/download-requests.d.ts +1 -1
- package/requests/download-requests.js +1 -29
- package/requests/edit-requests.d.ts +2 -2
- package/requests/edit-requests.js +1 -50
- package/requests/export-requests.d.ts +1 -1
- package/requests/export-requests.js +1 -7
- package/requests/forward-requests.d.ts +1 -1
- package/requests/forward-requests.js +1 -11
- package/requests/get-requests.d.ts +1 -1
- package/requests/get-requests.js +1 -88
- package/requests/gift-requests.d.ts +1 -1
- package/requests/gift-requests.js +1 -27
- package/requests/hide-requests.d.ts +1 -1
- package/requests/hide-requests.js +1 -7
- package/requests/leave-requests.d.ts +1 -1
- package/requests/leave-requests.js +1 -7
- package/requests/log-requests.d.ts +1 -1
- package/requests/log-requests.js +1 -7
- package/requests/pin-requests.d.ts +1 -1
- package/requests/pin-requests.js +1 -7
- package/requests/promote-requests.d.ts +1 -1
- package/requests/promote-requests.js +1 -7
- package/requests/refund-requests.d.ts +1 -1
- package/requests/refund-requests.js +1 -7
- package/requests/reopen-requests.d.ts +1 -1
- package/requests/reopen-requests.js +1 -11
- package/requests/replace-requests.d.ts +1 -1
- package/requests/replace-requests.js +1 -14
- package/requests/restrict-requests.d.ts +1 -1
- package/requests/restrict-requests.js +1 -7
- package/requests/revoke-requests.d.ts +1 -1
- package/requests/revoke-requests.js +1 -7
- package/requests/save-requests.d.ts +1 -1
- package/requests/save-requests.js +1 -7
- package/requests/send-requests.d.ts +1 -1
- package/requests/send-requests.js +1 -106
- package/requests/set-requests.d.ts +1 -1
- package/requests/set-requests.js +1 -99
- package/requests/stop-requests.d.ts +1 -1
- package/requests/stop-requests.js +1 -11
- package/requests/story-requests.d.ts +1 -1
- package/requests/story-requests.js +1 -15
- package/requests/unban-requests.d.ts +1 -1
- package/requests/unban-requests.js +1 -11
- package/requests/unhide-requests.d.ts +1 -1
- package/requests/unhide-requests.js +1 -7
- package/requests/unpin-requests.d.ts +1 -1
- package/requests/unpin-requests.js +1 -19
- package/requests/upload-requests.d.ts +1 -1
- package/requests/upload-requests.js +1 -7
- package/requests/verification-requests.d.ts +1 -1
- package/requests/verification-requests.js +1 -19
- package/requests/webhook-requests.d.ts +1 -1
- package/requests/webhook-requests.js +1 -20
- package/utils/callback-query-utils.d.ts +1 -1
- package/utils/callback-query-utils.js +1 -25
- package/utils/command-utils.d.ts +1 -1
- package/utils/command-utils.js +1 -28
- package/utils/context-utils.d.ts +2 -2
- package/utils/context-utils.js +1 -42
- package/utils/html-utils.js +1 -18
- package/utils/inline-keyboard-utils.d.ts +1 -1
- package/utils/inline-keyboard-utils.js +1 -43
- package/utils/reply-to-message-utils.d.ts +1 -1
- package/utils/reply-to-message-utils.js +1 -36
- package/utils/start-message-utils.d.ts +1 -1
- package/utils/start-message-utils.js +1 -40
package/apis/telegram-api.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FetchError, Queue, type RequestMethod, RestAPI } from '@aracna/core';
|
|
2
|
-
import { TelegramApiConfig } from '../definitions/interfaces';
|
|
2
|
+
import { TelegramApiConfig } from '../definitions/interfaces.js';
|
|
3
3
|
declare class API extends RestAPI<TelegramApiConfig> {
|
|
4
4
|
queue: Queue;
|
|
5
5
|
post<V, W, X = undefined>(path: string, body: W | undefined, config?: TelegramApiConfig): Promise<V | FetchError<X>>;
|
package/apis/telegram-api.js
CHANGED
|
@@ -1,64 +1 @@
|
|
|
1
|
-
"
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TelegramAPI = void 0;
|
|
4
|
-
const core_1 = require("@aracna/core");
|
|
5
|
-
class API extends core_1.RestAPI {
|
|
6
|
-
queue = new core_1.Queue({ autostart: true });
|
|
7
|
-
async post(path, body, config) {
|
|
8
|
-
let token, promise, fn, callback;
|
|
9
|
-
token = config?.token ?? this.config?.token;
|
|
10
|
-
if (!token)
|
|
11
|
-
return core_1.FetchError.from(new Error(`The token is required.`));
|
|
12
|
-
promise = new core_1.DeferredPromise();
|
|
13
|
-
fn = async () => {
|
|
14
|
-
let response;
|
|
15
|
-
response = await super.post('/bot' + token + '/' + path, body, config);
|
|
16
|
-
if (response instanceof Error)
|
|
17
|
-
return response;
|
|
18
|
-
return response.data.result;
|
|
19
|
-
};
|
|
20
|
-
callback = (process) => {
|
|
21
|
-
if (process.fn === fn) {
|
|
22
|
-
promise.resolve(process.value);
|
|
23
|
-
this.queue.off('process-fulfill', callback);
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
this.queue.on('process-fulfill', callback);
|
|
27
|
-
this.queue.push(fn);
|
|
28
|
-
return promise.instance;
|
|
29
|
-
}
|
|
30
|
-
async transformBody(method, path, body, config) {
|
|
31
|
-
if (method !== 'POST') {
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
if (!(0, core_1.isObject)(body)) {
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
for (let key in body) {
|
|
38
|
-
if (body[key] instanceof Blob) {
|
|
39
|
-
return (0, core_1.serializeFormData)(body);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
return body;
|
|
43
|
-
}
|
|
44
|
-
getToken() {
|
|
45
|
-
return this.config.token;
|
|
46
|
-
}
|
|
47
|
-
setToken(token) {
|
|
48
|
-
this.config.token = token;
|
|
49
|
-
return this;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
exports.TelegramAPI = new API('https://api.telegram.org', {
|
|
53
|
-
decode: {
|
|
54
|
-
json: {
|
|
55
|
-
castBigIntStringToBigInt: true,
|
|
56
|
-
castUnsafeIntToBigInt: true
|
|
57
|
-
}
|
|
58
|
-
},
|
|
59
|
-
encode: {
|
|
60
|
-
json: {
|
|
61
|
-
castBigIntToString: true
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
});
|
|
1
|
+
import{DeferredPromise as a,FetchError as f,isObject as c,Queue as l,RestAPI as g,serializeFormData as m}from"@aracna/core";class p extends g{queue=new l({autostart:!0});async post(t,u,e){let i,n,s,o;return i=e?.token??this.config?.token,i?(n=new a,s=async()=>{let r;return r=await super.post("/bot"+i+"/"+t,u,e),r instanceof Error?r:r.data.result},o=r=>{r.fn===s&&(n.resolve(r.value),this.queue.off("process-fulfill",o))},this.queue.on("process-fulfill",o),this.queue.push(s),n.instance):f.from(new Error("The token is required."))}async transformBody(t,u,e,i){if(t==="POST"&&c(e)){for(let n in e)if(e[n]instanceof Blob)return m(e);return e}}getToken(){return this.config.token}setToken(t){return this.config.token=t,this}}const F=new p("https://api.telegram.org",{decode:{json:{castBigIntStringToBigInt:!0,castUnsafeIntToBigInt:!0}},encode:{json:{castBigIntToString:!0}}});export{F as TelegramAPI};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FetchError, RestAPI } from '@aracna/core';
|
|
2
|
-
import type { TelegramFileApiConfig } from '../definitions/interfaces';
|
|
2
|
+
import type { TelegramFileApiConfig } from '../definitions/interfaces.js';
|
|
3
3
|
declare class API extends RestAPI<TelegramFileApiConfig> {
|
|
4
4
|
get<V, W = undefined>(path: string, config?: TelegramFileApiConfig): Promise<V | FetchError<W>>;
|
|
5
5
|
getToken(): string | undefined;
|
|
@@ -1,24 +1 @@
|
|
|
1
|
-
"
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TelegramFileAPI = void 0;
|
|
4
|
-
const core_1 = require("@aracna/core");
|
|
5
|
-
class API extends core_1.RestAPI {
|
|
6
|
-
async get(path, config) {
|
|
7
|
-
let token, response;
|
|
8
|
-
token = config?.token ?? this.config?.token;
|
|
9
|
-
if (!token)
|
|
10
|
-
return core_1.FetchError.from(new Error(`The token is required.`));
|
|
11
|
-
response = await super.get('/file/bot' + token + '/' + path, config);
|
|
12
|
-
if (response instanceof Error)
|
|
13
|
-
return response;
|
|
14
|
-
return response.data;
|
|
15
|
-
}
|
|
16
|
-
getToken() {
|
|
17
|
-
return this.config.token;
|
|
18
|
-
}
|
|
19
|
-
setToken(token) {
|
|
20
|
-
this.config.token = token;
|
|
21
|
-
return this;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
exports.TelegramFileAPI = new API('https://api.telegram.org');
|
|
1
|
+
import{FetchError as i,RestAPI as o}from"@aracna/core";class s extends o{async get(r,n){let t,e;return t=n?.token??this.config?.token,t?(e=await super.get("/file/bot"+t+"/"+r,n),e instanceof Error?e:e.data):i.from(new Error("The token is required."))}getToken(){return this.config.token}setToken(r){return this.config.token=r,this}}const a=new s("https://api.telegram.org");export{a as TelegramFileAPI};
|
package/classes/client.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { FetchError } from '@aracna/core';
|
|
2
2
|
import type { BotCommand, BusinessConnection, BusinessMessagesDeleted, CallbackQuery, ChatBoostRemoved, ChatBoostUpdated, ChatJoinRequest, ChatMemberUpdated, ChosenInlineResult, InlineQuery, Message, MessageReactionCountUpdated, MessageReactionUpdated, Poll, PollAnswer, PreCheckoutQuery, ShippingQuery, Update } from '@aracna/telegram-bot-types';
|
|
3
|
-
import type { ClientConnectionOptions, ClientConnectionOptionsPolling, ClientDisconnectOptions, ClientListener, ClientListenerOptions } from '../definitions/interfaces';
|
|
4
|
-
import type { ClientConnectionMode, ClientListenerMiddleware, UpdateType } from '../definitions/types';
|
|
3
|
+
import type { ClientConnectionOptions, ClientConnectionOptionsPolling, ClientDisconnectOptions, ClientListener, ClientListenerOptions } from '../definitions/interfaces.js';
|
|
4
|
+
import type { ClientConnectionMode, ClientListenerMiddleware, UpdateType } from '../definitions/types.js';
|
|
5
5
|
export declare class Client {
|
|
6
6
|
protected listeners: ClientListener[];
|
|
7
7
|
protected readonly id: string;
|
package/classes/client.js
CHANGED
|
@@ -1,420 +1 @@
|
|
|
1
|
-
"
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Client = void 0;
|
|
4
|
-
const core_1 = require("@aracna/core");
|
|
5
|
-
const constants_1 = require("../definitions/constants");
|
|
6
|
-
const class_logger_1 = require("../loggers/class-logger");
|
|
7
|
-
const delete_requests_1 = require("../requests/delete-requests");
|
|
8
|
-
const get_requests_1 = require("../requests/get-requests");
|
|
9
|
-
const webhook_requests_1 = require("../requests/webhook-requests");
|
|
10
|
-
const callback_query_utils_1 = require("../utils/callback-query-utils");
|
|
11
|
-
const command_utils_1 = require("../utils/command-utils");
|
|
12
|
-
const reply_to_message_utils_1 = require("../utils/reply-to-message-utils");
|
|
13
|
-
const start_message_utils_1 = require("../utils/start-message-utils");
|
|
14
|
-
class Client {
|
|
15
|
-
listeners;
|
|
16
|
-
id;
|
|
17
|
-
offset;
|
|
18
|
-
token;
|
|
19
|
-
constructor(token) {
|
|
20
|
-
this.listeners = [];
|
|
21
|
-
this.id = (0, core_1.generateRandomString)({ prefix: 'telegram-client' });
|
|
22
|
-
this.token = token;
|
|
23
|
-
}
|
|
24
|
-
async connect(mode, options) {
|
|
25
|
-
switch (mode) {
|
|
26
|
-
case 'polling':
|
|
27
|
-
(0, core_1.setInterval)(() => this.poll(options?.polling), options?.polling?.ms ?? constants_1.DEFAULT_CLIENT_POLLING_MS, this.id, { autorun: true });
|
|
28
|
-
class_logger_1.ClassLogger.info('Telegram', 'connect', `The client is now polling the updates.`);
|
|
29
|
-
break;
|
|
30
|
-
case 'webhook': {
|
|
31
|
-
let del, set;
|
|
32
|
-
if (!options?.webhook?.url) {
|
|
33
|
-
return new Error(`The webhook URL is required.`);
|
|
34
|
-
}
|
|
35
|
-
del = await (0, webhook_requests_1.deleteWebhook)(options.webhook.delete, { token: this.token });
|
|
36
|
-
if (del instanceof Error)
|
|
37
|
-
return del;
|
|
38
|
-
class_logger_1.ClassLogger.verbose('Telegram', 'connect', `The webhook has been deleted.`);
|
|
39
|
-
set = await (0, webhook_requests_1.setWebhook)(options.webhook, { token: this.token });
|
|
40
|
-
if (set instanceof Error)
|
|
41
|
-
return set;
|
|
42
|
-
class_logger_1.ClassLogger.info('Telegram', 'connect', `The webhook has been set.`);
|
|
43
|
-
break;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
async disconnect(options) {
|
|
48
|
-
this.offset = undefined;
|
|
49
|
-
class_logger_1.ClassLogger.verbose('Telegram', 'disconnect', `The offset has been reset.`, [this.offset]);
|
|
50
|
-
(0, core_1.clearInterval)(this.id);
|
|
51
|
-
class_logger_1.ClassLogger.info('Telegram', 'disconnect', `The client has been disconnected.`);
|
|
52
|
-
await (0, webhook_requests_1.deleteWebhook)(options?.webhook, { token: this.token });
|
|
53
|
-
class_logger_1.ClassLogger.info('Telegram', 'disconnect', `The webhook has been deleted.`);
|
|
54
|
-
}
|
|
55
|
-
on(type, middleware, options) {
|
|
56
|
-
let listener, potential;
|
|
57
|
-
listener = {
|
|
58
|
-
command: options?.command,
|
|
59
|
-
description: options?.description,
|
|
60
|
-
id: (0, core_1.generateRandomString)({ blacklist: this.listenerIDs }),
|
|
61
|
-
middleware: middleware,
|
|
62
|
-
type: type,
|
|
63
|
-
options: (0, core_1.mergeObjects)((0, constants_1.DEFAULT_CLIENT_LISTENER_OPTIONS)(), (0, core_1.omitObjectProperties)(options ?? {}, ['description', 'key']))
|
|
64
|
-
};
|
|
65
|
-
potential = this.findListener(listener.type, listener.command);
|
|
66
|
-
if (potential) {
|
|
67
|
-
potential.middleware = middleware;
|
|
68
|
-
class_logger_1.ClassLogger.verbose('Telegram', 'register', `The listener has been updated.`, listener);
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
this.listeners.push(listener);
|
|
72
|
-
class_logger_1.ClassLogger.verbose('Telegram', 'register', `The listener has been registered.`, listener);
|
|
73
|
-
}
|
|
74
|
-
handle(update) {
|
|
75
|
-
let listener;
|
|
76
|
-
switch (true) {
|
|
77
|
-
case (0, core_1.hasObjectProperty)(update, 'business_connection'):
|
|
78
|
-
listener = this.handleBusinessConnection(update.business_connection);
|
|
79
|
-
break;
|
|
80
|
-
case (0, core_1.hasObjectProperty)(update, 'business_message'):
|
|
81
|
-
listener = this.handleBusinessMessage(update.business_message);
|
|
82
|
-
break;
|
|
83
|
-
case (0, core_1.hasObjectProperty)(update, 'callback_query.data'):
|
|
84
|
-
listener = this.handleCallbackQuery(update.callback_query);
|
|
85
|
-
break;
|
|
86
|
-
case (0, core_1.hasObjectProperty)(update, 'channel_post'):
|
|
87
|
-
listener = this.handleChannelPost(update.channel_post);
|
|
88
|
-
break;
|
|
89
|
-
case (0, core_1.hasObjectProperty)(update, 'chat_boost'):
|
|
90
|
-
listener = this.handleChatBoost(update.chat_boost);
|
|
91
|
-
break;
|
|
92
|
-
case (0, core_1.hasObjectProperty)(update, 'chat_join_request'):
|
|
93
|
-
listener = this.handleChatJoinRequest(update.chat_join_request);
|
|
94
|
-
break;
|
|
95
|
-
case (0, core_1.hasObjectProperty)(update, 'chat_member'):
|
|
96
|
-
listener = this.handleChatMember(update.chat_member);
|
|
97
|
-
break;
|
|
98
|
-
case (0, core_1.hasObjectProperty)(update, 'chosen_inline_result'):
|
|
99
|
-
listener = this.handleChosenInlineResult(update.chosen_inline_result);
|
|
100
|
-
break;
|
|
101
|
-
case (0, core_1.hasObjectProperty)(update, 'deleted_business_messages'):
|
|
102
|
-
listener = this.handleDeletedBusinessMessages(update.deleted_business_messages);
|
|
103
|
-
break;
|
|
104
|
-
case (0, core_1.hasObjectProperty)(update, 'edited_business_message'):
|
|
105
|
-
listener = this.handleEditedBusinessMessage(update.edited_business_message);
|
|
106
|
-
break;
|
|
107
|
-
case (0, core_1.hasObjectProperty)(update, 'edited_channel_post'):
|
|
108
|
-
listener = this.handleEditedChannelPost(update.edited_channel_post);
|
|
109
|
-
break;
|
|
110
|
-
case (0, core_1.hasObjectProperty)(update, 'edited_message'):
|
|
111
|
-
listener = this.handleEditedMessage(update.edited_message);
|
|
112
|
-
break;
|
|
113
|
-
case (0, core_1.hasObjectProperty)(update, 'inline_query'):
|
|
114
|
-
listener = this.handleInlineQuery(update.inline_query);
|
|
115
|
-
break;
|
|
116
|
-
case (0, core_1.hasObjectProperty)(update, 'message_reaction'):
|
|
117
|
-
listener = this.handleMessageReaction(update.message_reaction);
|
|
118
|
-
break;
|
|
119
|
-
case (0, core_1.hasObjectProperty)(update, 'message_reaction_count'):
|
|
120
|
-
listener = this.handleMessageReactionCount(update.message_reaction_count);
|
|
121
|
-
break;
|
|
122
|
-
case (0, core_1.hasObjectProperty)(update, 'message.reply_to_message.text'):
|
|
123
|
-
listener = this.handleReplyToMessage(update.message);
|
|
124
|
-
break;
|
|
125
|
-
case (0, core_1.hasObjectProperty)(update, 'message'):
|
|
126
|
-
if (update.message?.text?.startsWith('/start')) {
|
|
127
|
-
listener = this.handleStart(update.message);
|
|
128
|
-
break;
|
|
129
|
-
}
|
|
130
|
-
listener = this.handleMessage(update.message);
|
|
131
|
-
break;
|
|
132
|
-
case (0, core_1.hasObjectProperty)(update, 'my_chat_member'):
|
|
133
|
-
listener = this.handleMyChatMember(update.my_chat_member);
|
|
134
|
-
break;
|
|
135
|
-
case (0, core_1.hasObjectProperty)(update, 'poll'):
|
|
136
|
-
listener = this.handlePoll(update.poll);
|
|
137
|
-
break;
|
|
138
|
-
case (0, core_1.hasObjectProperty)(update, 'poll_answer'):
|
|
139
|
-
listener = this.handlePollAnswer(update.poll_answer);
|
|
140
|
-
break;
|
|
141
|
-
case (0, core_1.hasObjectProperty)(update, 'pre_checkout_query'):
|
|
142
|
-
listener = this.handlePreCheckoutQuery(update.pre_checkout_query);
|
|
143
|
-
break;
|
|
144
|
-
case (0, core_1.hasObjectProperty)(update, 'purchased_paid_media'):
|
|
145
|
-
listener = this.handlePurchasedPaidMedia(update.purchased_paid_media);
|
|
146
|
-
break;
|
|
147
|
-
case (0, core_1.hasObjectProperty)(update, 'removed_chat_boost'):
|
|
148
|
-
listener = this.handleRemovedChatBoost(update.removed_chat_boost);
|
|
149
|
-
break;
|
|
150
|
-
case (0, core_1.hasObjectProperty)(update, 'shipping_query'):
|
|
151
|
-
listener = this.handleShippingQuery(update.shipping_query);
|
|
152
|
-
break;
|
|
153
|
-
default:
|
|
154
|
-
return class_logger_1.ClassLogger.error('Telegram', 'handle', `Failed to handle the update.`, update);
|
|
155
|
-
}
|
|
156
|
-
if (listener) {
|
|
157
|
-
return class_logger_1.ClassLogger.info('Telegram', 'handle', `A ${listener.type} update has been handled.`, update, listener);
|
|
158
|
-
}
|
|
159
|
-
class_logger_1.ClassLogger.warn('Telegram', 'handle', `Failed to find the matching listener.`, update);
|
|
160
|
-
}
|
|
161
|
-
handleBusinessConnection(connection) {
|
|
162
|
-
let listener;
|
|
163
|
-
listener = this.findListener('business_connection');
|
|
164
|
-
if (!listener)
|
|
165
|
-
return;
|
|
166
|
-
listener.middleware(connection);
|
|
167
|
-
return listener;
|
|
168
|
-
}
|
|
169
|
-
handleBusinessMessage(message) {
|
|
170
|
-
let listener;
|
|
171
|
-
listener = this.findListener('business_message');
|
|
172
|
-
if (!listener)
|
|
173
|
-
return;
|
|
174
|
-
listener.middleware(message);
|
|
175
|
-
return listener;
|
|
176
|
-
}
|
|
177
|
-
handleCallbackQuery(query) {
|
|
178
|
-
let listener, body;
|
|
179
|
-
body = (0, callback_query_utils_1.decodeCallbackQueryBody)(query.data);
|
|
180
|
-
(0, core_1.setObjectProperty)(query, 'body', body);
|
|
181
|
-
listener = this.findListener('callback_query', body.m);
|
|
182
|
-
if (!listener)
|
|
183
|
-
return;
|
|
184
|
-
listener.middleware(query);
|
|
185
|
-
if (listener.options.deleteOnCallbackQuery && query.message) {
|
|
186
|
-
(0, delete_requests_1.deleteMessage)({ chat_id: body.c ? query.from.id : query.message.chat.id, message_id: query.message.message_id }, { token: this.token });
|
|
187
|
-
}
|
|
188
|
-
return listener;
|
|
189
|
-
}
|
|
190
|
-
handleChannelPost(post) {
|
|
191
|
-
let listener;
|
|
192
|
-
listener = this.findListener('channel_post');
|
|
193
|
-
if (!listener)
|
|
194
|
-
return;
|
|
195
|
-
listener.middleware(post);
|
|
196
|
-
return listener;
|
|
197
|
-
}
|
|
198
|
-
handleChatBoost(boost) {
|
|
199
|
-
let listener;
|
|
200
|
-
listener = this.findListener('chat_boost');
|
|
201
|
-
if (!listener)
|
|
202
|
-
return;
|
|
203
|
-
listener.middleware(boost);
|
|
204
|
-
return listener;
|
|
205
|
-
}
|
|
206
|
-
handleChatJoinRequest(request) {
|
|
207
|
-
let listener;
|
|
208
|
-
listener = this.findListener('chat_join_request');
|
|
209
|
-
if (!listener)
|
|
210
|
-
return;
|
|
211
|
-
listener.middleware(request);
|
|
212
|
-
return listener;
|
|
213
|
-
}
|
|
214
|
-
handleChatMember(member) {
|
|
215
|
-
let listener;
|
|
216
|
-
listener = this.findListener('chat_member');
|
|
217
|
-
if (!listener)
|
|
218
|
-
return;
|
|
219
|
-
listener.middleware(member);
|
|
220
|
-
return listener;
|
|
221
|
-
}
|
|
222
|
-
handleChosenInlineResult(result) {
|
|
223
|
-
let listener;
|
|
224
|
-
listener = this.findListener('chosen_inline_result');
|
|
225
|
-
if (!listener)
|
|
226
|
-
return;
|
|
227
|
-
listener.middleware(result);
|
|
228
|
-
return listener;
|
|
229
|
-
}
|
|
230
|
-
handleDeletedBusinessMessages(deleted) {
|
|
231
|
-
let listener;
|
|
232
|
-
listener = this.findListener('deleted_business_messages');
|
|
233
|
-
if (!listener)
|
|
234
|
-
return;
|
|
235
|
-
listener.middleware(deleted);
|
|
236
|
-
return listener;
|
|
237
|
-
}
|
|
238
|
-
handleEditedBusinessMessage(message) {
|
|
239
|
-
let listener;
|
|
240
|
-
listener = this.findListener('edited_business_message');
|
|
241
|
-
if (!listener)
|
|
242
|
-
return;
|
|
243
|
-
listener.middleware(message);
|
|
244
|
-
return listener;
|
|
245
|
-
}
|
|
246
|
-
handleEditedChannelPost(post) {
|
|
247
|
-
let listener;
|
|
248
|
-
listener = this.findListener('edited_channel_post');
|
|
249
|
-
if (!listener)
|
|
250
|
-
return;
|
|
251
|
-
listener.middleware(post);
|
|
252
|
-
return listener;
|
|
253
|
-
}
|
|
254
|
-
handleEditedMessage(message) {
|
|
255
|
-
let listener;
|
|
256
|
-
listener = this.findListener('edited_message');
|
|
257
|
-
if (!listener)
|
|
258
|
-
return;
|
|
259
|
-
listener.middleware(message);
|
|
260
|
-
return listener;
|
|
261
|
-
}
|
|
262
|
-
handleInlineQuery(query) {
|
|
263
|
-
let listener;
|
|
264
|
-
listener = this.findListener('inline_query');
|
|
265
|
-
if (!listener)
|
|
266
|
-
return;
|
|
267
|
-
listener.middleware(query);
|
|
268
|
-
return listener;
|
|
269
|
-
}
|
|
270
|
-
handleMessage(message) {
|
|
271
|
-
let listener;
|
|
272
|
-
listener = this.findListener('message', (0, command_utils_1.getCommand)(message.text));
|
|
273
|
-
if (!listener)
|
|
274
|
-
return;
|
|
275
|
-
listener.middleware(message);
|
|
276
|
-
return listener;
|
|
277
|
-
}
|
|
278
|
-
handleMessageReaction(reaction) {
|
|
279
|
-
let listener;
|
|
280
|
-
listener = this.findListener('message_reaction');
|
|
281
|
-
if (!listener)
|
|
282
|
-
return;
|
|
283
|
-
listener.middleware(reaction);
|
|
284
|
-
return listener;
|
|
285
|
-
}
|
|
286
|
-
handleMessageReactionCount(count) {
|
|
287
|
-
let listener;
|
|
288
|
-
listener = this.findListener('message_reaction_count');
|
|
289
|
-
if (!listener)
|
|
290
|
-
return;
|
|
291
|
-
listener.middleware(count);
|
|
292
|
-
return listener;
|
|
293
|
-
}
|
|
294
|
-
handleMyChatMember(member) {
|
|
295
|
-
let listener;
|
|
296
|
-
listener = this.findListener('my_chat_member');
|
|
297
|
-
if (!listener)
|
|
298
|
-
return;
|
|
299
|
-
listener.middleware(member);
|
|
300
|
-
return listener;
|
|
301
|
-
}
|
|
302
|
-
handlePoll(poll) {
|
|
303
|
-
let listener;
|
|
304
|
-
listener = this.findListener('poll');
|
|
305
|
-
if (!listener)
|
|
306
|
-
return;
|
|
307
|
-
listener.middleware(poll);
|
|
308
|
-
return listener;
|
|
309
|
-
}
|
|
310
|
-
handlePollAnswer(answer) {
|
|
311
|
-
let listener;
|
|
312
|
-
listener = this.findListener('poll_answer');
|
|
313
|
-
if (!listener)
|
|
314
|
-
return;
|
|
315
|
-
listener.middleware(answer);
|
|
316
|
-
return listener;
|
|
317
|
-
}
|
|
318
|
-
handlePreCheckoutQuery(query) {
|
|
319
|
-
let listener;
|
|
320
|
-
listener = this.findListener('pre_checkout_query');
|
|
321
|
-
if (!listener)
|
|
322
|
-
return;
|
|
323
|
-
listener.middleware(query);
|
|
324
|
-
return listener;
|
|
325
|
-
}
|
|
326
|
-
handlePurchasedPaidMedia(media) {
|
|
327
|
-
let listener;
|
|
328
|
-
listener = this.findListener('purchased_paid_media');
|
|
329
|
-
if (!listener)
|
|
330
|
-
return;
|
|
331
|
-
listener.middleware(media);
|
|
332
|
-
return listener;
|
|
333
|
-
}
|
|
334
|
-
handleRemovedChatBoost(removed) {
|
|
335
|
-
let listener;
|
|
336
|
-
listener = this.findListener('removed_chat_boost');
|
|
337
|
-
if (!listener)
|
|
338
|
-
return;
|
|
339
|
-
listener.middleware(removed);
|
|
340
|
-
return listener;
|
|
341
|
-
}
|
|
342
|
-
handleReplyToMessage(reply) {
|
|
343
|
-
let body, listener;
|
|
344
|
-
body = (0, reply_to_message_utils_1.decodeReplyToMessageBody)(reply.reply_to_message?.entities ?? []);
|
|
345
|
-
(0, core_1.setObjectProperty)(reply, 'body', body);
|
|
346
|
-
listener = this.findListener('reply_to_message', body.m);
|
|
347
|
-
if (!listener)
|
|
348
|
-
return;
|
|
349
|
-
listener.middleware(reply);
|
|
350
|
-
if (listener.id.length > 0 && listener.options.deleteOnReply && reply.from && reply.reply_to_message) {
|
|
351
|
-
(0, delete_requests_1.deleteMessages)({ chat_id: reply.from.id, message_ids: [reply.message_id, reply.reply_to_message.message_id] }, { token: this.token });
|
|
352
|
-
}
|
|
353
|
-
return listener;
|
|
354
|
-
}
|
|
355
|
-
handleShippingQuery(query) {
|
|
356
|
-
let listener;
|
|
357
|
-
listener = this.findListener('shipping_query');
|
|
358
|
-
if (!listener)
|
|
359
|
-
return;
|
|
360
|
-
listener.middleware(query);
|
|
361
|
-
return listener;
|
|
362
|
-
}
|
|
363
|
-
handleStart(start) {
|
|
364
|
-
let listener, body;
|
|
365
|
-
body = (0, start_message_utils_1.decodeStartBody)(start.text);
|
|
366
|
-
(0, core_1.setObjectProperty)(start, 'body', body);
|
|
367
|
-
listener = this.findListener('start', body.m);
|
|
368
|
-
if (!listener)
|
|
369
|
-
return;
|
|
370
|
-
listener.middleware(start);
|
|
371
|
-
if (listener.id.length > 0 && listener.options.deleteOnMessageStart) {
|
|
372
|
-
(0, delete_requests_1.deleteMessage)({ chat_id: body.c ? start.from?.id ?? 0n : start.chat.id, message_id: start.message_id }, { token: this.token });
|
|
373
|
-
}
|
|
374
|
-
return listener;
|
|
375
|
-
}
|
|
376
|
-
async poll(options) {
|
|
377
|
-
let body, updates;
|
|
378
|
-
body = {
|
|
379
|
-
allowed_updates: options?.allowed_updates ?? constants_1.DEFAULT_ALLOWED_UPDATES,
|
|
380
|
-
limit: options?.limit,
|
|
381
|
-
offset: options?.offset ?? this.offset,
|
|
382
|
-
timeout: options?.timeout
|
|
383
|
-
};
|
|
384
|
-
updates = await (0, get_requests_1.getUpdates)(body, { token: this.token });
|
|
385
|
-
if (updates instanceof Error)
|
|
386
|
-
return;
|
|
387
|
-
for (let update of updates) {
|
|
388
|
-
this.handle(update);
|
|
389
|
-
}
|
|
390
|
-
this.offset = updates.length > 0 ? updates[updates.length - 1].update_id + 1 : this.offset;
|
|
391
|
-
class_logger_1.ClassLogger.verbose('Telegram', 'poll', `The offset has been set.`, [this.offset]);
|
|
392
|
-
if (typeof options?.offset === 'number' && typeof this.offset === 'number' && (0, core_1.isIntervalSet)(this.id)) {
|
|
393
|
-
(0, core_1.clearInterval)(this.id);
|
|
394
|
-
(0, core_1.setInterval)(() => this.poll({ ...options, offset: undefined }), options?.ms ?? constants_1.DEFAULT_CLIENT_POLLING_MS, this.id, { autorun: true });
|
|
395
|
-
}
|
|
396
|
-
}
|
|
397
|
-
findListener(type, command) {
|
|
398
|
-
return this.listeners.find((listener) => listener.command === command && listener.type === type);
|
|
399
|
-
}
|
|
400
|
-
getCommands() {
|
|
401
|
-
return this.listeners
|
|
402
|
-
.filter((listener) => typeof listener.command === 'string' && listener.type === 'message')
|
|
403
|
-
.map((listener) => ({ command: listener.command ?? '', description: listener.description ?? '' }));
|
|
404
|
-
}
|
|
405
|
-
getListeners() {
|
|
406
|
-
return this.listeners;
|
|
407
|
-
}
|
|
408
|
-
getToken() {
|
|
409
|
-
return this.token;
|
|
410
|
-
}
|
|
411
|
-
setToken(token) {
|
|
412
|
-
this.token = token;
|
|
413
|
-
class_logger_1.ClassLogger.verbose('Telegram', 'setToken', `The token has been set.`, [this.token]);
|
|
414
|
-
return this;
|
|
415
|
-
}
|
|
416
|
-
get listenerIDs() {
|
|
417
|
-
return this.listeners.reduce((r, v) => [...r, v.id], []);
|
|
418
|
-
}
|
|
419
|
-
}
|
|
420
|
-
exports.Client = Client;
|
|
1
|
+
import{clearInterval as l,generateRandomString as o,hasObjectProperty as i,isIntervalSet as u,mergeObjects as C,omitObjectProperties as g,setInterval as h,setObjectProperty as a}from"@aracna/core";import{DEFAULT_ALLOWED_UPDATES as _,DEFAULT_CLIENT_LISTENER_OPTIONS as b,DEFAULT_CLIENT_POLLING_MS as c}from"../definitions/constants.js";import{ClassLogger as s}from"../loggers/class-logger.js";import{deleteMessage as m,deleteMessages as L}from"../requests/delete-requests.js";import{getUpdates as y}from"../requests/get-requests.js";import{deleteWebhook as f,setWebhook as p}from"../requests/webhook-requests.js";import{decodeCallbackQueryBody as k}from"../utils/callback-query-utils.js";import{getCommand as w}from"../utils/command-utils.js";import{decodeReplyToMessageBody as M}from"../utils/reply-to-message-utils.js";import{decodeStartBody as T}from"../utils/start-message-utils.js";class x{listeners;id;offset;token;constructor(n){this.listeners=[],this.id=o({prefix:"telegram-client"}),this.token=n}async connect(n,e){switch(n){case"polling":h(()=>this.poll(e?.polling),e?.polling?.ms??c,this.id,{autorun:!0}),s.info("Telegram","connect","The client is now polling the updates.");break;case"webhook":{let t,r;if(!e?.webhook?.url)return new Error("The webhook URL is required.");if(t=await f(e.webhook.delete,{token:this.token}),t instanceof Error)return t;if(s.verbose("Telegram","connect","The webhook has been deleted."),r=await p(e.webhook,{token:this.token}),r instanceof Error)return r;s.info("Telegram","connect","The webhook has been set.");break}}}async disconnect(n){this.offset=void 0,s.verbose("Telegram","disconnect","The offset has been reset.",[this.offset]),l(this.id),s.info("Telegram","disconnect","The client has been disconnected."),await f(n?.webhook,{token:this.token}),s.info("Telegram","disconnect","The webhook has been deleted.")}on(n,e,t){let r,d;if(r={command:t?.command,description:t?.description,id:o({blacklist:this.listenerIDs}),middleware:e,type:n,options:C(b(),g(t??{},["description","key"]))},d=this.findListener(r.type,r.command),d){d.middleware=e,s.verbose("Telegram","register","The listener has been updated.",r);return}this.listeners.push(r),s.verbose("Telegram","register","The listener has been registered.",r)}handle(n){let e;switch(!0){case i(n,"business_connection"):e=this.handleBusinessConnection(n.business_connection);break;case i(n,"business_message"):e=this.handleBusinessMessage(n.business_message);break;case i(n,"callback_query.data"):e=this.handleCallbackQuery(n.callback_query);break;case i(n,"channel_post"):e=this.handleChannelPost(n.channel_post);break;case i(n,"chat_boost"):e=this.handleChatBoost(n.chat_boost);break;case i(n,"chat_join_request"):e=this.handleChatJoinRequest(n.chat_join_request);break;case i(n,"chat_member"):e=this.handleChatMember(n.chat_member);break;case i(n,"chosen_inline_result"):e=this.handleChosenInlineResult(n.chosen_inline_result);break;case i(n,"deleted_business_messages"):e=this.handleDeletedBusinessMessages(n.deleted_business_messages);break;case i(n,"edited_business_message"):e=this.handleEditedBusinessMessage(n.edited_business_message);break;case i(n,"edited_channel_post"):e=this.handleEditedChannelPost(n.edited_channel_post);break;case i(n,"edited_message"):e=this.handleEditedMessage(n.edited_message);break;case i(n,"inline_query"):e=this.handleInlineQuery(n.inline_query);break;case i(n,"message_reaction"):e=this.handleMessageReaction(n.message_reaction);break;case i(n,"message_reaction_count"):e=this.handleMessageReactionCount(n.message_reaction_count);break;case i(n,"message.reply_to_message.text"):e=this.handleReplyToMessage(n.message);break;case i(n,"message"):if(n.message?.text?.startsWith("/start")){e=this.handleStart(n.message);break}e=this.handleMessage(n.message);break;case i(n,"my_chat_member"):e=this.handleMyChatMember(n.my_chat_member);break;case i(n,"poll"):e=this.handlePoll(n.poll);break;case i(n,"poll_answer"):e=this.handlePollAnswer(n.poll_answer);break;case i(n,"pre_checkout_query"):e=this.handlePreCheckoutQuery(n.pre_checkout_query);break;case i(n,"purchased_paid_media"):e=this.handlePurchasedPaidMedia(n.purchased_paid_media);break;case i(n,"removed_chat_boost"):e=this.handleRemovedChatBoost(n.removed_chat_boost);break;case i(n,"shipping_query"):e=this.handleShippingQuery(n.shipping_query);break;default:return s.error("Telegram","handle","Failed to handle the update.",n)}if(e)return s.info("Telegram","handle",`A ${e.type} update has been handled.`,n,e);s.warn("Telegram","handle","Failed to find the matching listener.",n)}handleBusinessConnection(n){let e;if(e=this.findListener("business_connection"),!!e)return e.middleware(n),e}handleBusinessMessage(n){let e;if(e=this.findListener("business_message"),!!e)return e.middleware(n),e}handleCallbackQuery(n){let e,t;if(t=k(n.data),a(n,"body",t),e=this.findListener("callback_query",t.m),!!e)return e.middleware(n),e.options.deleteOnCallbackQuery&&n.message&&m({chat_id:t.c?n.from.id:n.message.chat.id,message_id:n.message.message_id},{token:this.token}),e}handleChannelPost(n){let e;if(e=this.findListener("channel_post"),!!e)return e.middleware(n),e}handleChatBoost(n){let e;if(e=this.findListener("chat_boost"),!!e)return e.middleware(n),e}handleChatJoinRequest(n){let e;if(e=this.findListener("chat_join_request"),!!e)return e.middleware(n),e}handleChatMember(n){let e;if(e=this.findListener("chat_member"),!!e)return e.middleware(n),e}handleChosenInlineResult(n){let e;if(e=this.findListener("chosen_inline_result"),!!e)return e.middleware(n),e}handleDeletedBusinessMessages(n){let e;if(e=this.findListener("deleted_business_messages"),!!e)return e.middleware(n),e}handleEditedBusinessMessage(n){let e;if(e=this.findListener("edited_business_message"),!!e)return e.middleware(n),e}handleEditedChannelPost(n){let e;if(e=this.findListener("edited_channel_post"),!!e)return e.middleware(n),e}handleEditedMessage(n){let e;if(e=this.findListener("edited_message"),!!e)return e.middleware(n),e}handleInlineQuery(n){let e;if(e=this.findListener("inline_query"),!!e)return e.middleware(n),e}handleMessage(n){let e;if(e=this.findListener("message",w(n.text)),!!e)return e.middleware(n),e}handleMessageReaction(n){let e;if(e=this.findListener("message_reaction"),!!e)return e.middleware(n),e}handleMessageReactionCount(n){let e;if(e=this.findListener("message_reaction_count"),!!e)return e.middleware(n),e}handleMyChatMember(n){let e;if(e=this.findListener("my_chat_member"),!!e)return e.middleware(n),e}handlePoll(n){let e;if(e=this.findListener("poll"),!!e)return e.middleware(n),e}handlePollAnswer(n){let e;if(e=this.findListener("poll_answer"),!!e)return e.middleware(n),e}handlePreCheckoutQuery(n){let e;if(e=this.findListener("pre_checkout_query"),!!e)return e.middleware(n),e}handlePurchasedPaidMedia(n){let e;if(e=this.findListener("purchased_paid_media"),!!e)return e.middleware(n),e}handleRemovedChatBoost(n){let e;if(e=this.findListener("removed_chat_boost"),!!e)return e.middleware(n),e}handleReplyToMessage(n){let e,t;if(e=M(n.reply_to_message?.entities??[]),a(n,"body",e),t=this.findListener("reply_to_message",e.m),!!t)return t.middleware(n),t.id.length>0&&t.options.deleteOnReply&&n.from&&n.reply_to_message&&L({chat_id:n.from.id,message_ids:[n.message_id,n.reply_to_message.message_id]},{token:this.token}),t}handleShippingQuery(n){let e;if(e=this.findListener("shipping_query"),!!e)return e.middleware(n),e}handleStart(n){let e,t;if(t=T(n.text),a(n,"body",t),e=this.findListener("start",t.m),!!e)return e.middleware(n),e.id.length>0&&e.options.deleteOnMessageStart&&m({chat_id:t.c?n.from?.id??0n:n.chat.id,message_id:n.message_id},{token:this.token}),e}async poll(n){let e,t;if(e={allowed_updates:n?.allowed_updates??_,limit:n?.limit,offset:n?.offset??this.offset,timeout:n?.timeout},t=await y(e,{token:this.token}),!(t instanceof Error)){for(let r of t)this.handle(r);this.offset=t.length>0?t[t.length-1].update_id+1:this.offset,s.verbose("Telegram","poll","The offset has been set.",[this.offset]),typeof n?.offset=="number"&&typeof this.offset=="number"&&u(this.id)&&(l(this.id),h(()=>this.poll({...n,offset:void 0}),n?.ms??c,this.id,{autorun:!0}))}}findListener(n,e){return this.listeners.find(t=>t.command===e&&t.type===n)}getCommands(){return this.listeners.filter(n=>typeof n.command=="string"&&n.type==="message").map(n=>({command:n.command??"",description:n.description??""}))}getListeners(){return this.listeners}getToken(){return this.token}setToken(n){return this.token=n,s.verbose("Telegram","setToken","The token has been set.",[this.token]),this}get listenerIDs(){return this.listeners.reduce((n,e)=>[...n,e.id],[])}}export{x as Client};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DecodeJsonOptions, EncodeJsonOptions } from '@aracna/core';
|
|
2
|
-
import { CallbackQueryBody, ClientListenerOptions, ReplyToMessageBody, StartBody } from './interfaces';
|
|
2
|
+
import { CallbackQueryBody, ClientListenerOptions, ReplyToMessageBody, StartBody } from './interfaces.js';
|
|
3
3
|
export declare const DEFAULT_ALLOWED_UPDATES: string[];
|
|
4
4
|
export declare const DEFAULT_CALLBACK_QUERY_BODY: () => CallbackQueryBody<any>;
|
|
5
5
|
export declare const DEFAULT_CLIENT_LISTENER_OPTIONS: () => ClientListenerOptions;
|
package/definitions/constants.js
CHANGED
|
@@ -1,57 +1 @@
|
|
|
1
|
-
"
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.REGEXP_COMMAND_WITH_USERNAME = exports.REGEXP_COMMAND = exports.DEFAULT_START_MESSAGE_BODY = exports.DEFAULT_REPLY_TO_MESSAGE_BODY = exports.DEFAULT_ENCODE_JSON_OPTIONS = exports.DEFAULT_DECODE_JSON_OPTIONS = exports.DEFAULT_CLIENT_POLLING_MS = exports.DEFAULT_CLIENT_LISTENER_OPTIONS = exports.DEFAULT_CALLBACK_QUERY_BODY = exports.DEFAULT_ALLOWED_UPDATES = void 0;
|
|
4
|
-
exports.DEFAULT_ALLOWED_UPDATES = [
|
|
5
|
-
'business_connection',
|
|
6
|
-
'business_message',
|
|
7
|
-
'callback_query',
|
|
8
|
-
'channel_post',
|
|
9
|
-
'chat_boost',
|
|
10
|
-
'chat_join_request',
|
|
11
|
-
'chat_member',
|
|
12
|
-
'chosen_inline_result',
|
|
13
|
-
'deleted_business_messages',
|
|
14
|
-
'edited_business_message',
|
|
15
|
-
'edited_channel_post',
|
|
16
|
-
'edited_message',
|
|
17
|
-
'inline_query',
|
|
18
|
-
'message',
|
|
19
|
-
'message_reaction',
|
|
20
|
-
'message_reaction_count',
|
|
21
|
-
'my_chat_member',
|
|
22
|
-
'poll',
|
|
23
|
-
'poll_answer',
|
|
24
|
-
'pre_checkout_query',
|
|
25
|
-
'removed_chat_boost',
|
|
26
|
-
'shipping_query'
|
|
27
|
-
];
|
|
28
|
-
const DEFAULT_CALLBACK_QUERY_BODY = () => ({
|
|
29
|
-
d: null
|
|
30
|
-
});
|
|
31
|
-
exports.DEFAULT_CALLBACK_QUERY_BODY = DEFAULT_CALLBACK_QUERY_BODY;
|
|
32
|
-
const DEFAULT_CLIENT_LISTENER_OPTIONS = () => ({
|
|
33
|
-
deleteOnCallbackQuery: false,
|
|
34
|
-
deleteOnMessageStart: false,
|
|
35
|
-
deleteOnReply: false
|
|
36
|
-
});
|
|
37
|
-
exports.DEFAULT_CLIENT_LISTENER_OPTIONS = DEFAULT_CLIENT_LISTENER_OPTIONS;
|
|
38
|
-
exports.DEFAULT_CLIENT_POLLING_MS = 1000;
|
|
39
|
-
const DEFAULT_DECODE_JSON_OPTIONS = () => ({
|
|
40
|
-
castBigIntStringToBigInt: true,
|
|
41
|
-
castUnsafeIntToBigInt: true
|
|
42
|
-
});
|
|
43
|
-
exports.DEFAULT_DECODE_JSON_OPTIONS = DEFAULT_DECODE_JSON_OPTIONS;
|
|
44
|
-
const DEFAULT_ENCODE_JSON_OPTIONS = () => ({
|
|
45
|
-
castBigIntToString: true
|
|
46
|
-
});
|
|
47
|
-
exports.DEFAULT_ENCODE_JSON_OPTIONS = DEFAULT_ENCODE_JSON_OPTIONS;
|
|
48
|
-
const DEFAULT_REPLY_TO_MESSAGE_BODY = () => ({
|
|
49
|
-
d: null
|
|
50
|
-
});
|
|
51
|
-
exports.DEFAULT_REPLY_TO_MESSAGE_BODY = DEFAULT_REPLY_TO_MESSAGE_BODY;
|
|
52
|
-
const DEFAULT_START_MESSAGE_BODY = () => ({
|
|
53
|
-
d: null
|
|
54
|
-
});
|
|
55
|
-
exports.DEFAULT_START_MESSAGE_BODY = DEFAULT_START_MESSAGE_BODY;
|
|
56
|
-
exports.REGEXP_COMMAND = /\/[a-z_]+/m;
|
|
57
|
-
exports.REGEXP_COMMAND_WITH_USERNAME = /\/[a-zA-Z0-9_@]+/;
|
|
1
|
+
const c=["business_connection","business_message","callback_query","channel_post","chat_boost","chat_join_request","chat_member","chosen_inline_result","deleted_business_messages","edited_business_message","edited_channel_post","edited_message","inline_query","message","message_reaction","message_reaction_count","my_chat_member","poll","poll_answer","pre_checkout_query","removed_chat_boost","shipping_query"],i=()=>({d:null}),l=()=>({deleteOnCallbackQuery:!1,deleteOnMessageStart:!1,deleteOnReply:!1}),E=1e3,p=()=>({castBigIntStringToBigInt:!0,castUnsafeIntToBigInt:!0}),O=()=>({castBigIntToString:!0}),d=()=>({d:null}),T=()=>({d:null}),u=/\/[a-z_]+/m,g=/\/[a-zA-Z0-9_@]+/;export{c as DEFAULT_ALLOWED_UPDATES,i as DEFAULT_CALLBACK_QUERY_BODY,l as DEFAULT_CLIENT_LISTENER_OPTIONS,E as DEFAULT_CLIENT_POLLING_MS,p as DEFAULT_DECODE_JSON_OPTIONS,O as DEFAULT_ENCODE_JSON_OPTIONS,d as DEFAULT_REPLY_TO_MESSAGE_BODY,T as DEFAULT_START_MESSAGE_BODY,u as REGEXP_COMMAND,g as REGEXP_COMMAND_WITH_USERNAME};
|
package/definitions/enums.js
CHANGED
|
@@ -1,7 +1 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LoggerName = void 0;
|
|
4
|
-
var LoggerName;
|
|
5
|
-
(function (LoggerName) {
|
|
6
|
-
LoggerName["CLASS"] = "TELEGRAM_CLASS";
|
|
7
|
-
})(LoggerName || (exports.LoggerName = LoggerName = {}));
|
|
1
|
+
var A=(S=>(S.CLASS="TELEGRAM_CLASS",S))(A||{});export{A as LoggerName};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { FetchResponse, RestApiConfig } from '@aracna/core';
|
|
2
2
|
import type { BusinessConnection, BusinessMessagesDeleted, ChatBoostRemoved, ChatBoostUpdated, ChatJoinRequest, ChatMemberUpdated, ChosenInlineResult, DeleteWebhook, EditMessageMedia, GetUpdates, InlineQuery, InputMediaAudio, InputMediaDocument, InputMediaPhoto, InputMediaVideo, Message, MessageReactionCountUpdated, MessageReactionUpdated, CallbackQuery as NativeCallbackQuery, PaidMediaPurchased, Poll, PollAnswer, PreCheckoutQuery, SendMediaGroup, SendMessage, SendPaidMedia, SetWebhook, ShippingQuery } from '@aracna/telegram-bot-types';
|
|
3
|
-
import type { ClientListenerMiddleware, InputFile, UpdateType } from './types';
|
|
3
|
+
import type { ClientListenerMiddleware, InputFile, UpdateType } from './types.js';
|
|
4
4
|
export interface CallbackQuery<T = any> extends NativeCallbackQuery {
|
|
5
5
|
body: CallbackQueryBody<T>;
|
|
6
6
|
}
|
package/definitions/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Context } from './interfaces';
|
|
1
|
+
import type { Context } from './interfaces.js';
|
|
2
2
|
export type ClientConnectionMode = 'polling' | 'webhook';
|
|
3
3
|
export type ClientListenerMiddleware<T extends UpdateType> = (context: Context[T]) => any;
|
|
4
4
|
export type InputFile = File | string;
|
package/definitions/types.js
CHANGED