Задать вопрос
@CapitanFreeloader

Как после getUpdates установить сообщения прочитанными?

Получаю сообщения по url, как после их получения ставить им статус прочитанных, что бы они не приходили заново?
Гугл ответа не дал
Апи телеграма не совсем ясно
  • Вопрос задан
  • 1856 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Stepik
    Язык программирования PHP
    1 неделя
    Далее
Пригласить эксперта
Ответы на вопрос 3
muhammad_97
@muhammad_97
PHP-разработчик
Используйте getWebhookUpdates
Ответ написан
VSeryoga
@VSeryoga
Добавьте getUpdates?offset=[update_id]
update_id - из ответа, можно хранить в файле или БД, обновляя при его изменении

сообщения буду приходить только те у кого update_id > заданного
Ответ написан
Комментировать
BoShurik
@BoShurik
Symfony developer
Ничего хранить не надо. Я делал так
/**
 * @return void
 */
public function processUpdates()
{
    $updates = $this->api->getUpdates();
    $lastUpdateId = null;
    foreach ($updates as $update) {
        $lastUpdateId = $update->getUpdateId();
        $this->processUpdate($update);
    }
    if ($lastUpdateId) {
        $this->api->getUpdates($lastUpdateId + 1, 1);
    }
}

  1. Получаем список сообщений, сохраняя последний полученный id
  2. Обрабатываем их
  3. Еще раз получаем список сообщений, указав смещение в "{последний полученный id} + 1"
  4. Следующее получение списка сообщений без параметров будет выводить только неполученные до этого сообщения
Ответ написан
Ваш ответ на вопрос

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

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