@zhin.js/adapter-telegram 2.0.4 → 2.0.6

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/CHANGELOG.md CHANGED
@@ -1,5 +1,28 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.0.6
4
+
5
+ ### Patch Changes
6
+
7
+ - 90d9efd: fix: 处理包名
8
+ - Updated dependencies [90d9efd]
9
+ - @zhin.js/logger@0.1.69
10
+ - zhin.js@1.0.87
11
+ - @zhin.js/host-api@0.0.1
12
+ - @zhin.js/host-router@0.0.1
13
+
14
+ ## 2.0.5
15
+
16
+ ### Patch Changes
17
+
18
+ - 7e14f8d: fix: 统一发个版,优化一些列安全问题
19
+ - Updated dependencies [7e14f8d]
20
+ - @zhin.js/logger@0.1.68
21
+ - @zhin.js/client@1.1.4
22
+ - zhin.js@1.0.86
23
+ - @zhin.js/console@3.0.5
24
+ - @zhin.js/host-router@1.0.79
25
+
3
26
  ## 2.0.4
4
27
 
5
28
  ### Patch Changes
@@ -7,7 +30,7 @@
7
30
  - zhin.js@1.0.85
8
31
  - @zhin.js/logger@0.1.67
9
32
  - @zhin.js/console@3.0.4
10
- - @zhin.js/http@1.0.78
33
+ - @zhin.js/host-router@1.0.78
11
34
 
12
35
  ## 2.0.3
13
36
 
@@ -20,7 +43,7 @@
20
43
  - zhin.js@1.0.84
21
44
  - @zhin.js/logger@0.1.66
22
45
  - @zhin.js/client@1.1.3
23
- - @zhin.js/http@1.0.77
46
+ - @zhin.js/host-router@1.0.77
24
47
 
25
48
  ## 2.0.2
26
49
 
@@ -29,7 +52,7 @@
29
52
  - 775427e: fix: edge 支持
30
53
  - Updated dependencies [775427e]
31
54
  - @zhin.js/console@3.0.2
32
- - @zhin.js/http@1.0.76
55
+ - @zhin.js/host-router@1.0.76
33
56
  - @zhin.js/client@1.1.2
34
57
  - zhin.js@1.0.83
35
58
  - @zhin.js/logger@0.1.65
@@ -41,7 +64,7 @@
41
64
  - 32049f5: fix: init publish
42
65
  - Updated dependencies [32049f5]
43
66
  - @zhin.js/console@3.0.1
44
- - @zhin.js/http@1.0.75
67
+ - @zhin.js/host-router@1.0.75
45
68
  - @zhin.js/logger@0.1.64
46
69
  - @zhin.js/client@1.1.1
47
70
  - zhin.js@1.0.82
@@ -62,7 +85,7 @@
62
85
  - zhin.js@1.0.81
63
86
  - @zhin.js/logger@0.1.63
64
87
  - @zhin.js/console@2.0.24
65
- - @zhin.js/http@1.0.74
88
+ - @zhin.js/host-router@1.0.74
66
89
 
67
90
  ## 1.0.68
68
91
 
@@ -71,7 +94,7 @@
71
94
  - zhin.js@1.0.80
72
95
  - @zhin.js/logger@0.1.62
73
96
  - @zhin.js/console@2.0.23
74
- - @zhin.js/http@1.0.73
97
+ - @zhin.js/host-router@1.0.73
75
98
 
76
99
  ## 1.0.67
77
100
 
@@ -80,7 +103,7 @@
80
103
  - zhin.js@1.0.79
81
104
  - @zhin.js/logger@0.1.61
82
105
  - @zhin.js/console@2.0.22
83
- - @zhin.js/http@1.0.72
106
+ - @zhin.js/host-router@1.0.72
84
107
 
85
108
  ## 1.0.66
86
109
 
@@ -90,7 +113,7 @@
90
113
  - @zhin.js/console@2.0.21
91
114
  - zhin.js@1.0.78
92
115
  - @zhin.js/logger@0.1.60
93
- - @zhin.js/http@1.0.71
116
+ - @zhin.js/host-router@1.0.71
94
117
 
95
118
  ## 1.0.65
96
119
 
@@ -99,7 +122,7 @@
99
122
  - zhin.js@1.0.77
100
123
  - @zhin.js/logger@0.1.59
