UNPKG

vk-io

Version:

Modern VK API SDK for Node.js

245 lines (244 loc) 6.58 kB
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>; }