| var __importDefault = (this && this.__importDefault) || function (mod) { |
| return (mod && mod.__esModule) ? mod : { "default": mod } |
| } |
| Object.defineProperty(exports, "__esModule", { value: true }) |
|
|
| const axios = require("axios") |
| const cheerio = require("cheerio") |
| const { resolve } = require("path") |
| const util = require("util") |
| let BodyForm = require('form-data') |
| let { fromBuffer } = require('file-type') |
| |
| let fs = require('fs') |
| const child_process = require('child_process') |
| const ffmpeg = require('fluent-ffmpeg') |
|
|
| const {unlink } = require ('fs').promises |
|
|
|
|
| exports.sleep = async (ms) => { |
| return new Promise(resolve => setTimeout(resolve, ms)); |
| } |
| exports.fetchJson = async (url, options) => { |
| try { |
| options ? options : {} |
| const res = await axios({ |
| method: 'GET', |
| url: url, |
| headers: { |
| 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36' |
| }, |
| ...options |
| }) |
| return res.data |
| } catch (err) { |
| return err |
| } |
| } |
| exports.fetchBuffer = async (url, options) => { |
| try { |
| options ? options : {} |
| const res = await axios({ |
| method: "GET", |
| url, |
| headers: { |
| "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36", |
| 'DNT': 1, |
| 'Upgrade-Insecure-Request': 1 |
| }, |
| ...options, |
| responseType: 'arraybuffer' |
| }) |
| return res.data |
| } catch (err) { |
| return err |
| } |
| } |
| exports.webp2mp4File=async(path) =>{ |
| return new Promise((resolve, reject) => { |
| const form = new BodyForm() |
| form.append('new-image-url', '') |
| form.append('new-image', fs.createReadStream(path)) |
| axios({ |
| method: 'post', |
| url: 'https://s6.ezgif.com/webp-to-mp4', |
| data: form, |
| headers: { |
| 'Content-Type': `multipart/form-data; boundary=${form._boundary}` |
| } |
| }).then(({ data }) => { |
| const bodyFormThen = new BodyForm() |
| const $ = cheerio.load(data) |
| const file = $('input[name="file"]').attr('value') |
| bodyFormThen.append('file', file) |
| bodyFormThen.append('convert', "Convert WebP to MP4!") |
| axios({ |
| method: 'post', |
| url: 'https://ezgif.com/webp-to-mp4/' + file, |
| data: bodyFormThen, |
| headers: { |
| 'Content-Type': `multipart/form-data; boundary=${bodyFormThen._boundary}` |
| } |
| }).then(({ data }) => { |
| const $ = cheerio.load(data) |
| const result = 'https:' + $('div#output > p.outfile > video > source').attr('src') |
| resolve({ |
| status: true, |
| message: "Created By Eternity", |
| result: result |
| }) |
| }).catch(reject) |
| }).catch(reject) |
| }) |
| } |
|
|
| exports.fetchUrl = async (url, options) => { |
| try { |
| options ? options : {} |
| const res = await axios({ |
| method: 'GET', |
| url: url, |
| headers: { |
| 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36' |
| }, |
| ...options |
| }) |
| return res.data |
| } catch (err) { |
| return err |
| } |
| } |
|
|
| exports.WAVersion = async () => { |
| let get = await exports.fetchUrl("https://web.whatsapp.com/check-update?version=1&platform=web") |
| let version = [get.currentVersion.replace(/[.]/g, ", ")] |
| return version |
| } |
|
|
| exports.getRandom = (ext) => { |
| return `${Math.floor(Math.random() * 10000)}${ext}` |
| } |
|
|
| exports.isUrl = (url) => { |
| return url.match(new RegExp(/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)/, 'gi')) |
| } |
|
|
| exports.isNumber = (number) => { |
| const int = parseInt(number) |
| return typeof int === 'number' && !isNaN(int) |
| } |
| exports.TelegraPh= (Path) =>{ |
| return new Promise (async (resolve, reject) => { |
| if (!fs.existsSync(Path)) return reject(new Error("File not Found")) |
| try { |
| const form = new BodyForm(); |
| form.append("file", fs.createReadStream(Path)) |
| const data = await axios({ |
| url: "https://telegra.ph/upload", |
| method: "POST", |
| headers: { |
| ...form.getHeaders() |
| }, |
| data: form |
| }) |
| return resolve("https://telegra.ph" + data.data[0].src) |
| } catch (err) { |
| return reject(new Error(String(err))) |
| } |
| }) |
| } |
| const sleepy = async (ms) => { |
| return new Promise(resolve => setTimeout(resolve, ms)); |
| } |
| exports.buffergif = async (image) => { |
| |
| const filename = `${Math.random().toString(36)}` |
| await fs.writeFileSync(`./XeonMedia/trash/${filename}.gif`, image) |
| child_process.exec( |
| `ffmpeg -i ./XeonMedia/trash/${filename}.gif -movflags faststart -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" ./XeonMedia/trash/${filename}.mp4` |
| ) |
| await sleepy(4000) |
| |
| var buffer5 = await fs.readFileSync(`./XeonMedia/trash/${filename}.mp4`) |
| Promise.all([unlink(`./XeonMedia/video/${filename}.mp4`), unlink(`./XeonMedia/gif/${filename}.gif`)]) |
| return buffer5 |
| } |