MCPcopy Create free account
hub / github.com/TeleBoxOrg/TeleBox_Plugins / handleWhiteList

Method handleWhiteList

pangu/pangu.ts:283–342  ·  view source on GitHub ↗
(msg: Api.Message, args: string[])

Source from the content-addressed store, hash-verified

281
282 switch (subCommand) {
283 case "add":
284 if (!list.includes(chatId)) {
285 list.push(chatId);
286 await this.db.write();
287 await msg.edit({
288 text: `✅ 已将当前会话加入白名单`,
289 parseMode: "html"
290 });
291 } else {
292 await msg.edit({
293 text: `ℹ️ 当前会话已在白名单中`,
294 parseMode: "html"
295 });
296 }
297 break;
298
299 case "remove":
300 case "rm":
301 const removed = _.remove(list, (x: string) => x === chatId);
302 if (removed.length > 0) {
303 await this.db.write();
304 await msg.edit({
305 text: `✅ 已将当前会话移出白名单`,
306 parseMode: "html"
307 });
308 } else {
309 await msg.edit({
310 text: `ℹ️ 当前会话不在白名单中`,
311 parseMode: "html"
312 });
313 }
314 break;
315
316 case "list":
317 case "ls":
318 if (list.length === 0) {
319 await msg.edit({
320 text: `📝 白名单列表为空`,
321 parseMode: "html"
322 });
323 } else {
324 let text = `📝 <b>白名单列表</b> (${list.length} 个)\n\n`;
325 list.forEach((id: string, index: number) => {
326 text += `${index + 1}. <code>${htmlEscape(id)}</code>\n`;
327 });
328 await msg.edit({ text, parseMode: "html" });
329 }
330 break;
331
332 default:
333 await msg.edit({ text: help_text, parseMode: "html" });
334 break;
335 }
336 }
337
338 // 黑名单处理
339 private async handleBlackList(msg: Api.Message, args: string[]): Promise<void> {
340 const chatId = this.getChatId(msg);

Callers 1

PanguPluginClass · 0.95

Calls 5

getChatIdMethod · 0.95
writeMethod · 0.80
htmlEscapeFunction · 0.70
editMethod · 0.45
removeMethod · 0.45

Tested by

no test coverage detected