101
124
  - @zhin.js/console@2.0.20
102
- - @zhin.js/http@1.0.70
125
+ - @zhin.js/host-router@1.0.70
103
126
 
104
127
  ## 1.0.64
105
128
 
@@ -109,7 +132,7 @@
109
132
  - zhin.js@1.0.76
110
133
  - @zhin.js/logger@0.1.58
111
134
  - @zhin.js/console@2.0.19
112
- - @zhin.js/http@1.0.69
135
+ - @zhin.js/host-router@1.0.69
113
136
 
114
137
  ## 1.0.63
115
138
 
@@ -118,7 +141,7 @@
118
141
  - zhin.js@1.0.75
119
142
  - @zhin.js/logger@0.1.57
120
143
  - @zhin.js/console@2.0.18
121
- - @zhin.js/http@1.0.68
144
+ - @zhin.js/host-router@1.0.68
122
145
 
123
146
  ## 1.0.62
124
147
 
@@ -128,7 +151,7 @@
128
151
  - zhin.js@1.0.74
129
152
  - @zhin.js/logger@0.1.56
130
153
  - @zhin.js/console@2.0.17
131
- - @zhin.js/http@1.0.67
154
+ - @zhin.js/host-router@1.0.67
132
155
 
133
156
  ## 1.0.61
134
157
 
@@ -138,7 +161,7 @@
138
161
  - zhin.js@1.0.73
139
162
  - @zhin.js/logger@0.1.55
140
163
  - @zhin.js/console@2.0.16
141
- - @zhin.js/http@1.0.66
164
+ - @zhin.js/host-router@1.0.66
142
165
 
143
166
  ## 1.0.60
144
167
 
@@ -165,7 +188,7 @@
165
188
  - @zhin.js/client@1.0.18
166
189
  - zhin.js@1.0.72
167
190
  - @zhin.js/console@2.0.13
168
- - @zhin.js/http@1.0.65
191
+ - @zhin.js/host-router@1.0.65
169
192
 
170
193
  ## 1.0.57
171
194
 
@@ -184,7 +207,7 @@
184
207
  - @zhin.js/client@1.0.17
185
208
  - zhin.js@1.0.71
186
209
  - @zhin.js/console@2.0.11
187
- - @zhin.js/http@1.0.64
210
+ - @zhin.js/host-router@1.0.64
188
211
 
189
212
  ## 1.0.55
190
213
 
@@ -193,14 +216,14 @@
193
216
  - zhin.js@1.0.68
194
217
  - @zhin.js/logger@0.1.52
195
218
  - @zhin.js/console@2.0.10
196
- - @zhin.js/http@1.0.63
219
+ - @zhin.js/host-router@1.0.63
197
220
 
198
221
  ## 1.0.54
199
222
 
200
223
  ### Patch Changes
201
224
 
202
225
  - Updated dependencies [0eba6d6]
203
- - @zhin.js/http@1.0.62
226
+ - @zhin.js/host-router@1.0.62
204
227
  - zhin.js@1.0.67
205
228
  - @zhin.js/logger@0.1.51
206
229
  - @zhin.js/console@2.0.9
@@ -212,7 +235,7 @@
212
235
  - zhin.js@1.0.66
213
236
  - @zhin.js/logger@0.1.50
214
237
  - @zhin.js/console@2.0.8
215
- - @zhin.js/http@1.0.61
238
+ - @zhin.js/host-router@1.0.61
216
239
 
217
240
  ## 1.0.52
218
241
 
@@ -221,7 +244,7 @@
221
244
  - zhin.js@1.0.65
222
245
  - @zhin.js/logger@0.1.49
223
246
  - @zhin.js/console@2.0.7
224
- - @zhin.js/http@1.0.60
247
+ - @zhin.js/host-router@1.0.60
225
248
 
226
249
  ## 1.0.51
227
250
 
@@ -233,7 +256,7 @@
233
256
  - @zhin.js/client@1.0.16
234
257
  - zhin.js@1.0.64
235
258
  - @zhin.js/console@2.0.6
236
- - @zhin.js/http@1.0.59
259
+ - @zhin.js/host-router@1.0.59
237
260
 
238
261
  ## 1.0.50
239
262
 
@@ -242,7 +265,7 @@
242
265
  - ba30934: fix: web 优化
