@qwen-code/channel-telegram 0.22.3 → 0.23.0-nightly.20260905.0c945a6136
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.
|
@@ -12,8 +12,10 @@ export declare class TelegramChannel extends ChannelBase {
|
|
|
12
12
|
protected supportsProactiveTarget(target: SessionTarget): boolean;
|
|
13
13
|
private createBot;
|
|
14
14
|
private getFileUrl;
|
|
15
|
+
private reportInboundError;
|
|
15
16
|
connect(): Promise<void>;
|
|
16
17
|
private registerBotCommands;
|
|
18
|
+
private startMessage;
|
|
17
19
|
/** Per-chat typing interval — repeats every 4s since Telegram expires it after 5s. */
|
|
18
20
|
private typingIntervals;
|
|
19
21
|
private activeTypingSessions;
|
|
@@ -27,8 +29,9 @@ export declare class TelegramChannel extends ChannelBase {
|
|
|
27
29
|
handleInbound(envelope: Envelope): Promise<void>;
|
|
28
30
|
protected prepareThenHandleInbound(envelope: Envelope, prepare: () => Promise<boolean | void>): Promise<void>;
|
|
29
31
|
sendMessage(chatId: string, text: string): Promise<void>;
|
|
30
|
-
protected
|
|
31
|
-
protected
|
|
32
|
+
protected sendThreadMessage(chatId: string, threadId: string | undefined, text: string, sourceLabel?: string): Promise<void>;
|
|
33
|
+
protected sendResponseMessage(chatId: string, text: string, sessionId: string, sourceLabel?: string): Promise<void>;
|
|
34
|
+
protected pushProactive(target: SessionTarget, text: string, sourceLabel?: string): Promise<void>;
|
|
32
35
|
private sendTelegramMessage;
|
|
33
36
|
disconnect(): void;
|
|
34
37
|
private buildEnvelope;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TelegramAdapter.d.ts","sourceRoot":"","sources":["../src/TelegramAdapter.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,WAAW,
|
|
1
|
+
{"version":3,"file":"TelegramAdapter.d.ts","sourceRoot":"","sources":["../src/TelegramAdapter.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,WAAW,EAGZ,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,yBAAyB,EACzB,QAAQ,EACR,aAAa,EACd,MAAM,yBAAyB,CAAC;AAWjC,qBAAa,eAAgB,SAAQ,WAAW;IAC9C,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,wBAAwB,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAExB;gBAGH,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,kBAAkB,EAC1B,OAAO,CAAC,EAAE,kBAAkB;IAWrB,qBAAqB,IAAI,OAAO;cAItB,uBAAuB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO;IAI1E,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,kBAAkB;IAoBpB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YA2MhB,mBAAmB;IAUjC,OAAO,CAAC,YAAY;IAcpB,sFAAsF;IACtF,OAAO,CAAC,eAAe,CAAqD;IAC5E,OAAO,CAAC,oBAAoB,CAAkC;IAE9D,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,UAAU;cAaC,eAAe,CAAC,KAAK,EAAE,yBAAyB,GAAG,IAAI;cAUvD,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;cAIvD,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAI/D,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAShC,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;cAMtC,wBAAwB,CAC/C,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,GACrC,OAAO,CAAC,IAAI,CAAC;IAQV,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAQrC,iBAAiB,CACxC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;cAIS,mBAAmB,CAC1C,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;cAiBS,aAAa,CACpC,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;YASF,mBAAmB;IA+CjC,UAAU,IAAI,IAAI;IASlB,OAAO,CAAC,aAAa;CAsGtB"}
|
package/dist/TelegramAdapter.js
CHANGED
|
@@ -6,7 +6,7 @@ import { tmpdir } from 'node:os';
|
|
|
6
6
|
import { Bot } from 'grammy';
|
|
7
7
|
import { HttpsProxyAgent } from 'https-proxy-agent';
|
|
8
8
|
import { telegramFormat, splitHtmlForTelegram, } from 'telegram-markdown-formatter';
|
|
9
|
-
import { ChannelBase, isTerminalTaskLifecycleType, } from '@qwen-code/channel-base';
|
|
9
|
+
import { ChannelBase, isTerminalTaskLifecycleType, startsWithMessagePrefix, } from '@qwen-code/channel-base';
|
|
10
10
|
const TELEGRAM_BOT_COMMANDS = [
|
|
11
11
|
{ command: 'start', description: 'Show quick-start help' },
|
|
12
12
|
{ command: 'help', description: 'Show available commands' },
|
|
@@ -14,14 +14,7 @@ const TELEGRAM_BOT_COMMANDS = [
|
|
|
14
14
|
{ command: 'cancel', description: 'Cancel the running request' },
|
|
15
15
|
{ command: 'status', description: 'Show session info' },
|
|
16
16
|
];
|
|
17
|
-
const
|
|
18
|
-
'Qwen Code Telegram bot',
|
|
19
|
-
'',
|
|
20
|
-
'Send any message to chat with Qwen Code.',
|
|
21
|
-
'Use /new to start a fresh conversation.',
|
|
22
|
-
'Use /cancel to stop a running request.',
|
|
23
|
-
'Use /help to see available commands.',
|
|
24
|
-
].join('\n');
|
|
17
|
+
const TELEGRAM_MESSAGE_LIMIT = 4096;
|
|
25
18
|
export class TelegramChannel extends ChannelBase {
|
|
26
19
|
bot;
|
|
27
20
|
botId = 0;
|
|
@@ -33,7 +26,7 @@ export class TelegramChannel extends ChannelBase {
|
|
|
33
26
|
super(name, config, bridge, options);
|
|
34
27
|
this.bot = this.createBot();
|
|
35
28
|
this.registerCommand('start', async (envelope) => {
|
|
36
|
-
await this.sendMessage(envelope.chatId,
|
|
29
|
+
await this.sendMessage(envelope.chatId, this.startMessage());
|
|
37
30
|
return true;
|
|
38
31
|
});
|
|
39
32
|
this.registerCancelCommand();
|
|
@@ -57,6 +50,14 @@ export class TelegramChannel extends ChannelBase {
|
|
|
57
50
|
getFileUrl(filePath) {
|
|
58
51
|
return `https://api.telegram.org/file/bot${this.bot.token}/${filePath}`;
|
|
59
52
|
}
|
|
53
|
+
reportInboundError(envelope, error, reply) {
|
|
54
|
+
process.stderr.write(`[Telegram:${this.name}] Error handling message: ${error}\n`);
|
|
55
|
+
const sourceLabel = this.getInboundErrorSourceLabel(envelope);
|
|
56
|
+
const delivery = sourceLabel
|
|
57
|
+
? this.sendThreadMessage(envelope.chatId, envelope.threadId, 'Sorry, something went wrong processing your message.', sourceLabel)
|
|
58
|
+
: reply();
|
|
59
|
+
delivery.catch(() => { });
|
|
60
|
+
}
|
|
60
61
|
async connect() {
|
|
61
62
|
if (this.hasConnectedOnce) {
|
|
62
63
|
this.bot = this.createBot();
|
|
@@ -71,19 +72,16 @@ export class TelegramChannel extends ChannelBase {
|
|
|
71
72
|
this.bot.on('message:text', async (ctx) => {
|
|
72
73
|
const msg = ctx.message;
|
|
73
74
|
const text = msg.text;
|
|
74
|
-
const envelope = this.buildEnvelope(msg, text, msg.entities);
|
|
75
|
+
const envelope = this.buildEnvelope(msg, text, msg.entities, true);
|
|
75
76
|
// Don't await — long prompts would block the update loop
|
|
76
77
|
this.handleInbound(envelope).catch((err) => {
|
|
77
|
-
|
|
78
|
-
ctx
|
|
79
|
-
.reply('Sorry, something went wrong processing your message.')
|
|
80
|
-
.catch(() => { });
|
|
78
|
+
this.reportInboundError(envelope, err, () => ctx.reply('Sorry, something went wrong processing your message.'));
|
|
81
79
|
});
|
|
82
80
|
});
|
|
83
81
|
// Photo messages
|
|
84
82
|
this.bot.on('message:photo', async (ctx) => {
|
|
85
83
|
const msg = ctx.message;
|
|
86
|
-
const envelope = this.buildEnvelope(msg, msg.caption || '(image)', msg.caption_entities);
|
|
84
|
+
const envelope = this.buildEnvelope(msg, msg.caption || '(image)', msg.caption_entities, false, !msg.caption);
|
|
87
85
|
// Pick the largest photo size (last in array)
|
|
88
86
|
const photo = msg.photo[msg.photo.length - 1];
|
|
89
87
|
if (!photo)
|
|
@@ -101,12 +99,11 @@ export class TelegramChannel extends ChannelBase {
|
|
|
101
99
|
}
|
|
102
100
|
catch (err) {
|
|
103
101
|
process.stderr.write(`[Telegram:${this.name}] Failed to download photo: ${err instanceof Error ? err.message : err}\n`);
|
|
102
|
+
const promptText = msg.caption ? envelope.text : '';
|
|
103
|
+
envelope.text = `${promptText}\n\n(User sent an image but download failed)`;
|
|
104
104
|
}
|
|
105
105
|
}).catch((err) => {
|
|
106
|
-
|
|
107
|
-
ctx
|
|
108
|
-
.reply('Sorry, something went wrong processing your message.')
|
|
109
|
-
.catch(() => { });
|
|
106
|
+
this.reportInboundError(envelope, err, () => ctx.reply('Sorry, something went wrong processing your message.'));
|
|
110
107
|
});
|
|
111
108
|
});
|
|
112
109
|
// Document/file messages
|
|
@@ -114,7 +111,7 @@ export class TelegramChannel extends ChannelBase {
|
|
|
114
111
|
const msg = ctx.message;
|
|
115
112
|
const doc = msg.document;
|
|
116
113
|
const fileName = doc.file_name || `file_${Date.now()}`;
|
|
117
|
-
const envelope = this.buildEnvelope(msg, msg.caption || `(file: ${fileName})`, msg.caption_entities);
|
|
114
|
+
const envelope = this.buildEnvelope(msg, msg.caption || `(file: ${fileName})`, msg.caption_entities, false, !msg.caption);
|
|
118
115
|
this.prepareThenHandleInbound(envelope, async () => {
|
|
119
116
|
try {
|
|
120
117
|
const file = await ctx.api.getFile(doc.file_id);
|
|
@@ -128,7 +125,12 @@ export class TelegramChannel extends ChannelBase {
|
|
|
128
125
|
mkdirSync(dir, { recursive: true });
|
|
129
126
|
const filePath = join(dir, basename(fileName) || `file_${Date.now()}`);
|
|
130
127
|
writeFileSync(filePath, buf);
|
|
131
|
-
|
|
128
|
+
// Cleared when the caption is absent too: the bypass above
|
|
129
|
+
// skips stripping entirely, so the `(file: …)` placeholder
|
|
130
|
+
// would otherwise reach the model as prompt text.
|
|
131
|
+
if (!this.configuredMessagePrefix() || !msg.caption) {
|
|
132
|
+
envelope.text = msg.caption || '';
|
|
133
|
+
}
|
|
132
134
|
envelope.attachments = [
|
|
133
135
|
{
|
|
134
136
|
type: 'file',
|
|
@@ -140,15 +142,15 @@ export class TelegramChannel extends ChannelBase {
|
|
|
140
142
|
}
|
|
141
143
|
catch (err) {
|
|
142
144
|
process.stderr.write(`[Telegram:${this.name}] Failed to download document: ${err instanceof Error ? err.message : err}\n`);
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
145
|
+
// Mirrors the success branch: the placeholder is adapter text, so
|
|
146
|
+
// only a real caption may survive into the prompt.
|
|
147
|
+
const promptText = this.configuredMessagePrefix() && msg.caption
|
|
148
|
+
? envelope.text
|
|
149
|
+
: msg.caption || '';
|
|
150
|
+
envelope.text = `${promptText}\n\n(User sent a file "${fileName}" but download failed)`;
|
|
146
151
|
}
|
|
147
152
|
}).catch((err) => {
|
|
148
|
-
|
|
149
|
-
ctx
|
|
150
|
-
.reply('Sorry, something went wrong processing your message.')
|
|
151
|
-
.catch(() => { });
|
|
153
|
+
this.reportInboundError(envelope, err, () => ctx.reply('Sorry, something went wrong processing your message.'));
|
|
152
154
|
});
|
|
153
155
|
});
|
|
154
156
|
// Voice messages
|
|
@@ -156,7 +158,10 @@ export class TelegramChannel extends ChannelBase {
|
|
|
156
158
|
const msg = ctx.message;
|
|
157
159
|
const voice = msg.voice;
|
|
158
160
|
const fileName = `voice_${Date.now()}.ogg`;
|
|
159
|
-
const envelope = this.buildEnvelope(msg, msg.caption || '(voice message)', msg.caption_entities
|
|
161
|
+
const envelope = this.buildEnvelope(msg, msg.caption || '(voice message)', msg.caption_entities, false,
|
|
162
|
+
// Standard Telegram clients cannot caption a voice message, so
|
|
163
|
+
// this is effectively always synthetic.
|
|
164
|
+
!msg.caption);
|
|
160
165
|
this.prepareThenHandleInbound(envelope, async () => {
|
|
161
166
|
try {
|
|
162
167
|
const file = await ctx.api.getFile(voice.file_id);
|
|
@@ -170,7 +175,12 @@ export class TelegramChannel extends ChannelBase {
|
|
|
170
175
|
mkdirSync(dir, { recursive: true });
|
|
171
176
|
const filePath = join(dir, fileName);
|
|
172
177
|
writeFileSync(filePath, buf);
|
|
173
|
-
|
|
178
|
+
// Cleared when the caption is absent too: the bypass above
|
|
179
|
+
// skips stripping entirely, so the `(file: …)` placeholder
|
|
180
|
+
// would otherwise reach the model as prompt text.
|
|
181
|
+
if (!this.configuredMessagePrefix() || !msg.caption) {
|
|
182
|
+
envelope.text = msg.caption || '';
|
|
183
|
+
}
|
|
174
184
|
envelope.attachments = [
|
|
175
185
|
{
|
|
176
186
|
type: 'audio',
|
|
@@ -182,15 +192,15 @@ export class TelegramChannel extends ChannelBase {
|
|
|
182
192
|
}
|
|
183
193
|
catch (err) {
|
|
184
194
|
process.stderr.write(`[Telegram:${this.name}] Failed to download voice message: ${err instanceof Error ? err.message : err}\n`);
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
195
|
+
// Mirrors the success branch: the placeholder is adapter text, so
|
|
196
|
+
// only a real caption may survive into the prompt.
|
|
197
|
+
const promptText = this.configuredMessagePrefix() && msg.caption
|
|
198
|
+
? envelope.text
|
|
199
|
+
: msg.caption || '';
|
|
200
|
+
envelope.text = `${promptText}\n\n(User sent a voice message but download failed)`;
|
|
188
201
|
}
|
|
189
202
|
}).catch((err) => {
|
|
190
|
-
|
|
191
|
-
ctx
|
|
192
|
-
.reply('Sorry, something went wrong processing your message.')
|
|
193
|
-
.catch(() => { });
|
|
203
|
+
this.reportInboundError(envelope, err, () => ctx.reply('Sorry, something went wrong processing your message.'));
|
|
194
204
|
});
|
|
195
205
|
});
|
|
196
206
|
this.bot.start({ drop_pending_updates: true }).catch((err) => {
|
|
@@ -210,6 +220,19 @@ export class TelegramChannel extends ChannelBase {
|
|
|
210
220
|
process.stderr.write(`[Telegram:${this.name}] Failed to register bot commands: ${err instanceof Error ? err.message : err}\n`);
|
|
211
221
|
}
|
|
212
222
|
}
|
|
223
|
+
startMessage() {
|
|
224
|
+
const prefix = this.configuredMessagePrefix();
|
|
225
|
+
return [
|
|
226
|
+
'Qwen Code Telegram bot',
|
|
227
|
+
'',
|
|
228
|
+
prefix
|
|
229
|
+
? `Start each message with ${prefix} to chat with Qwen Code.`
|
|
230
|
+
: 'Send any message to chat with Qwen Code.',
|
|
231
|
+
`Use ${this.prefixedCommand('/new')} to start a fresh conversation.`,
|
|
232
|
+
`Use ${this.prefixedCommand('/cancel')} to stop a running request.`,
|
|
233
|
+
`Use ${this.prefixedCommand('/help')} to see available commands.`,
|
|
234
|
+
].join('\n');
|
|
235
|
+
}
|
|
213
236
|
/** Per-chat typing interval — repeats every 4s since Telegram expires it after 5s. */
|
|
214
237
|
typingIntervals = new Map();
|
|
215
238
|
activeTypingSessions = new Map();
|
|
@@ -278,7 +301,10 @@ export class TelegramChannel extends ChannelBase {
|
|
|
278
301
|
async sendMessage(chatId, text) {
|
|
279
302
|
await this.sendTelegramMessage(chatId, text, this.inboundRoute.getStore()?.threadId);
|
|
280
303
|
}
|
|
281
|
-
async
|
|
304
|
+
async sendThreadMessage(chatId, threadId, text, sourceLabel) {
|
|
305
|
+
await this.sendTelegramMessage(chatId, text, threadId, sourceLabel);
|
|
306
|
+
}
|
|
307
|
+
async sendResponseMessage(chatId, text, sessionId, sourceLabel) {
|
|
282
308
|
const inboundRoute = this.inboundRoute.getStore();
|
|
283
309
|
const target = this.router.getTarget(sessionId);
|
|
284
310
|
const threadId = inboundRoute !== undefined
|
|
@@ -286,24 +312,42 @@ export class TelegramChannel extends ChannelBase {
|
|
|
286
312
|
: target?.channelName === this.name && target.chatId === chatId
|
|
287
313
|
? target.threadId
|
|
288
314
|
: undefined;
|
|
289
|
-
await this.sendTelegramMessage(chatId, text, threadId);
|
|
315
|
+
await this.sendTelegramMessage(chatId, text, threadId, sourceLabel ?? this.getResponseSourceLabel(sessionId));
|
|
290
316
|
}
|
|
291
|
-
async pushProactive(target, text) {
|
|
292
|
-
await this.sendTelegramMessage(target.chatId, text, target.threadId);
|
|
317
|
+
async pushProactive(target, text, sourceLabel) {
|
|
318
|
+
await this.sendTelegramMessage(target.chatId, text, target.threadId, sourceLabel);
|
|
293
319
|
}
|
|
294
|
-
async sendTelegramMessage(chatId, text, threadId) {
|
|
320
|
+
async sendTelegramMessage(chatId, text, threadId, sourceLabel) {
|
|
295
321
|
const html = telegramFormat(text);
|
|
296
|
-
const
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
322
|
+
const prefix = sourceLabel && text.trim().length > 0
|
|
323
|
+
? `${escapeTelegramHtml(sourceLabel)} `
|
|
324
|
+
: undefined;
|
|
325
|
+
const chunks = splitAttributedTelegramHtml(html, prefix, sourceLabel);
|
|
300
326
|
for (const chunk of chunks) {
|
|
327
|
+
const options = chunk.isHtml
|
|
328
|
+
? threadId === undefined
|
|
329
|
+
? { parse_mode: 'HTML' }
|
|
330
|
+
: {
|
|
331
|
+
parse_mode: 'HTML',
|
|
332
|
+
message_thread_id: Number(threadId),
|
|
333
|
+
}
|
|
334
|
+
: threadId === undefined
|
|
335
|
+
? undefined
|
|
336
|
+
: { message_thread_id: Number(threadId) };
|
|
337
|
+
if (!chunk.isHtml) {
|
|
338
|
+
await this.bot.api.sendMessage(chatId, chunk.text, options);
|
|
339
|
+
continue;
|
|
340
|
+
}
|
|
301
341
|
try {
|
|
302
|
-
await this.bot.api.sendMessage(chatId, chunk, options);
|
|
342
|
+
await this.bot.api.sendMessage(chatId, chunk.text, options);
|
|
303
343
|
}
|
|
304
344
|
catch {
|
|
305
345
|
// Fallback to plain text for the failed chunk only
|
|
306
|
-
|
|
346
|
+
const withoutTags = chunk.text.replace(/<[^>]*>/g, '');
|
|
347
|
+
const plainText = prefix && sourceLabel && withoutTags.startsWith(prefix)
|
|
348
|
+
? `${sourceLabel} ${withoutTags.slice(prefix.length)}`
|
|
349
|
+
: withoutTags;
|
|
350
|
+
await this.bot.api.sendMessage(chatId, plainText, threadId === undefined
|
|
307
351
|
? undefined
|
|
308
352
|
: { message_thread_id: Number(threadId) });
|
|
309
353
|
}
|
|
@@ -317,7 +361,15 @@ export class TelegramChannel extends ChannelBase {
|
|
|
317
361
|
this.activeTypingSessions.clear();
|
|
318
362
|
this.bot.stop();
|
|
319
363
|
}
|
|
320
|
-
buildEnvelope(msg, text, entities
|
|
364
|
+
buildEnvelope(msg, text, entities, allowRegisteredCommandBypass = false,
|
|
365
|
+
/**
|
|
366
|
+
* True when `text` is an adapter-synthesized placeholder rather than
|
|
367
|
+
* something the user typed. Media with no caption can never carry the
|
|
368
|
+
* configured prefix -- voice messages cannot carry one at all -- so
|
|
369
|
+
* gating it would drop the message with no action the user could
|
|
370
|
+
* take. Same contract DingTalk and WeCom already implement.
|
|
371
|
+
*/
|
|
372
|
+
syntheticText = false) {
|
|
321
373
|
const isGroup = msg.chat.type === 'group' || msg.chat.type === 'supergroup';
|
|
322
374
|
const isMentioned = entities?.some((e) => {
|
|
323
375
|
if (!this.botUsername)
|
|
@@ -342,6 +394,31 @@ export class TelegramChannel extends ChannelBase {
|
|
|
342
394
|
}
|
|
343
395
|
// Extract referenced message text (when user replies to a message)
|
|
344
396
|
const referencedText = msg.reply_to_message?.text || undefined;
|
|
397
|
+
// A configured prefix wins over the command-menu bypass: nothing rejects
|
|
398
|
+
// `/new` as a prefix, and without this every prefixed message would run
|
|
399
|
+
// the colliding command instead of being stripped and dispatched. Bare
|
|
400
|
+
// menu commands that do not start with the prefix keep the bypass.
|
|
401
|
+
const configuredPrefix = this.configuredMessagePrefix();
|
|
402
|
+
const bypassMessagePrefix = allowRegisteredCommandBypass &&
|
|
403
|
+
!(configuredPrefix &&
|
|
404
|
+
startsWithMessagePrefix(text.trim(), configuredPrefix)) &&
|
|
405
|
+
(entities?.some((entity) => {
|
|
406
|
+
if (entity.type !== 'bot_command' || entity.offset !== 0)
|
|
407
|
+
return false;
|
|
408
|
+
const value = text.slice(0, entity.length).toLowerCase();
|
|
409
|
+
const command = value.slice(1).split('@', 1)[0];
|
|
410
|
+
// `/cancel@OtherBot` is addressed to a different bot. `parseCommand`
|
|
411
|
+
// strips the suffix, so without this check the bypass would let a
|
|
412
|
+
// command meant for someone else past the prefix gate and run it
|
|
413
|
+
// here -- cancelling our own request, for instance.
|
|
414
|
+
const atIndex = value.indexOf('@', 1);
|
|
415
|
+
if (atIndex !== -1 &&
|
|
416
|
+
value.slice(atIndex + 1) !== this.botUsername.toLowerCase()) {
|
|
417
|
+
return false;
|
|
418
|
+
}
|
|
419
|
+
return TELEGRAM_BOT_COMMANDS.some((registered) => registered.command === command);
|
|
420
|
+
}) ??
|
|
421
|
+
false);
|
|
345
422
|
return {
|
|
346
423
|
channelName: this.name,
|
|
347
424
|
senderId: String(msg.from.id),
|
|
@@ -353,6 +430,8 @@ export class TelegramChannel extends ChannelBase {
|
|
|
353
430
|
? String(msg.message_thread_id)
|
|
354
431
|
: undefined,
|
|
355
432
|
text: cleanText,
|
|
433
|
+
...(syntheticText ? { syntheticText: true } : {}),
|
|
434
|
+
...(bypassMessagePrefix ? { bypassMessagePrefix: true } : {}),
|
|
356
435
|
isGroup,
|
|
357
436
|
isMentioned,
|
|
358
437
|
isReplyToBot,
|
|
@@ -360,4 +439,107 @@ export class TelegramChannel extends ChannelBase {
|
|
|
360
439
|
};
|
|
361
440
|
}
|
|
362
441
|
}
|
|
442
|
+
function splitAttributedTelegramHtml(html, prefix, sourceLabel) {
|
|
443
|
+
const chunks = splitHtmlForTelegram(html);
|
|
444
|
+
const contentLimit = TELEGRAM_MESSAGE_LIMIT - (prefix?.length ?? 0);
|
|
445
|
+
if (contentLimit <= 0) {
|
|
446
|
+
throw new Error('Telegram source label exceeds the message limit.');
|
|
447
|
+
}
|
|
448
|
+
const attributed = [];
|
|
449
|
+
for (const chunk of chunks) {
|
|
450
|
+
const split = splitTelegramHtmlAtLimit(chunk, contentLimit);
|
|
451
|
+
if (split) {
|
|
452
|
+
attributed.push(...split.map((part) => ({
|
|
453
|
+
text: `${prefix ?? ''}${part}`,
|
|
454
|
+
isHtml: true,
|
|
455
|
+
})));
|
|
456
|
+
continue;
|
|
457
|
+
}
|
|
458
|
+
attributed.push(...splitAttributedTelegramText(chunk.replace(/<[^>]*>/g, ''), sourceLabel).map((text) => ({ text, isHtml: false })));
|
|
459
|
+
}
|
|
460
|
+
return attributed;
|
|
461
|
+
}
|
|
462
|
+
function splitTelegramHtmlAtLimit(html, limit) {
|
|
463
|
+
const tokens = html.match(/<[^>]+>|&(?:#\d+|#x[\da-f]+|[a-z][\da-z]+);|[\s\S]/giu);
|
|
464
|
+
if (!tokens)
|
|
465
|
+
return [];
|
|
466
|
+
const chunks = [];
|
|
467
|
+
const openTags = [];
|
|
468
|
+
let current = '';
|
|
469
|
+
let hasContent = false;
|
|
470
|
+
const closingTags = () => [...openTags]
|
|
471
|
+
.reverse()
|
|
472
|
+
.map(({ name }) => `</${name}>`)
|
|
473
|
+
.join('');
|
|
474
|
+
const reopenedTags = () => openTags.map(({ html }) => html).join('');
|
|
475
|
+
const flush = () => {
|
|
476
|
+
if (!hasContent)
|
|
477
|
+
return false;
|
|
478
|
+
chunks.push(`${current}${closingTags()}`);
|
|
479
|
+
current = reopenedTags();
|
|
480
|
+
hasContent = false;
|
|
481
|
+
return true;
|
|
482
|
+
};
|
|
483
|
+
for (const token of tokens) {
|
|
484
|
+
const closingMatch = token.match(/^<\/([a-z\d]+)/iu);
|
|
485
|
+
if (closingMatch) {
|
|
486
|
+
current += token;
|
|
487
|
+
const index = openTags.findLastIndex(({ name }) => name === closingMatch[1]?.toLowerCase());
|
|
488
|
+
if (index !== -1)
|
|
489
|
+
openTags.splice(index, 1);
|
|
490
|
+
continue;
|
|
491
|
+
}
|
|
492
|
+
const openingMatch = token.match(/^<([a-z\d]+)/iu);
|
|
493
|
+
const isSelfClosing = /^<br\b|\/>$/iu.test(token);
|
|
494
|
+
if (openingMatch && !isSelfClosing) {
|
|
495
|
+
const tag = { name: openingMatch[1].toLowerCase(), html: token };
|
|
496
|
+
const required = `${current}${token}</${tag.name}>${closingTags()}`;
|
|
497
|
+
if (required.length > limit && !flush())
|
|
498
|
+
return undefined;
|
|
499
|
+
if (`${current}${token}</${tag.name}>${closingTags()}`.length > limit) {
|
|
500
|
+
return undefined;
|
|
501
|
+
}
|
|
502
|
+
current += token;
|
|
503
|
+
openTags.push(tag);
|
|
504
|
+
continue;
|
|
505
|
+
}
|
|
506
|
+
if (`${current}${token}${closingTags()}`.length > limit && !flush()) {
|
|
507
|
+
return undefined;
|
|
508
|
+
}
|
|
509
|
+
if (`${current}${token}${closingTags()}`.length > limit)
|
|
510
|
+
return undefined;
|
|
511
|
+
current += token;
|
|
512
|
+
hasContent = true;
|
|
513
|
+
}
|
|
514
|
+
if (hasContent)
|
|
515
|
+
chunks.push(`${current}${closingTags()}`);
|
|
516
|
+
return chunks;
|
|
517
|
+
}
|
|
518
|
+
function splitAttributedTelegramText(text, sourceLabel) {
|
|
519
|
+
if (text.length === 0)
|
|
520
|
+
return [];
|
|
521
|
+
const prefix = sourceLabel ? `${sourceLabel} ` : '';
|
|
522
|
+
const contentLimit = TELEGRAM_MESSAGE_LIMIT - prefix.length;
|
|
523
|
+
if (contentLimit <= 0) {
|
|
524
|
+
throw new Error('Telegram source label exceeds the message limit.');
|
|
525
|
+
}
|
|
526
|
+
const chunks = [];
|
|
527
|
+
for (let offset = 0; offset < text.length;) {
|
|
528
|
+
let end = Math.min(offset + contentLimit, text.length);
|
|
529
|
+
if (end < text.length &&
|
|
530
|
+
/[\uD800-\uDBFF]/u.test(text[end - 1] ?? '') &&
|
|
531
|
+
/[\uDC00-\uDFFF]/u.test(text[end] ?? '')) {
|
|
532
|
+
end--;
|
|
533
|
+
}
|
|
534
|
+
chunks.push(`${prefix}${text.slice(offset, end)}`);
|
|
535
|
+
offset = end;
|
|
536
|
+
}
|
|
537
|
+
return chunks;
|
|
538
|
+
}
|
|
539
|
+
function escapeTelegramHtml(value) {
|
|
540
|
+
return value
|
|
541
|
+
.replaceAll('&', '&')
|
|
542
|
+
.replaceAll('<', '<')
|
|
543
|
+
.replaceAll('>', '>');
|
|
544
|
+
}
|
|
363
545
|
//# sourceMappingURL=TelegramAdapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TelegramAdapter.js","sourceRoot":"","sources":["../src/TelegramAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EACL,cAAc,EACd,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,WAAW,EACX,2BAA2B,GAC5B,MAAM,yBAAyB,CAAC;AAUjC,MAAM,qBAAqB,GAAG;IAC5B,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE;IAC1D,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,yBAAyB,EAAE;IAC3D,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,4BAA4B,EAAE;IAC7D,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;IAChE,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;CAC/C,CAAC;AAEX,MAAM,sBAAsB,GAAG;IAC7B,wBAAwB;IACxB,EAAE;IACF,0CAA0C;IAC1C,yCAAyC;IACzC,wCAAwC;IACxC,sCAAsC;CACvC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,OAAO,eAAgB,SAAQ,WAAW;IACtC,GAAG,CAAM;IACT,KAAK,GAAW,CAAC,CAAC;IAClB,WAAW,GAAW,EAAE,CAAC;IACzB,gBAAgB,GAAG,KAAK,CAAC;IACzB,wBAAwB,GAAG,KAAK,CAAC;IACxB,YAAY,GAAG,IAAI,iBAAiB,EAEjD,CAAC;IAEL,YACE,IAAY,EACZ,MAAqB,EACrB,MAA0B,EAC1B,OAA4B;QAE5B,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC5B,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;YAC/C,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;YAChE,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAEQ,qBAAqB;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAEkB,uBAAuB,CAAC,MAAqB;QAC9D,OAAO,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACzE,CAAC;IAEO,SAAS;QACf,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK;YAC1B,CAAC,CAAC;gBACE,MAAM,EAAE;oBACN,eAAe,EAAE,EAAE,KAAK,EAAE,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;iBAC5D;aACF;YACH,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC/C,CAAC;IAEO,UAAU,CAAC,QAAgB;QACjC,OAAO,oCAAoC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,QAAQ,EAAE,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;QAC1C,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACjC,mEAAmE;QACnE,8EAA8E;QAC9E,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACxC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC;YACxB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YAEtB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;YAE7D,yDAAyD;YACzD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACzC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,aAAa,IAAI,CAAC,IAAI,6BAA6B,GAAG,IAAI,CAC3D,CAAC;gBACF,GAAG;qBACA,KAAK,CAAC,sDAAsD,CAAC;qBAC7D,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,iBAAiB;QACjB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACzC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC;YACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CACjC,GAAG,EACH,GAAG,CAAC,OAAO,IAAI,SAAS,EACxB,GAAG,CAAC,gBAAgB,CACrB,CAAC;YAEF,8CAA8C;YAC9C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC9C,IAAI,CAAC,KAAK;gBAAE,OAAO;YAEnB,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;gBACjD,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAClD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAU,CAAC,CAAC;oBACjD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;oBAClC,IAAI,CAAC,IAAI,CAAC,EAAE;wBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;oBACrD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;oBAClD,QAAQ,CAAC,WAAW,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBAC9C,QAAQ,CAAC,aAAa,GAAG,YAAY,CAAC,CAAC,0CAA0C;gBACnF,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,aAAa,IAAI,CAAC,IAAI,+BAA+B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAClG,CAAC;gBACJ,CAAC;YACH,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,aAAa,IAAI,CAAC,IAAI,6BAA6B,GAAG,IAAI,CAC3D,CAAC;gBACF,GAAG;qBACA,KAAK,CAAC,sDAAsD,CAAC;qBAC7D,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,yBAAyB;QACzB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,kBAAkB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC5C,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC;YACxB,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC;YACzB,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,IAAI,QAAQ,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAEvD,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CACjC,GAAG,EACH,GAAG,CAAC,OAAO,IAAI,UAAU,QAAQ,GAAG,EACpC,GAAG,CAAC,gBAAgB,CACrB,CAAC;YAEF,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;gBACjD,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAChD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAU,CAAC,CAAC;oBACjD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;oBAClC,IAAI,CAAC,IAAI,CAAC,EAAE;wBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;oBACrD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;oBAElD,+DAA+D;oBAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC,CAAC;oBAC1D,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACpC,MAAM,QAAQ,GAAG,IAAI,CACnB,GAAG,EACH,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,CAAC,GAAG,EAAE,EAAE,CAC3C,CAAC;oBACF,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;oBAE7B,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;oBAClC,QAAQ,CAAC,WAAW,GAAG;wBACrB;4BACE,IAAI,EAAE,MAAM;4BACZ,QAAQ;4BACR,QAAQ,EAAE,GAAG,CAAC,SAAS,IAAI,0BAA0B;4BACrD,QAAQ;yBACT;qBACF,CAAC;gBACJ,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,aAAa,IAAI,CAAC,IAAI,kCAAkC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CACrG,CAAC;oBACF,QAAQ,CAAC,IAAI;wBACX,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;4BACnB,0BAA0B,QAAQ,wBAAwB,CAAC;gBAC/D,CAAC;YACH,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,aAAa,IAAI,CAAC,IAAI,6BAA6B,GAAG,IAAI,CAC3D,CAAC;gBACF,GAAG;qBACA,KAAK,CAAC,sDAAsD,CAAC;qBAC7D,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,iBAAiB;QACjB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACzC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC;YACxB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;YACxB,MAAM,QAAQ,GAAG,SAAS,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC;YAE3C,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CACjC,GAAG,EACH,GAAG,CAAC,OAAO,IAAI,iBAAiB,EAChC,GAAG,CAAC,gBAAgB,CACrB,CAAC;YAEF,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;gBACjD,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAClD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAU,CAAC,CAAC;oBACjD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;oBAClC,IAAI,CAAC,IAAI,CAAC,EAAE;wBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;oBACrD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;oBAElD,+DAA+D;oBAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC,CAAC;oBAC1D,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;oBACrC,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;oBAE7B,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;oBAClC,QAAQ,CAAC,WAAW,GAAG;wBACrB;4BACE,IAAI,EAAE,OAAO;4BACb,QAAQ;4BACR,QAAQ,EAAE,KAAK,CAAC,SAAS,IAAI,WAAW;4BACxC,QAAQ;yBACT;qBACF,CAAC;gBACJ,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,aAAa,IAAI,CAAC,IAAI,uCAAuC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAC1G,CAAC;oBACF,QAAQ,CAAC,IAAI;wBACX,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;4BACnB,qDAAqD,CAAC;gBAC1D,CAAC;YACH,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,aAAa,IAAI,CAAC,IAAI,6BAA6B,GAAG,IAAI,CAC3D,CAAC;gBACF,GAAG;qBACA,KAAK,CAAC,sDAAsD,CAAC;qBAC7D,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YAC3D,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,aAAa,IAAI,CAAC,IAAI,uBAAuB,GAAG,IAAI,CACrD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/C,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;QACvC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAC/B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,aAAa,IAAI,CAAC,IAAI,sCAAsC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CACzG,CAAC;QACJ,CAAC;IACH,CAAC;IAED,sFAAsF;IAC9E,eAAe,GAAG,IAAI,GAAG,EAA0C,CAAC;IACpE,oBAAoB,GAAG,IAAI,GAAG,EAAuB,CAAC;IAEtD,UAAU,CAAC,MAAc;QAC/B,IAAI,CAAC;YACH,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACrE,CAAC;QAAC,MAAM,CAAC;YACP,gCAAgC;QAClC,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,MAAc,EAAE,SAAS,GAAG,MAAM;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;QACpE,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxB,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAChD,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO;QAC7C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACxB,IAAI,CAAC,eAAe,CAAC,GAAG,CACtB,MAAM,EACN,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CACjD,CAAC;IACJ,CAAC;IAEO,UAAU,CAAC,MAAc,EAAE,SAAS,GAAG,MAAM;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC3B,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC;gBAAE,OAAO;YAC9B,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,aAAa,CAAC,QAAQ,CAAC,CAAC;QACxB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAEkB,eAAe,CAAC,KAAgC;QACjE,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAChD,OAAO;QACT,CAAC;QACD,IAAI,2BAA2B,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAEkB,aAAa,CAAC,MAAc,EAAE,SAAkB;QACjE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACtC,CAAC;IAEkB,WAAW,CAAC,MAAc,EAAE,SAAkB;QAC/D,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACrC,CAAC;IAEQ,aAAa,CAAC,SAAiB;QACtC,KAAK,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC3D,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAEQ,KAAK,CAAC,aAAa,CAAC,QAAkB;QAC7C,MAAM,KAAK,GACT,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACzE,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1E,CAAC;IAEkB,KAAK,CAAC,wBAAwB,CAC/C,QAAkB,EAClB,OAAsC;QAEtC,MAAM,KAAK,GACT,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACzE,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,CACtC,KAAK,CAAC,wBAAwB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAClD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,IAAY;QAC5C,MAAM,IAAI,CAAC,mBAAmB,CAC5B,MAAM,EACN,IAAI,EACJ,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,QAAQ,CACvC,CAAC;IACJ,CAAC;IAEkB,KAAK,CAAC,mBAAmB,CAC1C,MAAc,EACd,IAAY,EACZ,SAAiB;QAEjB,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,QAAQ,GACZ,YAAY,KAAK,SAAS;YACxB,CAAC,CAAC,YAAY,CAAC,QAAQ;YACvB,CAAC,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM;gBAC7D,CAAC,CAAC,MAAM,CAAC,QAAQ;gBACjB,CAAC,CAAC,SAAS,CAAC;QAClB,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACzD,CAAC;IAEkB,KAAK,CAAC,aAAa,CACpC,MAAqB,EACrB,IAAY;QAEZ,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvE,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,MAAc,EACd,IAAY,EACZ,QAAiB;QAEjB,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,OAAO,GACX,QAAQ,KAAK,SAAS;YACpB,CAAC,CAAC,EAAE,UAAU,EAAE,MAAe,EAAE;YACjC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAe,EAAE,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3E,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YACzD,CAAC;YAAC,MAAM,CAAC;gBACP,mDAAmD;gBACnD,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAC5B,MAAM,EACN,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,EAC7B,QAAQ,KAAK,SAAS;oBACpB,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,EAAE,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAC5C,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,UAAU;QACR,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC;YACrD,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IAClB,CAAC;IAEO,aAAa,CACnB,GAKC,EACD,IAAY,EACZ,QAAkE;QAElE,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC;QAE5E,MAAM,WAAW,GACf,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACnB,IAAI,CAAC,IAAI,CAAC,WAAW;gBAAE,OAAO,KAAK,CAAC;YACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;YAChD,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACzB,OAAO,KAAK,KAAK,IAAI,QAAQ,EAAE,CAAC;YAClC,CAAC;YACD,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBAC7B,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACxC,OAAO,CACL,YAAY,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,KAAK,QAAQ,CAClE,CAAC;YACJ,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,IAAI,KAAK,CAAC;QAEd,MAAM,YAAY,GAAG,GAAG,CAAC,gBAAgB,EAAE,IAAI,EAAE,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC;QAEnE,IAAI,SAAS,GAAG,IAAI,CAAC;QACrB,IAAI,WAAW,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACpC,SAAS,GAAG,IAAI;iBACb,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;iBACrD,IAAI,EAAE,CAAC;QACZ,CAAC;QAED,mEAAmE;QACnE,MAAM,cAAc,GAAG,GAAG,CAAC,gBAAgB,EAAE,IAAI,IAAI,SAAS,CAAC;QAE/D,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,IAAI;YACtB,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,UAAU,EACR,GAAG,CAAC,IAAI,CAAC,UAAU;gBACnB,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,QAAQ,EACN,OAAO,GAAG,CAAC,iBAAiB,KAAK,QAAQ;gBACvC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC;gBAC/B,CAAC,CAAC,SAAS;YACf,IAAI,EAAE,SAAS;YACf,OAAO;YACP,WAAW;YACX,YAAY;YACZ,cAAc;SACf,CAAC;IACJ,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"TelegramAdapter.js","sourceRoot":"","sources":["../src/TelegramAdapter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qwen-code/channel-telegram",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.23.0-nightly.20260905.0c945a6136",
|
|
4
4
|
"description": "Telegram channel adapter for Qwen Code",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"test:ci": "vitest run"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@qwen-code/channel-base": "0.
|
|
28
|
+
"@qwen-code/channel-base": "0.23.0-nightly.20260905.0c945a6136",
|
|
29
29
|
"grammy": "^1.41.1",
|
|
30
30
|
"https-proxy-agent": "^7.0.6",
|
|
31
31
|
"telegram-markdown-formatter": "^0.1.2"
|