@mtkruto/node 0.115.0 → 0.117.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/esm/3_types.d.ts +6 -0
- package/esm/3_types.d.ts.map +1 -1
- package/esm/3_types.js +6 -0
- package/esm/5_client.d.ts +5 -4
- package/esm/5_client.d.ts.map +1 -1
- package/esm/5_client.js +5 -4
- package/esm/client/1_client_generic.d.ts +35 -7
- package/esm/client/1_client_generic.d.ts.map +1 -1
- package/esm/client/2_account_manager.d.ts +16 -5
- package/esm/client/2_account_manager.d.ts.map +1 -1
- package/esm/client/2_account_manager.js +65 -9
- package/esm/client/2_bot_info_manager.d.ts +9 -2
- package/esm/client/2_bot_info_manager.d.ts.map +1 -1
- package/esm/client/2_bot_info_manager.js +14 -0
- package/esm/client/3_filters.d.ts +29 -4
- package/esm/client/3_filters.d.ts.map +1 -1
- package/esm/client/{2_context.d.ts → 4_context.d.ts} +20 -1
- package/esm/client/4_context.d.ts.map +1 -0
- package/esm/client/{2_context.js → 4_context.js} +114 -0
- package/{script/client/4_composer.d.ts → esm/client/5_composer.d.ts} +6 -8
- package/esm/client/5_composer.d.ts.map +1 -0
- package/esm/client/{4_composer.js → 5_composer.js} +8 -70
- package/esm/client/5_composer_test.d.ts.map +1 -0
- package/esm/client/{5_client.d.ts → 6_client.d.ts} +38 -10
- package/esm/client/6_client.d.ts.map +1 -0
- package/esm/client/{5_client.js → 6_client.js} +52 -10
- package/{script/client/5_client_dispatcher.d.ts → esm/client/6_client_dispatcher.d.ts} +38 -10
- package/esm/client/6_client_dispatcher.d.ts.map +1 -0
- package/esm/client/{5_client_dispatcher.js → 6_client_dispatcher.js} +46 -10
- package/esm/client/{6_client_worker.d.ts → 7_client_worker.d.ts} +2 -2
- package/esm/client/{6_client_worker.d.ts.map → 7_client_worker.d.ts.map} +1 -1
- package/esm/client/{6_client_worker.js → 7_client_worker.js} +1 -1
- package/esm/types/0_emoji_status.d.ts +45 -0
- package/esm/types/0_emoji_status.d.ts.map +1 -0
- package/esm/types/0_emoji_status.js +33 -0
- package/esm/types/0_input_emoji_status.d.ts +33 -0
- package/esm/types/0_input_emoji_status.d.ts.map +1 -0
- package/esm/types/0_input_emoji_status.js +20 -0
- package/esm/types/0_user_status.d.ts +64 -0
- package/esm/types/0_user_status.d.ts.map +1 -0
- package/esm/types/0_user_status.js +35 -0
- package/esm/types/1_bot_commands.d.ts +30 -0
- package/esm/types/1_bot_commands.d.ts.map +1 -0
- package/esm/types/1_bot_commands.js +20 -0
- package/esm/types/1_chat_p.d.ts +10 -0
- package/esm/types/1_chat_p.d.ts.map +1 -1
- package/esm/types/1_chat_p.js +7 -1
- package/esm/types/2_user.d.ts +9 -1
- package/esm/types/2_user.d.ts.map +1 -1
- package/esm/types/2_user.js +10 -1
- package/esm/types/4_gift.d.ts +1 -1
- package/esm/types/4_gift.d.ts.map +1 -1
- package/esm/types/5_claimed_gift.d.ts +1 -1
- package/esm/types/5_claimed_gift.js +1 -1
- package/esm/types/5_gift_non_upgraded_information.d.ts +47 -0
- package/esm/types/5_gift_non_upgraded_information.d.ts.map +1 -0
- package/esm/types/5_gift_non_upgraded_information.js +69 -0
- package/esm/types/5_gift_upgraded_information.d.ts +41 -0
- package/esm/types/5_gift_upgraded_information.d.ts.map +1 -0
- package/esm/types/5_gift_upgraded_information.js +58 -0
- package/esm/types/6_message.d.ts +21 -1
- package/esm/types/6_message.d.ts.map +1 -1
- package/esm/types/6_message.js +12 -0
- package/esm/types/8_update.d.ts +57 -2
- package/esm/types/8_update.d.ts.map +1 -1
- package/package.json +1 -1
- package/script/3_types.d.ts +6 -0
- package/script/3_types.d.ts.map +1 -1
- package/script/3_types.js +6 -0
- package/script/5_client.d.ts +5 -4
- package/script/5_client.d.ts.map +1 -1
- package/script/5_client.js +5 -4
- package/script/client/1_client_generic.d.ts +35 -7
- package/script/client/1_client_generic.d.ts.map +1 -1
- package/script/client/2_account_manager.d.ts +16 -5
- package/script/client/2_account_manager.d.ts.map +1 -1
- package/script/client/2_account_manager.js +64 -8
- package/script/client/2_bot_info_manager.d.ts +9 -2
- package/script/client/2_bot_info_manager.d.ts.map +1 -1
- package/script/client/2_bot_info_manager.js +14 -0
- package/script/client/3_filters.d.ts +29 -4
- package/script/client/3_filters.d.ts.map +1 -1
- package/script/client/{2_context.d.ts → 4_context.d.ts} +20 -1
- package/script/client/4_context.d.ts.map +1 -0
- package/script/client/{2_context.js → 4_context.js} +114 -0
- package/{esm/client/4_composer.d.ts → script/client/5_composer.d.ts} +6 -8
- package/script/client/5_composer.d.ts.map +1 -0
- package/script/client/{4_composer.js → 5_composer.js} +9 -71
- package/script/client/5_composer_test.d.ts.map +1 -0
- package/script/client/{5_client.d.ts → 6_client.d.ts} +38 -10
- package/script/client/6_client.d.ts.map +1 -0
- package/script/client/{5_client.js → 6_client.js} +53 -11
- package/{esm/client/5_client_dispatcher.d.ts → script/client/6_client_dispatcher.d.ts} +38 -10
- package/script/client/6_client_dispatcher.d.ts.map +1 -0
- package/script/client/{5_client_dispatcher.js → 6_client_dispatcher.js} +47 -11
- package/script/client/{6_client_worker.d.ts → 7_client_worker.d.ts} +2 -2
- package/script/client/{6_client_worker.d.ts.map → 7_client_worker.d.ts.map} +1 -1
- package/script/client/{6_client_worker.js → 7_client_worker.js} +3 -3
- package/script/types/0_emoji_status.d.ts +45 -0
- package/script/types/0_emoji_status.d.ts.map +1 -0
- package/script/types/0_emoji_status.js +36 -0
- package/script/types/0_input_emoji_status.d.ts +33 -0
- package/script/types/0_input_emoji_status.d.ts.map +1 -0
- package/script/types/0_input_emoji_status.js +21 -0
- package/script/types/0_user_status.d.ts +64 -0
- package/script/types/0_user_status.d.ts.map +1 -0
- package/script/types/0_user_status.js +38 -0
- package/script/types/1_bot_commands.d.ts +30 -0
- package/script/types/1_bot_commands.d.ts.map +1 -0
- package/script/types/1_bot_commands.js +21 -0
- package/script/types/1_chat_p.d.ts +10 -0
- package/script/types/1_chat_p.d.ts.map +1 -1
- package/script/types/1_chat_p.js +7 -1
- package/script/types/2_user.d.ts +9 -1
- package/script/types/2_user.d.ts.map +1 -1
- package/script/types/2_user.js +10 -1
- package/script/types/4_gift.d.ts +1 -1
- package/script/types/4_gift.d.ts.map +1 -1
- package/script/types/5_claimed_gift.d.ts +1 -1
- package/script/types/5_claimed_gift.js +1 -1
- package/script/types/5_gift_non_upgraded_information.d.ts +47 -0
- package/script/types/5_gift_non_upgraded_information.d.ts.map +1 -0
- package/script/types/5_gift_non_upgraded_information.js +72 -0
- package/script/types/5_gift_upgraded_information.d.ts +41 -0
- package/script/types/5_gift_upgraded_information.d.ts.map +1 -0
- package/script/types/5_gift_upgraded_information.js +61 -0
- package/script/types/6_message.d.ts +21 -1
- package/script/types/6_message.d.ts.map +1 -1
- package/script/types/6_message.js +12 -0
- package/script/types/8_update.d.ts +57 -2
- package/script/types/8_update.d.ts.map +1 -1
- package/esm/client/2_context.d.ts.map +0 -1
- package/esm/client/4_composer.d.ts.map +0 -1
- package/esm/client/4_composer_test.d.ts.map +0 -1
- package/esm/client/5_client.d.ts.map +0 -1
- package/esm/client/5_client_dispatcher.d.ts.map +0 -1
- package/script/client/2_context.d.ts.map +0 -1
- package/script/client/4_composer.d.ts.map +0 -1
- package/script/client/4_composer_test.d.ts.map +0 -1
- package/script/client/5_client.d.ts.map +0 -1
- package/script/client/5_client_dispatcher.d.ts.map +0 -1
|
@@ -27,11 +27,17 @@ const _3_errors_js_1 = require("../3_errors.js");
|
|
|
27
27
|
const _3_types_js_1 = require("../3_types.js");
|
|
28
28
|
const _0_password_js_1 = require("./0_password.js");
|
|
29
29
|
const _0_utilities_js_1 = require("./0_utilities.js");
|
|
30
|
+
const accountManagerUpdates = [
|
|
31
|
+
"updateUserEmojiStatus",
|
|
32
|
+
];
|
|
30
33
|
class AccountManager {
|
|
31
34
|
#c;
|
|
32
35
|
constructor(c) {
|
|
33
36
|
this.#c = c;
|
|
34
37
|
}
|
|
38
|
+
canHandleUpdate(update) {
|
|
39
|
+
return _2_tl_js_1.Api.isOneOf(accountManagerUpdates, update);
|
|
40
|
+
}
|
|
35
41
|
async #toggleUsername(id, username, active) {
|
|
36
42
|
const peer = await this.#c.getInputPeer(id);
|
|
37
43
|
if (_2_tl_js_1.Api.is("inputPeerSelf", peer)) {
|
|
@@ -104,25 +110,65 @@ class AccountManager {
|
|
|
104
110
|
const { chats, dates } = await this.#c.invoke({ _: "channels.getInactiveChannels" });
|
|
105
111
|
return chats.map((v, i) => (0, _3_types_js_1.constructInactiveChat)(v, dates[i]));
|
|
106
112
|
}
|
|
107
|
-
async
|
|
113
|
+
async setIsOnline(isOnline) {
|
|
108
114
|
this.#c.storage.assertUser("setOnline");
|
|
109
|
-
await this.#c.invoke({ _: "account.updateStatus", offline: !
|
|
115
|
+
await this.#c.invoke({ _: "account.updateStatus", offline: !isOnline });
|
|
110
116
|
}
|
|
111
|
-
async setEmojiStatus(
|
|
117
|
+
async setEmojiStatus(emojiStatus, params) {
|
|
112
118
|
this.#c.storage.assertUser("setEmojiStatus");
|
|
113
|
-
|
|
119
|
+
let emoji_status;
|
|
114
120
|
const until = params?.until;
|
|
115
|
-
|
|
121
|
+
if (emojiStatus.type === "customEmoji") {
|
|
122
|
+
const document_id = BigInt(emojiStatus.customEmojiId);
|
|
123
|
+
emoji_status = { _: "emojiStatus", document_id, until };
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
emoji_status = { _: "inputEmojiStatusCollectible", collectible_id: BigInt(emojiStatus.giftId), until };
|
|
127
|
+
}
|
|
116
128
|
await this.#c.invoke({ _: "account.updateEmojiStatus", emoji_status });
|
|
117
129
|
}
|
|
118
|
-
async
|
|
130
|
+
async removeEmojiStatus() {
|
|
131
|
+
this.#c.storage.assertUser("removeEmojiStatus");
|
|
132
|
+
await this.#c.invoke({ _: "account.updateEmojiStatus", emoji_status: { _: "emojiStatusEmpty" } });
|
|
133
|
+
}
|
|
134
|
+
async setChannelEmojiStatus(chatId, emojiStatus, params) {
|
|
135
|
+
this.#c.storage.assertUser("setChannelEmojiStatus");
|
|
136
|
+
const channel = await this.#c.getInputChannel(chatId);
|
|
137
|
+
const until = params?.until;
|
|
138
|
+
let emoji_status;
|
|
139
|
+
if (emojiStatus.type === "customEmoji") {
|
|
140
|
+
const document_id = BigInt(emojiStatus.customEmojiId);
|
|
141
|
+
emoji_status = { _: "emojiStatus", document_id, until };
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
emoji_status = { _: "inputEmojiStatusCollectible", collectible_id: BigInt(emojiStatus.giftId), until };
|
|
145
|
+
}
|
|
146
|
+
await this.#c.invoke({ _: "channels.updateEmojiStatus", channel, emoji_status });
|
|
147
|
+
}
|
|
148
|
+
async removeChannelEmojiStatus(chatId) {
|
|
149
|
+
this.#c.storage.assertUser("removeChannelEmojiStatus");
|
|
150
|
+
const channel = await this.#c.getInputChannel(chatId);
|
|
151
|
+
await this.#c.invoke({ _: "channels.updateEmojiStatus", channel, emoji_status: { _: "emojiStatusEmpty" } });
|
|
152
|
+
}
|
|
153
|
+
async setUserEmojiStatus(userId, emojiStatus, params) {
|
|
119
154
|
this.#c.storage.assertBot("setUserEmojiStatus");
|
|
120
155
|
const user_id = await this.#c.getInputUser(userId);
|
|
121
|
-
const document_id = BigInt(id);
|
|
122
156
|
const until = params?.until;
|
|
123
|
-
|
|
157
|
+
let emoji_status;
|
|
158
|
+
if (emojiStatus.type === "customEmoji") {
|
|
159
|
+
const document_id = BigInt(emojiStatus.customEmojiId);
|
|
160
|
+
emoji_status = { _: "emojiStatus", document_id, until };
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
emoji_status = { _: "inputEmojiStatusCollectible", collectible_id: BigInt(emojiStatus.giftId), until };
|
|
164
|
+
}
|
|
124
165
|
await this.#c.invoke({ _: "bots.updateUserEmojiStatus", user_id, emoji_status });
|
|
125
166
|
}
|
|
167
|
+
async removeUserEmojiStatus(userId) {
|
|
168
|
+
this.#c.storage.assertBot("removeUserEmojiStatus");
|
|
169
|
+
const user_id = await this.#c.getInputUser(userId);
|
|
170
|
+
await this.#c.invoke({ _: "bots.updateUserEmojiStatus", user_id, emoji_status: { _: "emojiStatusEmpty" } });
|
|
171
|
+
}
|
|
126
172
|
async setBotCanSetEmojiStatus(botId, canSetEmojiStatus) {
|
|
127
173
|
this.#c.storage.assertUser("setBotCanSetEmojiStatus");
|
|
128
174
|
const bot = await this.#c.getInputUser(botId);
|
|
@@ -364,5 +410,15 @@ class AccountManager {
|
|
|
364
410
|
this.#c.storage.assertUser("resumeBusinessBotConnection");
|
|
365
411
|
await this.#setIsBusinessBotConnectionPaused(chatId, false);
|
|
366
412
|
}
|
|
413
|
+
handleUpdate(update) {
|
|
414
|
+
const userId = Number(update.user_id);
|
|
415
|
+
if (_2_tl_js_1.Api.is("emojiStatusEmpty", update.emoji_status)) {
|
|
416
|
+
return { emojiStatusRemoved: true, userId };
|
|
417
|
+
}
|
|
418
|
+
else {
|
|
419
|
+
const emojiStatus = (0, _3_types_js_1.constructEmojiStatus)(update.emoji_status);
|
|
420
|
+
return { emojiStatus, userId };
|
|
421
|
+
}
|
|
422
|
+
}
|
|
367
423
|
}
|
|
368
424
|
exports.AccountManager = AccountManager;
|
|
@@ -17,12 +17,17 @@
|
|
|
17
17
|
* You should have received a copy of the GNU Lesser General Public License
|
|
18
18
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
19
19
|
*/
|
|
20
|
-
import {
|
|
20
|
+
import { Api } from "../2_tl.js";
|
|
21
|
+
import { type BotCommand, type Update } from "../3_types.js";
|
|
21
22
|
import type { GetMyCommandsParams, SetMyCommandsParams } from "./0_params.js";
|
|
23
|
+
import type { UpdateProcessor } from "./0_update_processor.js";
|
|
22
24
|
import type { C } from "./1_types.js";
|
|
23
|
-
|
|
25
|
+
declare const botInfoManagerUpdates: readonly ["updateBotCommands"];
|
|
26
|
+
type BotInfoManagerUpdate = Api.Types[(typeof botInfoManagerUpdates)[number]];
|
|
27
|
+
export declare class BotInfoManager implements UpdateProcessor<BotInfoManagerUpdate, false> {
|
|
24
28
|
#private;
|
|
25
29
|
constructor(c: C);
|
|
30
|
+
canHandleUpdate(update: Api.Update): update is BotInfoManagerUpdate;
|
|
26
31
|
setMyDescription(params?: {
|
|
27
32
|
description?: string;
|
|
28
33
|
languageCode?: string;
|
|
@@ -46,5 +51,7 @@ export declare class BotInfoManager {
|
|
|
46
51
|
}): Promise<string>;
|
|
47
52
|
getMyCommands(params?: GetMyCommandsParams): Promise<BotCommand[]>;
|
|
48
53
|
setMyCommands(commands: BotCommand[], params?: SetMyCommandsParams): Promise<void>;
|
|
54
|
+
handleUpdate(update: BotInfoManagerUpdate): Update;
|
|
49
55
|
}
|
|
56
|
+
export {};
|
|
50
57
|
//# sourceMappingURL=2_bot_info_manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"2_bot_info_manager.d.ts","sourceRoot":"","sources":["../../src/client/2_bot_info_manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;
|
|
1
|
+
{"version":3,"file":"2_bot_info_manager.d.ts","sourceRoot":"","sources":["../../src/client/2_bot_info_manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,KAAK,UAAU,EAA6B,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAExF,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AAEtC,QAAA,MAAM,qBAAqB,gCAEjB,CAAC;AAEX,KAAK,oBAAoB,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAE9E,qBAAa,cAAe,YAAW,eAAe,CAAC,oBAAoB,EAAE,KAAK,CAAC;;gBAGrE,CAAC,EAAE,CAAC;IAIhB,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,IAAI,oBAAoB;IAQ7D,gBAAgB,CAAC,MAAM,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE;IAKzE,SAAS,CAAC,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE;IAK3D,qBAAqB,CAAC,MAAM,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE;IASnF,gBAAgB,CAAC,MAAM,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAKrE,SAAS,CAAC,MAAM,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAK9D,qBAAqB,CAAC,MAAM,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAK1E,aAAa,CAAC,MAAM,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAUlE,aAAa,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,MAAM,CAAC,EAAE,mBAAmB;IAUxE,YAAY,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM;CAMnD"}
|
|
@@ -20,12 +20,20 @@
|
|
|
20
20
|
*/
|
|
21
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
22
|
exports.BotInfoManager = void 0;
|
|
23
|
+
const _2_tl_js_1 = require("../2_tl.js");
|
|
23
24
|
const _3_types_js_1 = require("../3_types.js");
|
|
25
|
+
const _2_telegram_js_1 = require("../tl/2_telegram.js");
|
|
26
|
+
const botInfoManagerUpdates = [
|
|
27
|
+
"updateBotCommands",
|
|
28
|
+
];
|
|
24
29
|
class BotInfoManager {
|
|
25
30
|
#c;
|
|
26
31
|
constructor(c) {
|
|
27
32
|
this.#c = c;
|
|
28
33
|
}
|
|
34
|
+
canHandleUpdate(update) {
|
|
35
|
+
return _2_tl_js_1.Api.isOneOf(botInfoManagerUpdates, update);
|
|
36
|
+
}
|
|
29
37
|
async #setMyInfo(info) {
|
|
30
38
|
await this.#c.invoke({ _: "bots.setBotInfo", ...info });
|
|
31
39
|
}
|
|
@@ -74,5 +82,11 @@ class BotInfoManager {
|
|
|
74
82
|
scope: await (0, _3_types_js_1.botCommandScopeToTlObject)(params?.scope ?? { type: "default" }, this.#c.getInputPeer),
|
|
75
83
|
});
|
|
76
84
|
}
|
|
85
|
+
handleUpdate(update) {
|
|
86
|
+
const botId = Number(update.bot_id);
|
|
87
|
+
const chatId = (0, _2_telegram_js_1.peerToChatId)(update.peer);
|
|
88
|
+
const commands = update.commands;
|
|
89
|
+
return { botCommands: { botId, chatId, commands } };
|
|
90
|
+
}
|
|
77
91
|
}
|
|
78
92
|
exports.BotInfoManager = BotInfoManager;
|
|
@@ -18,8 +18,7 @@
|
|
|
18
18
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
19
19
|
*/
|
|
20
20
|
import type { Api } from "../2_tl.js";
|
|
21
|
-
import type { CallbackQuery, ChosenInlineResult, MessageTypes, UpdateIntersection, UpdateMap } from "../3_types.js";
|
|
22
|
-
import type { Context } from "./2_context.js";
|
|
21
|
+
import type { CallbackQuery, ChatP, ChosenInlineResult, MessageTypes, UpdateIntersection, UpdateMap } from "../3_types.js";
|
|
23
22
|
type AnyLevel1 = keyof UpdateMap;
|
|
24
23
|
type GetLevel1Type<L1 extends AnyLevel1> = UpdateMap[L1];
|
|
25
24
|
interface Level2Map {
|
|
@@ -60,12 +59,38 @@ interface Shortcuts<T extends UpdateIntersection> {
|
|
|
60
59
|
inlineQuery: T["inlineQuery"];
|
|
61
60
|
chosenInlineResult: T["chosenInlineResult"];
|
|
62
61
|
}
|
|
63
|
-
type GetShortcuts<T
|
|
62
|
+
type GetShortcuts<T extends UpdateIntersection> = T["update"] extends object ? Record<string, never> : Shortcuts<T>;
|
|
64
63
|
type Filter<Q extends AnyLevelX> = {
|
|
65
64
|
update: FilterCore<Q>;
|
|
66
65
|
} & GetShortcuts<FilterCore<Q>>;
|
|
67
66
|
export type FilterQuery = AnyLevelX;
|
|
68
|
-
export type WithFilter<T
|
|
67
|
+
export type WithFilter<T, Q extends FilterQuery> = T & Filter<Q>;
|
|
69
68
|
export declare function match<Q extends FilterQuery, T extends object>(filter: Q, value: T): boolean;
|
|
69
|
+
type ChatType<T extends ChatP["type"]> = {
|
|
70
|
+
chat: {
|
|
71
|
+
type: T;
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
export type WithChatType<C, T extends ChatP["type"]> = C & ChatType<T> & {
|
|
75
|
+
msg?: ChatType<T>;
|
|
76
|
+
message?: ChatType<T>;
|
|
77
|
+
editedMessage?: ChatType<T>;
|
|
78
|
+
callbackQuery?: {
|
|
79
|
+
message?: ChatType<T>;
|
|
80
|
+
};
|
|
81
|
+
update: {
|
|
82
|
+
callbackQuery?: {
|
|
83
|
+
message?: ChatType<T>;
|
|
84
|
+
};
|
|
85
|
+
message?: ChatType<T>;
|
|
86
|
+
editedMessage?: ChatType<T>;
|
|
87
|
+
scheduledMessage?: ChatType<T>;
|
|
88
|
+
messageReactions?: ChatType<T>;
|
|
89
|
+
messageReactionCount?: ChatType<T>;
|
|
90
|
+
myChatMember?: ChatType<T>;
|
|
91
|
+
chatMember?: ChatType<T>;
|
|
92
|
+
joinRequest?: ChatType<T>;
|
|
93
|
+
};
|
|
94
|
+
};
|
|
70
95
|
export {};
|
|
71
96
|
//# sourceMappingURL=3_filters.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"3_filters.d.ts","sourceRoot":"","sources":["../../src/client/3_filters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,YAAY,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"3_filters.d.ts","sourceRoot":"","sources":["../../src/client/3_filters.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,18 @@ import { type Api } from "../2_tl.js";
|
|
|
21
21
|
import type { BusinessConnection, CallbackQuery, Chat, ChatAction, ChatMember, ChatP, ChatPChannel, ChatPGroup, ChatPPrivate, ChatPSupergroup, ChatSettings, ChosenInlineResult, ClaimedGifts, FailedInvitation, FileSource, ID, InlineQuery, InlineQueryResult, InputChecklistItem, InputMedia, InputPollOption, InputStoryContent, InviteLink, JoinRequest, Message, MessageAnimation, MessageAudio, MessageChecklist, MessageContact, MessageDice, MessageDocument, MessageInvoice, MessageList, MessageLocation, MessagePhoto, MessagePoll, MessageReactionList, MessageSticker, MessageText, MessageVenue, MessageVideo, MessageVideoNote, MessageVoice, Poll, PriceTag, Reaction, SlowModeDuration, Story, Topic, Update, User, VideoChatActive, VideoChatScheduled, VoiceTranscription } from "../3_types.js";
|
|
22
22
|
import type { AddChatMemberParams, AddContactParams, AddReactionParams, AnswerCallbackQueryParams, AnswerInlineQueryParams, AnswerPreCheckoutQueryParams, ApproveJoinRequestsParams, BanChatMemberParams, CreateInviteLinkParams, CreateStoryParams, CreateTopicParams, DeclineJoinRequestsParams, DeleteMessagesParams, EditInlineMessageCaptionParams, EditInlineMessageMediaParams, EditInlineMessageTextParams, EditMessageCaptionParams, EditMessageLiveLocationParams, EditMessageMediaParams, EditMessageReplyMarkupParams, EditMessageTextParams, EditTopicParams, EnableSignaturesParams, ForwardMessagesParams, GetChatMembersParams, GetClaimedGiftsParams, GetCreatedInviteLinksParams, GetHistoryParams, GetJoinRequestsParams, GetSavedMessagesParams, PinMessageParams, PromoteChatMemberParams, ReplyParams, ScheduleVideoChatParams, SearchMessagesParams, SendAnimationParams, SendAudioParams, SendChecklistParams, SendContactParams, SendDiceParams, SendDocumentParams, SendGiftParams, SendInvoiceParams, SendLocationParams, SendMediaGroupParams, SendMessageDraftParams, SendMessageParams, SendPhotoParams, SendPollParams, SendStickerParams, SendVenueParams, SendVideoNoteParams, SendVideoParams, SendVoiceParams, SetChatMemberRightsParams, SetChatMemberTagParams, SetChatPhotoParams, SetReactionsParams, StartVideoChatParams, StopPollParams, UpdateChecklistParams } from "./0_params.js";
|
|
23
23
|
import type { ClientGeneric } from "./1_client_generic.js";
|
|
24
|
+
import { type FilterQuery, type WithChatType, type WithFilter } from "./3_filters.js";
|
|
25
|
+
export type ContextCommands = string | RegExp | (string | RegExp)[] | {
|
|
26
|
+
names: string | RegExp | (string | RegExp)[];
|
|
27
|
+
prefixes: string | string[];
|
|
28
|
+
};
|
|
29
|
+
interface StaticHas {
|
|
30
|
+
filterQuery<Q extends FilterQuery>(filter: Q): <C extends Context>(ctx: C) => ctx is WithFilter<typeof ctx, Q>;
|
|
31
|
+
command(commands: ContextCommands, fallbackPrefixes: string | string[] | undefined): <C extends Context>(ctx: C) => ctx is WithFilter<typeof ctx, "message:text">;
|
|
32
|
+
callbackQuery(data: string | RegExp | (string | RegExp)[]): <C extends Context>(ctx: C) => ctx is WithFilter<typeof ctx, "callbackQuery:data">;
|
|
33
|
+
inlineQuery(queries: string | RegExp | (string | RegExp)[]): <C extends Context>(ctx: C) => ctx is WithFilter<typeof ctx, "inlineQuery">;
|
|
34
|
+
chatType<T extends ChatP["type"]>(chatType: T | T[]): <C extends Context>(ctx: C) => ctx is WithChatType<typeof ctx, T>;
|
|
35
|
+
}
|
|
24
36
|
/**
|
|
25
37
|
* The context object that is passed to the client's update handlers.
|
|
26
38
|
*
|
|
@@ -29,6 +41,7 @@ import type { ClientGeneric } from "./1_client_generic.js";
|
|
|
29
41
|
export declare class Context {
|
|
30
42
|
#private;
|
|
31
43
|
constructor(client: ClientGeneric, me: User | undefined, update: Update);
|
|
44
|
+
static has: StaticHas;
|
|
32
45
|
get update(): Update;
|
|
33
46
|
get me(): User | undefined;
|
|
34
47
|
get client(): ClientGeneric;
|
|
@@ -40,6 +53,11 @@ export declare class Context {
|
|
|
40
53
|
get chosenInlineResult(): ChosenInlineResult | undefined;
|
|
41
54
|
get chat(): ChatP | undefined;
|
|
42
55
|
get from(): User | ChatPGroup | ChatPSupergroup | ChatPChannel | undefined;
|
|
56
|
+
hasFilterQuery<Q extends FilterQuery>(filter: Q): this is WithFilter<typeof this, Q>;
|
|
57
|
+
hasCommand(commands: ContextCommands, fallbackPrefixes: string | string[] | undefined): this is WithFilter<typeof this, "message:text">;
|
|
58
|
+
hasCallbackQuery(data: string | RegExp | (string | RegExp)[]): this is WithFilter<typeof this, "callbackQuery:data">;
|
|
59
|
+
hasInlineQuery(queries: string | RegExp | (string | RegExp)[]): this is WithFilter<typeof this, "inlineQuery">;
|
|
60
|
+
hasChatType<T extends ChatP["type"]>(chatType: T | T[]): this is WithChatType<typeof this, T>;
|
|
43
61
|
/**
|
|
44
62
|
* Returns a representation of the update held in the context that can be converted to JSON.
|
|
45
63
|
*
|
|
@@ -667,4 +685,5 @@ export declare class Context {
|
|
|
667
685
|
*/
|
|
668
686
|
updateChecklist(messageId: number, params?: UpdateChecklistParams): Promise<void>;
|
|
669
687
|
}
|
|
670
|
-
|
|
688
|
+
export {};
|
|
689
|
+
//# sourceMappingURL=4_context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"4_context.d.ts","sourceRoot":"","sources":["../../src/client/4_context.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,7 +21,105 @@
|
|
|
21
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
22
|
exports.Context = void 0;
|
|
23
23
|
const _0_deps_js_1 = require("../0_deps.js");
|
|
24
|
+
const _0_errors_js_1 = require("../0_errors.js");
|
|
24
25
|
const _2_tl_js_1 = require("../2_tl.js");
|
|
26
|
+
const _3_filters_js_1 = require("./3_filters.js");
|
|
27
|
+
const staticHas = {
|
|
28
|
+
filterQuery(filter) {
|
|
29
|
+
return (ctx) => {
|
|
30
|
+
return (0, _3_filters_js_1.match)(filter, ctx.update);
|
|
31
|
+
};
|
|
32
|
+
},
|
|
33
|
+
command(commands, fallbackPrefixes) {
|
|
34
|
+
const hasText = staticHas.filterQuery("message:text");
|
|
35
|
+
const commands__ = typeof commands === "object" && "names" in commands ? commands.names : commands;
|
|
36
|
+
const commands_ = Array.isArray(commands__) ? commands__ : [commands__];
|
|
37
|
+
const prefixes_ = typeof commands === "object" && "prefixes" in commands ? commands.prefixes : (fallbackPrefixes ?? []);
|
|
38
|
+
const prefixes = Array.isArray(prefixes_) ? prefixes_ : [prefixes_];
|
|
39
|
+
for (const left of prefixes) {
|
|
40
|
+
for (const right of prefixes) {
|
|
41
|
+
if (left === right) {
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
if (left.startsWith(right) || right.startsWith(left)) {
|
|
45
|
+
throw new _0_errors_js_1.InputError("Intersecting prefixes");
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return (ctx) => {
|
|
50
|
+
if (!hasText(ctx)) {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
const prefixes_ = prefixes.length === 0 ? [!ctx.me?.isBot ? "\\" : "/"] : prefixes;
|
|
54
|
+
if (prefixes_.length === 0) {
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
const cmd = ctx.update.message.text.split(/\s/, 1)[0];
|
|
58
|
+
const prefix = prefixes_.find((v) => cmd.startsWith(v));
|
|
59
|
+
if (prefix === undefined) {
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
if (cmd.includes("@")) {
|
|
63
|
+
const username = cmd.split("@", 2)[1];
|
|
64
|
+
if (username.toLowerCase() !== ctx.me.username?.toLowerCase()) {
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
const command_ = cmd.split("@", 1)[0].split(prefix, 2)[1].toLowerCase();
|
|
69
|
+
for (const command of commands_) {
|
|
70
|
+
if (typeof command === "string" && (command.toLowerCase() === command_)) {
|
|
71
|
+
return true;
|
|
72
|
+
}
|
|
73
|
+
else if (command instanceof RegExp && command.test(command_)) {
|
|
74
|
+
return true;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return false;
|
|
78
|
+
};
|
|
79
|
+
},
|
|
80
|
+
callbackQuery(data) {
|
|
81
|
+
const hasCallbackQueryData = staticHas.filterQuery("callbackQuery:data");
|
|
82
|
+
const data_ = Array.isArray(data) ? data : [data];
|
|
83
|
+
return (ctx) => {
|
|
84
|
+
if (!hasCallbackQueryData(ctx)) {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
for (const data of data_) {
|
|
88
|
+
if (typeof data === "string" && data === ctx.update.callbackQuery.data) {
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
91
|
+
else if (data instanceof RegExp && data.test(ctx.update.callbackQuery.data)) {
|
|
92
|
+
return true;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return false;
|
|
96
|
+
};
|
|
97
|
+
},
|
|
98
|
+
inlineQuery(queries) {
|
|
99
|
+
const hasInlineQuery = staticHas.filterQuery("inlineQuery");
|
|
100
|
+
const queries_ = Array.isArray(queries) ? queries : [queries];
|
|
101
|
+
return (ctx) => {
|
|
102
|
+
if (!hasInlineQuery(ctx)) {
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
for (const query of queries_) {
|
|
106
|
+
if (typeof query === "string" && query === ctx.update.inlineQuery.query) {
|
|
107
|
+
return true;
|
|
108
|
+
}
|
|
109
|
+
else if (query instanceof RegExp && query.test(ctx.update.inlineQuery.query)) {
|
|
110
|
+
return true;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return false;
|
|
114
|
+
};
|
|
115
|
+
},
|
|
116
|
+
chatType(chatType) {
|
|
117
|
+
const set = new Set(Array.isArray(chatType) ? chatType : [chatType]);
|
|
118
|
+
return (ctx) => {
|
|
119
|
+
return ctx.chat !== undefined && set.has(ctx.chat.type);
|
|
120
|
+
};
|
|
121
|
+
},
|
|
122
|
+
};
|
|
25
123
|
/**
|
|
26
124
|
* The context object that is passed to the client's update handlers.
|
|
27
125
|
*
|
|
@@ -36,6 +134,7 @@ class Context {
|
|
|
36
134
|
this.#me = me;
|
|
37
135
|
this.#update = update;
|
|
38
136
|
}
|
|
137
|
+
static has = staticHas;
|
|
39
138
|
get update() {
|
|
40
139
|
return this.#update;
|
|
41
140
|
}
|
|
@@ -135,6 +234,21 @@ class Context {
|
|
|
135
234
|
const from = "callbackQuery" in this.update ? this.update.callbackQuery.from : "inlineQuery" in this.update ? this.update.inlineQuery.from : "chatMember" in this.update ? this.update.chatMember.from : "myChatMember" in this.update ? this.update.myChatMember.from : "messageReactions" in this.update ? this.update.messageReactions.user : "preCheckoutQuery" in this.update ? this.update.preCheckoutQuery.from : "joinRequest" in this.update ? this.update.joinRequest.from : "businessConnection" in this.update ? this.update.businessConnection.user : "pollAnswer" in this.update ? this.update.pollAnswer.from : this.msg?.from;
|
|
136
235
|
return from;
|
|
137
236
|
}
|
|
237
|
+
hasFilterQuery(filter) {
|
|
238
|
+
return Context.has.filterQuery(filter)(this);
|
|
239
|
+
}
|
|
240
|
+
hasCommand(commands, fallbackPrefixes) {
|
|
241
|
+
return Context.has.command(commands, fallbackPrefixes)(this);
|
|
242
|
+
}
|
|
243
|
+
hasCallbackQuery(data) {
|
|
244
|
+
return Context.has.callbackQuery(data)(this);
|
|
245
|
+
}
|
|
246
|
+
hasInlineQuery(queries) {
|
|
247
|
+
return Context.has.inlineQuery(queries)(this);
|
|
248
|
+
}
|
|
249
|
+
hasChatType(chatType) {
|
|
250
|
+
return Context.has.chatType(chatType)(this);
|
|
251
|
+
}
|
|
138
252
|
/**
|
|
139
253
|
* Returns a representation of the update held in the context that can be converted to JSON.
|
|
140
254
|
*
|
|
@@ -18,11 +18,11 @@
|
|
|
18
18
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
19
19
|
*/
|
|
20
20
|
import type { MaybePromise } from "../1_utilities.js";
|
|
21
|
-
import type { Update } from "../3_types.js";
|
|
21
|
+
import type { ChatP, Update } from "../3_types.js";
|
|
22
22
|
import type { NextFunction } from "./0_utilities.js";
|
|
23
23
|
import type { ClientGeneric } from "./1_client_generic.js";
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
24
|
+
import type { FilterQuery, WithChatType, WithFilter } from "./3_filters.js";
|
|
25
|
+
import { Context, type ContextCommands } from "./4_context.js";
|
|
26
26
|
export type MiddlewareFn<C> = (ctx: C, next: NextFunction) => MaybePromise<unknown>;
|
|
27
27
|
export interface MiddlewareObj<C> {
|
|
28
28
|
middleware: () => MiddlewareFn<C>;
|
|
@@ -42,11 +42,9 @@ export declare class Composer<C extends Context> implements MiddlewareObj<C> {
|
|
|
42
42
|
filter<D extends C>(predicate: (ctx: C) => ctx is D, ...middleware: Middleware<D>[]): Composer<D>;
|
|
43
43
|
filter(predicate: (ctx: C) => MaybePromise<boolean>, ...middleware: Middleware<C>[]): Composer<C>;
|
|
44
44
|
on<Q extends FilterQuery>(filter: Q, ...middleware: Middleware<WithFilter<C, Q>>[]): Composer<WithFilter<C, Q>>;
|
|
45
|
-
command(commands:
|
|
46
|
-
names: string | RegExp | (string | RegExp)[];
|
|
47
|
-
prefixes: string | string[];
|
|
48
|
-
}, ...middleware: Middleware<WithFilter<C, "message:text">>[]): Composer<WithFilter<C, "message:text">>;
|
|
45
|
+
command(commands: ContextCommands, ...middleware: Middleware<WithFilter<C, "message:text">>[]): Composer<WithFilter<C, "message:text">>;
|
|
49
46
|
callbackQuery(data: string | RegExp | (string | RegExp)[], ...middleware: Middleware<WithFilter<C, "callbackQuery:data">>[]): Composer<WithFilter<C, "callbackQuery:data">>;
|
|
50
47
|
inlineQuery(queries: string | RegExp | (string | RegExp)[], ...middleware: Middleware<WithFilter<C, "inlineQuery">>[]): Composer<WithFilter<C, "inlineQuery">>;
|
|
48
|
+
chatType<T extends ChatP["type"]>(chatType: T | T[], ...middleware: Middleware<WithChatType<C, T>>[]): Composer<WithChatType<C, T>>;
|
|
51
49
|
}
|
|
52
|
-
//# sourceMappingURL=
|
|
50
|
+
//# sourceMappingURL=5_composer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"5_composer.d.ts","sourceRoot":"","sources":["../../src/client/5_composer.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,8 +24,7 @@ exports.flatten = flatten;
|
|
|
24
24
|
exports.concat = concat;
|
|
25
25
|
exports.skip = skip;
|
|
26
26
|
const _0_errors_js_1 = require("../0_errors.js");
|
|
27
|
-
const
|
|
28
|
-
const _3_filters_js_1 = require("./3_filters.js");
|
|
27
|
+
const _4_context_js_1 = require("./4_context.js");
|
|
29
28
|
function flatten(mw) {
|
|
30
29
|
return typeof mw === "function" ? mw : (ctx, next) => mw.middleware()(ctx, next);
|
|
31
30
|
}
|
|
@@ -63,7 +62,7 @@ class Composer {
|
|
|
63
62
|
if (!this.#lastGetMe && !("connectionState" in update) && (!("authorizationState" in update) || ("authorizationState" in update && update.authorizationState.isAuthorized))) {
|
|
64
63
|
this.#lastGetMe = await client.getMe();
|
|
65
64
|
}
|
|
66
|
-
const ctx = new
|
|
65
|
+
const ctx = new _4_context_js_1.Context(client, this.#lastGetMe, update);
|
|
67
66
|
const next = () => Promise.resolve();
|
|
68
67
|
await this.#handle(ctx, next);
|
|
69
68
|
}
|
|
@@ -93,80 +92,19 @@ class Composer {
|
|
|
93
92
|
return composer;
|
|
94
93
|
}
|
|
95
94
|
on(filter, ...middleware) {
|
|
96
|
-
return this.filter((ctx) =>
|
|
97
|
-
return (0, _3_filters_js_1.match)(filter, ctx.update);
|
|
98
|
-
}, ...middleware);
|
|
95
|
+
return this.filter((ctx) => ctx.hasFilterQuery(filter), ...middleware);
|
|
99
96
|
}
|
|
100
97
|
command(commands, ...middleware) {
|
|
101
|
-
|
|
102
|
-
const commands_ = Array.isArray(commands__) ? commands__ : [commands__];
|
|
103
|
-
const prefixes_ = typeof commands === "object" && "prefixes" in commands ? commands.prefixes : (this.#prefixes ?? []);
|
|
104
|
-
const prefixes = Array.isArray(prefixes_) ? prefixes_ : [prefixes_];
|
|
105
|
-
for (const left of prefixes) {
|
|
106
|
-
for (const right of prefixes) {
|
|
107
|
-
if (left === right) {
|
|
108
|
-
continue;
|
|
109
|
-
}
|
|
110
|
-
if (left.startsWith(right) || right.startsWith(left)) {
|
|
111
|
-
throw new _0_errors_js_1.InputError("Intersecting prefixes");
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
return this.on("message:text").filter((ctx) => {
|
|
116
|
-
const prefixes_ = prefixes.length === 0 ? [!ctx.me?.isBot ? "\\" : "/"] : prefixes;
|
|
117
|
-
if (prefixes_.length === 0) {
|
|
118
|
-
return false;
|
|
119
|
-
}
|
|
120
|
-
const cmd = ctx.update.message.text.split(/\s/, 1)[0];
|
|
121
|
-
const prefix = prefixes_.find((v) => cmd.startsWith(v));
|
|
122
|
-
if (prefix === undefined) {
|
|
123
|
-
return false;
|
|
124
|
-
}
|
|
125
|
-
if (cmd.includes("@")) {
|
|
126
|
-
const username = cmd.split("@", 2)[1];
|
|
127
|
-
if (username.toLowerCase() !== ctx.me.username?.toLowerCase()) {
|
|
128
|
-
return false;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
const command_ = cmd.split("@", 1)[0].split(prefix, 2)[1].toLowerCase();
|
|
132
|
-
for (const command of commands_) {
|
|
133
|
-
if (typeof command === "string" && (command.toLowerCase() === command_)) {
|
|
134
|
-
return true;
|
|
135
|
-
}
|
|
136
|
-
else if (command instanceof RegExp && command.test(command_)) {
|
|
137
|
-
return true;
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
return false;
|
|
141
|
-
}, ...middleware);
|
|
98
|
+
return this.filter(_4_context_js_1.Context.has.command(commands, this.#prefixes), ...middleware);
|
|
142
99
|
}
|
|
143
100
|
callbackQuery(data, ...middleware) {
|
|
144
|
-
|
|
145
|
-
return this.on("callbackQuery:data").filter((ctx) => {
|
|
146
|
-
for (const data of data_) {
|
|
147
|
-
if (typeof data === "string" && data === ctx.update.callbackQuery.data) {
|
|
148
|
-
return true;
|
|
149
|
-
}
|
|
150
|
-
else if (data instanceof RegExp && data.test(ctx.update.callbackQuery.data)) {
|
|
151
|
-
return true;
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
return false;
|
|
155
|
-
}, ...middleware);
|
|
101
|
+
return this.filter(_4_context_js_1.Context.has.callbackQuery(data), ...middleware);
|
|
156
102
|
}
|
|
157
103
|
inlineQuery(queries, ...middleware) {
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
return true;
|
|
163
|
-
}
|
|
164
|
-
else if (query instanceof RegExp && query.test(ctx.update.inlineQuery.query)) {
|
|
165
|
-
return true;
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
return false;
|
|
169
|
-
}, ...middleware);
|
|
104
|
+
return this.filter(_4_context_js_1.Context.has.inlineQuery(queries), ...middleware);
|
|
105
|
+
}
|
|
106
|
+
chatType(chatType, ...middleware) {
|
|
107
|
+
return this.filter(_4_context_js_1.Context.has.chatType(chatType), ...middleware);
|
|
170
108
|
}
|
|
171
109
|
}
|
|
172
110
|
exports.Composer = Composer;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"5_composer_test.d.ts","sourceRoot":"","sources":["../../src/client/5_composer_test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,2BAA2B,CAAC"}
|