events/get
Длинный опрос. Возвращает события в тех чатах, куда бот добавлен, в порядке eventId.
Параметры
| Параметр | Обязателен | Описание |
|---|---|---|
lastEventId | да | Последний уже обработанный идентификатор. События с меньшим или равным не вернутся. |
pollTime | нет | Сколько секунд держать запрос, если событий нет. Максимум 60. По истечении — пустой список, а не ошибка. |
Пример
GET https://chat.ostart.ru/bot/v1/events/get?token=...&lastEventId=0&pollTime=25
{"ok":true,"events":[
{"eventId":184,"type":"newMessage","payload":{
"msgId":"6b1e…","chat":{"chatId":"9b24…","type":"group","title":"Продажи"},
"from":{"userId":"10ab…","firstName":"Алиса Тестова"},
"timestamp":1790500000,"text":"привет","parts":[]}},
{"eventId":185,"type":"newChatMembers","payload":{
"chat":{"chatId":"9b24…","type":"group"},
"newMembers":[{"userId":"22cd…"}],"addedBy":{"userId":"10ab…"}}}
]} Что лежит в parts
reply — payload.msgId того сообщения, на которое отвечают. file — payload.fileId, type со значением image или file, и caption с именем файла.
Две ловушки
Собственные сообщения бота тоже приходят событиями, как в VK Teams — отфильтруйте их по payload.from.userId, иначе бот ответит сам себе. И события приходят только из чатов, где бот состоит, и только с момента вступления: истории до этого он не увидит.