mirror of
https://codeberg.org/ashley/poke.git
synced 2024-11-17 09:34:41 -05:00
Update fetcher.js
This commit is contained in:
parent
444757963b
commit
a068e8aafd
1 changed files with 34 additions and 27 deletions
|
@ -16,41 +16,48 @@
|
|||
along with this program. If not, see https://www.gnu.org/licenses/.
|
||||
*/
|
||||
const fetch = require("node-fetch"); //2.5.x
|
||||
const superfetch = require("../src/modules/node-superfetch.js")
|
||||
const xmltojson = require("xml2json")
|
||||
const lyricsFinder = require("lyrics-finder");
|
||||
var youtube_url = `https://www.youtube.com/watch?v=`;
|
||||
var dislike_api = `https://returnyoutubedislikeapi.com/votes?videoId=`
|
||||
var proxy = `https://yt-proxy-api.herokuapp.com/get_player_info?v=`
|
||||
var new_api_url = `https://lighttube.herokuapp.com/api/player`
|
||||
|
||||
module.exports = async function(video_id){
|
||||
|
||||
const pro = await fetch(`${proxy}${video_id}`).then((res) => res.json());
|
||||
const dislike = await fetch(`${dislike_api}${video_id}`).then((res) => res.json());
|
||||
const dislike = await fetch(`${dislike_api}${video_id}`).then((res) => res.json());
|
||||
const dislikes = dislike.dislikes
|
||||
/*
|
||||
functions to fetch xml
|
||||
*/
|
||||
async function fetchxml(id){
|
||||
const player = await fetch(`https://lighttube.herokuapp.com/api/player?v=${id}`)
|
||||
return player.text()
|
||||
}
|
||||
|
||||
/*
|
||||
This is a if else statment to check the lastest
|
||||
format from the fetched url and return it lmao
|
||||
*/
|
||||
if(pro.formats[1].url){
|
||||
var url = pro.formats[1].url
|
||||
} else if(!pro.formats[1].url){
|
||||
var s = pro.formats
|
||||
const lastItem = s[s.length - 1];
|
||||
var url = lastItem.url
|
||||
}
|
||||
async function parsexml(id){
|
||||
var h = await fetchxml(id)
|
||||
var j = xmltojson.toJson(h);
|
||||
return JSON.parse(j);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Returner object
|
||||
*/
|
||||
const returner = {
|
||||
video:pro,
|
||||
dislikes:dislikes,
|
||||
likes:dislike.likes,
|
||||
video_downloaded_url:url,
|
||||
video_url_youtube:`${youtube_url}${video_id}`,
|
||||
video:await parsexml(video_id),
|
||||
engagement:dislike,
|
||||
video_url_youtube:`${youtube_url}${video_id}`
|
||||
}
|
||||
return returner
|
||||
}
|
||||
|
||||
module.exports.searcher = async function searcher(query,res){
|
||||
const search = await fetch(`https://lighttube.herokuapp.com/api/search?query=${query}`)
|
||||
const text = await search.text()
|
||||
const j = JSON.parse(xmltojson.toJson(text));
|
||||
for (item of j.Search.Results.Video) {
|
||||
const videoid = item.id;
|
||||
return res.redirect(`/watch?v=${videoid}`);
|
||||
}
|
||||
}
|
||||
|
||||
return returner
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue