Telegraf JS:如何清除聊天记录?

问题描述

如何清除TeleTalk.js的聊天记录?我在Telegram API中看到有一种方法可以清除聊天记录:https://core.telegram.org/method/messages.deleteHistory

messages.deleteHistory(),但我在Telegraf文档中找不到任何内容

那么我该如何使用Telegraf清除历史记录?

谢谢

解决方法

这样的方法我试过了,还是不行。

bot.command('delete',(ctx) =>{
let k = 0;
for(let i = 0; i <= 100; i++ ){
    k =  ctx.message.message_id-i;
    ctx.deleteMessage(k)
}
,

Telegraf.js在幕后使用官方的Telegram BOT Api(通过HTTP访问)。

messages.deleteHistory()是一种核心API方法(使用MTProto协议访问)。还要注意,该方法只能由常规用户而不是Bot调用(即使您考虑使用基于mtproto的库来调用它)

换句话说,Bot无法做到这一点,并且HTTP bot API中没有这样的方法。最好的办法是使用deleteMessage

使用此方法可以删除一条消息,包括服务消息 有以下限制:

  • 仅在少于48小时前发送邮件才能删除。
  • 私人聊天中的骰子消息只有在24小时前发送后才能删除。
  • 机器人可以删除私人聊天,群组和超级群组中的传出消息。
  • 机器人可以删除私人聊天中的传入消息。
  • 授予can_post_messages权限的机器人可以删除频道中的传出消息。
  • 如果漫游器是网上论坛的管理员,则可以在其中删除任何消息。
  • 如果漫游器在超级组或通道中具有can_delete_messages权限,则它可以删除那里的任何消息。成功返回True。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...