Cloudflare 的 worker 运行 telegram bot 自动回复关键字 将回复的消息延迟删除
前言 在群里搞了一个关键字回复机器人. Github 上面大把的项目. 略. 但是一直没有自动延迟删除回复消息的功能. 我的概念里面 worker 是 http 请求时才会运行的, 也就是说, 有人在群里发了消息, 这个worker才会运行. 那自然就做不了延迟删除消息了. 灵感 今天突发奇想, 问了一下AI, "cloudflare 的 worker 怎么实现定时任务". WOKAO, 原来 2022年官方就支持了 Cron Trigger 接下来就是无趣的面向GPT开发 粘贴 的代码是一个基于 cloudflare worker 的 telegram bot. 我要实现bot回复的消息延迟5~10分钟删除的功能. 我给这个 worker 绑定了一个 KV : BOT_MSG, 用于保存发出的消息的数据. 我给这个 worker 设置了定时5分钟的 cron trigger. 请改进这段代码 贴一下代码吧. const TOKEN = 'your_bot_token' const WEBHOOK = '/endpoint' const SECRET = 'you_should_generate_random_string' const DELETE_AFTER_MS = 5 * 60 * 1000 // 5分钟 /** * 将已发送的消息存入 KV * key: msg:{delete_at}:{chat_id}:{message_id} */ async function saveMessage(env, chatId, messageId) { const deleteAt = String(Date.now() + DELETE_AFTER_MS).padStart(16, '0') const key = `msg:${deleteAt}:${chatId}:${messageId}` await env.BOT_MSG.put(key, '1', { expirationTtl: 20 * 60 // 20分钟兜底清理 }) } /** * Cron 触发:删除所有到期的消息 ...