mirror of
https://github.com/ION606/selmerBot.git
synced 2026-05-15 05:36:54 +00:00
60 lines
1.9 KiB
JavaScript
60 lines
1.9 KiB
JavaScript
const hastebin = require("hastebin-gen");
|
|
const { addComplaintButton } = require('../dev only/submitcomplaint');
|
|
const { Constants } = require('discord.js');
|
|
const { URL } = require("url");
|
|
|
|
|
|
function isValidUrl(s) {
|
|
try {
|
|
new URL(s);
|
|
return true;
|
|
} catch (err) {
|
|
return false;
|
|
}
|
|
};
|
|
|
|
|
|
module.exports ={
|
|
name: "scrape",
|
|
description: "Scrapes a website, then puts the result into a hastebin",
|
|
async execute(interaction, Discord, Client, bot) {
|
|
const axios = require('axios');
|
|
// const cheerio = require('cheerio');
|
|
const url = interaction.options.data[0].value;
|
|
|
|
if (!isValidUrl(url)) {
|
|
return interaction.reply("Please enter a valid url").catch((err) => {
|
|
interaction.channel.send("Please enter a valid url");
|
|
});
|
|
}
|
|
|
|
axios(url)
|
|
.then(async response => {
|
|
const html = response.data;
|
|
// const $ = cheerio.load(html);
|
|
//lyrics = $('.para_row').text();
|
|
|
|
const haste = await hastebin(html, { extension: "txt" });
|
|
interaction.reply(haste);
|
|
// console.log(lyrics);
|
|
})
|
|
.catch(function(err) {
|
|
if (err.message.indexOf('The "url" argument must be of type string') != -1) {
|
|
interaction.reply("The URL should be a string!");
|
|
} else if (err.code == 'ERR_BAD_REQUEST') {
|
|
interaction.reply("404 link not valid!")
|
|
} else {
|
|
const m = interaction.reply("Oops! There's been an error, click the ✅ to report this!");
|
|
|
|
m.then((msg) => {
|
|
addComplaintButton(bot, msg);
|
|
});
|
|
|
|
console.log(err);
|
|
}
|
|
});
|
|
},
|
|
options: [{name: 'url', description: 'The website URL', type: Constants.ApplicationCommandOptionTypes.STRING, required: true }]
|
|
}
|
|
|
|
//TEST: https://www.karaoketexty.cz/texty-pisni/zoegirl/plain-170199
|