@zhin.js/adapter-telegram 3.0.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.js CHANGED
@@ -4,14 +4,15 @@
4
4
  import path from "node:path";
5
5
  import { usePlugin, createGroupManagementTools } from "zhin.js";
6
6
  import { TelegramAdapter } from "./adapter.js";
7
+ import { platformPermit, registerTelegramPlatformPermitChecker, telegramGroupPermitResolver, } from "./platform-permit.js";
7
8
  export * from "./types.js";
8
- export { TelegramBot } from "./bot.js";
9
+ export { TelegramEndpoint } from "./endpoint.js";
9
10
  export { TelegramAdapter } from "./adapter.js";
10
11
  const plugin = usePlugin();
11
12
  const { provide, useContext } = plugin;
12
13
  provide({
13
14
  name: "telegram",
14
- description: "Telegram Bot Adapter",
15
+ description: "Telegram Endpoint Adapter",
15
16
  mounted: async (p) => {
16
17
  const adapter = new TelegramAdapter(p);
17
18
  await adapter.start();
@@ -22,27 +23,30 @@ provide({
22
23
  },
23
24
  });
24
25
  useContext('tool', 'telegram', (toolService, telegram) => {
25
- const groupTools = createGroupManagementTools(telegram, 'telegram');
26
- const disposers = groupTools.map(t => toolService.addTool(t, plugin.name));
26
+ const disposers = [];
27
+ disposers.push(registerTelegramPlatformPermitChecker());
28
+ const groupTools = createGroupManagementTools(telegram, 'telegram', { permitResolver: telegramGroupPermitResolver, registerChecker: false });
29
+ disposers.push(...groupTools.map(t => toolService.addTool(t, plugin.name)));
27
30
  disposers.push(toolService.addTool({
28
31
  name: 'telegram_pin_message',
29
32
  description: '置顶 Telegram 群组消息',
30
33
  parameters: {
31
34
  type: 'object',
32
35
  properties: {
33
- bot: { type: 'string', description: 'Bot 名称' },
36
+ endpoint_id: { type: 'string', description: 'Endpoint 名称', contextKey: 'endpointId' },
34
37
  chat_id: { type: 'string', description: '聊天 ID' },
35
38
  message_id: { type: 'string', description: '消息 ID' },
36
39
  },
37
- required: ['bot', 'chat_id', 'message_id'],
40
+ required: ['endpoint_id', 'chat_id', 'message_id'],
38
41
  },
39
42
  platforms: ['telegram'],
40
43
  tags: ['telegram'],
44
+ permissions: [platformPermit('pin_messages')],
41
45
  execute: async (args) => {
42
- const bot = telegram.bots.get(args.bot);
43
- if (!bot)
44
- throw new Error(`Bot ${args.bot} 不存在`);
45
- const success = await bot.pinMessage(Number(args.chat_id), Number(args.message_id));
46
+ const endpoint = telegram.endpoints.get(args.endpoint_id);
47
+ if (!endpoint)
48
+ throw new Error(`Endpoint ${args.endpoint_id} 不存在`);
49
+ const success = await endpoint.pinMessage(Number(args.chat_id), Number(args.message_id));
46
50
  return { success, message: success ? '消息已置顶' : '操作失败' };
47
51
  },
48
52
  }, plugin.name));
@@ -52,19 +56,20 @@ useContext('tool', 'telegram', (toolService, telegram) => {
52
56
  parameters: {
53
57
  type: 'object',
54
58
  properties: {
55
- bot: { type: 'string', description: 'Bot 名称' },
59
+ endpoint_id: { type: 'string', description: 'Endpoint 名称', contextKey: 'endpointId' },
56
60
  chat_id: { type: 'string', description: '聊天 ID' },
57
61
  message_id: { type: 'string', description: '消息 ID(可选,不提供则取消所有置顶)' },
58
62
  },
59
- required: ['bot', 'chat_id'],
63
+ required: ['endpoint_id', 'chat_id'],
60
64
  },
61
65
  platforms: ['telegram'],
62
66
  tags: ['telegram'],
67
+ permissions: [platformPermit('pin_messages')],
63
68
  execute: async (args) => {
64
- const bot = telegram.bots.get(args.bot);
65
- if (!bot)
66
- throw new Error(`Bot ${args.bot} 不存在`);
67
- const success = await bot.unpinMessage(Number(args.chat_id), args.message_id ? Number(args.message_id) : undefined);
69
+ const endpoint = telegram.endpoints.get(args.endpoint_id);
70
+ if (!endpoint)
71
+ throw new Error(`Endpoint ${args.endpoint_id} 不存在`);
72
+ const success = await endpoint.unpinMessage(Number(args.chat_id), args.message_id ? Number(args.message_id) : undefined);
68
73
  return { success, message: success ? '已取消置顶' : '操作失败' };
69
74
  },
70
75
  }, plugin.name));
@@ -74,18 +79,18 @@ useContext('tool', 'telegram', (toolService, telegram) => {
74
79
  parameters: {
75
80
  type: 'object',
76
81
  properties: {
77
- bot: { type: 'string', description: 'Bot 名称' },
82
+ endpoint_id: { type: 'string', description: 'Endpoint 名称', contextKey: 'endpointId' },
78
83
  chat_id: { type: 'string', description: '聊天 ID' },
79
84
  },
80
- required: ['bot', 'chat_id'],
85
+ required: ['endpoint_id', 'chat_id'],
81
86
  },
82
87
  platforms: ['telegram'],
83
88
  tags: ['telegram'],
84
89
  execute: async (args) => {
85
- const bot = telegram.bots.get(args.bot);
86
- if (!bot)
87
- throw new Error(`Bot ${args.bot} 不存在`);
88
- const admins = await bot.getChatAdmins(Number(args.chat_id));
90
+ const endpoint = telegram.endpoints.get(args.endpoint_id);
91
+ if (!endpoint)
92
+ throw new Error(`Endpoint ${args.endpoint_id} 不存在`);
93
+ const admins = await endpoint.getChatAdmins(Number(args.chat_id));
89
94
  return {
90
95
  admins: admins.map((a) => ({
91
96
  user_id: a.user.id,
@@ -103,18 +108,18 @@ useContext('tool', 'telegram', (toolService, telegram) => {
103
108
  parameters: {
104
109
  type: 'object',
105
110
  properties: {
106
- bot: { type: 'string', description: 'Bot 名称' },
111
+ endpoint_id: { type: 'string', description: 'Endpoint 名称', contextKey: 'endpointId' },
107
112
  chat_id: { type: 'string', description: '聊天 ID' },
108
113
  },
109
- required: ['bot', 'chat_id'],
114
+ required: ['endpoint_id', 'chat_id'],
110
115
  },
111
116
  platforms: ['telegram'],
112
117
  tags: ['telegram'],
113
118
  execute: async (args) => {
114
- const bot = telegram.bots.get(args.bot);
115
- if (!bot)
116
- throw new Error(`Bot ${args.bot} 不存在`);
117
- const count = await bot.getChatMemberCount(Number(args.chat_id));
119
+ const endpoint = telegram.endpoints.get(args.endpoint_id);
120
+ if (!endpoint)
121
+ throw new Error(`Endpoint ${args.endpoint_id} 不存在`);
122
+ const count = await endpoint.getChatMemberCount(Number(args.chat_id));
118
123
  return { count, message: `群组共有 ${count} 名成员` };
119
124
  },
120
125
  }, plugin.name));
@@ -124,18 +129,19 @@ useContext('tool', 'telegram', (toolService, telegram) => {
124
129
  parameters: {
125
130
  type: 'object',
126
131
  properties: {
127
- bot: { type: 'string', description: 'Bot 名称' },
132
+ endpoint_id: { type: 'string', description: 'Endpoint 名称', contextKey: 'endpointId' },
128
133
  chat_id: { type: 'string', description: '聊天 ID' },
129
134
  },
130
- required: ['bot', 'chat_id'],
135
+ required: ['endpoint_id', 'chat_id'],
131
136
  },
132
137
  platforms: ['telegram'],
133
138
  tags: ['telegram'],
139
+ permissions: [platformPermit('chat_administrator')],
134
140
  execute: async (args) => {
135
- const bot = telegram.bots.get(args.bot);
136
- if (!bot)
137
- throw new Error(`Bot ${args.bot} 不存在`);
138
- const link = await bot.createInviteLink(Number(args.chat_id));
141
+ const endpoint = telegram.endpoints.get(args.endpoint_id);
142
+ if (!endpoint)
143
+ throw new Error(`Endpoint ${args.endpoint_id} 不存在`);
144
+ const link = await endpoint.createInviteLink(Number(args.chat_id));
139
145
  return { invite_link: link, message: `邀请链接: ${link}` };
140
146
  },
141
147
  }, plugin.name));
@@ -145,21 +151,21 @@ useContext('tool', 'telegram', (toolService, telegram) => {
145
151
  parameters: {
146
152
  type: 'object',
147
153
  properties: {
148
- bot: { type: 'string', description: 'Bot 名称' },
154
+ endpoint_id: { type: 'string', description: 'Endpoint 名称', contextKey: 'endpointId' },
149
155
  chat_id: { type: 'string', description: '聊天 ID' },
150
156
  question: { type: 'string', description: '投票问题' },
151
157
  options: { type: 'string', description: '选项 JSON 数组,如 ["A","B","C"]' },
152
158
  is_anonymous: { type: 'boolean', description: '是否匿名投票,默认 true' },
153
159
  allows_multiple: { type: 'boolean', description: '是否允许多选,默认 false' },
154
160
  },
155
- required: ['bot', 'chat_id', 'question', 'options'],
161
+ required: ['endpoint_id', 'chat_id', 'question', 'options'],
156
162
  },
157
163
  platforms: ['telegram'],
158
164
  tags: ['telegram'],
159
165
  execute: async (args) => {
160
- const bot = telegram.bots.get(args.bot);
161
- if (!bot)
162
- throw new Error(`Bot ${args.bot} 不存在`);
166
+ const endpoint = telegram.endpoints.get(args.endpoint_id);
167
+ if (!endpoint)
168
+ throw new Error(`Endpoint ${args.endpoint_id} 不存在`);
163
169
  let optList;
164
170
  try {
165
171
  optList = JSON.parse(args.options);
@@ -170,7 +176,7 @@ useContext('tool', 'telegram', (toolService, telegram) => {
170
176
  if (!Array.isArray(optList) || optList.length < 2) {
171
177
  return { success: false, message: '至少需要 2 个选项' };
172
178
  }
173
- const result = await bot.sendPoll(Number(args.chat_id), args.question, optList, args.is_anonymous ?? true, args.allows_multiple ?? false);
179
+ const result = await endpoint.sendPoll(Number(args.chat_id), args.question, optList, args.is_anonymous ?? true, args.allows_multiple ?? false);
174
180
  return { success: true, message_id: result.message_id, message: '投票已发送' };
175
181
  },
176
182
  }, plugin.name));
@@ -180,20 +186,20 @@ useContext('tool', 'telegram', (toolService, telegram) => {
180
186
  parameters: {
181
187
  type: 'object',
182
188
  properties: {
183
- bot: { type: 'string', description: 'Bot 名称' },
189
+ endpoint_id: { type: 'string', description: 'Endpoint 名称', contextKey: 'endpointId' },
184
190
  chat_id: { type: 'string', description: '聊天 ID' },
185
191
  message_id: { type: 'string', description: '消息 ID' },
186
192
  reaction: { type: 'string', description: '反应表情(如 👍、❤️、🔥)' },
187
193
  },
188
- required: ['bot', 'chat_id', 'message_id', 'reaction'],
194
+ required: ['endpoint_id', 'chat_id', 'message_id', 'reaction'],
189
195
  },
190
196
  platforms: ['telegram'],
191
197
  tags: ['telegram'],
192
198
  execute: async (args) => {
193
- const bot = telegram.bots.get(args.bot);
194
- if (!bot)
195
- throw new Error(`Bot ${args.bot} 不存在`);
196
- const success = await bot.setMessageReaction(Number(args.chat_id), Number(args.message_id), args.reaction);
199
+ const endpoint = telegram.endpoints.get(args.endpoint_id);
200
+ if (!endpoint)
201
+ throw new Error(`Endpoint ${args.endpoint_id} 不存在`);
202
+ const success = await endpoint.setMessageReaction(Number(args.chat_id), Number(args.message_id), args.reaction);
197
203
  return { success, message: success ? `已添加反应 ${args.reaction}` : '操作失败' };
198
204
  },
199
205
  }, plugin.name));
@@ -203,19 +209,19 @@ useContext('tool', 'telegram', (toolService, telegram) => {
203
209
  parameters: {
204
210
  type: 'object',
205
211
  properties: {
206
- bot: { type: 'string', description: 'Bot 名称' },
212
+ endpoint_id: { type: 'string', description: 'Endpoint 名称', contextKey: 'endpointId' },
207
213
  chat_id: { type: 'string', description: '聊天 ID' },
208
214
  sticker: { type: 'string', description: '贴纸 file_id 或 URL' },
209
215
  },
210
- required: ['bot', 'chat_id', 'sticker'],
216
+ required: ['endpoint_id', 'chat_id', 'sticker'],
211
217
  },
212
218
  platforms: ['telegram'],
213
219
  tags: ['telegram'],
214
220
  execute: async (args) => {
215
- const bot = telegram.bots.get(args.bot);
216
- if (!bot)
217
- throw new Error(`Bot ${args.bot} 不存在`);
218
- const result = await bot.sendStickerMessage(Number(args.chat_id), args.sticker);
221
+ const endpoint = telegram.endpoints.get(args.endpoint_id);
222
+ if (!endpoint)
223
+ throw new Error(`Endpoint ${args.endpoint_id} 不存在`);
224
+ const result = await endpoint.sendStickerMessage(Number(args.chat_id), args.sticker);
219
225
  return { success: true, message_id: result.message_id, message: '贴纸已发送' };
220
226
  },
221
227
  }, plugin.name));
@@ -225,7 +231,7 @@ useContext('tool', 'telegram', (toolService, telegram) => {
225
231
  parameters: {
226
232
  type: 'object',
227
233
  properties: {
228
- bot: { type: 'string', description: 'Bot 名称' },
234
+ endpoint_id: { type: 'string', description: 'Endpoint 名称', contextKey: 'endpointId' },
229
235
  chat_id: { type: 'string', description: '聊天 ID' },
230
236
  can_send_messages: { type: 'boolean', description: '是否可以发消息' },
231
237
  can_send_photos: { type: 'boolean', description: '是否可以发图片' },
@@ -237,21 +243,22 @@ useContext('tool', 'telegram', (toolService, telegram) => {
237
243
  can_invite_users: { type: 'boolean', description: '是否可以邀请用户' },
238
244
  can_pin_messages: { type: 'boolean', description: '是否可以置顶消息' },
239
245
  },
240
- required: ['bot', 'chat_id'],
246
+ required: ['endpoint_id', 'chat_id'],
241
247
  },
242
248
  platforms: ['telegram'],
243
249
  tags: ['telegram'],
250
+ permissions: [platformPermit('manage_chat')],
244
251
  execute: async (args) => {
245
- const { bot: botId, chat_id, ...perms } = args;
246
- const bot = telegram.bots.get(botId);
247
- if (!bot)
248
- throw new Error(`Bot ${botId} 不存在`);
252
+ const { endpoint: endpointId, chat_id, ...perms } = args;
253
+ const endpoint = telegram.endpoints.get(endpointId);
254
+ if (!endpoint)
255
+ throw new Error(`Endpoint ${endpointId} 不存在`);
249
256
  const permissions = {};
250
257
  for (const [k, v] of Object.entries(perms)) {
251
258
  if (typeof v === 'boolean')
252
259
  permissions[k] = v;
253
260
  }
254
- const success = await bot.setChatPermissionsAll(Number(chat_id), permissions);
261
+ const success = await endpoint.setChatPermissionsAll(Number(chat_id), permissions);
255
262
  return { success, message: success ? '群权限已更新' : '操作失败' };
256
263
  },
257
264
  }, plugin.name));
@@ -261,19 +268,19 @@ useContext('tool', 'telegram', (toolService, telegram) => {
261
268
  parameters: {
262
269
  type: 'object',
263
270
  properties: {
264
- bot: { type: 'string', description: 'Bot 名称' },
271
+ endpoint_id: { type: 'string', description: 'Endpoint 名称', contextKey: 'endpointId' },
265
272
  chat_id: { type: 'string', description: '聊天 ID' },
266
273
  description: { type: 'string', description: '群描述文字' },
267
274
  },
268
- required: ['bot', 'chat_id', 'description'],
275
+ required: ['endpoint_id', 'chat_id', 'description'],
269
276
  },
270
277
  platforms: ['telegram'],
271
278
  tags: ['telegram'],
272
279
  execute: async (args) => {
273
- const bot = telegram.bots.get(args.bot);
274
- if (!bot)
275
- throw new Error(`Bot ${args.bot} 不存在`);
276
- const success = await bot.setChatDescription(Number(args.chat_id), args.description);
280
+ const endpoint = telegram.endpoints.get(args.endpoint_id);
281
+ if (!endpoint)
282
+ throw new Error(`Endpoint ${args.endpoint_id} 不存在`);
283
+ const success = await endpoint.setChatDescription(Number(args.chat_id), args.description);
277
284
  return { success, message: success ? '群描述已更新' : '操作失败' };
278
285
  },
279
286
  }, plugin.name));
@@ -289,83 +296,83 @@ useContext("web", (pageManager) => {
289
296
  });
290
297
  });
291
298
  useContext("router", "telegram", (router, telegram) => {
292
- router.get("/api/telegram/bots", async (ctx) => {
299
+ router.get("/api/telegram/endpoints", async (ctx) => {
293
300
  try {
294
- const bots = Array.from(telegram.bots.values());
295
- const result = bots.map((bot) => {
301
+ const endpoints = Array.from(telegram.endpoints.values());
302
+ const result = endpoints.map((endpoint) => {
296
303
  try {
297
304
  return {
298
- name: bot.$config.name,
299
- connected: bot.$connected || false,
300
- mode: bot.$config.polling !== false ? "polling" : "webhook",
301
- status: bot.$connected ? "online" : "offline",
302
- botInfo: bot.botInfo ? { username: bot.botInfo.username, firstName: bot.botInfo.first_name } : null,
305
+ name: endpoint.$config.name,
306
+ connected: endpoint.$connected || false,
307
+ mode: endpoint.$config.polling !== false ? "polling" : "webhook",
308
+ status: endpoint.$connected ? "online" : "offline",
309
+ botInfo: endpoint.botInfo ? { username: endpoint.botInfo.username, firstName: endpoint.botInfo.first_name } : null,
303
310
  };
304
311
  }
305
312
  catch {
306
- return { name: bot.$config.name, connected: false, mode: "unknown", status: "error", botInfo: null };
313
+ return { name: endpoint.$config.name, connected: false, mode: "unknown", status: "error", botInfo: null };
307
314
  }
308
315
  });
309
316
  ctx.body = { success: true, data: result };
310
317
  }
311
318
  catch {
312
319
  ctx.status = 500;
313
- ctx.body = { success: false, error: "获取机器人数据失败" };
320
+ ctx.body = { success: false, error: "获取 Endpoint 数据失败" };
314
321
  }
315
322
  });
316
- // Bot 连接/断开
317
- router.post("/api/telegram/bots/:name/connect", async (ctx) => {
323
+ // Endpoint 连接/断开
324
+ router.post("/api/telegram/endpoints/:name/connect", async (ctx) => {
318
325
  try {
319
- const bot = telegram.bots.get(ctx.params.name);
320
- if (!bot) {
326
+ const endpoint = telegram.endpoints.get(ctx.params.name);
327
+ if (!endpoint) {
321
328
  ctx.status = 404;
322
- ctx.body = { success: false, error: "Bot 不存在" };
329
+ ctx.body = { success: false, error: "Endpoint 不存在" };
323
330
  return;
324
331
  }
325
- if (bot.$connected) {
332
+ if (endpoint.$connected) {
326
333
  ctx.body = { success: true, message: "已经在线" };
327
334
  return;
328
335
  }
329
- await bot.$connect();
336
+ await endpoint.$connect();
330
337
  ctx.body = { success: true, message: "连接成功" };
331
338
  }
332
339
  catch (e) {
333
340
  ctx.status = 500;
334
- ctx.body = { success: false, error: e?.message || "连接失败" };
341
+ ctx.body = { success: false, error: e instanceof Error ? e.message : "连接失败" };
335
342
  }
336
343
  });
337
- router.post("/api/telegram/bots/:name/disconnect", async (ctx) => {
344
+ router.post("/api/telegram/endpoints/:name/disconnect", async (ctx) => {
338
345
  try {
339
- const bot = telegram.bots.get(ctx.params.name);
340
- if (!bot) {
346
+ const endpoint = telegram.endpoints.get(ctx.params.name);
347
+ if (!endpoint) {
341
348
  ctx.status = 404;
342
- ctx.body = { success: false, error: "Bot 不存在" };
349
+ ctx.body = { success: false, error: "Endpoint 不存在" };
343
350
  return;
344
351
  }
345
- if (!bot.$connected) {
352
+ if (!endpoint.$connected) {
346
353
  ctx.body = { success: true, message: "已经离线" };
347
354
  return;
348
355
  }
349
- await bot.$disconnect();
356
+ await endpoint.$disconnect();
350
357
  ctx.body = { success: true, message: "已断开" };
351
358
  }
352
359
  catch (e) {
353
360
  ctx.status = 500;
354
- ctx.body = { success: false, error: e?.message || "断开失败" };
361
+ ctx.body = { success: false, error: e instanceof Error ? e.message : "断开失败" };
355
362
  }
356
363
  });
357
364
  // 快捷操作:创建邀请链接
358
- router.post("/api/telegram/bots/:name/invite", async (ctx) => {
365
+ router.post("/api/telegram/endpoints/:name/invite", async (ctx) => {
359
366
  try {
360
- const bot = telegram.bots.get(ctx.params.name);
361
- if (!bot) {
367
+ const endpoint = telegram.endpoints.get(ctx.params.name);
368
+ if (!endpoint) {
362
369
  ctx.status = 404;
363
- ctx.body = { success: false, error: "Bot 不存在" };
370
+ ctx.body = { success: false, error: "Endpoint 不存在" };
364
371
  return;
365
372
  }
366
- if (!bot.$connected) {
373
+ if (!endpoint.$connected) {
367
374
  ctx.status = 400;
368
- ctx.body = { success: false, error: "Bot 未连接" };
375
+ ctx.body = { success: false, error: "Endpoint 未连接" };
369
376
  return;
370
377
  }
371
378
  const { chat_id } = ctx.request.body || {};
@@ -374,26 +381,26 @@ useContext("router", "telegram", (router, telegram) => {
374
381
  ctx.body = { success: false, error: "缺少 chat_id" };
375
382
  return;
376
383
  }
377
- const link = await bot.createInviteLink(Number(chat_id));
384
+ const link = await endpoint.createInviteLink(Number(chat_id));
378
385
  ctx.body = { success: true, data: { invite_link: link } };
379
386
  }
380
387
  catch (e) {
381
388
  ctx.status = 500;
382
- ctx.body = { success: false, error: e?.message || "创建邀请链接失败" };
389
+ ctx.body = { success: false, error: e instanceof Error ? e.message : "创建邀请链接失败" };
383
390
  }
384
391
  });
385
392
  // 快捷操作:发起投票
386
- router.post("/api/telegram/bots/:name/poll", async (ctx) => {
393
+ router.post("/api/telegram/endpoints/:name/poll", async (ctx) => {
387
394
  try {
388
- const bot = telegram.bots.get(ctx.params.name);
389
- if (!bot) {
395
+ const endpoint = telegram.endpoints.get(ctx.params.name);
396
+ if (!endpoint) {
390
397
  ctx.status = 404;
391
- ctx.body = { success: false, error: "Bot 不存在" };
398
+ ctx.body = { success: false, error: "Endpoint 不存在" };
392
399
  return;
393
400
  }
394
- if (!bot.$connected) {
401
+ if (!endpoint.$connected) {
395
402
  ctx.status = 400;
396
- ctx.body = { success: false, error: "Bot 未连接" };
403
+ ctx.body = { success: false, error: "Endpoint 未连接" };
397
404
  return;
398
405
  }
399
406
  const { chat_id, question, options, is_anonymous, allows_multiple } = ctx.request.body || {};
@@ -407,26 +414,26 @@ useContext("router", "telegram", (router, telegram) => {
407
414
  ctx.body = { success: false, error: "至少需要 2 个选项" };
408
415
  return;
409
416
  }
410
- const result = await bot.sendPoll(Number(chat_id), question, options, is_anonymous ?? true, allows_multiple ?? false);
417
+ const result = await endpoint.sendPoll(Number(chat_id), question, options, is_anonymous ?? true, allows_multiple ?? false);
411
418
  ctx.body = { success: true, data: { message_id: result.message_id } };
412
419
  }
413
420
  catch (e) {
414
421
  ctx.status = 500;
415
- ctx.body = { success: false, error: e?.message || "发起投票失败" };
422
+ ctx.body = { success: false, error: e instanceof Error ? e.message : "发起投票失败" };
416
423
  }
417
424
  });
418
425
  // 快捷操作:获取群管理员
419
- router.get("/api/telegram/bots/:name/admins", async (ctx) => {
426
+ router.get("/api/telegram/endpoints/:name/admins", async (ctx) => {
420
427
  try {
421
- const bot = telegram.bots.get(ctx.params.name);
422
- if (!bot) {
428
+ const endpoint = telegram.endpoints.get(ctx.params.name);
429
+ if (!endpoint) {
423
430
  ctx.status = 404;
424
- ctx.body = { success: false, error: "Bot 不存在" };
431
+ ctx.body = { success: false, error: "Endpoint 不存在" };
425
432
  return;
426
433
  }
427
- if (!bot.$connected) {
434
+ if (!endpoint.$connected) {
428
435
  ctx.status = 400;
429
- ctx.body = { success: false, error: "Bot 未连接" };
436
+ ctx.body = { success: false, error: "Endpoint 未连接" };
430
437
  return;
431
438
  }
432
439
  const chat_id = ctx.query.chat_id;
@@ -435,7 +442,7 @@ useContext("router", "telegram", (router, telegram) => {
435
442
  ctx.body = { success: false, error: "缺少 chat_id" };
436
443
  return;
437
444
  }
438
- const admins = await bot.getChatAdmins(Number(chat_id));
445
+ const admins = await endpoint.getChatAdmins(Number(chat_id));
439
446
  ctx.body = {
440
447
  success: true,
441
448
  data: admins.map((a) => ({
@@ -448,7 +455,7 @@ useContext("router", "telegram", (router, telegram) => {
448
455
  }
449
456
  catch (e) {
450
457
  ctx.status = 500;
451
- ctx.body = { success: false, error: e?.message || "获取管理员失败" };
458
+ ctx.body = { success: false, error: e instanceof Error ? e.message : "获取管理员失败" };
452
459
  }
453
460
  });
454
461
  });
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Telegram platform permit — ChatMember 状态 + 细粒度权限
3
+ */
4
+ import type { Message } from 'zhin.js';
5
+ export declare function platformPermit(perm: string): string;
6
+ export declare function telegramGroupPermitResolver(logicalPerm: string): string;
7
+ export declare function normalizeTelegramChatMember(member: {
8
+ status?: string;
9
+ can_restrict_members?: boolean;
10
+ can_pin_messages?: boolean;
11
+ can_delete_messages?: boolean;
12
+ can_manage_chat?: boolean;
13
+ }): {
14
+ role?: string;
15
+ permissions: string[];
16
+ };
17
+ export declare function checkTelegramPlatformPermit(perm: string, message: Message<any>): boolean;
18
+ export declare function registerTelegramPlatformPermitChecker(): () => void;
19
+ //# sourceMappingURL=platform-permit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-permit.d.ts","sourceRoot":"","sources":["../src/platform-permit.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAKvC,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAOD,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE;IAClD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,CAgB3C;AAOD,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAkBxF;AAED,wBAAgB,qCAAqC,IAAI,MAAM,IAAI,CAElE"}