Перейти к содержанию

Uploaders

Загрузка медиа разного типа в вк

Существует несколько типов аплоадеров:

  • photo - загрузка фото
  • audio - загрузка аудио
  • doc - загрузка документов разного типа
  • video - загрузка видео

Интерфейс аплоадера

Аплоадер принимает API при инициализации. Опция generate_attachment_strings (bool) отвечает за то, что будет выходить из метода upload, по умолчанию это строка готовая к отправке как медиа, если нужен объект, следует изменить значение на False

Любой аплоадер имеет метод .upload(file_source, ...), нужный для передачи документа и индивидуальных параметров (если они есть в аплоадере)

file_source - путь до файла в строке или байты

Все аплоадеры различаются методом получения сервера. Получить сервер аплоадера можно с помощью метода .get_server(...)

Так же у аплоадеров есть методы базового класса, одинаковые для всех:

  • .upload_files(url, files) - загрузка файлов методом POST
  • .get_bytes_io(data) - приводит сырые байты в подходящий для вк вид
  • .generate_attachment_string(attachment_type, owner_id, item_id) - делает из понятных составляющих строку которую вк принимает как медиа для отправки
  • .read(file_source) - читает файл если file_source строка, если байты - возвращает их

Обычно нужен только метод upload

Виды аплоадеров

  • Для фото
  • PhotoMessageUploader - загрузка в сообщение
  • PhotoToAlbumUploader - загрузка в альбом
  • PhotoWallUploader - загрузка на стену
  • PhotoFaviconUploader - загрузка аватарки
  • PhotoChatFaviconUploader - загрузка аватарки беседы
  • PhotoMarketUploader - загрузка картинки для товара
  • Родительский аплоадер - PhotoUploader (не конкретизирован сервер)

  • Для документов

  • DocWallUploader - загрузка документов на стену
  • DocMessagesUploader - загрузка документов в сообщение
  • VoiceMessageUploader - загрузка голосовых сообщений
  • GraffitiUploader - загрузка граффити
  • Родительский аплоадер - DocUploader (не конкретизирован сервер)

  • AudioUploader - загрузка аудио

  • VideoUploader - загрузка видео

Импорт

Все аплоадеры импортируются из корня проекта

from vkbottle import DocMessagesUploader