this-is-bad-api
Version:
API wrapper for this-is-a-bad.site
85 lines (73 loc) • 2.46 kB
JavaScript
const http = require('http');
const YoutubeDL = require('./youtube.js');
const ShareX = require('./sharex.js');
class BadAPI {
constructor(key) {
if(!key) throw new Error('No key provided.');
this.key = key;
this.youtubeDL = new YoutubeDL(key);
this.shareX = new ShareX(key);
}
getMeme() {
http.get(`http://this-is-a-bad.site/api/${this.key}&meme`, response => {
let data = '';
response.on('data', (chunk) => {
data += chunk;
});
response.on('end', () => {
let parsedData = JSON.parse(data);
if(parsedData.message) {
throw new Error(parsedData.message);
}
console.log(parsedData);
return parsedData;
});
});
}
getCute() {
http.get(`http://this-is-a-bad.site/api/${this.key}&cute`, response => {
let data = '';
response.on('data', (chunk) => {
data += chunk;
});
response.on('end', () => {
let parsedData = JSON.parse(data);
if(parsedData.message) {
throw new Error(parsedData.message);
}
return parsedData;
});
});
}
getWallpaper() {
http.get(`http://this-is-a-bad.site/api/${this.key}&wallpaper`, response => {
let data = '';
response.on('data', (chunk) => {
data += chunk;
});
response.on('end', () => {
let parsedData = JSON.parse(data);
if(parsedData.message) {
throw new Error(parsedData.message);
}
return parsedData;
});
});
}
getGif() {
http.get(`http://this-is-a-bad.site/api/${this.key}&gif`, response => {
let data = '';
response.on('data', (chunk) => {
data += chunk;
});
response.on('end', () => {
let parsedData = JSON.parse(data);
if(parsedData.message) {
throw new Error(parsedData.message);
}
return parsedData;
});
});
}
}
module.exports = BadAPI;