2021-10-12 13:56:33 +05:30

47 lines
1.4 KiB
TypeScript

import fs from 'fs';
let youtubeData: youtubeDataOptions;
if (fs.existsSync('.data/youtube.data')) {
youtubeData = JSON.parse(fs.readFileSync('.data/youtube.data').toString());
youtubeData.file = true
}
interface youtubeDataOptions {
cookie?: Object;
file? : boolean;
}
export function getCookies(): undefined | string {
let result = '';
if (!youtubeData?.cookie) return undefined;
for (const [key, value] of Object.entries(youtubeData.cookie)) {
result += `${key}=${value};`;
}
return result;
}
export function setCookie(key: string, value: string): boolean {
if (!youtubeData?.cookie) return false;
key = key.trim();
value = value.trim();
Object.assign(youtubeData.cookie, { [key]: value });
return true;
}
export function uploadCookie() {
if (youtubeData.cookie && youtubeData.file) fs.writeFileSync('.data/youtube.data', JSON.stringify(youtubeData, undefined, 4));
}
export function setCookieToken(options : { cookie : string }){
let cook = options.cookie
let cookie: Object = {};
cook.split(';').forEach((x) => {
const arr = x.split('=');
if (arr.length <= 1) return;
const key = arr.shift()?.trim() as string;
const value = arr.join('=').trim();
Object.assign(cookie, { [key]: value });
});
youtubeData = { cookie }
youtubeData.file = false
}