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

Class KeywordPlugin

keyword/keyword.ts:837–879  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

835 try {
836 if (db && typeof db.close === "function") {
837 db.close();
838 db = null as any;
839 }
840 } catch (error) {
841 console.error("Failed to close keyword DB:", error);
842 db = null as any;
843 }
844 }
845
846 description: string = `关键词回复管理`;
847 cmdHandlers: Record<string, (msg: Api.Message) => Promise<void>> = {
848 keyword,
849 };
850 listenMessageHandler?: ((msg: Api.Message) => Promise<void>) | undefined =
851 async (message) => {
852 try {
853 const text =
854 message.message ||
855 (message.media && "caption" in message.media
856 ? String(message.media.caption || "")
857 : "");
858 if (!text) {
859 return;
860 }
861
862 if (message.out) {
863 return;
864 }
865
866 await keywordTasks.checkAndReply(message);
867 } catch (error) {
868 console.error("Process keyword message error:", error);
869 }
870 };
871}
872
873export default new KeywordPlugin();
874
875export async function processKeywordMessage(
876 message: Api.Message
877): Promise<void> {
878 try {
879 const text =
880 message.message ||
881 (message.media && "caption" in message.media
882 ? String(message.media.caption || "")

Callers

nothing calls this directly

Calls 2

checkAndReplyMethod · 0.80
errorMethod · 0.80

Tested by

no test coverage detected