agent-messenger 2.12.0 → 2.12.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.
Files changed (108) hide show
  1. package/.claude-plugin/README.md +11 -1
  2. package/.claude-plugin/marketplace.json +14 -1
  3. package/.claude-plugin/plugin.json +4 -2
  4. package/CONTRIBUTING.md +12 -0
  5. package/README.md +30 -4
  6. package/dist/package.json +10 -2
  7. package/dist/src/cli.d.ts.map +1 -1
  8. package/dist/src/cli.js +3 -0
  9. package/dist/src/cli.js.map +1 -1
  10. package/dist/src/platforms/telegrambot/cli.d.ts +5 -0
  11. package/dist/src/platforms/telegrambot/cli.d.ts.map +1 -0
  12. package/dist/src/platforms/telegrambot/cli.js +29 -0
  13. package/dist/src/platforms/telegrambot/cli.js.map +1 -0
  14. package/dist/src/platforms/telegrambot/client.d.ts +85 -0
  15. package/dist/src/platforms/telegrambot/client.d.ts.map +1 -0
  16. package/dist/src/platforms/telegrambot/client.js +282 -0
  17. package/dist/src/platforms/telegrambot/client.js.map +1 -0
  18. package/dist/src/platforms/telegrambot/commands/auth.d.ts +31 -0
  19. package/dist/src/platforms/telegrambot/commands/auth.d.ts.map +1 -0
  20. package/dist/src/platforms/telegrambot/commands/auth.js +173 -0
  21. package/dist/src/platforms/telegrambot/commands/auth.js.map +1 -0
  22. package/dist/src/platforms/telegrambot/commands/chat.d.ts +25 -0
  23. package/dist/src/platforms/telegrambot/commands/chat.d.ts.map +1 -0
  24. package/dist/src/platforms/telegrambot/commands/chat.js +69 -0
  25. package/dist/src/platforms/telegrambot/commands/chat.js.map +1 -0
  26. package/dist/src/platforms/telegrambot/commands/index.d.ts +6 -0
  27. package/dist/src/platforms/telegrambot/commands/index.d.ts.map +1 -0
  28. package/dist/src/platforms/telegrambot/commands/index.js +6 -0
  29. package/dist/src/platforms/telegrambot/commands/index.js.map +1 -0
  30. package/dist/src/platforms/telegrambot/commands/message.d.ts +39 -0
  31. package/dist/src/platforms/telegrambot/commands/message.d.ts.map +1 -0
  32. package/dist/src/platforms/telegrambot/commands/message.js +145 -0
  33. package/dist/src/platforms/telegrambot/commands/message.js.map +1 -0
  34. package/dist/src/platforms/telegrambot/commands/reaction.d.ts +16 -0
  35. package/dist/src/platforms/telegrambot/commands/reaction.d.ts.map +1 -0
  36. package/dist/src/platforms/telegrambot/commands/reaction.js +49 -0
  37. package/dist/src/platforms/telegrambot/commands/reaction.js.map +1 -0
  38. package/dist/src/platforms/telegrambot/commands/shared.d.ts +12 -0
  39. package/dist/src/platforms/telegrambot/commands/shared.d.ts.map +1 -0
  40. package/dist/src/platforms/telegrambot/commands/shared.js +21 -0
  41. package/dist/src/platforms/telegrambot/commands/shared.js.map +1 -0
  42. package/dist/src/platforms/telegrambot/commands/whoami.d.ts +17 -0
  43. package/dist/src/platforms/telegrambot/commands/whoami.d.ts.map +1 -0
  44. package/dist/src/platforms/telegrambot/commands/whoami.js +30 -0
  45. package/dist/src/platforms/telegrambot/commands/whoami.js.map +1 -0
  46. package/dist/src/platforms/telegrambot/credential-manager.d.ts +17 -0
  47. package/dist/src/platforms/telegrambot/credential-manager.d.ts.map +1 -0
  48. package/dist/src/platforms/telegrambot/credential-manager.js +113 -0
  49. package/dist/src/platforms/telegrambot/credential-manager.js.map +1 -0
  50. package/dist/src/platforms/telegrambot/index.d.ts +7 -0
  51. package/dist/src/platforms/telegrambot/index.d.ts.map +1 -0
  52. package/dist/src/platforms/telegrambot/index.js +5 -0
  53. package/dist/src/platforms/telegrambot/index.js.map +1 -0
  54. package/dist/src/platforms/telegrambot/listener.d.ts +30 -0
  55. package/dist/src/platforms/telegrambot/listener.d.ts.map +1 -0
  56. package/dist/src/platforms/telegrambot/listener.js +186 -0
  57. package/dist/src/platforms/telegrambot/listener.js.map +1 -0
  58. package/dist/src/platforms/telegrambot/types.d.ts +256 -0
  59. package/dist/src/platforms/telegrambot/types.d.ts.map +1 -0
  60. package/dist/src/platforms/telegrambot/types.js +96 -0
  61. package/dist/src/platforms/telegrambot/types.js.map +1 -0
  62. package/docs/content/docs/cli/meta.json +1 -0
  63. package/docs/content/docs/cli/telegrambot.mdx +149 -0
  64. package/docs/content/docs/index.mdx +10 -9
  65. package/docs/content/docs/quick-start.mdx +2 -0
  66. package/docs/content/docs/sdk/meta.json +1 -0
  67. package/docs/content/docs/sdk/telegrambot.mdx +216 -0
  68. package/e2e/config.ts +24 -0
  69. package/e2e/helpers.ts +1 -0
  70. package/e2e/telegrambot.e2e.test.ts +185 -0
  71. package/examples/telegrambot-listen.ts +54 -0
  72. package/package.json +10 -2
  73. package/scripts/postbuild.ts +1 -0
  74. package/skills/agent-channeltalk/SKILL.md +1 -1
  75. package/skills/agent-channeltalkbot/SKILL.md +1 -1
  76. package/skills/agent-discord/SKILL.md +1 -1
  77. package/skills/agent-discordbot/SKILL.md +1 -1
  78. package/skills/agent-instagram/SKILL.md +1 -1
  79. package/skills/agent-kakaotalk/SKILL.md +12 -5
  80. package/skills/agent-line/SKILL.md +1 -1
  81. package/skills/agent-slack/SKILL.md +1 -1
  82. package/skills/agent-slackbot/SKILL.md +1 -1
  83. package/skills/agent-teams/SKILL.md +1 -1
  84. package/skills/agent-telegram/SKILL.md +1 -1
  85. package/skills/agent-telegrambot/SKILL.md +357 -0
  86. package/skills/agent-webex/SKILL.md +1 -1
  87. package/skills/agent-wechatbot/SKILL.md +1 -1
  88. package/skills/agent-whatsapp/SKILL.md +1 -1
  89. package/skills/agent-whatsappbot/SKILL.md +1 -1
  90. package/src/cli.ts +4 -0
  91. package/src/platforms/telegrambot/cli.ts +34 -0
  92. package/src/platforms/telegrambot/client.test.ts +454 -0
  93. package/src/platforms/telegrambot/client.ts +404 -0
  94. package/src/platforms/telegrambot/commands/auth.test.ts +244 -0
  95. package/src/platforms/telegrambot/commands/auth.ts +220 -0
  96. package/src/platforms/telegrambot/commands/chat.ts +96 -0
  97. package/src/platforms/telegrambot/commands/index.ts +5 -0
  98. package/src/platforms/telegrambot/commands/message.ts +235 -0
  99. package/src/platforms/telegrambot/commands/reaction.ts +70 -0
  100. package/src/platforms/telegrambot/commands/shared.ts +32 -0
  101. package/src/platforms/telegrambot/commands/whoami.ts +45 -0
  102. package/src/platforms/telegrambot/credential-manager.test.ts +196 -0
  103. package/src/platforms/telegrambot/credential-manager.ts +141 -0
  104. package/src/platforms/telegrambot/index.ts +44 -0
  105. package/src/platforms/telegrambot/listener.test.ts +398 -0
  106. package/src/platforms/telegrambot/listener.ts +198 -0
  107. package/src/platforms/telegrambot/types.test.ts +128 -0
  108. package/src/platforms/telegrambot/types.ts +282 -0
