纸飞机电报 API 接入后,如何实现消息撤回功能?有时间限制吗?​

止晴雪止晴雪09月12日2851

我们网站接入了纸飞机电报的api,如何让发送出去的信息可撤回?有时间限制吗?

4 个回答

星依童
星依童回答于 09 月 13 日
最佳答案

Telegram的API没有提供官方的消息撤回接口,这一点需要注意。

但你也可以变通实现类似的效果。比如在消息后追加一条“刚才那条消息撤回了”,或者直接删掉原来的消息再发送一条新消息。

这样虽然不是真正的撤回,但用户体验上也差不了多少。

此外,Telegram的消息撤回功能在客户端是有时限的,默认60秒内可以撤回,超过时间就撤不回了。

如果你的网站是做营销的,建议在后台记录下每条消息发送的时间,超过60秒后就不提供撤回功能了,这样可以防止用户误操作。

希望这些对你有帮助。

慈白风
慈白风回答于 09 月 17 日

Telegram API 撤回消息有其限制。官方 API 本身并没有直接的「撤回」接口。

不过你可以通过以下方式实现类似效果:

1. 用户发送消息后,记录消息 ID 和时间戳。

2. 在前端设置一个「撤回」按钮,触发时调用 `deleteMessage` 方法。

3. 注意:这个方法只能删除自己发的消息,对方已读的可能删不了。

4. 撤回有时限,默认是 48 小时内,过了就删不了。

所以,如果你想让用户撤回消息,得在 API 层记录消息状态,结合前端操作实现。别指望 Telegram 会帮你自动处理一切。

闵芳泽
闵芳泽回答于 09 月 18 日

1. 用 API 撤回 Telegram 消息是完全可行的,只需调用 deleteMessage 接口,传入 chat_id 和 message_id 即可。

2. 撤回消息有时间限制。普通用户只能在 48 小时内撤回自己的消息,超时后无法撤回。

3. 如果是通过 Bot 发送的消息,默认无法撤回。除非你是管理员账号,或是群组/频道所有者,才可撤回 Bot 发送的消息。

4. 你们网站接入 API 后,只要在发送消息时保存 message_id,就能在有效期内调用接口撤回。

搞定!

力幻梅
力幻梅回答于 09 月 19 日

1. Telegram 官方 API 没有原生撤回功能,但可以利用 editMessageText 方法“伪造”撤回效果,比如将内容改成“该消息已撤回”。

2. 建议在发送后 30 秒内完成操作,否则用户可能已看到原内容。

3. 如果你的网站已接入 API,只需在后端添加逻辑判断,当用户点击撤回时,调用 editMessageText 方法更新消息即可。

4. 但并非所有消息都可撤回,图片、视频等复杂类型可能有特殊限制。

5. 最重要的是用户体验,建议增加倒计时提示,告知用户撤回的有效期。

这样,你的网站就能支持“消息撤回”功能了。

您的答案