243
266
  - Updated dependencies [ba30934]
244
267
  - @zhin.js/console@2.0.5
245
- - @zhin.js/http@1.0.58
268
+ - @zhin.js/host-router@1.0.58
246
269
  - zhin.js@1.0.63
247
270
  - @zhin.js/logger@0.1.47
248
271
 
package/client/index.tsx CHANGED
@@ -1,4 +1,4 @@
1
- import type { PluginRegisterHostApi } from '@zhin.js/console-types'
1
+ import type { PluginRegisterHostApi } from '@zhin.js/contract'
2
2
  import TelegramDashboard from './Dashboard'
3
3
 
4
4
  export function register(api: PluginRegisterHostApi) {
@@ -1,5 +1,5 @@
1
1
  {
2
- "extends": "../node_modules/@zhin.js/console/browser.tsconfig.json",
2
+ "extends": "../node_modules/@zhin.js/host-api/browser.tsconfig.json",
3
3
  "compilerOptions": {
4
4
  "outDir": "../dist"
5
5
  },
package/dist/index.js CHANGED
@@ -24,7 +24,7 @@ lucide-react/dist/esm/icons/wifi.mjs:
24
24
  lucide-react/dist/esm/icons/x.mjs:
25
25
  lucide-react/dist/esm/lucide-react.mjs:
26
26
  (**
27
- * @license lucide-react v1.16.0 - ISC
27
+ * @license lucide-react v1.17.0 - ISC
28
28
  *
29
29
  * This source code is licensed under the ISC license.
30
30
  * See the LICENSE file in the root directory of this source tree.
package/lib/bot.d.ts CHANGED
@@ -3,13 +3,17 @@
3
3
  */
4
4
  import { Telegraf } from "telegraf";
5
5
  import type { Message as TelegramMessage, ChatMember } from "telegraf/types";
6
- import { Bot, Message, SendOptions } from "zhin.js";
6
+ import { Bot, Message, SendOptions, type QuotedMessagePayload } from "zhin.js";
7
7
  import type { TelegramBotConfig } from "./types.js";
8
8
  import type { TelegramAdapter } from "./adapter.js";
9
9
  export declare class TelegramBot extends Telegraf implements Bot<TelegramBotConfig, TelegramMessage> {
10
10
  adapter: TelegramAdapter;
11
11
  $config: TelegramBotConfig;
12
12
  $connected: boolean;
13
+ /** message_id -> chat_id,用于在仅有 message_id 的场景执行 reaction 操作 */
14
+ private readonly messageChatMap;
15
+ /** reply_to_message 解析结果缓存,供 $getMsg 使用 */
16
+ private readonly quotedPayloadCache;
13
17
  get pluginLogger(): import("zhin.js").Logger;
14
18
  get $id(): string;
15
19
  constructor(adapter: TelegramAdapter, $config: TelegramBotConfig);
@@ -17,12 +21,17 @@ export declare class TelegramBot extends Telegraf implements Bot<TelegramBotConf
17
21
  $disconnect(): Promise<void>;
18
22
  private handleTelegramMessage;
19
23
  $formatMessage(msg: TelegramMessage): Message<TelegramMessage>;
24
+ $getMsg(messageId: string): Promise<QuotedMessagePayload>;
25
+ private cacheQuotedTelegramMessage;
20
26
  private $formatCallbackQuery;
21
27
  private parseMessageContent;
22
28
  private parseTextWithEntities;
23
29
  $sendMessage(options: SendOptions): Promise<string>;
24
30
  private sendContentToChat;
25
31
  $recallMessage(id: string): Promise<void>;
32
+ private resolveTelegramMessageRef;
33
+ $addReaction(messageId: string, emoji: string): Promise<string | null>;
34
+ $removeReaction(messageId: string, _reactionId: string): Promise<void>;
26
35
  /**
27
36
  * 踢出用户
28
37
  * @param chatId 聊天 ID
package/lib/bot.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"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"}
package/lib/bot.js CHANGED
@@ -7,6 +7,10 @@ export class TelegramBot extends Telegraf {
7
7
  adapter;
8
8
  $config;
9
9
  $connected = false;
10
+ /** message_id -> chat_id,用于在仅有 message_id 的场景执行 reaction 操作 */
11
+ messageChatMap = new Map();
12
+ /** reply_to_message 解析结果缓存,供 $getMsg 使用 */
13
+ quotedPayloadCache = new Map();
10
14
  get pluginLogger() {
11
15
  return this.adapter.plugin.logger;
12
16
  }
@@ -90,6 +94,8 @@ export class TelegramBot extends Telegraf {
90
94
  const channelId = msg.chat.id.toString();
91
95
  // Parse message content
92
96
  const content = this.parseMessageContent(msg);
97
+ const quoteId = Message.quoteIdFromContent(content);
98
+ Message.alignReplySegments(content, quoteId);
93
99
  const result = Message.from(msg, {
94
100
  $id: msg.message_id.toString(),
95
101
  $adapter: "telegram",
@@ -103,6 +109,7 @@ export class TelegramBot extends Telegraf {
103
109
  type: channelType,
104
110
  },
105
111
  $content: content,
112
+ $quote_id: quoteId,
106
113
  $raw: "text" in msg ? msg.text || "" : "",
107
114
  $timestamp: msg.date * 1000,
108
115
  $recall: async () => {
@@ -131,8 +138,32 @@ export class TelegramBot extends Telegraf {
131
138
  });
132
139
  },
133
140
  });
141
+ this.messageChatMap.set(result.$id, channelId);
134
142
  return result;
135
143
  }
144
+ async $getMsg(messageId) {
145
+ const hit = this.quotedPayloadCache.get(messageId);
146
+ if (!hit) {
147
+ throw new Error(`Telegram quoted message ${messageId} is not cached`);
148
+ }
149
+ return hit;
150
+ }
151
+ cacheQuotedTelegramMessage(msg) {
152
+ const segments = this.parseMessageContent(msg);
153
+ const payload = {
154
+ messageId: msg.message_id.toString(),
155
+ sender: msg.from
156
+ ? {
157
+ id: msg.from.id.toString(),
158
+ name: msg.from.username || msg.from.first_name,
159
+ }
160
+ : undefined,
161
+ content: segments,
162
+ raw: "text" in msg ? msg.text : undefined,
163
+ time: msg.date,
164
+ };
165
+ this.quotedPayloadCache.set(payload.messageId, payload);
166
+ }
136
167
  $formatCallbackQuery(ctx) {
137
168
  if (!ctx.callbackQuery || !("data" in ctx.callbackQuery)) {
138
169
  throw new Error("Invalid callback query");
@@ -174,11 +205,11 @@ export class TelegramBot extends Telegraf {
174
205
  if ("text" in msg && msg.text) {
175
206
  // Check for reply
176
207
  if (msg.reply_to_message) {
208
+ this.cacheQuotedTelegramMessage(msg.reply_to_message);
209
+ const replyId = msg.reply_to_message.message_id.toString();
177
210
  segments.push({
178
211
  type: "reply",
179
- data: {
180
- id: msg.reply_to_message.message_id.toString(),
181
- },
212
+ data: { id: replyId, message_id: replyId },
182
213
  });
183
214
  }
184
215
  // Parse text with entities
@@ -360,6 +391,7 @@ export class TelegramBot extends Telegraf {
360
391
  try {
361
392
  const chatId = parseInt(options.id);
362
393
  const result = await this.sendContentToChat(chatId, options.content);
394
+ this.messageChatMap.set(result.message_id.toString(), options.id);
363
395
  this.pluginLogger.debug(`${this.$config.name} send ${options.type}(${options.id}): ${segment.raw(options.content)}`);
364
396
  return result.message_id.toString();
365
397
  }
@@ -528,6 +560,57 @@ export class TelegramBot extends Telegraf {
528
560
  throw new Error("TelegramBot.$recallMessage: Message recall not supported without chat_id. " +
529
561
  "Use message.$recall() method instead, which contains the required context.");
530
562
  }
563
+ resolveTelegramMessageRef(messageId) {
564
+ if (messageId.includes(':')) {
565
+ const [chatIdRaw, msgIdRaw] = messageId.split(':');
566
+ const chatId = Number(chatIdRaw);
567
+ const msgId = Number(msgIdRaw);
568
+ if (Number.isFinite(chatId) && Number.isFinite(msgId)) {
569
+ this.messageChatMap.set(String(msgId), String(chatId));
570
+ return { chatId, msgId };
571
+ }
572
+ }
573
+ const mappedChatId = this.messageChatMap.get(messageId);
574
+ if (!mappedChatId)
575
+ return null;
576
+ const chatId = Number(mappedChatId);
577
+ const msgId = Number(messageId);
578
+ if (!Number.isFinite(chatId) || !Number.isFinite(msgId))
579
+ return null;
580
+ return { chatId, msgId };
581
+ }
582
+ async $addReaction(messageId, emoji) {
583
+ const ref = this.resolveTelegramMessageRef(messageId);
584
+ if (!ref) {
585
+ this.pluginLogger.warn(`Telegram Bot ${this.$id} 无法根据 message_id=${messageId} 定位 chat_id,跳过 addReaction`);
586
+ return null;
587
+ }
588
+ try {
589
+ await this.setMessageReaction(ref.chatId, ref.msgId, emoji);
590
+ return emoji;
591
+ }
592
+ catch (error) {
593
+ this.pluginLogger.error(`Telegram Bot ${this.$id} 添加 reaction 失败:`, error);
594
+ return null;
595
+ }
596
+ }
597
+ async $removeReaction(messageId, _reactionId) {
598
+ const ref = this.resolveTelegramMessageRef(messageId);
599
+ if (!ref) {
600
+ this.pluginLogger.warn(`Telegram Bot ${this.$id} 无法根据 message_id=${messageId} 定位 chat_id,跳过 removeReaction`);
601
+ return;
602
+ }
603
+ try {
604
+ await this.telegram.callApi('setMessageReaction', {
605
+ chat_id: ref.chatId,
606
+ message_id: ref.msgId,
607
+ reaction: [],
608
+ });
609
+ }
610
+ catch (error) {
611
+ this.pluginLogger.error(`Telegram Bot ${this.$id} 移除 reaction 失败:`, error);
612
+ }
613
+ }
531
614
  // ==================== 群组管理 API ====================
532
615
  /**
533
616
  * 踢出用户
package/lib/bot.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bot.js","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bot.js","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { TelegramAdapter } from "./adapter.js";
2
- import { PageManager } from "@zhin.js/console";
2
+ import { PageManager } from "@zhin.js/host-api";
3
3
  declare module "zhin.js" {
4
4
  namespace Plugin {
5
5
  interface Contexts {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,QAAQ,SAAS,CAAC;IACvB,UAAU,MAAM,CAAC;QACf,UAAU,QAAQ;YAChB,GAAG,EAAE,WAAW,CAAC;SAClB;KACF;CACF;AAED,OAAO,QAAQ,SAAS,CAAC;IACvB,UAAU,QAAQ;QAChB,QAAQ,EAAE,eAAe,CAAC;KAC3B;CACF;AAED,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,QAAQ,SAAS,CAAC;IACvB,UAAU,MAAM,CAAC;QACf,UAAU,QAAQ;YAChB,GAAG,EAAE,WAAW,CAAC;SAClB;KACF;CACF;AAED,OAAO,QAAQ,SAAS,CAAC;IACvB,UAAU,QAAQ;QAChB,QAAQ,EAAE,eAAe,CAAC;KAC3B;CACF;AAED,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zhin.js/adapter-telegram",
3
- "version": "2.0.4",
3
+ "version": "2.0.6",
4
4
  "description": "Zhin.js adapter for Telegram",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",
@@ -38,27 +38,29 @@
38
38
  "@types/node": "^25.9.1",
39
39
  "@types/react": "^19.2.15",
40
40
  "@types/react-dom": "^19.2.3",
41
- "lucide-react": "^1.16.0",
41
+ "lucide-react": "^1.17.0",
42
42
  "typescript": "^6.0.3",
43
- "@zhin.js/cli": "1.0.81",
44
- "@zhin.js/console": "3.0.4",
45
- "zhin.js": "1.0.85"
43
+ "@zhin.js/cli": "1.0.83",
44
+ "@zhin.js/host-api": "0.0.1",
45
+ "@zhin.js/contract": "1.0.0",
46
+ "zhin.js": "1.0.87"
46
47
  },
47
48
  "peerDependencies": {
48
- "@zhin.js/client": "1.1.3",
49
- "@zhin.js/console": "3.0.4",
50
- "@zhin.js/http": "1.0.78",
51
- "@zhin.js/logger": "0.1.67",
52
- "zhin.js": "1.0.85"
49
+ "@zhin.js/client": "2.0.0",
50
+ "@zhin.js/host-api": "0.0.1",
51
+ "@zhin.js/contract": "1.0.0",
52
+ "@zhin.js/host-router": "0.0.1",
53
+ "@zhin.js/logger": "0.1.69",
54
+ "zhin.js": "1.0.87"
53
55
  },
54
56
  "peerDependenciesMeta": {
55
57
  "@zhin.js/client": {
56
58
  "optional": true
57
59
  },
58
- "@zhin.js/http": {
60
+ "@zhin.js/host-router": {
59
61
  "optional": true
60
62
  },
61
- "@zhin.js/console": {
63
+ "@zhin.js/host-api": {
62
64
  "optional": true
63
65
  }
64
66
  },
package/src/bot.ts CHANGED
@@ -10,12 +10,17 @@ import {
10
10
  SendContent,
11
11
  MessageSegment,
12
12
  segment,
13
+ type QuotedMessagePayload,
13
14
  } from "zhin.js";
14
15
  import type { TelegramBotConfig, TelegramSenderInfo } from "./types.js";
15
16
  import type { TelegramAdapter } from "./adapter.js";
16
17
 
17
18
  export class TelegramBot extends Telegraf implements Bot<TelegramBotConfig, TelegramMessage> {
18
19
  $connected: boolean = false;
20
+ /** message_id -> chat_id,用于在仅有 message_id 的场景执行 reaction 操作 */
21
+ private readonly messageChatMap = new Map<string, string>();
22
+ /** reply_to_message 解析结果缓存,供 $getMsg 使用 */
23
+ private readonly quotedPayloadCache = new Map<string, QuotedMessagePayload>();
19
24
 
20
25
  get pluginLogger() {
21
26
  return this.adapter.plugin.logger;
@@ -110,6 +115,8 @@ export class TelegramBot extends Telegraf implements Bot<TelegramBotConfig, Tele
110
115
 
111
116
  // Parse message content
112
117
  const content = this.parseMessageContent(msg);
118
+ const quoteId = Message.quoteIdFromContent(content);
119
+ Message.alignReplySegments(content, quoteId);
113
120
 
114
121
  const result = Message.from(msg, {
115
122
  $id: msg.message_id.toString(),
@@ -124,6 +131,7 @@ export class TelegramBot extends Telegraf implements Bot<TelegramBotConfig, Tele
124
131
  type: channelType,
125
132
  },
126
133
  $content: content,
134
+ $quote_id: quoteId,
127
135
  $raw: "text" in msg ? msg.text || "" : "",
128
136
  $timestamp: msg.date * 1000,
129
137
  $recall: async () => {
@@ -155,9 +163,36 @@ export class TelegramBot extends Telegraf implements Bot<TelegramBotConfig, Tele
155
163
  },
156
164
  });
157
165
 
166
+ this.messageChatMap.set(result.$id, channelId);
167
+
158
168
  return result;
159
169
  }
160
170
 
171
+ async $getMsg(messageId: string): Promise<QuotedMessagePayload> {
172
+ const hit = this.quotedPayloadCache.get(messageId);
173
+ if (!hit) {
174
+ throw new Error(`Telegram quoted message ${messageId} is not cached`);
175
+ }
176
+ return hit;
177
+ }
178
+
179
+ private cacheQuotedTelegramMessage(msg: TelegramMessage): void {
180
+ const segments = this.parseMessageContent(msg);
181
+ const payload: QuotedMessagePayload = {
182
+ messageId: msg.message_id.toString(),
183
+ sender: msg.from
184
+ ? {
185
+ id: msg.from.id.toString(),
186
+ name: msg.from.username || msg.from.first_name,
187
+ }
188
+ : undefined,
189
+ content: segments,
190
+ raw: "text" in msg ? msg.text : undefined,
191
+ time: msg.date,
192
+ };
193
+ this.quotedPayloadCache.set(payload.messageId, payload);
194
+ }
195
+
161
196
  private $formatCallbackQuery(ctx: TelegrafContext): Message<any> {
162
197
  if (!ctx.callbackQuery || !("data" in ctx.callbackQuery)) {
163
198
  throw new Error("Invalid callback query");
@@ -207,11 +242,11 @@ export class TelegramBot extends Telegraf implements Bot<TelegramBotConfig, Tele
207
242
  if ("text" in msg && msg.text) {
208
243
  // Check for reply
209
244
  if (msg.reply_to_message) {
245
+ this.cacheQuotedTelegramMessage(msg.reply_to_message);
246
+ const replyId = msg.reply_to_message.message_id.toString();
210
247
  segments.push({
211
248
  type: "reply",
212
- data: {
213
- id: msg.reply_to_message.message_id.toString(),
214
- },
249
+ data: { id: replyId, message_id: replyId },
215
250
  });
216
251
  }
217
252
 
@@ -419,6 +454,7 @@ export class TelegramBot extends Telegraf implements Bot<TelegramBotConfig, Tele
419
454
  try {
420
455
  const chatId = parseInt(options.id);
421
456
  const result = await this.sendContentToChat(chatId, options.content);
457
+ this.messageChatMap.set(result.message_id.toString(), options.id);
422
458
  this.pluginLogger.debug(
423
459
  `${this.$config.name} send ${options.type}(${options.id}): ${segment.raw(options.content)}`
424
460
  );
@@ -624,6 +660,59 @@ export class TelegramBot extends Telegraf implements Bot<TelegramBotConfig, Tele
624
660
  "Use message.$recall() method instead, which contains the required context."
625
661
  );
626
662
  }
663
+
664
+ private resolveTelegramMessageRef(messageId: string): { chatId: number; msgId: number } | null {
665
+ if (messageId.includes(':')) {
666
+ const [chatIdRaw, msgIdRaw] = messageId.split(':');
667
+ const chatId = Number(chatIdRaw);
668
+ const msgId = Number(msgIdRaw);
669
+ if (Number.isFinite(chatId) && Number.isFinite(msgId)) {
670
+ this.messageChatMap.set(String(msgId), String(chatId));
671
+ return { chatId, msgId };
672
+ }
673
+ }
674
+
675
+ const mappedChatId = this.messageChatMap.get(messageId);
676
+ if (!mappedChatId) return null;
677
+ const chatId = Number(mappedChatId);
678
+ const msgId = Number(messageId);
679
+ if (!Number.isFinite(chatId) || !Number.isFinite(msgId)) return null;
680
+ return { chatId, msgId };
681
+ }
682
+
683
+ async $addReaction(messageId: string, emoji: string): Promise<string | null> {
684
+ const ref = this.resolveTelegramMessageRef(messageId);
685
+ if (!ref) {
686
+ this.pluginLogger.warn(`Telegram Bot ${this.$id} 无法根据 message_id=${messageId} 定位 chat_id,跳过 addReaction`);
687
+ return null;
688
+ }
689
+
690
+ try {
691
+ await this.setMessageReaction(ref.chatId, ref.msgId, emoji);
692
+ return emoji;
693
+ } catch (error) {
694
+ this.pluginLogger.error(`Telegram Bot ${this.$id} 添加 reaction 失败:`, error);
695
+ return null;
696
+ }
697
+ }
698
+
699
+ async $removeReaction(messageId: string, _reactionId: string): Promise<void> {
700
+ const ref = this.resolveTelegramMessageRef(messageId);
701
+ if (!ref) {
702
+ this.pluginLogger.warn(`Telegram Bot ${this.$id} 无法根据 message_id=${messageId} 定位 chat_id,跳过 removeReaction`);
703
+ return;
704
+ }
705
+
706
+ try {
707
+ await (this.telegram as any).callApi('setMessageReaction', {
708
+ chat_id: ref.chatId,
709
+ message_id: ref.msgId,
710
+ reaction: [],
711
+ });
712
+ } catch (error) {
713
+ this.pluginLogger.error(`Telegram Bot ${this.$id} 移除 reaction 失败:`, error);
714
+ }
715
+ }
627
716
  // ==================== 群组管理 API ====================
628
717
 
629
718
  /**
package/src/index.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  import path from "node:path";
5
5
  import { usePlugin, type Plugin, type Context, type IGroupManagement, createGroupManagementTools, type ToolFeature } from "zhin.js";
6
6
  import { TelegramAdapter } from "./adapter.js";
7
- import { PageManager } from "@zhin.js/console";
7
+ import { PageManager } from "@zhin.js/host-api";
8
8
 
9
9
  declare module "zhin.js" {
10
10
  namespace Plugin {