javascript - 是否可以通过机器人删除所有以前的消息?

标签 javascript node.js ecmascript-6 telegram telegram-bot

目前,机器人可以选择为新的 new_chat_members 显示欢迎消息,这会为每个成员显示。由于新成员的数量很大,所以有很多欢迎信息留在组中。 i对于显示多个欢迎消息的当前用户来说有点烦人。

const welcomeMessage = (ctx) => {
  const { new_chat_members } = ctx.message;
  const newMembers = new_chat_members.filter( member => member.is_bot === false)
  var membersName = newMembers.map( usr =>{ 
    let fullname = [usr.first_name,usr.last_name].join(" ");
    return fullname;
  });
  ctx.replyWithMarkdown(`Welcom ${membersName.join(', ')}`);
}
bot.on('new_chat_members', welcomeMessage);

是否有任何选项可以删除所有以前的欢迎信息?

Telegram Bot 在 https://github.com/telegraf/telegraf 中的使用

最佳答案

如果您为每条欢迎消息保存了 message_id,则您的机器人无法按需访问组中的消息(它只能获取消息作为更新。),因此您可以删除具有(chatID)的消息,messageID) 对。 还有另一种可行的方法:使用 Telegram 核心 api 和 0xafa92846: functions.messages.GetHistoryRequest api获取群内消息。然后你可以通过解析它们找到欢迎消息,然后你可以删除它们。

关于javascript - 是否可以通过机器人删除所有以前的消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52127136/

相关文章:

javascript - 将表单数据从 Angular 2 上传到 Slim PHP API

javascript - 带有 ES6/Bluebird promise 的对象方法

mysql - 错误: POST http://localhost:3000/api/createProductCategory 500 (Internal Server Error)

mysql - Node sql语法错误

javascript - 如何 promise 这个递归函数

javascript - 为什么我无法通过 id 获取一件商品?

javascript - 单击链接时使用 AJAX 在 Kendo 窗口中加载数据

javascript - 如何检查特定div之前和之后的div

javascript - 如何使用 Javascript 将 URL 数据映射到单个对象中?

javascript - 在更改之前获取选择(下拉)的值