@@ -0,0 +1,282 @@
1
+ import { readFile } from 'node:fs/promises';
2
+ import { TelegramBotError } from './types.js';
3
+ const BASE_URL = 'https://api.telegram.org';
4
+ const MAX_RETRIES = 3;
5
+ const BASE_BACKOFF_MS = 100;
6
+ export class TelegramBotClient {
7
+ token = null;
8
+ async login(credentials) {
9
+ if (credentials) {
10
+ if (!credentials.token) {
11
+ throw new TelegramBotError('Token is required', 'missing_token');
12
+ }
13
+ this.token = credentials.token;
14
+ return this;
15
+ }
16
+ const { TelegramBotCredentialManager } = await import('./credential-manager.js');
17
+ const credManager = new TelegramBotCredentialManager();
18
+ const creds = await credManager.getCredentials();
19
+ if (!creds?.token) {
20
+ throw new TelegramBotError('No Telegram bot credentials found. Run "auth set <token>" first.', 'no_credentials');
21
+ }
22
+ return this.login({ token: creds.token });
23
+ }
24
+ ensureAuth() {
25
+ if (!this.token) {
26
+ throw new TelegramBotError('Not authenticated. Call .login() first.', 'not_authenticated');
27
+ }
28
+ return this.token;
29
+ }
30
+ buildUrl(method) {
31
+ return `${BASE_URL}/bot${this.ensureAuth()}/${method}`;
32
+ }
33
+ sleep(ms) {
34
+ return new Promise((resolve) => setTimeout(resolve, ms));
35
+ }
36
+ isAbort(signal, error) {
37
+ if (signal?.aborted)
38
+ return true;
39
+ const name = error?.name;
40
+ return name === 'AbortError';
41
+ }
42
+ throwApiError(method, body) {
43
+ const code = body.error_code;
44
+ const description = body.description ?? `HTTP error from ${method}`;
45
+ if (code === 401) {
46
+ throw new TelegramBotError(`Unauthorized: ${description}`, 'unauthorized');
47
+ }
48
+ if (code === 409) {
49
+ throw new TelegramBotError(`Conflict: ${description}`, 'conflict');
50
+ }
51
+ if (code === 403) {
52
+ throw new TelegramBotError(`Forbidden: ${description}`, 'forbidden');
53
+ }
54
+ if (code === 400) {
55
+ throw new TelegramBotError(`Bad Request: ${description}`, 'bad_request');
56
+ }
57
+ if (code === 404) {
58
+ throw new TelegramBotError(`Not Found: ${description}`, 'not_found');
59
+ }
60
+ throw new TelegramBotError(description, code !== undefined ? `http_${code}` : 'http_error');
61
+ }
62
+ async parseJsonOrRetry(response, method, attempt) {
63
+ try {
64
+ const body = (await response.json());
65
+ return { body };
66
+ }
67
+ catch {
68
+ // 5xx responses sometimes return HTML/empty bodies; allow retry instead of failing fast.
69
+ if (response.status >= 500 && attempt < MAX_RETRIES) {
70
+ return { retry: true };
71
+ }
72
+ throw new TelegramBotError(`Invalid JSON response from ${method} (HTTP ${response.status})`, 'invalid_response');
73
+ }
74
+ }
75
+ async call(method, params, signal) {
76
+ return this.requestJson(method, { method: 'POST', body: params }, signal);
77
+ }
78
+ async requestJson(method, request, signal) {
79
+ const url = this.buildUrl(method);
80
+ let lastError;
81
+ for (let attempt = 0; attempt <= MAX_RETRIES; attempt++) {
82
+ if (signal?.aborted) {
83
+ throw Object.assign(new Error('Aborted'), { name: 'AbortError' });
84
+ }
85
+ const init = {
86
+ method: request.method,
87
+ headers: { 'Content-Type': 'application/json' },
88
+ body: request.body ? JSON.stringify(request.body) : undefined,
89
+ signal,
90
+ };
91
+ let response;
92
+ try {
93
+ response = await fetch(url, init);
94
+ }
95
+ catch (error) {
96
+ if (this.isAbort(signal, error)) {
97
+ throw error instanceof Error ? error : Object.assign(new Error('Aborted'), { name: 'AbortError' });
98
+ }
99
+ lastError = error instanceof Error ? error : new Error(String(error));
100
+ if (attempt < MAX_RETRIES) {
101
+ await this.sleep(BASE_BACKOFF_MS * 2 ** attempt);
102
+ continue;
103
+ }
104
+ throw new TelegramBotError(`Network error: ${lastError.message}`, 'network_error');
105
+ }
106
+ const parsed = await this.parseJsonOrRetry(response, method, attempt);
107
+ if ('retry' in parsed) {
108
+ await this.sleep(BASE_BACKOFF_MS * 2 ** attempt);
109
+ continue;
110
+ }
111
+ const { body } = parsed;
112
+ if (response.status === 429 || body.error_code === 429) {
113
+ const retryAfter = body.parameters?.retry_after ?? 1;
114
+ if (attempt < MAX_RETRIES) {
115
+ await this.sleep(retryAfter * 1000);
116
+ continue;
117
+ }
118
+ throw new TelegramBotError(body.description ?? 'Rate limited', 'rate_limited');
119
+ }
120
+ if (response.status >= 500 && attempt < MAX_RETRIES) {
121
+ await this.sleep(BASE_BACKOFF_MS * 2 ** attempt);
122
+ continue;
123
+ }
124
+ if (!body.ok) {
125
+ this.throwApiError(method, body);
126
+ }
127
+ if (body.result === undefined) {
128
+ return undefined;
129
+ }
130
+ return body.result;
131
+ }
132
+ throw lastError ?? new TelegramBotError('Request failed after retries', 'max_retries');
133
+ }
134
+ async callMultipart(method, formData, signal) {
135
+ const url = this.buildUrl(method);
136
+ let lastError;
137
+ for (let attempt = 0; attempt <= MAX_RETRIES; attempt++) {
138
+ if (signal?.aborted) {
139
+ throw Object.assign(new Error('Aborted'), { name: 'AbortError' });
140
+ }
141
+ let response;
142
+ try {
143
+ response = await fetch(url, { method: 'POST', body: formData, signal });
144
+ }
145
+ catch (error) {
146
+ if (this.isAbort(signal, error)) {
147
+ throw error instanceof Error ? error : Object.assign(new Error('Aborted'), { name: 'AbortError' });
148
+ }
149
+ lastError = error instanceof Error ? error : new Error(String(error));
150
+ if (attempt < MAX_RETRIES) {
151
+ await this.sleep(BASE_BACKOFF_MS * 2 ** attempt);
152
+ continue;
153
+ }
154
+ throw new TelegramBotError(`Network error: ${lastError.message}`, 'network_error');
155
+ }
156
+ const parsed = await this.parseJsonOrRetry(response, method, attempt);
157
+ if ('retry' in parsed) {
158
+ await this.sleep(BASE_BACKOFF_MS * 2 ** attempt);
159
+ continue;
160
+ }
161
+ const { body } = parsed;
162
+ if (response.status === 429 || body.error_code === 429) {
163
+ const retryAfter = body.parameters?.retry_after ?? 1;
164
+ if (attempt < MAX_RETRIES) {
165
+ await this.sleep(retryAfter * 1000);
166
+ continue;
167
+ }
168
+ throw new TelegramBotError(body.description ?? 'Rate limited', 'rate_limited');
169
+ }
170
+ if (response.status >= 500 && attempt < MAX_RETRIES) {
171
+ await this.sleep(BASE_BACKOFF_MS * 2 ** attempt);
172
+ continue;
173
+ }
174
+ if (!body.ok) {
175
+ this.throwApiError(method, body);
176
+ }
177
+ if (body.result === undefined) {
178
+ return undefined;
179
+ }
180
+ return body.result;
181
+ }
182
+ throw lastError ?? new TelegramBotError('Request failed after retries', 'max_retries');
183
+ }
184
+ async getMe() {
185
+ return this.call('getMe');
186
+ }
187
+ async getChat(chatId) {
188
+ return this.call('getChat', { chat_id: chatId });
189
+ }
190
+ async getChatMember(chatId, userId) {
191
+ return this.call('getChatMember', { chat_id: chatId, user_id: userId });
192
+ }
193
+ async getChatMemberCount(chatId) {
194
+ return this.call('getChatMemberCount', { chat_id: chatId });
195
+ }
196
+ async sendMessage(chatId, text, options) {
197
+ return this.call('sendMessage', { chat_id: chatId, text, ...options });
198
+ }
199
+ async sendPhoto(chatId, photo, options) {
200
+ return this.call('sendPhoto', { chat_id: chatId, photo, ...options });
201
+ }
202
+ async sendDocument(chatId, filePath, options) {
203
+ const fileBuffer = await readFile(filePath);
204
+ const filename = filePath.split('/').pop() || 'file';
205
+ const formData = new FormData();
206
+ formData.append('chat_id', String(chatId));
207
+ formData.append('document', new Blob([new Uint8Array(fileBuffer)]), filename);
208
+ if (options?.caption !== undefined)
209
+ formData.append('caption', options.caption);
210
+ if (options?.parse_mode !== undefined)
211
+ formData.append('parse_mode', options.parse_mode);
212
+ return this.callMultipart('sendDocument', formData, options?.signal);
213
+ }
214
+ async forwardMessage(chatId, fromChatId, messageId, options) {
215
+ return this.call('forwardMessage', {
216
+ chat_id: chatId,
217
+ from_chat_id: fromChatId,
218
+ message_id: messageId,
219
+ ...options,
220
+ });
221
+ }
222
+ async editMessageText(target, text, options) {
223
+ return this.call('editMessageText', { ...target, text, ...options });
224
+ }
225
+ async deleteMessage(chatId, messageId) {
226
+ return this.call('deleteMessage', { chat_id: chatId, message_id: messageId });
227
+ }
228
+ async setMessageReaction(chatId, messageId, reaction, options) {
229
+ return this.call('setMessageReaction', {
230
+ chat_id: chatId,
231
+ message_id: messageId,
232
+ reaction,
233
+ ...options,
234
+ });
235
+ }
236
+ async setMessageReactionRaw(chatId, messageId, reaction, options) {
237
+ return this.call('setMessageReaction', {
238
+ chat_id: chatId,
239
+ message_id: messageId,
240
+ reaction,
241
+ ...options,
242
+ });
243
+ }
244
+ async getUpdates(options, signal) {
245
+ const params = {};
246
+ if (options?.offset !== undefined)
247
+ params.offset = options.offset;
248
+ if (options?.limit !== undefined)
249
+ params.limit = options.limit;
250
+ if (options?.timeout !== undefined)
251
+ params.timeout = options.timeout;
252
+ if (options?.allowed_updates !== undefined)
253
+ params.allowed_updates = options.allowed_updates;
254
+ return this.call('getUpdates', params, signal);
255
+ }
256
+ async deleteWebhook(options) {
257
+ return this.call('deleteWebhook', options);
258
+ }
259
+ async setWebhook(url, options) {
260
+ return this.call('setWebhook', { url, ...options });
261
+ }
262
+ async resolveChatId(chat) {
263
+ if (typeof chat === 'number')
264
+ return chat;
265
+ if (/^-?\d+$/.test(chat))
266
+ return Number(chat);
267
+ if (chat.startsWith('@'))
268
+ return chat;
269
+ return `@${chat}`;
270
+ }
271
+ formatChat(chat) {
272
+ if (chat.title)
273
+ return { id: chat.id, type: chat.type, name: chat.title };
274
+ const fullName = [chat.first_name, chat.last_name].filter(Boolean).join(' ');
275
+ if (fullName)
276
+ return { id: chat.id, type: chat.type, name: fullName };
277
+ if (chat.username)
278
+ return { id: chat.id, type: chat.type, name: chat.username };
279
+ return { id: chat.id, type: chat.type, name: String(chat.id) };
280
+ }
281
+ }
282
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/platforms/telegrambot/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { Command } from 'commander';
2
+ import { TelegramBotCredentialManager } from '../credential-manager.js';
3
+ import type { ClientFactory } from './shared.js';
4
+ interface ActionOptions {
5
+ pretty?: boolean;
6
+ bot?: string;
7
+ _credManager?: TelegramBotCredentialManager;
8
+ _clientFactory?: ClientFactory;
9
+ }
10
+ interface ActionResult {
11
+ success?: boolean;
12
+ error?: string;
13
+ bot_id?: string;
14
+ bot_name?: string;
15
+ username?: string;
16
+ valid?: boolean;
17
+ bots?: Array<{
18
+ bot_id: string;
19
+ bot_name: string;
20
+ is_current: boolean;
21
+ }>;
22
+ }
23
+ export declare function setAction(token: string, options: ActionOptions): Promise<ActionResult>;
24
+ export declare function clearAction(options: ActionOptions): Promise<ActionResult>;
25
+ export declare function statusAction(options: ActionOptions): Promise<ActionResult>;
26
+ export declare function listAction(options: ActionOptions): Promise<ActionResult>;
27
+ export declare function useAction(botId: string, options: ActionOptions): Promise<ActionResult>;
28
+ export declare function removeAction(botId: string, options: ActionOptions): Promise<ActionResult>;
29
+ export declare const authCommand: Command;
30
+ export {};
31
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../../src/platforms/telegrambot/commands/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAMnC,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAA;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAE7C,UAAU,aAAa;IACrB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,YAAY,CAAC,EAAE,4BAA4B,CAAA;IAC3C,cAAc,CAAC,EAAE,aAAa,CAAA;CAC/B;AAED,UAAU,YAAY;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,KAAK,CAAC;QACX,MAAM,EAAE,MAAM,CAAA;QACd,QAAQ,EAAE,MAAM,CAAA;QAChB,UAAU,EAAE,OAAO,CAAA;KACpB,CAAC,CAAA;CACH;AAED,wBAAsB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CA6B5F;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAQ/E;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAsChF;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAe9E;AAED,wBAAsB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAkB5F;AAED,wBAAsB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAa/F;AAED,eAAO,MAAM,WAAW,SAwDrB,CAAA"}
@@ -0,0 +1,173 @@
1
+ import { Command } from 'commander';
2
+ import { cliOutput } from '../../../shared/utils/cli-output.js';
3
+ import { formatOutput } from '../../../shared/utils/output.js';
4
+ import { TelegramBotClient } from '../client.js';
5
+ import { TelegramBotCredentialManager } from '../credential-manager.js';
6
+ export async function setAction(token, options) {
7
+ try {
8
+ const client = options._clientFactory ? options._clientFactory() : new TelegramBotClient();
9
+ await client.login({ token });
10
+ const me = await client.getMe();
11
+ if (!me.is_bot) {
12
+ return { error: 'Token does not belong to a bot account.' };
13
+ }
14
+ const botId = options.bot || me.username || String(me.id);
15
+ const botName = me.username ?? me.first_name;
16
+ const credManager = options._credManager ?? new TelegramBotCredentialManager();
17
+ await credManager.setCredentials({
18
+ token,
19
+ bot_id: botId,
20
+ bot_name: botName,
21
+ });
22
+ return {
23
+ success: true,
24
+ bot_id: botId,
25
+ bot_name: botName,
26
+ username: me.username,
27
+ };
28
+ }
29
+ catch (error) {
30
+ return { error: error.message };
31
+ }
32
+ }
33
+ export async function clearAction(options) {
34
+ try {
35
+ const credManager = options._credManager ?? new TelegramBotCredentialManager();
36
+ await credManager.clearCredentials();
37
+ return { success: true };
38
+ }
39
+ catch (error) {
40
+ return { error: error.message };
41
+ }
42
+ }
43
+ export async function statusAction(options) {
44
+ try {
45
+ const credManager = options._credManager ?? new TelegramBotCredentialManager();
46
+ const creds = await credManager.getCredentials(options.bot);
47
+ if (!creds) {
48
+ return {
49
+ valid: false,
50
+ error: options.bot
51
+ ? `Bot "${options.bot}" not found. Run "auth list" to see available bots.`
52
+ : 'No credentials configured. Run "auth set <token>" first.',
53
+ };
54
+ }
55
+ let valid = false;
56
+ let botName = creds.bot_name;
57
+ let username;
58
+ try {
59
+ const client = options._clientFactory ? options._clientFactory() : new TelegramBotClient();
60
+ await client.login({ token: creds.token });
61
+ const me = await client.getMe();
62
+ valid = me.is_bot === true;
63
+ botName = me.username ?? me.first_name;
64
+ username = me.username;
65
+ }
66
+ catch {
67
+ valid = false;
68
+ }
69
+ return {
70
+ valid,
71
+ bot_id: creds.bot_id,
72
+ bot_name: botName,
73
+ username,
74
+ };
75
+ }
76
+ catch (error) {
77
+ return { error: error.message };
78
+ }
79
+ }
80
+ export async function listAction(options) {
81
+ try {
82
+ const credManager = options._credManager ?? new TelegramBotCredentialManager();
83
+ const all = await credManager.listAll();
84
+ return {
85
+ bots: all.map((b) => ({
86
+ bot_id: b.bot_id,
87
+ bot_name: b.bot_name,
88
+ is_current: b.is_current,
89
+ })),
90
+ };
91
+ }
92
+ catch (error) {
93
+ return { error: error.message };
94
+ }
95
+ }
96
+ export async function useAction(botId, options) {
97
+ try {
98
+ const credManager = options._credManager ?? new TelegramBotCredentialManager();
99
+ const found = await credManager.setCurrent(botId);
100
+ if (!found) {
101
+ return { error: `Bot "${botId}" not found. Run "auth list" to see available bots.` };
102
+ }
103
+ const creds = await credManager.getCredentials();
104
+ return {
105
+ success: true,
106
+ bot_id: creds?.bot_id,
107
+ bot_name: creds?.bot_name,
108
+ };
109
+ }
110
+ catch (error) {
111
+ return { error: error.message };
112
+ }
113
+ }
114
+ export async function removeAction(botId, options) {
115
+ try {
116
+ const credManager = options._credManager ?? new TelegramBotCredentialManager();
117
+ const removed = await credManager.removeBot(botId);
118
+ if (!removed) {
119
+ return { error: `Bot "${botId}" not found. Run "auth list" to see available bots.` };
120
+ }
121
+ return { success: true };
122
+ }
123
+ catch (error) {
124
+ return { error: error.message };
125
+ }
126
+ }
127
+ export const authCommand = new Command('auth')
128
+ .description('Bot authentication commands')
129
+ .addCommand(new Command('set')
130
+ .description('Set bot token (validates against Telegram API)')
131
+ .argument('<token>', 'Bot token from @BotFather')
132
+ .option('--bot <id>', 'Bot identifier for switching later')
133
+ .option('--pretty', 'Pretty print JSON output')
134
+ .action(async (token, opts) => {
135
+ cliOutput(await setAction(token, opts), opts.pretty);
136
+ }))
137
+ .addCommand(new Command('clear')
138
+ .description('Clear all stored credentials')
139
+ .option('--pretty', 'Pretty print JSON output')
140
+ .action(async (opts) => {
141
+ cliOutput(await clearAction(opts), opts.pretty);
142
+ }))
143
+ .addCommand(new Command('status')
144
+ .description('Show authentication status')
145
+ .option('--bot <id>', 'Check specific bot (default: current)')
146
+ .option('--pretty', 'Pretty print JSON output')
147
+ .action(async (opts) => {
148
+ const result = await statusAction(opts);
149
+ console.log(formatOutput(result, opts.pretty));
150
+ if (!result.valid)
151
+ process.exit(1);
152
+ }))
153
+ .addCommand(new Command('list')
154
+ .description('List all stored bots')
155
+ .option('--pretty', 'Pretty print JSON output')
156
+ .action(async (opts) => {
157
+ cliOutput(await listAction(opts), opts.pretty);
158
+ }))
159
+ .addCommand(new Command('use')
160
+ .description('Switch active bot')
161
+ .argument('<bot>', 'Bot ID')
162
+ .option('--pretty', 'Pretty print JSON output')
163
+ .action(async (botId, opts) => {
164
+ cliOutput(await useAction(botId, opts), opts.pretty);
165
+ }))
166
+ .addCommand(new Command('remove')
167
+ .description('Remove a stored bot')
168
+ .argument('<bot>', 'Bot ID')
169
+ .option('--pretty', 'Pretty print JSON output')
170
+ .action(async (botId, opts) => {
171
+ cliOutput(await removeAction(botId, opts), opts.pretty);
172
+ }));
173
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../../src/platforms/telegrambot/commands/auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { Command } from 'commander';
2
+ import type { BotOption } from './shared.js';
3
+ interface ChatResult {
4
+ id?: number;
5
+ type?: string;
6
+ title?: string;
7
+ username?: string;
8
+ first_name?: string;
9
+ last_name?: string;
10
+ description?: string;
11
+ invite_link?: string;
12
+ member_count?: number;
13
+ is_forum?: boolean;
14
+ member?: {
15
+ user_id: number;
16
+ username?: string;
17
+ status: string;
18
+ };
19
+ error?: string;
20
+ }
21
+ export declare function infoAction(chat: string, options: BotOption): Promise<ChatResult>;
22
+ export declare function memberAction(chat: string, userId: string, options: BotOption): Promise<ChatResult>;
23
+ export declare const chatCommand: Command;
24
+ export {};
25
+ //# sourceMappingURL=chat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../../../src/platforms/telegrambot/commands/chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAInC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAGzC,UAAU,UAAU;IAClB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE;QACP,OAAO,EAAE,MAAM,CAAA;QACf,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,MAAM,EAAE,MAAM,CAAA;KACf,CAAA;IACD,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CA6BtF;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAcxG;AAED,eAAO,MAAM,WAAW,SAsBrB,CAAA"}
@@ -0,0 +1,69 @@
1
+ import { Command } from 'commander';
2
+ import { cliOutput } from '../../../shared/utils/cli-output.js';
3
+ import { getClient, parseChatId } from './shared.js';
4
+ export async function infoAction(chat, options) {
5
+ try {
6
+ const client = await getClient(options);
7
+ const info = await client.getChat(parseChatId(chat));
8
+ let memberCount = info.member_count;
9
+ if (memberCount === undefined && (info.type === 'group' || info.type === 'supergroup' || info.type === 'channel')) {
10
+ try {
11
+ memberCount = await client.getChatMemberCount(info.id);
12
+ }
13
+ catch {
14
+ memberCount = undefined;
15
+ }
16
+ }
17
+ return {
18
+ id: info.id,
19
+ type: info.type,
20
+ title: info.title,
21
+ username: info.username,
22
+ first_name: info.first_name,
23
+ last_name: info.last_name,
24
+ description: info.description,
25
+ invite_link: info.invite_link,
26
+ member_count: memberCount,
27
+ is_forum: info.is_forum,
28
+ };
29
+ }
30
+ catch (error) {
31
+ return { error: error.message };
32
+ }
33
+ }
34
+ export async function memberAction(chat, userId, options) {
35
+ try {
36
+ const client = await getClient(options);
37
+ const member = await client.getChatMember(parseChatId(chat), Number(userId));
38
+ return {
39
+ member: {
40
+ user_id: member.user.id,
41
+ username: member.user.username,
42
+ status: member.status,
43
+ },
44
+ };
45
+ }
46
+ catch (error) {
47
+ return { error: error.message };
48
+ }
49
+ }
50
+ export const chatCommand = new Command('chat')
51
+ .description('Chat commands')
52
+ .addCommand(new Command('info')
53
+ .description('Get chat information')
54
+ .argument('<chat>', 'Chat ID or @username')
55
+ .option('--bot <id>', 'Use specific bot')
56
+ .option('--pretty', 'Pretty print JSON output')
57
+ .action(async (chat, opts) => {
58
+ cliOutput(await infoAction(chat, opts), opts.pretty);
59
+ }))
60
+ .addCommand(new Command('member')
61
+ .description('Get chat member info')
62
+ .argument('<chat>', 'Chat ID or @username')
63
+ .argument('<user-id>', 'User ID (numeric)')
64
+ .option('--bot <id>', 'Use specific bot')
65
+ .option('--pretty', 'Pretty print JSON output')
66
+ .action(async (chat, userId, opts) => {
67
+ cliOutput(await memberAction(chat, userId, opts), opts.pretty);
68
+ }));
69
+ //# sourceMappingURL=chat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../../../../src/platforms/telegrambot/commands/chat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export { authCommand } from './auth.js';
2
+ export { chatCommand } from './chat.js';
3
+ export { messageCommand } from './message.js';
4
+ export { reactionCommand } from './reaction.js';
5
+ export { whoamiCommand } from './whoami.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/platforms/telegrambot/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA"}
@@ -0,0 +1,6 @@
1
+ export { authCommand } from './auth.js';
2
+ export { chatCommand } from './chat.js';
3
+ export { messageCommand } from './message.js';
4
+ export { reactionCommand } from './reaction.js';
5
+ export { whoamiCommand } from './whoami.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/platforms/telegrambot/commands/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA"}