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

Method handleAd

search/search.ts:382–411  ·  view source on GitHub ↗
(msg: Api.Message, args: string)

Source from the content-addressed store, hash-verified

380 }
381
382 private async handleAd(msg: Api.Message, args: string) {
383 const parts = args.split(/\s+/);
384 const subCmd = parts[0]?.toLowerCase();
385 const keywords = parts.slice(1);
386
387 switch (subCmd) {
388 case "add":
389 if (keywords.length === 0) throw new Error("请提供关键词。");
390 this.config.adFilters.push(...keywords);
391 await this.saveConfig();
392 await msg.edit({ text: `✅ 成功添加 ${keywords.length} 个广告过滤词。` });
393 break;
394 case "del":
395 if (keywords.length === 0) throw new Error("请提供关键词。");
396 const initialLength = this.config.adFilters.length;
397 this.config.adFilters = this.config.adFilters.filter(k => !keywords.includes(k));
398 await this.saveConfig();
399 await msg.edit({ text: `✅ 成功删除 ${initialLength - this.config.adFilters.length} 个广告过滤词。` });
400 break;
401 case "list":
402 if (this.config.adFilters.length === 0) {
403 await msg.edit({ text: "当前没有广告过滤词。" });
404 } else {
405 await msg.edit({ text: `**当前广告过滤词:**\n\n${this.config.adFilters.join(", ")}` });
406 }
407 break;
408 default:
409 throw new Error(`用法: ${mainPrefix}so ad <add|del|list> [关键词]`);
410 }
411 }
412
413 private async handleKkp(msg: Api.Message, useSpoiler: boolean) {
414 await this.findAndSendVideo(msg, null, useSpoiler, true, "kkp");

Callers 1

handleMethod · 0.95

Calls 2

saveConfigMethod · 0.95
editMethod · 0.45

Tested by

no test coverage detected