evgeniy8705
@evgeniy8705
Повелитель вселенной

Как очистить историю канала с помощью телеграм бота?

Подскажи как очищать к примеру каждые 10 минут историю канала с помощью бота?
Бот будет посылать в канал каждые 30 секунд сообщения, и нужно чтобы со временем канал очищался. Можно ли это сделать?
Использую node-telegram-bot-api
  • Вопрос задан
  • 2325 просмотров
Пригласить эксперта
Ответы на вопрос 3
@Azperin
Дилетант
Я бы что то вроде такого предложил
let messagesToDelete = [];
telegramBot.sendMessage('some').then((m) => {
	messagesToDelete.push({
		messageId: m.message_id,
		chatId: m.chat.id
	});
}).catch(console.error);

function wipeHistory() {
	messagesToDelete.forEach(m => {
		telegramBot.deleteMessage(m.chatId, m.messageId).then((success) => {
			if (success) {
				messagesToDelete = messagesToDelete.filter((v) => (v.messageId !== m.message_id && v.chatId !== m.chat.id));
			};
		}).catch(console.error);
	});
};

setInterval(wipeHistory, 60 * 10 * 1000);
Ответ написан
Комментировать
alexk111
@alexk111
Автор Ботодрома (автоматизация Telegram, VK и др.)
Готовый код не выдам, но алгоритм будет следующий:

- при добавлении сообщения методом `sendMessage` - запоминаем его `message_id`
- по таймеру удаляем сообщения методом `deleteMessage` для каждого `message_id`
Ответ написан
Комментировать
@Chilikinow
Эти способы будут работать в течении около суток, после отправки сообщения
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы