Telegram 机器人自动推送每日资讯,能否 “设置‘用户 3 天未点击查看则‘暂停推送’,并发送‘恢复推送链接’’”?​

布叡布叡09月16日2052

我用Telegram做了一个每天推送资讯的机器人,能否设置如果用户3天没点开就不再推送,然后发一个“点这里恢复”链接?

3 个回答

别怕黑暗我有光
别怕黑暗我有光回答于 09 月 16 日
最佳答案

这个功能可以做到,但需要自己搭建后端逻辑。

Telegram Bot 无法自动判断用户是否查看消息,你需要:

1. 记录每次推送的时间

2. 用户点击或互动时更新最后活跃时间

3. 每天检测一次,超过3天没有互动的用户暂停推送

4. 给这些用户单独发一条带“恢复推送链接”的消息

整个过程需要你维护数据库,并通过 API 轮询判断状态。如果你是用现成的 Bot 框架开发,可能需要自己写这部分逻辑。

佟佳修竹
佟佳修竹回答于 09 月 22 日

可以做到的,具体操作如下:

1. 记录下用户每次查看消息的时间点

2. 每次发送消息时,判断时间差,如果超过3天没互动,就停止推送

3. 同时给用户发送消息,附上“恢复推送”的链接或按钮

技术上是没问题的,但是 Telegram 机器人本身没有自动暂停功能,需要自己写逻辑去判断,如果你用 Python+Telebot 框架,这些操作都是很简单的,需要代码的话,继续问我吧。

臧余馥
臧余馥回答于 09 月 23 日

这个功能可以做到。你需要在后台记录用户的最后一次阅读时间,超过3天未阅读就停止推送,同时发送一条带有“恢复推送链接”的消息。具体实现方法如下:

1. 用户阅读文章时记录时间戳

2. 每天定时检查用户最后一次阅读时间

3. 超过3天未阅读的用户停止推送

4. 发送一条带有“恢复推送链接”的消息

5. 用户点击链接后恢复推送

这样既提高了用户体验,又提高了文章的打开率。注意发送消息时使用Telegram Bot API的sendMessage方法,同时消息中要带有按钮链接。同时也要考虑用户恢复推送后重新订阅的问题。

如果你用Node.js或者Python开发,可以用数据库记录用户的状态,比如用MongoDB或者MySQL。定时任务可以用Cron或者setInterval。

这种方式在Telegram营销中非常常见,可以有效管理用户活跃度。希望对你有所帮助。

您的答案