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