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

Method handleBlackList

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

Source from the content-addressed store, hash-verified

343
344 switch (subCommand) {
345 case "add":
346 if (!list.includes(chatId)) {
347 list.push(chatId);
348 await this.db.write();
349 await msg.edit({
350 text: `✅ 已将当前会话加入黑名单`,
351 parseMode: "html"
352 });
353 } else {
354 await msg.edit({
355 text: `ℹ️ 当前会话已在黑名单中`,
356 parseMode: "html"
357 });
358 }
359 break;
360
361 case "remove":
362 case "rm":
363 const removed = _.remove(list, (x: string) => x === chatId);
364 if (removed.length > 0) {
365 await this.db.write();
366 await msg.edit({
367 text: `✅ 已将当前会话移出黑名单`,
368 parseMode: "html"
369 });
370 } else {
371 await msg.edit({
372 text: `ℹ️ 当前会话不在黑名单中`,
373 parseMode: "html"
374 });
375 }
376 break;
377
378 case "list":
379 case "ls":
380 if (list.length === 0) {
381 await msg.edit({
382 text: `📝 黑名单列表为空`,
383 parseMode: "html"
384 });
385 } else {
386 let text = `📝 <b>黑名单列表</b> (${list.length} 个)\n\n`;
387 list.forEach((id: string, index: number) => {
388 text += `${index + 1}. <code>${htmlEscape(id)}</code>\n`;
389 });
390 await msg.edit({ text, parseMode: "html" });
391 }
392 break;
393
394 default:
395 await msg.edit({ text: help_text, parseMode: "html" });
396 break;
397 }
398 }
399
400 // 全局模式处理
401 private async handleGlobalMode(msg: Api.Message, args: string[]): Promise<void> {
402 if (args.length === 2) {

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