bn-telegram-mcp-server 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1031 -0
- package/dist/debug-middleware.d.ts +12 -0
- package/dist/debug-middleware.d.ts.map +1 -0
- package/dist/debug-middleware.js +36 -0
- package/dist/debug-middleware.js.map +1 -0
- package/dist/encryption.d.ts +11 -0
- package/dist/encryption.d.ts.map +1 -0
- package/dist/encryption.js +26 -0
- package/dist/encryption.js.map +1 -0
- package/dist/helpers.d.ts +27 -0
- package/dist/helpers.d.ts.map +1 -0
- package/dist/helpers.js +103 -0
- package/dist/helpers.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +176 -0
- package/dist/index.js.map +1 -0
- package/dist/logger.d.ts +29 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +114 -0
- package/dist/logger.js.map +1 -0
- package/dist/request-context.d.ts +24 -0
- package/dist/request-context.d.ts.map +1 -0
- package/dist/request-context.js +32 -0
- package/dist/request-context.js.map +1 -0
- package/dist/resolvers.d.ts +36 -0
- package/dist/resolvers.d.ts.map +1 -0
- package/dist/resolvers.js +252 -0
- package/dist/resolvers.js.map +1 -0
- package/dist/schemas.d.ts +150 -0
- package/dist/schemas.d.ts.map +1 -0
- package/dist/schemas.js +216 -0
- package/dist/schemas.js.map +1 -0
- package/dist/telegram-client.d.ts +19 -0
- package/dist/telegram-client.d.ts.map +1 -0
- package/dist/telegram-client.js +112 -0
- package/dist/telegram-client.js.map +1 -0
- package/dist/tool-loader.d.ts +31 -0
- package/dist/tool-loader.d.ts.map +1 -0
- package/dist/tool-loader.js +121 -0
- package/dist/tool-loader.js.map +1 -0
- package/dist/tool-registry.d.ts +47 -0
- package/dist/tool-registry.d.ts.map +1 -0
- package/dist/tool-registry.js +58 -0
- package/dist/tool-registry.js.map +1 -0
- package/dist/tools/getChat.d.ts +28 -0
- package/dist/tools/getChat.d.ts.map +1 -0
- package/dist/tools/getChat.js +69 -0
- package/dist/tools/getChat.js.map +1 -0
- package/dist/tools/getChatMembers.d.ts +34 -0
- package/dist/tools/getChatMembers.d.ts.map +1 -0
- package/dist/tools/getChatMembers.js +150 -0
- package/dist/tools/getChatMembers.js.map +1 -0
- package/dist/tools/getContacts.d.ts +28 -0
- package/dist/tools/getContacts.d.ts.map +1 -0
- package/dist/tools/getContacts.js +73 -0
- package/dist/tools/getContacts.js.map +1 -0
- package/dist/tools/getFile.d.ts +21 -0
- package/dist/tools/getFile.d.ts.map +1 -0
- package/dist/tools/getFile.js +33 -0
- package/dist/tools/getFile.js.map +1 -0
- package/dist/tools/getGroup.d.ts +27 -0
- package/dist/tools/getGroup.d.ts.map +1 -0
- package/dist/tools/getGroup.js +100 -0
- package/dist/tools/getGroup.js.map +1 -0
- package/dist/tools/getMe.d.ts +17 -0
- package/dist/tools/getMe.d.ts.map +1 -0
- package/dist/tools/getMe.js +20 -0
- package/dist/tools/getMe.js.map +1 -0
- package/dist/tools/getMessageContext.d.ts +21 -0
- package/dist/tools/getMessageContext.d.ts.map +1 -0
- package/dist/tools/getMessageContext.js +164 -0
- package/dist/tools/getMessageContext.js.map +1 -0
- package/dist/tools/getMessages.d.ts +38 -0
- package/dist/tools/getMessages.d.ts.map +1 -0
- package/dist/tools/getMessages.js +123 -0
- package/dist/tools/getMessages.js.map +1 -0
- package/dist/tools/getUser.d.ts +22 -0
- package/dist/tools/getUser.d.ts.map +1 -0
- package/dist/tools/getUser.js +38 -0
- package/dist/tools/getUser.js.map +1 -0
- package/dist/tools/index.d.ts +11 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +12 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/sendMessage.d.ts +39 -0
- package/dist/tools/sendMessage.d.ts.map +1 -0
- package/dist/tools/sendMessage.js +116 -0
- package/dist/tools/sendMessage.js.map +1 -0
- package/dist/transformers.d.ts +133 -0
- package/dist/transformers.d.ts.map +1 -0
- package/dist/transformers.js +335 -0
- package/dist/transformers.js.map +1 -0
- package/dist/types.d.ts +55 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +45 -0
- package/tools.json +252 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
2
|
+
/**
|
|
3
|
+
* AsyncLocalStorage for storing request context across async operations
|
|
4
|
+
* This replaces the global currentRequest variable to properly isolate
|
|
5
|
+
* request context in concurrent scenarios
|
|
6
|
+
*/
|
|
7
|
+
const requestStorage = new AsyncLocalStorage();
|
|
8
|
+
/**
|
|
9
|
+
* Run a callback with request context
|
|
10
|
+
* All async operations within the callback will have access to the request
|
|
11
|
+
*
|
|
12
|
+
* @param req - Express request object
|
|
13
|
+
* @param callback - Async callback to run with request context
|
|
14
|
+
* @returns Result of the callback
|
|
15
|
+
*/
|
|
16
|
+
export function runWithRequest(req, callback) {
|
|
17
|
+
return requestStorage.run(req, callback);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Get the current request from context, throwing if not available
|
|
21
|
+
*
|
|
22
|
+
* @returns Current request
|
|
23
|
+
* @throws Error if not in request context
|
|
24
|
+
*/
|
|
25
|
+
export function requireCurrentRequest() {
|
|
26
|
+
const req = requestStorage.getStore();
|
|
27
|
+
if (!req) {
|
|
28
|
+
throw new Error("No request context available. This server must be called via HTTP transport.");
|
|
29
|
+
}
|
|
30
|
+
return req;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=request-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-context.js","sourceRoot":"","sources":["../src/request-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAQrD;;;;GAIG;AACH,MAAM,cAAc,GAAG,IAAI,iBAAiB,EAAmB,CAAC;AAEhE;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAC5B,GAAoB,EACpB,QAA0B;IAE1B,OAAO,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB;IACnC,MAAM,GAAG,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC;IACtC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,8EAA8E,CAC/E,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { Client } from "tdl";
|
|
2
|
+
/**
|
|
3
|
+
* Parse a value that could be either a numeric ID or a name
|
|
4
|
+
*/
|
|
5
|
+
export declare function parseIdentifier(value: string | number): {
|
|
6
|
+
isId: boolean;
|
|
7
|
+
numericId?: number;
|
|
8
|
+
searchQuery?: string;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Resolve a chat identifier to a chat ID
|
|
12
|
+
*
|
|
13
|
+
* @param client - TDLib client
|
|
14
|
+
* @param identifier - Either a numeric chat ID or a chat title/name to search for
|
|
15
|
+
* @returns The resolved chat ID
|
|
16
|
+
* @throws Error if no matching chat is found
|
|
17
|
+
*/
|
|
18
|
+
export declare function resolveChat(client: Client, identifier: string | number): Promise<number>;
|
|
19
|
+
/**
|
|
20
|
+
* Resolve a user identifier to a user ID
|
|
21
|
+
*
|
|
22
|
+
* @param client - TDLib client
|
|
23
|
+
* @param identifier - Either a numeric user ID, username (@username), or name to search for
|
|
24
|
+
* @returns The resolved user ID
|
|
25
|
+
* @throws Error if no matching user is found
|
|
26
|
+
*/
|
|
27
|
+
export declare function resolveUser(client: Client, identifier: string | number): Promise<number>;
|
|
28
|
+
/**
|
|
29
|
+
* Resolve a supergroup/channel identifier
|
|
30
|
+
*/
|
|
31
|
+
export declare function resolveSupergroup(client: Client, identifier: string | number): Promise<number>;
|
|
32
|
+
/**
|
|
33
|
+
* Resolve a basic group identifier
|
|
34
|
+
*/
|
|
35
|
+
export declare function resolveBasicGroup(client: Client, identifier: string | number): Promise<number>;
|
|
36
|
+
//# sourceMappingURL=resolvers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolvers.d.ts","sourceRoot":"","sources":["../src/resolvers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAiClC;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG;IACvD,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAQA;AA0BD;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GAAG,MAAM,GAC1B,OAAO,CAAC,MAAM,CAAC,CA8DjB;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GAAG,MAAM,GAC1B,OAAO,CAAC,MAAM,CAAC,CA2HjB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GAAG,MAAM,GAC1B,OAAO,CAAC,MAAM,CAAC,CAoBjB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GAAG,MAAM,GAC1B,OAAO,CAAC,MAAM,CAAC,CAoBjB"}
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Check if a value is a numeric ID (number or numeric string)
|
|
3
|
+
*/
|
|
4
|
+
function isNumericId(value) {
|
|
5
|
+
if (typeof value === "number")
|
|
6
|
+
return true;
|
|
7
|
+
return /^-?\d+$/.test(value);
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Parse a value that could be either a numeric ID or a name
|
|
11
|
+
*/
|
|
12
|
+
export function parseIdentifier(value) {
|
|
13
|
+
if (typeof value === "number") {
|
|
14
|
+
return { isId: true, numericId: value };
|
|
15
|
+
}
|
|
16
|
+
if (/^-?\d+$/.test(value)) {
|
|
17
|
+
return { isId: true, numericId: parseInt(value, 10) };
|
|
18
|
+
}
|
|
19
|
+
return { isId: false, searchQuery: value };
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Calculate similarity score between two strings (case-insensitive)
|
|
23
|
+
*/
|
|
24
|
+
function calculateSimilarity(str1, str2) {
|
|
25
|
+
const s1 = str1.toLowerCase();
|
|
26
|
+
const s2 = str2.toLowerCase();
|
|
27
|
+
// Exact match
|
|
28
|
+
if (s1 === s2)
|
|
29
|
+
return 1.0;
|
|
30
|
+
// Contains match
|
|
31
|
+
if (s1.includes(s2) || s2.includes(s1))
|
|
32
|
+
return 0.8;
|
|
33
|
+
// Word match
|
|
34
|
+
const words1 = s1.split(/\s+/);
|
|
35
|
+
const words2 = s2.split(/\s+/);
|
|
36
|
+
const commonWords = words1.filter((w) => words2.some((w2) => w2.includes(w) || w.includes(w2)));
|
|
37
|
+
if (commonWords.length > 0) {
|
|
38
|
+
return 0.5 + (0.3 * commonWords.length) / Math.max(words1.length, words2.length);
|
|
39
|
+
}
|
|
40
|
+
return 0;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Resolve a chat identifier to a chat ID
|
|
44
|
+
*
|
|
45
|
+
* @param client - TDLib client
|
|
46
|
+
* @param identifier - Either a numeric chat ID or a chat title/name to search for
|
|
47
|
+
* @returns The resolved chat ID
|
|
48
|
+
* @throws Error if no matching chat is found
|
|
49
|
+
*/
|
|
50
|
+
export async function resolveChat(client, identifier) {
|
|
51
|
+
const parsed = parseIdentifier(identifier);
|
|
52
|
+
// If it's already a numeric ID, return it
|
|
53
|
+
if (parsed.isId && parsed.numericId !== undefined) {
|
|
54
|
+
return parsed.numericId;
|
|
55
|
+
}
|
|
56
|
+
// Search for the chat by title
|
|
57
|
+
// Note: Caller (tool handler) must have already called loadChats
|
|
58
|
+
const chatsResult = (await client.invoke({
|
|
59
|
+
_: "getChats",
|
|
60
|
+
chat_list: { _: "chatListMain" },
|
|
61
|
+
limit: 100,
|
|
62
|
+
}));
|
|
63
|
+
const searchQuery = parsed.searchQuery ?? "";
|
|
64
|
+
const matches = [];
|
|
65
|
+
for (const chatId of chatsResult.chat_ids) {
|
|
66
|
+
try {
|
|
67
|
+
const chat = (await client.invoke({
|
|
68
|
+
_: "getChat",
|
|
69
|
+
chat_id: chatId,
|
|
70
|
+
}));
|
|
71
|
+
const score = calculateSimilarity(chat.title, searchQuery);
|
|
72
|
+
if (score > 0) {
|
|
73
|
+
const chatType = chat.type;
|
|
74
|
+
matches.push({
|
|
75
|
+
id: chat.id,
|
|
76
|
+
title: chat.title,
|
|
77
|
+
type: chatType?._?.replace("chatType", "") ?? "unknown",
|
|
78
|
+
match_score: score,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
// Skip chats that fail to load
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
// Sort by match score descending
|
|
87
|
+
matches.sort((a, b) => b.match_score - a.match_score);
|
|
88
|
+
if (matches.length === 0) {
|
|
89
|
+
throw new Error(`No chat found matching "${searchQuery}". Use getChats to see available chats.`);
|
|
90
|
+
}
|
|
91
|
+
if (matches.length > 1 && matches[0].match_score < 1.0) {
|
|
92
|
+
// Multiple matches, show suggestions
|
|
93
|
+
const suggestions = matches
|
|
94
|
+
.slice(0, 3)
|
|
95
|
+
.map((m) => `"${m.title}" (${m.type})`)
|
|
96
|
+
.join(", ");
|
|
97
|
+
throw new Error(`Multiple chats match "${searchQuery}". Did you mean: ${suggestions}? Use a more specific name or the exact title.`);
|
|
98
|
+
}
|
|
99
|
+
return matches[0].id;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Resolve a user identifier to a user ID
|
|
103
|
+
*
|
|
104
|
+
* @param client - TDLib client
|
|
105
|
+
* @param identifier - Either a numeric user ID, username (@username), or name to search for
|
|
106
|
+
* @returns The resolved user ID
|
|
107
|
+
* @throws Error if no matching user is found
|
|
108
|
+
*/
|
|
109
|
+
export async function resolveUser(client, identifier) {
|
|
110
|
+
const parsed = parseIdentifier(identifier);
|
|
111
|
+
// If it's already a numeric ID, return it
|
|
112
|
+
if (parsed.isId && parsed.numericId !== undefined) {
|
|
113
|
+
return parsed.numericId;
|
|
114
|
+
}
|
|
115
|
+
const searchQuery = parsed.searchQuery ?? "";
|
|
116
|
+
// Check if it's a username (starts with @)
|
|
117
|
+
if (searchQuery.startsWith("@")) {
|
|
118
|
+
try {
|
|
119
|
+
const chat = (await client.invoke({
|
|
120
|
+
_: "searchPublicChat",
|
|
121
|
+
username: searchQuery.substring(1),
|
|
122
|
+
}));
|
|
123
|
+
const chatType = chat.type;
|
|
124
|
+
if (chatType?._ === "chatTypePrivate" && chatType.user_id) {
|
|
125
|
+
return chatType.user_id;
|
|
126
|
+
}
|
|
127
|
+
throw new Error(`"${searchQuery}" is not a user`);
|
|
128
|
+
}
|
|
129
|
+
catch (error) {
|
|
130
|
+
if (error instanceof Error && error.message.includes("not a user")) {
|
|
131
|
+
throw error;
|
|
132
|
+
}
|
|
133
|
+
throw new Error(`User "${searchQuery}" not found`);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
// Search users by name using already-loaded chats and contacts
|
|
137
|
+
// Note: Caller (tool handler) must have already called loadChats and getContacts
|
|
138
|
+
if (process.env.DEBUG) {
|
|
139
|
+
console.log(`[resolveUser] Starting search for: "${searchQuery}"`);
|
|
140
|
+
}
|
|
141
|
+
// Get all contacts (should already be cached from tool handler's getContacts call)
|
|
142
|
+
const contactsResult = (await client.invoke({
|
|
143
|
+
_: "getContacts",
|
|
144
|
+
}));
|
|
145
|
+
if (process.env.DEBUG) {
|
|
146
|
+
console.log(`[resolveUser] Got ${contactsResult.user_ids?.length ?? 0} contacts`);
|
|
147
|
+
}
|
|
148
|
+
// Get chats (should already be loaded from tool handler's loadChats call)
|
|
149
|
+
const chatsResult = (await client.invoke({
|
|
150
|
+
_: "getChats",
|
|
151
|
+
chat_list: { _: "chatListMain" },
|
|
152
|
+
limit: 100,
|
|
153
|
+
}));
|
|
154
|
+
if (process.env.DEBUG) {
|
|
155
|
+
console.log(`[resolveUser] Got ${chatsResult.chat_ids?.length ?? 0} chats`);
|
|
156
|
+
}
|
|
157
|
+
// Collect all unique user IDs
|
|
158
|
+
const userIds = new Set(contactsResult.user_ids ?? []);
|
|
159
|
+
// Extract user IDs from private chats
|
|
160
|
+
for (const chatId of chatsResult.chat_ids ?? []) {
|
|
161
|
+
if (chatId > 0) {
|
|
162
|
+
// Positive chat IDs are private chats, chat_id equals user_id
|
|
163
|
+
userIds.add(chatId);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
const matches = [];
|
|
167
|
+
for (const userId of userIds) {
|
|
168
|
+
try {
|
|
169
|
+
const user = (await client.invoke({
|
|
170
|
+
_: "getUser",
|
|
171
|
+
user_id: userId,
|
|
172
|
+
}));
|
|
173
|
+
const fullName = `${user.first_name} ${user.last_name ?? ""}`.trim();
|
|
174
|
+
const userRecord = user;
|
|
175
|
+
const username = userRecord.usernames?.active_usernames?.[0];
|
|
176
|
+
const nameScore = calculateSimilarity(fullName, searchQuery);
|
|
177
|
+
const usernameScore = username ? calculateSimilarity(username, searchQuery) : 0;
|
|
178
|
+
const score = Math.max(nameScore, usernameScore);
|
|
179
|
+
if (score > 0) {
|
|
180
|
+
matches.push({
|
|
181
|
+
id: user.id,
|
|
182
|
+
name: fullName,
|
|
183
|
+
username,
|
|
184
|
+
match_score: score,
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
catch {
|
|
189
|
+
// Skip users that fail to load
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
// Sort by match score descending
|
|
193
|
+
matches.sort((a, b) => b.match_score - a.match_score);
|
|
194
|
+
// Debug logging
|
|
195
|
+
if (process.env.DEBUG) {
|
|
196
|
+
console.log(`[resolveUser] Search query: "${searchQuery}"`);
|
|
197
|
+
console.log(`[resolveUser] Found ${userIds.size} total users`);
|
|
198
|
+
console.log(`[resolveUser] Found ${matches.length} matching users:`, matches.slice(0, 5));
|
|
199
|
+
}
|
|
200
|
+
if (matches.length === 0) {
|
|
201
|
+
throw new Error(`No user found matching "${searchQuery}". Use getContacts to see available users.`);
|
|
202
|
+
}
|
|
203
|
+
if (matches.length > 1 && matches[0].match_score < 1.0) {
|
|
204
|
+
const suggestions = matches
|
|
205
|
+
.slice(0, 3)
|
|
206
|
+
.map((m) => `"${m.name}"${m.username ? ` (@${m.username})` : ""}`)
|
|
207
|
+
.join(", ");
|
|
208
|
+
throw new Error(`Multiple users match "${searchQuery}". Did you mean: ${suggestions}? Use a more specific name.`);
|
|
209
|
+
}
|
|
210
|
+
return matches[0].id;
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Resolve a supergroup/channel identifier
|
|
214
|
+
*/
|
|
215
|
+
export async function resolveSupergroup(client, identifier) {
|
|
216
|
+
const parsed = parseIdentifier(identifier);
|
|
217
|
+
if (parsed.isId && parsed.numericId !== undefined) {
|
|
218
|
+
return parsed.numericId;
|
|
219
|
+
}
|
|
220
|
+
// Search for the chat first, then extract supergroup_id
|
|
221
|
+
const chatId = await resolveChat(client, identifier);
|
|
222
|
+
const chat = (await client.invoke({
|
|
223
|
+
_: "getChat",
|
|
224
|
+
chat_id: chatId,
|
|
225
|
+
}));
|
|
226
|
+
const chatType = chat.type;
|
|
227
|
+
if (chatType?._ === "chatTypeSupergroup" && chatType.supergroup_id) {
|
|
228
|
+
return chatType.supergroup_id;
|
|
229
|
+
}
|
|
230
|
+
throw new Error(`"${identifier}" is not a supergroup or channel`);
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Resolve a basic group identifier
|
|
234
|
+
*/
|
|
235
|
+
export async function resolveBasicGroup(client, identifier) {
|
|
236
|
+
const parsed = parseIdentifier(identifier);
|
|
237
|
+
if (parsed.isId && parsed.numericId !== undefined) {
|
|
238
|
+
return parsed.numericId;
|
|
239
|
+
}
|
|
240
|
+
// Search for the chat first, then extract basic_group_id
|
|
241
|
+
const chatId = await resolveChat(client, identifier);
|
|
242
|
+
const chat = (await client.invoke({
|
|
243
|
+
_: "getChat",
|
|
244
|
+
chat_id: chatId,
|
|
245
|
+
}));
|
|
246
|
+
const chatType = chat.type;
|
|
247
|
+
if (chatType?._ === "chatTypeBasicGroup" && chatType.basic_group_id) {
|
|
248
|
+
return chatType.basic_group_id;
|
|
249
|
+
}
|
|
250
|
+
throw new Error(`"${identifier}" is not a basic group`);
|
|
251
|
+
}
|
|
252
|
+
//# sourceMappingURL=resolvers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolvers.js","sourceRoot":"","sources":["../src/resolvers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const GetMeSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
3
|
+
export declare const GetChatSchema: z.ZodObject<{
|
|
4
|
+
chat: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
5
|
+
chat_list: z.ZodDefault<z.ZodOptional<z.ZodEnum<["main", "archive"]>>>;
|
|
6
|
+
limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
7
|
+
}, "strip", z.ZodTypeAny, {
|
|
8
|
+
chat_list: "main" | "archive";
|
|
9
|
+
limit: number;
|
|
10
|
+
chat?: string | number | undefined;
|
|
11
|
+
}, {
|
|
12
|
+
chat?: string | number | undefined;
|
|
13
|
+
chat_list?: "main" | "archive" | undefined;
|
|
14
|
+
limit?: number | undefined;
|
|
15
|
+
}>;
|
|
16
|
+
export declare const GetMessagesSchema: z.ZodObject<{
|
|
17
|
+
chat: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
18
|
+
mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["history", "specific", "search"]>>>;
|
|
19
|
+
from_message_id: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
20
|
+
offset: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
21
|
+
limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
22
|
+
only_local: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
23
|
+
message_ids: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
|
|
24
|
+
query: z.ZodOptional<z.ZodString>;
|
|
25
|
+
next_offset: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
26
|
+
}, "strip", z.ZodTypeAny, {
|
|
27
|
+
limit: number;
|
|
28
|
+
mode: "history" | "specific" | "search";
|
|
29
|
+
from_message_id: number;
|
|
30
|
+
offset: number;
|
|
31
|
+
only_local: boolean;
|
|
32
|
+
next_offset: string;
|
|
33
|
+
chat?: string | number | undefined;
|
|
34
|
+
message_ids?: number[] | undefined;
|
|
35
|
+
query?: string | undefined;
|
|
36
|
+
}, {
|
|
37
|
+
chat?: string | number | undefined;
|
|
38
|
+
limit?: number | undefined;
|
|
39
|
+
mode?: "history" | "specific" | "search" | undefined;
|
|
40
|
+
from_message_id?: number | undefined;
|
|
41
|
+
offset?: number | undefined;
|
|
42
|
+
only_local?: boolean | undefined;
|
|
43
|
+
message_ids?: number[] | undefined;
|
|
44
|
+
query?: string | undefined;
|
|
45
|
+
next_offset?: string | undefined;
|
|
46
|
+
}>;
|
|
47
|
+
export declare const SendMessageSchema: z.ZodObject<{
|
|
48
|
+
chat: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
|
|
49
|
+
action: z.ZodDefault<z.ZodOptional<z.ZodEnum<["send", "forward"]>>>;
|
|
50
|
+
text: z.ZodOptional<z.ZodString>;
|
|
51
|
+
reply_to_message_id: z.ZodOptional<z.ZodNumber>;
|
|
52
|
+
from_chat: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
53
|
+
message_ids: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
|
|
54
|
+
send_copy: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
55
|
+
remove_caption: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
56
|
+
}, "strip", z.ZodTypeAny, {
|
|
57
|
+
chat: string | number;
|
|
58
|
+
action: "send" | "forward";
|
|
59
|
+
send_copy: boolean;
|
|
60
|
+
remove_caption: boolean;
|
|
61
|
+
message_ids?: number[] | undefined;
|
|
62
|
+
text?: string | undefined;
|
|
63
|
+
reply_to_message_id?: number | undefined;
|
|
64
|
+
from_chat?: string | number | undefined;
|
|
65
|
+
}, {
|
|
66
|
+
chat: string | number;
|
|
67
|
+
message_ids?: number[] | undefined;
|
|
68
|
+
action?: "send" | "forward" | undefined;
|
|
69
|
+
text?: string | undefined;
|
|
70
|
+
reply_to_message_id?: number | undefined;
|
|
71
|
+
from_chat?: string | number | undefined;
|
|
72
|
+
send_copy?: boolean | undefined;
|
|
73
|
+
remove_caption?: boolean | undefined;
|
|
74
|
+
}>;
|
|
75
|
+
export declare const GetUserSchema: z.ZodObject<{
|
|
76
|
+
user: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
|
|
77
|
+
}, "strip", z.ZodTypeAny, {
|
|
78
|
+
user: string | number;
|
|
79
|
+
}, {
|
|
80
|
+
user: string | number;
|
|
81
|
+
}>;
|
|
82
|
+
export declare const GetContactsSchema: z.ZodObject<{
|
|
83
|
+
query: z.ZodOptional<z.ZodString>;
|
|
84
|
+
limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
85
|
+
}, "strip", z.ZodTypeAny, {
|
|
86
|
+
limit: number;
|
|
87
|
+
query?: string | undefined;
|
|
88
|
+
}, {
|
|
89
|
+
limit?: number | undefined;
|
|
90
|
+
query?: string | undefined;
|
|
91
|
+
}>;
|
|
92
|
+
export declare const GetFileSchema: z.ZodObject<{
|
|
93
|
+
file_id: z.ZodNumber;
|
|
94
|
+
}, "strip", z.ZodTypeAny, {
|
|
95
|
+
file_id: number;
|
|
96
|
+
}, {
|
|
97
|
+
file_id: number;
|
|
98
|
+
}>;
|
|
99
|
+
export declare const GetGroupSchema: z.ZodObject<{
|
|
100
|
+
group: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
|
|
101
|
+
type: z.ZodDefault<z.ZodOptional<z.ZodEnum<["supergroup", "basic_group", "auto"]>>>;
|
|
102
|
+
}, "strip", z.ZodTypeAny, {
|
|
103
|
+
type: "supergroup" | "basic_group" | "auto";
|
|
104
|
+
group: string | number;
|
|
105
|
+
}, {
|
|
106
|
+
group: string | number;
|
|
107
|
+
type?: "supergroup" | "basic_group" | "auto" | undefined;
|
|
108
|
+
}>;
|
|
109
|
+
export declare const GetChatMembersSchema: z.ZodObject<{
|
|
110
|
+
chat: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
|
|
111
|
+
filter: z.ZodDefault<z.ZodOptional<z.ZodEnum<["recent", "administrators", "banned", "bots", "search"]>>>;
|
|
112
|
+
query: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
113
|
+
offset: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
114
|
+
limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
115
|
+
}, "strip", z.ZodTypeAny, {
|
|
116
|
+
chat: string | number;
|
|
117
|
+
filter: "search" | "recent" | "administrators" | "banned" | "bots";
|
|
118
|
+
limit: number;
|
|
119
|
+
offset: number;
|
|
120
|
+
query: string;
|
|
121
|
+
}, {
|
|
122
|
+
chat: string | number;
|
|
123
|
+
filter?: "search" | "recent" | "administrators" | "banned" | "bots" | undefined;
|
|
124
|
+
limit?: number | undefined;
|
|
125
|
+
offset?: number | undefined;
|
|
126
|
+
query?: string | undefined;
|
|
127
|
+
}>;
|
|
128
|
+
export declare const GetMessageContextSchema: z.ZodObject<{
|
|
129
|
+
chat: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
|
|
130
|
+
mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["message_id", "search"]>>>;
|
|
131
|
+
message_id: z.ZodOptional<z.ZodNumber>;
|
|
132
|
+
query: z.ZodOptional<z.ZodString>;
|
|
133
|
+
search_limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
134
|
+
context_count: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
135
|
+
}, "strip", z.ZodTypeAny, {
|
|
136
|
+
mode: "search" | "message_id";
|
|
137
|
+
search_limit: number;
|
|
138
|
+
context_count: number;
|
|
139
|
+
chat?: string | number | undefined;
|
|
140
|
+
query?: string | undefined;
|
|
141
|
+
message_id?: number | undefined;
|
|
142
|
+
}, {
|
|
143
|
+
chat?: string | number | undefined;
|
|
144
|
+
mode?: "search" | "message_id" | undefined;
|
|
145
|
+
query?: string | undefined;
|
|
146
|
+
message_id?: number | undefined;
|
|
147
|
+
search_limit?: number | undefined;
|
|
148
|
+
context_count?: number | undefined;
|
|
149
|
+
}>;
|
|
150
|
+
//# sourceMappingURL=schemas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA0BxB,eAAO,MAAM,WAAW,gDAAe,CAAC;AAGxC,eAAO,MAAM,aAAa;;;;;;;;;;;;EAiBxB,CAAC;AAGH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmD5B,CAAC;AAGH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsC5B,CAAC;AAGH,eAAO,MAAM,aAAa;;;;;;EAIxB,CAAC;AAGH,eAAO,MAAM,iBAAiB;;;;;;;;;EAa5B,CAAC;AAGH,eAAO,MAAM,aAAa;;;;;;EAIxB,CAAC;AAGH,eAAO,MAAM,cAAc;;;;;;;;;EASzB,CAAC;AAGH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;EA4B/B,CAAC;AAIH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;EAuClC,CAAC"}
|