电报防广告机器人 实现加群验证的功能 tg-join-group-exam-bot-worker 迁移到 cloudflare worker
前言 之前 用python实现了自用的简易防广告机器人 , 实现加群验证的功能. 最近服务器到期了, 突然心里动了一个念头, 能转换成cloudflare worker吗? 面向Agent开发 Hermes 对接 白嫖 公益站agentrouter 的 deepseek-v4-flash * 本次开发并不是简单的one-shot. 本身这个最终效果, 我也不是在一开头就想好的. 我是在整个过程中, 逐渐想清楚我的需求的. 以下记录一些开发方案的思路. Cloudflare 的 worker 是一个无状态的服务, 如果需要记录什么信息的话, 要么用KV, 要么用D1. 免费plan的KV一天1000次写入. 我的python原方案是一个题库(虽说只有3个题, 哈哈), 从中随机抽取题目. 在为每个用户抽取题目的时候, 就生成了答案, 然后每次检查用户的回答和答案是否匹配. 那么, 保存这个 答案 就需要写KV, 也就是每个用户要写1次KV 我一开始想说, 这个答案我每次实时计算呢? 这样就不保存答案了. 那么就要保存 用户正在回答哪个题目 , 还是要写1次KV 好了, 进一步的, 把 用户回答哪个题目 搞成伪随机, 这样就可以通过比如 用户的userid 计算得到了. 再进一步的, 把 当前日期 和 用户的userid 一起组合成伪随机的种子, 这样过一天题目就有可能会改变. 我的python原方案会在群组中发通知消息, 通知用户去进行验证, 验证通过也会发通知说明结果. 而且有自动定时删除这些通知消息的功能. 在worker的方案中, 就必须写KV保存未来要删除的消息的id. 然后用worker的定时器cron驱动worker去检查KV并删除消息. 如果用户进群时通知1条, 验证通过通知1条, 那么每个用户要写2次KV. 我最终选择的方案是: 1. 进群通知使用 Telegram group电报群组设置 欢迎信息Welcome Message 只有进群的人会看到, 其它群友不会看到. 2. 验证通过的消息非常短小. 当然, 你也可以不发这条通知消息. 综上, 整个 加群验证电报防广告机器人 完全不使用KV. 那么免费plan的worker有一天100K的调用额度就完全不用担心了. Github https://gith...