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

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

Получаю сообщения по url, как после их получения ставить им статус прочитанных, что бы они не приходили заново?
Гугл ответа не дал
Апи телеграма не совсем ясно
  • Вопрос задан
  • 1853 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Skillbox
    PHP-разработчик. Базовый уровень
    3 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 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. Следующее получение списка сообщений без параметров будет выводить только неполученные до этого сообщения
Ответ написан
Ваш ответ на вопрос

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

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