Модуль longpoll (VkLongPoll)¶
Модуль для работы с User Long Poll API
- class vk_api.longpoll.VkLongPoll(vk, wait=25, mode=234, preload_messages=False, group_id=None)[source]¶
Класс для работы с longpoll-сервером
Подробнее в документации VK API.
- Parameters:
vk – объект
VkApi
wait – время ожидания
mode – дополнительные опции ответа
preload_messages – предзагрузка данных сообщений для получения ссылок на прикрепленные файлы
group_id – идентификатор сообщества (для сообщений сообщества с ключом доступа пользователя)
- PRELOAD_MESSAGE_EVENTS = [VkEventType.MESSAGE_NEW, VkEventType.MESSAGE_EDIT]¶
События, для которых можно загрузить данные сообщений из API
- class vk_api.longpoll.Event(raw)[source]¶
Событие, полученное от longpoll-сервера.
Имеет поля в соответствии с документацией.
- События MESSAGE_NEW и MESSAGE_EDIT имеют (среди прочих) такие поля:
text - экранированный текст
message - оригинальный текст сообщения.
События с полем timestamp также дополнительно имеют поле datetime.
- class vk_api.longpoll.VkLongpollMode(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]¶
Дополнительные опции ответа
Подробнее в документации VK API
- GET_ATTACHMENTS = 2¶
Получать вложения
- GET_EXTENDED = 8¶
Возвращать расширенный набор событий
- GET_PTS = 32¶
возвращать pts для метода messages.getLongPollHistory
- GET_EXTRA_ONLINE = 64¶
В событии с кодом 8 (друг стал онлайн) возвращать дополнительные данные в поле extra
- GET_RANDOM_ID = 128¶
Возвращать поле random_id
- class vk_api.longpoll.VkEventType(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]¶
Перечисление событий, получаемых от longpoll-сервера.
Подробнее в документации VK API
- MESSAGE_FLAGS_REPLACE = 1¶
Замена флагов сообщения (FLAGS:=$flags)
- MESSAGE_FLAGS_SET = 2¶
Установка флагов сообщения (FLAGS|=$mask)
- MESSAGE_FLAGS_RESET = 3¶
Сброс флагов сообщения (FLAGS&=~$mask)
- MESSAGE_NEW = 4¶
Добавление нового сообщения.
- MESSAGE_EDIT = 5¶
Редактирование сообщения.
- READ_ALL_INCOMING_MESSAGES = 6¶
Прочтение всех входящих сообщений в $peer_id, пришедших до сообщения с $local_id.
- READ_ALL_OUTGOING_MESSAGES = 7¶
Прочтение всех исходящих сообщений в $peer_id, пришедших до сообщения с $local_id.
- USER_ONLINE = 8¶
Друг $user_id стал онлайн. $extra не равен 0, если в mode был передан флаг 64. В младшем байте числа extra лежит идентификатор платформы (см.
VkPlatform
). $timestamp — время последнего действия пользователя $user_id на сайте.
- USER_OFFLINE = 9¶
Друг $user_id стал оффлайн ($flags равен 0, если пользователь покинул сайт и 1, если оффлайн по таймауту). $timestamp — время последнего действия пользователя $user_id на сайте.
- PEER_FLAGS_RESET = 10¶
Сброс флагов диалога $peer_id. Соответствует операции (PEER_FLAGS &= ~$flags). Только для диалогов сообществ.
- PEER_FLAGS_REPLACE = 11¶
Замена флагов диалога $peer_id. Соответствует операции (PEER_FLAGS:= $flags). Только для диалогов сообществ.
- PEER_FLAGS_SET = 12¶
Установка флагов диалога $peer_id. Соответствует операции (PEER_FLAGS|= $flags). Только для диалогов сообществ.
- PEER_DELETE_ALL = 13¶
Удаление всех сообщений в диалоге $peer_id с идентификаторами вплоть до $local_id.
- PEER_RESTORE_ALL = 14¶
Восстановление недавно удаленных сообщений в диалоге $peer_id с идентификаторами вплоть до $local_id.
- CHAT_EDIT = 51¶
Один из параметров (состав, тема) беседы $chat_id были изменены. $self — 1 или 0 (вызваны ли изменения самим пользователем).
- CHAT_UPDATE = 52¶
Изменение информации чата $peer_id с типом $type_id $info — дополнительная информация об изменениях
- USER_TYPING = 61¶
Пользователь $user_id набирает текст в диалоге. Событие приходит раз в ~5 секунд при наборе текста. $flags = 1.
- USER_TYPING_IN_CHAT = 62¶
Пользователь $user_id набирает текст в беседе $chat_id.
- USER_RECORDING_VOICE = 64¶
Пользователь $user_id записывает голосовое сообщение в диалоге/беседе $peer_id
- USER_CALL = 70¶
Пользователь $user_id совершил звонок с идентификатором $call_id.
- MESSAGES_COUNTER_UPDATE = 80¶
Счетчик в левом меню стал равен $count.
- NOTIFICATION_SETTINGS_UPDATE = 114¶
Изменились настройки оповещений. $peer_id — идентификатор чата/собеседника, $sound — 1/0, включены/выключены звуковые оповещения, $disabled_until — выключение оповещений на необходимый срок.
- class vk_api.longpoll.VkPlatform(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]¶
Идентификаторы платформ
- MOBILE = 1¶
Мобильная версия сайта или неопознанное мобильное приложение
- IPHONE = 2¶
Официальное приложение для iPhone
- IPAD = 3¶
Официальное приложение для iPad
- ANDROID = 4¶
Официальное приложение для Android
- WPHONE = 5¶
Официальное приложение для Windows Phone
- WINDOWS = 6¶
Официальное приложение для Windows 8
- WEB = 7¶
Полная версия сайта или неопознанное приложение
- class vk_api.longpoll.VkOfflineType(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]¶
Выход из сети в событии
VkEventType.USER_OFFLINE
- EXIT = 0¶
Пользователь покинул сайт
- AWAY = 1¶
Оффлайн по таймауту
- class vk_api.longpoll.VkMessageFlag(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]¶
Флаги сообщений
- UNREAD = 1¶
Сообщение не прочитано.
- OUTBOX = 2¶
Исходящее сообщение.
- REPLIED = 4¶
На сообщение был создан ответ.
- IMPORTANT = 8¶
Помеченное сообщение.
- CHAT = 16¶
Сообщение отправлено через чат.
- FRIENDS = 32¶
Сообщение отправлено другом. Не применяется для сообщений из групповых бесед.
- SPAM = 64¶
Сообщение помечено как “Спам”.
- DELETED = 128¶
Сообщение удалено (в корзине).
- FIXED = 256¶
Сообщение проверено пользователем на спам.
- MEDIA = 512¶
Сообщение содержит медиаконтент
- HIDDEN = 65536¶
Приветственное сообщение от сообщества.
- DELETED_ALL = 131072¶
Сообщение удалено для всех получателей.