Удаление ботом всех сообщений группы телеграмм - PullRequest
1 голос
/ 06 августа 2020

Я хочу удалить сообщения в группе, но бот удаляет только последние несколько сообщений, примерно за последние десять минут. Я использую для этого уменьшение message_id

$lastMessageID = --$result ['message']['message_id'];
        for ($i=0; $i <$n ; $i++) { 
            $content = array('chat_id' => $chat_id, 'message_id' => $lastMessageID);
            $telegram->deleteMessage($content);
            $lastMessageID--;
        }   

Я проверил возвращаемое значение команды удаления, и все в порядке, я получаю {"ok":1,"result":1} и, конечно же, для некоторых сообщений он имеет " сообщение для удаления не найдено ", и оно продолжается, но внезапно останавливается без ошибок. например, последнее возвращаемое значение - {"ok":1,"result":1} или в некоторых случаях {ok:1}, и никакие другие сообщения не будут удалены. и я рассмотрел следующие вопросы:

  1. Сообщение можно удалить только в том случае, если оно было отправлено менее 48 часов a go.
  2. Бот является администратором группы для год
  3. У бота все разрешения

1 Ответ

0 голосов
/ 06 августа 2020

Как уже упоминалось на официальной c https://core.telegram.org/bots/api#deleteMessage странице Telegram, которая A message can only be deleted if it was sent less than 48 hours ago.

...