From 51d44ebe3fc9e450d882fccc2b0a5dc978ee89b1 Mon Sep 17 00:00:00 2001 From: Ashley Date: Sun, 6 Mar 2022 19:19:13 +0300 Subject: [PATCH] Create lyrics.js --- src/lyrics.js | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 src/lyrics.js diff --git a/src/lyrics.js b/src/lyrics.js new file mode 100644 index 00000000..86bd51d9 --- /dev/null +++ b/src/lyrics.js @@ -0,0 +1,46 @@ + const fetch = require('node-fetch'); + const htmlToText = require('html-to-text'); + const encoding = require('encoding'); + const delim1 = '
'; + const delim2 = '
'; + const url = "https://www.google.com/search?q="; + + async function main(e="", d="") { + let i; + try { + i = await fetch(`${url}${encodeURIComponent(d + " " + e)}+lyrics`); + i = await i.textConverted(); + [, i] = i.split(delim1); + [i] = i.split(delim2); + } catch (m) { + try { + i = await fetch(`${url}${encodeURIComponent(d + " " + e)}+song+lyrics`); + i = await i.textConverted(); + [, i] = i.split(delim1); + [i] = i.split(delim2); + } catch (n) { + try { + i = await fetch(`${url}${encodeURIComponent(d + " " + e)}+song`); + i = await i.textConverted(); + [, i] = i.split(delim1); + [i] = i.split(delim2); + } catch (o) { + try { + i = await fetch(`${url}${encodeURIComponent(d + " " + e)}`); + i = await i.textConverted(); + [, i] = i.split(delim1); + [i] = i.split(delim2); + } catch (p) { + i = ''; + } + } + } + } + const ret = i.split('\n'); + let final = ''; + for (let j = 0; j < ret.length; j += 1) { + final = `${final}${htmlToText.fromString(ret[j])}\n`; + } + return String(encoding.convert(final)).trim(); + } + module.exports = main;