Документация vk_api¶
vk_api – Python модуль для создания скриптов для социальной сети Вконтакте (vk.com API wrapper)
# pip3 install vk_api
Примеры по использованию библиотеки доступны на GitHub.
import vk_api
vk_session = vk_api.VkApi('+71234567890', 'mypassword')
vk_session.auth()
vk = vk_session.get_api()
print(vk.wall.post(message='Hello world!'))
VkApi (основной класс)¶
-
class
vk_api.vk_api.
VkApi
(login=None, password=None, token=None, auth_handler=None, captcha_handler=None, config=<class 'jconfig.jconfig.Config'>, config_filename='vk_config.v2.json', api_version='5.92', app_id=6222115, scope=140492255, client_secret=None, session=None)[source]¶ Parameters: - login (str) – Логин ВКонтакте (лучше использовать номер телефона для автоматического обхода проверки безопасности)
- password (str) – Пароль ВКонтакте (если пароль не передан, то будет попытка использовать сохраненные данные)
- token (str) – access_token
- auth_handler – Функция для обработки двухфакторной аутентификации, должна возвращать строку с кодом и булево значение, означающее, стоит ли запомнить это устройство, для прохождения аутентификации.
- captcha_handler – Функция для обработки капчи, см.
captcha_handler()
- config (
jconfig.base.BaseConfig
) – Класс для сохранения настроек - config_filename – Расположение config файла для
jconfig.config.Config
- api_version (str) – Версия API
- app_id (int) – app_id Standalone-приложения
- scope (int or str) – Запрашиваемые права, можно передать строкой или числом.
См.
VkUserPermissions
- client_secret – Защищенный ключ приложения для Client Credentials Flow авторизации приложения (https://vk.com/dev/client_cred_flow). Внимание: Этот способ авторизации устарел, рекомендуется использовать сервисный ключ из настроек приложения.
login и password необходимы для автоматического получения токена при помощи Implicit Flow авторизации пользователя и возможности работы с веб-версией сайта (включая
vk_api.audio.VkAudio
)Parameters: session ( requests.Session
) – Кастомная сессия со своими параметрами(из библиотеки requests)-
auth
(reauth=False, token_only=False)[source]¶ Аутентификация
Parameters: - reauth – Позволяет переавторизоваться, игнорируя сохраненные куки и токен
- token_only –
Включает оптимальную стратегию аутентификации, если необходим только access_token
Например если сохраненные куки не валидны, но токен валиден, то аутентификация пройдет успешно
При token_only=False, сначала проверяется валидность куки. Если кука не будет валидна, то будет произведена попытка аутетификации с паролем. Тогда если пароль не верен или пароль не передан, то аутентификация закончится с ошибкой.
Если вы не делаете запросы к веб версии сайта используя куки, то лучше использовать token_only=True
-
captcha_handler
(captcha)[source]¶ Обработчик капчи (http://vk.com/dev/captcha_error)
Parameters: captcha – объект исключения Captcha
-
need_validation_handler
(error)[source]¶ - Обработчик проверки безопасности при запросе API
- (http://vk.com/dev/need_validation)
Parameters: error – исключение
-
too_many_rps_handler
(error)[source]¶ - Обработчик ошибки “Слишком много запросов в секунду”.
- Ждет полсекунды и пробует отправить запрос заново
Parameters: error – исключение
-
get_api
()[source]¶ Возвращает VkApiMethod(self)
Позволяет обращаться к методам API как к обычным классам. Например vk.wall.get(…)
-
method
(method, values=None, captcha_sid=None, captcha_key=None, raw=False)[source]¶ Вызов метода API
Parameters: - method (str) – название метода
- values (dict) – параметры
- captcha_sid – id капчи
- captcha_key (str) – ответ капчи
- raw (bool) – при False возвращает response[‘response’] при True возвращает response (может понадобиться для метода execute для получения execute_errors)
-
class
vk_api.vk_api.
VkUserPermissions
[source]¶ Bases:
enum.IntEnum
Перечисление прав пользователя. Список прав получается побитовым сложением (x | y) каждого права. Подробнее в документации VK API: https://vk.com/dev/permissions
-
NOTIFY
= 1¶ Пользователь разрешил отправлять ему уведомления (для flash/iframe-приложений). Не работает с этой библиотекой.
-
FRIEND
= 2¶ Доступ к друзьям.
-
PHOTOS
= 4¶ Доступ к фотографиям.
-
AUDIO
= 8¶ Доступ к аудиозаписям. При отсутствии доступа к закрытому API аудиозаписей это право позволяет только загрузку аудио.
-
VIDEO
= 16¶ Доступ к видеозаписям.
-
STORIES
= 64¶ Доступ к историям.
-
PAGES
= 128¶ Доступ к wiki-страницам.
-
ADD_LINK
= 256¶ Добавление ссылки на приложение в меню слева.
-
STATUS
= 1024¶ Доступ к статусу пользователя.
-
NOTES
= 2048¶ Доступ к заметкам пользователя.
-
MESSAGES
= 4096¶ Доступ к расширенным методам работы с сообщениями.
-
WALL
= 8192¶ Доступ к обычным и расширенным методам работы со стеной.
-
ADS
= 32768¶ Доступ к расширенным методам работы с рекламным API.
-
OFFLINE
= 65536¶ Доступ к API в любое время. Рекомендуется при работе с этой библиотекой.
-
DOCS
= 131072¶ Доступ к документам.
-
GROUPS
= 262144¶ Доступ к группам пользователя.
-
NOTIFICATIONS
= 524288¶ Доступ к оповещениям об ответах пользователю.
-
STATS
= 1048576¶ Доступ к статистике групп и приложений пользователя, администратором которых он является.
-
EMAIL
= 4194304¶ Доступ к email пользователя.
-
MARKET
= 134217728¶ Доступ к товарам.
-
VkUpload¶
Модуль для загрузки медиафайлов в VK
-
class
vk_api.upload.
VkUpload
(vk)[source]¶ Загрузка файлов через API (https://vk.com/dev/upload_files)
Parameters: vk – объект VkApi
илиVkApiMethod
-
photo
(photos, album_id, latitude=None, longitude=None, caption=None, description=None, group_id=None)[source]¶ Загрузка изображений в альбом пользователя
Parameters: - photos (str or list) – путь к изображению(ям) или file-like объект(ы)
- album_id – идентификатор альбома
- latitude – географическая широта, заданная в градусах (от -90 до 90)
- longitude – географическая долгота, заданная в градусах (от -180 до 180)
- caption – текст описания изображения
- description – текст описания альбома
- group_id – идентификатор сообщества (если загрузка идет в группу)
-
photo_messages
(photos, peer_id=None)[source]¶ Загрузка изображений в сообщения
Parameters: - photos (str or list) – путь к изображению(ям) или file-like объект(ы)
- peer_id (int) – peer_id беседы
-
photo_group_widget
(photo, image_type)[source]¶ Загрузка изображений в коллекцию сообщества для виджетов приложений сообществ
Parameters: - photo (str) – путь к изображению или file-like объект
- image_type – тип изображиения в зависимости от выбранного виджета
(https://vk.com/dev/appWidgets.getGroupImageUploadServer) :type image_type: str
-
photo_profile
(photo, owner_id=None, crop_x=None, crop_y=None, crop_width=None)[source]¶ Загрузка изображения профиля
Parameters: - photo – путь к изображению или file-like объект
- owner_id – идентификатор сообщества или текущего пользователя. По умолчанию загрузка идет в профиль текущего пользователя. При отрицательном значении загрузка идет в группу.
- crop_x – координата X верхнего правого угла миниатюры.
- crop_y – координата Y верхнего правого угла миниатюры.
- crop_width – сторона квадрата миниатюры. При передаче всех crop_* для фотографии также будет подготовлена квадратная миниатюра.
-
photo_chat
(photo, chat_id)[source]¶ Загрузка и смена обложки в беседе
Parameters: - photo – путь к изображению или file-like объект
- chat_id – ID беседы
-
photo_wall
(photos, user_id=None, group_id=None, caption=None)[source]¶ Загрузка изображений на стену пользователя или в группу
Parameters: - photos (str or list) – путь к изображению(ям) или file-like объект(ы)
- user_id – идентификатор пользователя
- group_id – идентификатор сообщества (если загрузка идет в группу)
- caption – текст описания фотографии.
-
photo_market
(photo, group_id, main_photo=False, crop_x=None, crop_y=None, crop_width=None)[source]¶ Загрузка изображений для товаров в магазине
Parameters: - photo (str or list) – путь к изображению(ям) или file-like объект(ы)
- group_id (int) – идентификатор сообщества, для которого необходимо загрузить фотографию товара
- main_photo (bool) – является ли фотография обложкой товара
- crop_x (int) – координата x для обрезки фотографии (верхний правый угол)
- crop_y (int) – координата y для обрезки фотографии (верхний правый угол)
- crop_width (int) – ширина фотографии после обрезки в px
-
photo_market_album
(photo, group_id)[source]¶ Загрузка фотографии для подборки товаров
Parameters: - photo (str or list) – путь к изображению(ям) или file-like объект(ы)
- group_id (int) – идентификатор сообщества, для которого необходимо загрузить фотографию для подборки товаров
-
audio
(audio, artist, title)[source]¶ Загрузка аудио
Parameters: - audio – путь к аудиофайлу или file-like объект
- artist – исполнитель
- title – название
-
video
(video_file=None, link=None, name=None, description=None, is_private=None, wallpost=None, group_id=None, album_id=None, privacy_view=None, privacy_comment=None, no_comments=None, repeat=None)[source]¶ Загрузка видео
Parameters: - video_file (object or str) – путь к видеофайлу или file-like объект.
- link (str) – url для встраивания видео с внешнего сайта, например, с Youtube.
- name (str) – название видеофайла
- description (str) – описание видеофайла
- is_private (bool) – указывается 1, если видео загружается для отправки личным сообщением. После загрузки с этим параметром видеозапись не будет отображаться в списке видеозаписей пользователя и не будет доступна другим пользователям по ее идентификатору.
- wallpost (bool) – требуется ли после сохранения опубликовать запись с видео на стене.
- group_id (int) – идентификатор сообщества, в которое будет сохранен видеофайл. По умолчанию файл сохраняется на страницу текущего пользователя.
- album_id (int) – идентификатор альбома, в который будет загружен видеофайл.
- privacy_view – настройки приватности просмотра видеозаписи в специальном формате. (https://vk.com/dev/objects/privacy) Приватность доступна для видеозаписей, которые пользователь загрузил в профиль. (список слов, разделенных через запятую)
- privacy_comment – настройки приватности комментирования видеозаписи в специальном формате. (https://vk.com/dev/objects/privacy)
- no_comments (bool) – 1 — закрыть комментарии (для видео из сообществ).
- repeat (bool) – зацикливание воспроизведения видеозаписи. Флаг.
-
document
(doc, title=None, tags=None, group_id=None, to_wall=False, message_peer_id=None, doc_type=None)[source]¶ Загрузка документа
Parameters: - doc – путь к документу или file-like объект
- title – название документа
- tags – метки для поиска
- group_id – идентификатор сообщества (если загрузка идет в группу)
-
document_wall
(doc, title=None, tags=None, group_id=None)[source]¶ Загрузка документа в папку Отправленные, для последующей отправки документа на стену или личным сообщением.
Parameters: - doc – путь к документу или file-like объект
- title – название документа
- tags – метки для поиска
- group_id – идентификатор сообщества (если загрузка идет в группу)
-
document_message
(doc, title=None, tags=None, peer_id=None)[source]¶ Загрузка документа для отправки личным сообщением.
Parameters: - doc – путь к документу или file-like объект
- title – название документа
- tags – метки для поиска
- peer_id – peer_id беседы
-
audio_message
(audio, peer_id=None, group_id=None)[source]¶ Загрузка аудио-сообщения.
Parameters: - audio – путь к аудиофайлу или file-like объект
- peer_id – идентификатор диалога
- group_id – для токена группы, можно передавать ID группы, вместо peer_id
-
graffiti
(image, peer_id=None, group_id=None)[source]¶ Загрузка граффити
Parameters: - image – путь к png изображению или file-like объект.
- peer_id – идентификатор диалога (только для авторизации пользователя)
- group_id – для токена группы, нужно передавать ID группы, вместо peer_id
-
photo_cover
(photo, group_id, crop_x=None, crop_y=None, crop_x2=None, crop_y2=None)[source]¶ Загрузка изображения профиля
Parameters: - photo – путь к изображению или file-like объект
- group_id – идентификатор сообщества
- crop_x – координата X верхнего левого угла для обрезки изображения
- crop_y – координата Y верхнего левого угла для обрезки изображения
- crop_x2 – коорд. X нижнего правого угла для обрезки изображения
- crop_y2 – коорд. Y нижнего правого угла для обрезки изображения
-
story
(file, file_type, add_to_news=True, user_ids=None, reply_to_story=None, link_text=None, link_url=None, group_id=None)[source]¶ Загрузка истории
Parameters: - file – путь к изображению, гифке или видео или file-like объект
- file_type – тип истории (photo или video)
- add_to_news – размещать ли историю в новостях
- user_ids – идентификаторы пользователей, которые будут видеть историю
- reply_to_story – идентификатор истории, в ответ на которую создается новая
- link_text – текст ссылки для перехода из истории
- link_url – адрес ссылки для перехода из истории
- group_id – идентификатор сообщества, в которое должна быть загружена история
-
VkTools¶
Модуль для выкачивания множества результатов
-
class
vk_api.tools.
VkTools
(vk)[source]¶ Содержит некоторые вспомогательные функции, которые могут понадобиться при использовании API
Parameters: vk – Объект VkApi
-
get_all_iter
(method, max_count, values=None, key='items', limit=None, stop_fn=None, negative_offset=False)[source]¶ Получить все элементы.
Работает в методах, где в ответе есть count и items или users. За один запрос получает max_count * 25 элементов
Parameters: - method (str) – имя метода
- max_count (int) – максимальное количество элементов, которое можно получить за один запрос
- values (dict) – параметры
- key (str) – ключ элементов, которые нужно получить
- limit (int) – ограничение на количество получаемых элементов, но может прийти больше
- stop_fn (func) – функция, отвечающая за выход из цикла
- negative_offset (bool) – True если offset должен быть отрицательный
-
get_all
(method, max_count, values=None, key='items', limit=None, stop_fn=None, negative_offset=False)[source]¶ Использовать только если нужно загрузить все объекты в память.
Eсли вы можете обрабатывать объекты по частям, то лучше использовать get_all_iter
Например если вы записываете объекты в БД, то нет смысла загружать все данные в память
-
get_all_slow_iter
(method, max_count, values=None, key='items', limit=None, stop_fn=None, negative_offset=False)[source]¶ Получить все элементы (без использования execute)
Работает в методах, где в ответе есть count и items или users
Parameters: - method (str) – имя метода
- max_count (int) – максимальное количество элементов, которое можно получить за один запрос
- values (dict) – параметры
- key (str) – ключ элементов, которые нужно получить
- limit (int) – ограничение на количество получаемых элементов, но может прийти больше
- stop_fn (func) – функция, отвечающая за выход из цикла
- negative_offset (bool) – True если offset должен быть отрицательный
-
get_all_slow
(method, max_count, values=None, key='items', limit=None, stop_fn=None, negative_offset=False)[source]¶ Использовать только если нужно загрузить все объекты в память.
Eсли вы можете обрабатывать объекты по частям, то лучше использовать get_all_slow_iter
Например если вы записываете объекты в БД, то нет смысла загружать все данные в память
-
Модуль 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: 4>, <VkEventType.MESSAGE_EDIT: 5>]¶ События, для которых можно загрузить данные сообщений из API
- vk – объект
-
class
vk_api.longpoll.
Event
(raw)[source]¶ Событие, полученное от longpoll-сервера.
Имеет поля в соответствии с документацией.
- События MESSAGE_NEW и MESSAGE_EDIT имеют (среди прочих) такие поля:
- text - экранированный текст
- message - оригинальный текст сообщения.
События с полем timestamp также дополнительно имеют поле datetime.
-
class
vk_api.longpoll.
VkLongpollMode
[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
[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
[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
[source]¶ Выход из сети в событии
VkEventType.USER_OFFLINE
-
EXIT
= 0¶ Пользователь покинул сайт
-
AWAY
= 1¶ Оффлайн по таймауту
-
-
class
vk_api.longpoll.
VkMessageFlag
[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¶ Сообщение удалено для всех получателей.
-
Модуль bot_longpoll (VkBotLongPoll)¶
Модуль для работы с Bots Long Poll API
-
class
vk_api.bot_longpoll.
VkBotLongPoll
(vk, group_id, wait=25)[source]¶ Класс для работы с Bots Long Poll сервером
Подробнее в документации VK API.
Parameters: - vk – объект
VkApi
- group_id – id группы
- wait – время ожидания
-
CLASS_BY_EVENT_TYPE
= {'message_edit': <class 'vk_api.bot_longpoll.VkBotMessageEvent'>, 'message_new': <class 'vk_api.bot_longpoll.VkBotMessageEvent'>, 'message_reply': <class 'vk_api.bot_longpoll.VkBotMessageEvent'>}¶ Классы для событий по типам
-
DEFAULT_EVENT_CLASS
¶ Класс для событий
alias of
VkBotEvent
- vk – объект
-
class
vk_api.bot_longpoll.
VkBotEvent
(raw)[source]¶ Событие Bots Long Poll
Variables: - raw – событие, в каком виде было получено от сервера
- type (VkBotEventType or str) – тип события
- t (VkBotEventType or str) – сокращение для type
- object – объект события, в каком виде был получен от сервера
- obj – сокращение для object
- group_id (int) – ID группы бота
-
class
vk_api.bot_longpoll.
VkBotMessageEvent
(raw)[source]¶ Bases:
vk_api.bot_longpoll.VkBotEvent
Событие с сообщением Bots Long Poll
Variables: - from_user (bool) – сообщение от пользователя
- from_chat (bool) – сообщение из беседы
- from_group (bool) – сообщение от группы
- chat_id (int) – ID чата
VkKeyboard¶
Модуль для удобного создания клавиатур для ботов
-
class
vk_api.keyboard.
VkKeyboard
(one_time=False, inline=False)[source]¶ Класс для создания клавиатуры для бота (https://vk.com/dev/bots_docs_3) :param one_time: Если True, клавиатура исчезнет после нажатия на кнопку :type one_time: bool
-
classmethod
get_empty_keyboard
()[source]¶ Получить json пустой клавиатуры. Если отправить пустую клавиатуру, текущая у пользователя исчезнет.
- Добавить кнопку с текстом.
- Максимальное количество кнопок на строке - MAX_BUTTONS_ON_LINE
Parameters: - label (str) – Надпись на кнопке и текст, отправляющийся при её нажатии.
- color (VkKeyboardColor or str) – цвет кнопки.
- payload (str or list or dict) – Параметр для callback api
- Добавить callback-кнопку с текстом.
- Максимальное количество кнопок на строке - MAX_BUTTONS_ON_LINE
Parameters: - label (str) – Надпись на кнопке и текст, отправляющийся при её нажатии.
- color (VkKeyboardColor or str) – цвет кнопки.
- payload (str or list or dict) – Параметр для callback api
- Добавить кнопку с местоположением.
- Всегда занимает всю ширину линии.
Parameters: payload (str or list or dict) – Параметр для callback api
- Добавить кнопку с оплатой с помощью VKPay.
- Всегда занимает всю ширину линии.
Parameters: hash – Параметры платежа VKPay и ID приложения (в поле aid) разделённые & :type hash: str :param payload: Параметр для совместимости со старыми клиентами :type payload: str or list or dict
- Добавить кнопку с приложением VK Apps.
- Всегда занимает всю ширину линии.
Parameters: - app_id (int) – Идентификатор вызываемого приложения с типом VK Apps
- owner_id – Идентификатор сообщества, в котором установлено
приложение, если требуется открыть в контексте сообщества :type owner_id: int :param label: Название приложения, указанное на кнопке :type label: str :param hash: хэш для навигации в приложении, будет передан в строке параметров запуска после символа # :type hash: str :param payload: Параметр для совместимости со старыми клиентами :type payload: str or list or dict
- Добавить кнопку с ссылкой
- Максимальное количество кнопок на строке - MAX_BUTTONS_ON_LINE
Parameters: - label (str) – Надпись на кнопке
- link (str) – ссылка, которую необходимо открыть по нажатию на кнопку
- payload (str or list or dict) – Параметр для callback api
-
classmethod
-
class
vk_api.keyboard.
VkKeyboardColor
[source]¶ Возможные цвета кнопок
-
PRIMARY
= 'primary'¶ Синяя
-
SECONDARY
= 'secondary'¶ Белая
-
NEGATIVE
= 'negative'¶ Красная
-
POSITIVE
= 'positive'¶ Зелёная
-
-
class
vk_api.keyboard.
VkKeyboardButton
[source]¶ Возможные типы кнопки
-
TEXT
= 'text'¶ Кнопка с текстом
-
LOCATION
= 'location'¶ Кнопка с местоположением
-
VKPAY
= 'vkpay'¶ Кнопка с оплатой через VKPay
-
VKAPPS
= 'open_app'¶ Кнопка с приложением VK Apps
-
OPENLINK
= 'open_link'¶ Кнопка с ссылкой
-
CALLBACK
= 'callback'¶ Callback-кнопка
-
VkAudio¶
Модуль для работы с аудио
-
class
vk_api.audio.
VkAudio
(vk, convert_m3u8_links=True)[source]¶ Модуль для получения аудиозаписей без использования официального API.
Parameters: vk – Объект VkApi
-
get_iter
(owner_id=None, album_id=None, access_hash=None)[source]¶ Получить список аудиозаписей пользователя (по частям)
Parameters: - owner_id – ID владельца (отрицательные значения для групп)
- album_id – ID альбома
- access_hash – ACCESS_HASH альбома
-
get
(owner_id=None, album_id=None, access_hash=None)[source]¶ Получить список аудиозаписей пользователя
Parameters: - owner_id – ID владельца (отрицательные значения для групп)
- album_id – ID альбома
- access_hash – ACCESS_HASH альбома
-
get_albums_iter
(owner_id=None)[source]¶ Получить список альбомов пользователя (по частям)
Parameters: owner_id – ID владельца (отрицательные значения для групп)
-
get_albums
(owner_id=None)[source]¶ Получить список альбомов пользователя
Parameters: owner_id – ID владельца (отрицательные значения для групп)
-
search_user
(owner_id=None, q='')[source]¶ Искать по аудиозаписям пользователя
Parameters: - owner_id – ID владельца (отрицательные значения для групп)
- q – запрос
-
search
(q, count=100, offset=0)[source]¶ Искать аудиозаписи
Parameters: - q – запрос
- count – количество
- offset – смещение
-
search_iter
(q, offset=0)[source]¶ Искать аудиозаписи (генератор)
Parameters: - q – запрос
- offset – смещение
-
get_popular_iter
(offset=0)[source]¶ Искать популярные аудиозаписи (генератор)
Parameters: offset – смещение
-
get_news_iter
(offset=0)[source]¶ Искать популярные аудиозаписи (генератор)
Parameters: offset – смещение
-
VkStreaming¶
Модуль для работы с Streaming API
-
class
vk_api.streaming.
VkStreaming
(vk)[source]¶ Класс для работы с Streaming API
Подробнее в документации VK API.
Parameters: vk – объект VkApi
VkRequestsPool¶
Модуль для объединения запросов в один запрос execute
-
class
vk_api.requests_pool.
VkRequestsPool
(vk_session)[source]¶ Позволяет сделать несколько обращений к API за один запрос за счет метода execute.
Варианты использованя: - В качестве менеджера контекста: запросы к API добавляются в открытый пул, и выполняются при его закрытии. - В качестве объекта пула. запросы к API дабвляются по одному в пул и выполняются все вместе при выполнении метода execute()
Parameters: vk_session – Объект VkApi
-
class
vk_api.requests_pool.
RequestResult
[source]¶ Результат запроса из пула
-
error
¶ Ошибка, либо False, если запрос прошёл успешно.
-
result
¶ Результат запроса, если он прошёл успешно.
-
ok
¶ True, если результат запроса не содержит ошибок, иначе False
-
-
vk_api.requests_pool.
vk_request_one_param_pool
(vk_session, method, key, values, default_values=None)[source]¶ - Использовать, если изменяется значение только одного параметра.
- Возвращаемое значение содержит tuple из dict с результатами и dict с ошибками при выполнении
Parameters: - vk_session (vk_api.VkAPi) – объект VkApi
- method (str) – метод
- default_values (dict) – одинаковые значения для запросов
- key (str) – ключ изменяющегося параметра
- values (list) – список значений изменяющегося параметра (max: 25)
Return type: (dict, dict)
VkFunction¶
Модуль для работы с методом execute
-
class
vk_api.execute.
VkFunction
(code, args=None, clean_args=None, return_raw=False)[source]¶ Обертка над методом execute.
Parameters: - code – код функции (VKScript)
- args – список аргументов (будут конвертированы в JSON)
- clean_args – список raw аргументов (будут вставлены как строки)
- return_raw – аргумент raw функции VkApi.method
Enums¶
-
class
vk_api.enums.
VkUserPermissions
[source]¶ Bases:
enum.IntEnum
Перечисление прав пользователя. Список прав получается побитовым сложением (x | y) каждого права. Подробнее в документации VK API: https://vk.com/dev/permissions
-
NOTIFY
= 1¶ Пользователь разрешил отправлять ему уведомления (для flash/iframe-приложений). Не работает с этой библиотекой.
-
FRIEND
= 2¶ Доступ к друзьям.
-
PHOTOS
= 4¶ Доступ к фотографиям.
-
AUDIO
= 8¶ Доступ к аудиозаписям. При отсутствии доступа к закрытому API аудиозаписей это право позволяет только загрузку аудио.
-
VIDEO
= 16¶ Доступ к видеозаписям.
-
STORIES
= 64¶ Доступ к историям.
-
PAGES
= 128¶ Доступ к wiki-страницам.
-
ADD_LINK
= 256¶ Добавление ссылки на приложение в меню слева.
-
STATUS
= 1024¶ Доступ к статусу пользователя.
-
NOTES
= 2048¶ Доступ к заметкам пользователя.
-
MESSAGES
= 4096¶ Доступ к расширенным методам работы с сообщениями.
-
WALL
= 8192¶ Доступ к обычным и расширенным методам работы со стеной.
-
ADS
= 32768¶ Доступ к расширенным методам работы с рекламным API.
-
OFFLINE
= 65536¶ Доступ к API в любое время. Рекомендуется при работе с этой библиотекой.
-
DOCS
= 131072¶ Доступ к документам.
-
GROUPS
= 262144¶ Доступ к группам пользователя.
-
NOTIFICATIONS
= 524288¶ Доступ к оповещениям об ответах пользователю.
-
STATS
= 1048576¶ Доступ к статистике групп и приложений пользователя, администратором которых он является.
-
EMAIL
= 4194304¶ Доступ к email пользователя.
-
MARKET
= 134217728¶ Доступ к товарам.
-
Исключения¶
authors: | python273 |
---|---|
license: | Apache License, Version 2.0, see LICENSE file |
copyright: |
|
-
exception
vk_api.exceptions.
AccessDenied
[source]¶ Bases:
vk_api.exceptions.VkApiError
-
exception
vk_api.exceptions.
AuthError
[source]¶ Bases:
vk_api.exceptions.VkApiError
-
exception
vk_api.exceptions.
LoginRequired
[source]¶ Bases:
vk_api.exceptions.AuthError
-
exception
vk_api.exceptions.
PasswordRequired
[source]¶ Bases:
vk_api.exceptions.AuthError
-
exception
vk_api.exceptions.
BadPassword
[source]¶ Bases:
vk_api.exceptions.AuthError
-
exception
vk_api.exceptions.
AccountBlocked
[source]¶ Bases:
vk_api.exceptions.AuthError
-
exception
vk_api.exceptions.
TwoFactorError
[source]¶ Bases:
vk_api.exceptions.AuthError
-
exception
vk_api.exceptions.
SecurityCheck
(phone_prefix=None, phone_postfix=None, response=None)[source]¶ Bases:
vk_api.exceptions.AuthError
-
exception
vk_api.exceptions.
ApiError
(vk, method, values, raw, error)[source]¶ Bases:
vk_api.exceptions.VkApiError
-
exception
vk_api.exceptions.
ApiHttpError
(vk, method, values, raw, response)[source]¶ Bases:
vk_api.exceptions.VkApiError
-
exception
vk_api.exceptions.
Captcha
(vk, captcha_sid, func, args=None, kwargs=None, url=None)[source]¶ Bases:
vk_api.exceptions.VkApiError
-
exception
vk_api.exceptions.
VkToolsException
[source]¶ Bases:
vk_api.exceptions.VkApiError
Пакет jconfig¶
BaseConfig¶
Config (хранение в json файле)¶
-
class
jconfig.jconfig.
Config
(section, filename='.jconfig')[source]¶ Bases:
jconfig.base.BaseConfig
Класс конфигурации в файле
Parameters: filename – имя файла
MemoryConfig (хранение в памяти)¶
-
class
jconfig.memory.
MemoryConfig
(section, **kwargs)[source]¶ Bases:
jconfig.base.BaseConfig
Класс конфигурации в памяти
Parameters: settings – существующий dict с конфигом