node-apiless-youtube-upload-nc
Version:
Upload videos to Youtube in Node.js without any Youtube API dependency by using Selenium.
74 lines (62 loc) • 2.47 kB
text/typescript
import promptLoginAndGetCookies from './methods/promptLoginAndGetCookies'
import promptLoginAndGetCookies_haokan from './methods/promptLoginAndGetCookies_haokan'
import checkCookiesValidity from './methods/checkCookiesValidity'
import checkCookiesValidity_haokan from './methods/checkCookiesValidity_haokan'
import uploadVideo, {VideoObj} from './methods/uploadVideo'
import uploadVideo_haokan from './methods/uploadVideo_haokan'
import checkVideoCopyright from './methods/checkVideoCopyright'
import remark from './methods/remark'
import {Cookies} from './helpers'
export default class YoutubeUploader {
private cookies: Cookies
async promptLoginAndGetCookies(): Promise<Cookies> {
this.cookies = await promptLoginAndGetCookies()
return this.cookies
}
async promptLoginAndGetCookies_haokan(): Promise<Cookies> {
this.cookies = await promptLoginAndGetCookies_haokan()
return this.cookies
}
async checkCookiesValidity(): Promise<boolean> {
return checkCookiesValidity(this.cookies)
}
async checkCookiesValidity_haokan(): Promise<boolean> {
return checkCookiesValidity_haokan(this.cookies)
}
async loadCookiesFromDisk(path: string): Promise<void> {
this.cookies = Cookies.fromJSONFileSync(path)
}
async saveCookiesToDisk(path: string): Promise<void> {
return this.cookies.saveToFileSync(path)
}
async checkVideoCopyright(
vid: string,
headlessMode?: boolean,
onProgress?: (a: string) => any,
): Promise<string> {
return checkVideoCopyright(vid, this.cookies, headlessMode, onProgress)
}
async remark(
url: string,
hs: string,
vid: string,
headlessMode?: boolean,
onProgress?: (a: string) => any,
): Promise<string> {
return remark(url, hs, this.cookies, vid, headlessMode, onProgress)
}
async uploadVideo(
videoObj: VideoObj,
headlessMode?: boolean,
onProgress?: (a: string) => any,
): Promise<string> {
return uploadVideo(videoObj, this.cookies, headlessMode, onProgress)
}
async uploadVideo_haokan(
videoObj: VideoObj,
headlessMode?: boolean,
onProgress?: (a: string) => any,
): Promise<string> {
return uploadVideo_haokan(videoObj, this.cookies, headlessMode, onProgress)
}
}