如何清除TeleTalk.js的聊天记录?我在Telegram API中看到有一种方法可以清除聊天记录:https://core.telegram.org/method/messages.deleteHistory
有messages.deleteHistory()
,但我在Telegraf文档中找不到任何内容。
那么我该如何使用Telegraf清除历史记录?
谢谢
答案 0 :(得分:1)
这样的方法我试过了,还是不行。
bot.command('delete', (ctx) =>{
let k = 0;
for(let i = 0; i <= 100; i++ ){
k = ctx.message.message_id-i;
ctx.deleteMessage(k)
}
答案 1 :(得分:0)
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。