vk-io
Version:
Modern VK API SDK for Node.js
245 lines (244 loc) • 6.58 kB
TypeScript
import { FormData } from 'formdata-node';
import { IUploadOptions, IUploadParams, IUploadSourceMedia, IUploadConduct } from './types';
import { StoryAttachment, PhotoAttachment, AudioAttachment, VideoAttachment, DocumentAttachment, GraffitiAttachment, AudioMessageAttachment } from '../structures';
export declare class Upload {
private api;
protected options: Required<Omit<IUploadOptions, 'api'>>;
/**
* Constructor
*/
constructor({ api, ...options }: IUploadOptions);
/**
* Returns custom tag
*/
get [Symbol.toStringTag](): string;
/**
* Uploading photos to an album
*/
photoAlbum(params: IUploadParams & {
album_id: number;
group_id?: number;
caption?: string;
latitude?: number;
longitude?: number;
}): Promise<PhotoAttachment[]>;
/**
* Uploading photos to the wall
*/
wallPhoto(params: IUploadParams & {
user_id?: number;
group_id?: number;
caption?: string;
latitude?: number;
longitude?: number;
}): Promise<PhotoAttachment>;
/**
* Uploading the main photo of a user or community
*/
ownerPhoto(params: IUploadParams & {
owner_id?: number;
}): Promise<{
photo_hash: string;
photo_src: string;
photo_src_big: string;
photo_src_small: string;
saved: number;
post_id: number;
}>;
/**
* Uploading a photo to a private message
*/
messagePhoto(params: IUploadParams & {
peer_id?: number;
}): Promise<PhotoAttachment>;
/**
* Uploading the main photo for a chat
*/
chatPhoto(params: IUploadParams & {
chat_id: number;
crop_x?: number;
crop_y?: number;
crop_width?: number;
}): Promise<{
message_id: number;
chat: object;
}>;
/**
* Uploading a photo for a product
*/
marketPhoto(params: IUploadParams & {
group_id: number;
main_photo?: number;
crop_x?: number;
crop_y?: number;
crop_width?: number;
}): Promise<PhotoAttachment>;
/**
* Uploads a photo for the selection of goods
*/
marketAlbumPhoto(params: IUploadParams & {
group_id: number;
}): Promise<PhotoAttachment>;
/**
* Uploads audio
*/
audio(params: IUploadParams & {
title?: string;
artist?: string;
}): Promise<AudioAttachment>;
/**
* Uploads video
*/
video(params: IUploadParams & {
album_id?: number;
group_id?: number;
link?: string;
name?: string;
description?: string;
is_private?: number;
wallpost?: number;
privacy_view?: string;
privacy_comment?: string;
no_comments?: number;
repeat?: number;
compression?: number;
}): Promise<VideoAttachment>;
/**
* Uploads document
*/
conductDocument(params: IUploadParams & {
type?: string;
}, { attachmentType }?: {
attachmentType?: string | undefined;
}): Promise<any>;
/**
* Uploads document
*/
document(params: IUploadParams & {
group_id?: number;
title?: string;
tags?: string;
}): Promise<DocumentAttachment>;
/**
* Uploads wall document
*/
conductWallDocument(params: IUploadParams & {
type?: string;
}, { attachmentType }?: {
attachmentType?: string | undefined;
}): Promise<any>;
/**
* Uploads wall document
*/
wallDocument(params: IUploadParams & {
group_id?: number;
title?: string;
tags?: string;
}): Promise<DocumentAttachment>;
/**
* Uploads wall document
*/
conductMessageDocument(params: IUploadParams & {
type?: string;
}, { attachmentType }?: {
attachmentType?: string | undefined;
}): Promise<any>;
/**
* Uploads message document
*/
messageDocument(params: IUploadParams & {
peer_id?: number;
title?: string;
tags?: string;
}): Promise<DocumentAttachment>;
/**
* Uploads audio message
*/
audioMessage(params: IUploadParams & {
peer_id?: number;
title?: string;
tags?: string;
}): Promise<AudioMessageAttachment>;
/**
* Uploads graffiti in documents
*/
documentGraffiti(params: IUploadParams & {
group_id?: number;
}): Promise<GraffitiAttachment>;
/**
* Uploads graffiti in messages
*/
messageGraffiti(params: IUploadParams & {
peer_id?: number;
}): Promise<GraffitiAttachment>;
/**
* Uploads community cover
*/
groupCover(params: IUploadParams & {
group_id: number;
crop_x?: number;
crop_y?: number;
crop_x2?: number;
crop_y2?: number;
}): Promise<{
images: {
url: string;
width: number;
height: number;
}[];
}>;
/**
* Uploads photo stories
*/
storiesPhoto(params: IUploadParams & {
group_id?: number;
add_to_news?: number;
user_ids?: string[] | string;
reply_to_story?: string;
link_text: string;
link_url: string;
clickable_stickers?: string;
}): Promise<StoryAttachment>;
/**
* Uploads video stories
*/
storiesVideo(params: IUploadParams & {
group_id?: number;
add_to_news?: number;
user_ids?: string[] | string;
reply_to_story?: string;
link_text: string;
link_url: string;
clickable_stickers?: string;
}): Promise<StoryAttachment>;
/**
* Uploads poll photo
*/
pollPhoto(params: IUploadParams & {
owner_id?: number;
}): Promise<Record<string, any>>;
/**
* Behavior for the upload method
*/
conduct({ field, params, getServer, serverParams, saveFiles, saveParams, uploadParams, maxFiles, attachmentType, }: IUploadConduct): Promise<any>;
/**
* Building form data
*/
buildPayload({ field, values, maxFiles, attachmentType, }: {
field: string;
values: IUploadSourceMedia[];
maxFiles: number;
attachmentType?: string;
}): Promise<{
formData: FormData;
knownLength: boolean;
}>;
/**
* Upload form data
*/
upload(url: URL | string, { formData, timeout, forceBuffer }: {
formData: FormData;
timeout: number;
forceBuffer: boolean;
}): Promise<any>;
}