add color support!

This commit is contained in:
Ashley 2022-05-20 19:23:12 +03:00 committed by GitHub
parent 1da836b309
commit 72e676691e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -15,15 +15,15 @@
along with this program. If not, see https://www.gnu.org/licenses/. along with this program. If not, see https://www.gnu.org/licenses/.
*/ */
const path = require("path"); const path = require("path");
const htmlParser = require("node-html-parser");
const moment = require("moment"); const moment = require("moment");
const templateDir = path.resolve(`${process.cwd()}${path.sep}html`); const templateDir = path.resolve(`${process.cwd()}${path.sep}html`);
var express = require("express"); var express = require("express");
var app = express(); var app = express();
app.engine("html", require("ejs").renderFile); app.engine("html", require("ejs").renderFile);
app.use(express.urlencoded({ extended: true })) // for parsing application/x-www-form-urlencoded app.use(express.urlencoded({ extended: true })) // for parsing application/x-www-form-urlencoded
var dislike_api = `https://returnyoutubedislikeapi.com/votes?videoId=` var dislike_api = `https://returnyoutubedislikeapi.com/votes?videoId=`
app.set("view engine", "html"); app.set("view engine", "html");
const lyricsFinder = require("./src/lyrics.js"); const lyricsFinder = require("./src/lyrics.js");
const renderTemplate = async (res, req, template, data = {}) => { const renderTemplate = async (res, req, template, data = {}) => {
@ -32,7 +32,6 @@ const renderTemplate = async (res, req, template, data = {}) => {
Object.assign(data) Object.assign(data)
); );
}; };
const random_words = [ const random_words = [
"banana pie", "banana pie",
"how to buy an atom bomb", "how to buy an atom bomb",
@ -48,8 +47,10 @@ const fetch = require("node-fetch");
const fetcher = require("./src/fetcher.js"); const fetcher = require("./src/fetcher.js");
app.get("/watch", async function (req, res) { app.get("/watch", async function (req, res) {
var v = req.query.v; var v = req.query.v;
var e = req.query.e; const getColors = require('get-image-colors')
var e = req.query.e;
if(!v) res.redirect("/") if(!v) res.redirect("/")
var fetching = await fetcher(v) var fetching = await fetcher(v)
const j = fetching.video.Player.Formats.Format, const j = fetching.video.Player.Formats.Format,
@ -63,8 +64,10 @@ if (j_.URL != undefined)
const engagement = fetching.engagement const engagement = fetching.engagement
const lyrics = await lyricsFinder(json.Title); const lyrics = await lyricsFinder(json.Title);
if (lyrics == undefined) lyrics = "Lyrics not found"; if (lyrics == undefined) lyrics = "Lyrics not found";
renderTemplate(res, req, "youtube.ejs", { renderTemplate(res, req, "youtube.ejs", {
url: url, url: url,
color: await getColors(`https://i.ytimg.com/vi/${v}/maxresdefault.jpg`).then((colors) => colors[0].hex()),
engagement:engagement, engagement:engagement,
title: json, title: json,
a:json, a:json,