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

Function sendProgressToSaved

da/da.ts:170–242  ·  view source on GitHub ↗
(
  client: TelegramClient,
  task: DeleteTask,
  status: string
)

Source from the content-addressed store, hash-verified

168 task: DeleteTask,
169 status: string
170): Promise<number | undefined> => {
171 try {
172 const elapsed = Date.now() - task.startTime;
173 const hours = Math.floor(elapsed / 3600000);
174 const minutes = Math.floor((elapsed % 3600000) / 60000);
175 const seconds = Math.floor((elapsed % 60000) / 1000);
176
177 const speed = task.deletedMessages > 0
178 ? (task.deletedMessages / (elapsed / 1000)).toFixed(2)
179 : "0";
180
181 let statusText = "⏹️ 已停止";
182 if (task.isRunning) {
183 statusText = "🟢 运行中";
184 } else if (task.sleepUntil && task.sleepUntil > Date.now()) {
185 const sleepRemaining = Math.ceil((task.sleepUntil - Date.now()) / 1000);
186 statusText = `😴 休眠中 (${sleepRemaining}秒)`;
187 } else if (task.isPaused) {
188 statusText = "⏸️ 已暂停";
189 }
190
191 const safeStatus = htmlEscape(status);
192 const safeChatName = htmlEscape(task.chatName);
193 const safeStatusText = htmlEscape(statusText);
194 const recentErrors = task.errors
195 .slice(-3)
196 .map((error) => htmlEscape(error))
197 .join("\n");
198
199 const message = `📊 <b>删除任务${safeStatus}</b>
200
201<b>群聊:</b> ${safeChatName}
202<b>状态:</b> ${safeStatusText}
203
204<b>📈 统计信息:</b>
205• 已删除: <code>${task.deletedMessages.toLocaleString()}</code> 条
206• 删除速度: ${speed} 条/秒
207• 运行时长: ${hours}小时 ${minutes}分钟 ${seconds}秒
208
209<b>最后更新:</b> ${new Date(task.lastUpdate).toLocaleString("zh-CN")}
210
211${recentErrors ? `<b>⚠️ 最近错误:</b>\n${recentErrors}` : ""}`;
212
213 // 如果已有收藏夹消息,则编辑;否则创建新消息
214 if (task.savedMessageId) {
215 try {
216 await client.editMessage("me", {
217 message: task.savedMessageId,
218 text: message,
219 parseMode: "html",
220 });
221 return task.savedMessageId;
222 } catch (editError) {
223 // 如果编辑失败,创建新消息
224 console.log("编辑收藏夹消息失败,创建新消息:", editError);
225 }
226 }
227

Callers 1

daFunction · 0.85

Calls 3

editMessageMethod · 0.80
errorMethod · 0.80
htmlEscapeFunction · 0.70

Tested by

no test coverage detected