Можно ли удалить все предыдущие сообщения ботом? - PullRequest
0 голосов
/ 01 сентября 2018

В настоящее время бот имеет возможность показывать приветственные сообщения для нового new_chat_members, который отображается для каждого участника. Из-за большого количества новых участников в группе остается много приветственных сообщений. iIt немного раздражает текущих пользователей, показывающих многократные приветственные сообщения.

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 в https://github.com/telegraf/telegraf

1 Ответ

0 голосов
/ 01 сентября 2018

ваш бот не имеет доступа по требованию к сообщениям в группе (он может получать сообщения только в виде обновлений), если вы сохранили message_ids для каждого приветственного сообщения, поэтому вы можете удалить сообщения, имеющие (chatID , messageID) пары. есть другой способ, который является жизнеспособным: используйте API ядра Telegram и 0xafa92846: functions.messages.GetHistoryRequest api для получения сообщений в группе. затем вы можете найти приветственные сообщения, проанализировав их, а затем удалить их.

...