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

Method processKeyword

keyword/keyword.ts:160–226  ·  view source on GitHub ↗
(message: Api.Message)

Source from the content-addressed store, hash-verified

158
159 return text;
160 }
161
162 async processKeyword(message: Api.Message): Promise<void> {
163 try {
164 const text = this.replaceReply(message);
165 const client = await getGlobalClient();
166
167 let sentMsg: Api.Message | null = null;
168 try {
169 const sendOptions: any = {
170 message: text,
171 parseMode: "html",
172 };
173
174 if (this.reply && message.id) {
175 sendOptions.replyTo = message.id;
176 }
177
178 sentMsg = await client.sendMessage(message.peerId, sendOptions);
179
180 const cmd = await getCommandFromMessage(text);
181
182 if (cmd && sentMsg)
183 await dealCommandPluginWithMessage({ cmd, msg: sentMsg });
184 } catch (error) {
185 console.error("Reply message error:", error);
186 }
187
188 if (this.delete) {
189 try {
190 if (this.source_delay_delete > 0) {
191 const sourceTimer = setTimeout(async () => {
192 pendingDeleteTimers.delete(sourceTimer);
193 try {
194 await client.deleteMessages(message.peerId, [message.id], {
195 revoke: true,
196 });
197 } catch (error) {
198 console.error("Delayed delete message error:", error);
199 }
200 }, this.source_delay_delete * 1000);
201 pendingDeleteTimers.add(sourceTimer);
202 } else {
203 await client.deleteMessages(message.peerId, [message.id], {
204 revoke: true,
205 });
206 }
207 } catch (error) {
208 console.error("Delete message error:", error);
209 }
210 }
211
212 if (this.delay_delete > 0 && sentMsg) {
213 const replyTimer = setTimeout(async () => {
214 pendingDeleteTimers.delete(replyTimer);
215 try {
216 await client.deleteMessages(message.peerId, [sentMsg!.id], {
217 revoke: true,

Callers 1

checkAndReplyMethod · 0.80

Calls 4

replaceReplyMethod · 0.95
errorMethod · 0.80
deleteMethod · 0.45
addMethod · 0.45

Tested by

no test coverage detected