mirror of
https://github.com/ION606/selmerBot.git
synced 2026-05-14 21:26:54 +00:00
Mostly cleaning and added the JSON to Map to Print function
This commit is contained in:
@@ -6,3 +6,4 @@ config.json
|
||||
!spec/LevelsXP.txt
|
||||
*.sqlite
|
||||
temp.js
|
||||
trivia.js
|
||||
@@ -23,6 +23,7 @@ async function welcome(member, welcomechannel, welcomemessage = null, welcomeban
|
||||
// const background = new CanvasImport.Image();
|
||||
// background.src = arrayBufferToBuffer(data);
|
||||
|
||||
|
||||
// This uses the canvas dimensions to stretch the image onto the entire canvas
|
||||
// context.drawImage(background, 0, 0, canvas.width, canvas.height);
|
||||
context.fillStyle = 'rgba(0,0,0,1)';
|
||||
|
||||
@@ -11,9 +11,12 @@ module.exports = {
|
||||
name += args[i] + " ";
|
||||
i++;
|
||||
}
|
||||
}
|
||||
} else { name = args[0]; }
|
||||
|
||||
if (args[args.length - 1] != args[args.length - 1] != '~fancy' && args[args.length - 1] != '~summary' && args[args.length - 1] != '~stats') { args.push('~stats'); }
|
||||
|
||||
scraper.getInfoFromName(name).then((data) => {
|
||||
try {
|
||||
if (args[args.length - 1] == '~stats') {
|
||||
const newEmbed = new Discord.MessageEmbed()
|
||||
.setColor('#002eff')
|
||||
@@ -45,6 +48,11 @@ module.exports = {
|
||||
} else {
|
||||
message.reply(`Unknown command, try using the format '${bot.prefix}asearch <anime name> [~stats or ~fancy or ~summary]`);
|
||||
}
|
||||
} catch (err) {
|
||||
if (err.message.indexOf('MessageEmbed field values must be non-empty strings') != -1) {
|
||||
message.reply(`Insufficient information on website!\nThe page can be found here: ${data.url}`);
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
const { MongoClient, ServerApiVersion } = require('mongodb');
|
||||
const { createSubscriptionManual } = require('./premium/stripe.js');
|
||||
const { pause_start_stop, playNext, showQueue } = require('./misc/playAudio.js');
|
||||
// const { RSSInteractionHandler } = require('./premium/rssFeed.js');
|
||||
|
||||
|
||||
async function handle_interaction(interaction, mongouri, turnManager, bot, STATE, items, xp_collection) {
|
||||
@@ -69,7 +70,7 @@ async function handle_interaction(interaction, mongouri, turnManager, bot, STATE
|
||||
pause_start_stop(interaction, bot);
|
||||
}
|
||||
|
||||
} //else ifs here
|
||||
} //Button else ifs here
|
||||
});
|
||||
|
||||
client.close();
|
||||
@@ -129,9 +130,9 @@ async function handle_interaction(interaction, mongouri, turnManager, bot, STATE
|
||||
|
||||
//Handle the interaction here
|
||||
}
|
||||
}
|
||||
|
||||
//menu else ifs here
|
||||
} /*else if (interaction.customId.indexOf('RSS') != -1) {
|
||||
RSSInteractionHandler(bot, interaction);
|
||||
}*/ //menu else ifs here
|
||||
} //other selection types here
|
||||
}
|
||||
|
||||
|
||||
@@ -211,7 +211,8 @@ function fromMessage(bot, command, msg) {
|
||||
const message = msg.channel.messages.cache.get(data[2]);
|
||||
// console.log(message);
|
||||
|
||||
var em = message.embeds[0];
|
||||
var em;
|
||||
if (message.embeds) { em = message.embeds[0]; }
|
||||
var rows;
|
||||
|
||||
if (command == 'stop') {
|
||||
|
||||
@@ -12,6 +12,7 @@ module.exports ={
|
||||
const html = response.data;
|
||||
const $ = cheerio.load(html);
|
||||
//lyrics = $('.para_row').text();
|
||||
|
||||
const haste = await hastebin(html, { extension: "txt" });
|
||||
message.channel.send(haste);
|
||||
// console.log(lyrics);
|
||||
@@ -19,6 +20,8 @@ module.exports ={
|
||||
.catch(function(err) {
|
||||
if (err.message.indexOf('The "url" argument must be of type string') != -1) {
|
||||
message.reply("The URL should be a string!");
|
||||
} else if (err.code == 'ERR_BAD_REQUEST') {
|
||||
message.reply("404 link not valid!")
|
||||
} else {
|
||||
message.reply("Oops! There's been an error");
|
||||
}
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
/**
|
||||
* @param {JSON} inp
|
||||
* @returns {Map<String, Map>}
|
||||
*/
|
||||
function jsonToMapRecursive(inp) {
|
||||
if (typeof(inp) != 'object') {
|
||||
return inp;
|
||||
}
|
||||
|
||||
let m2 = new Map();
|
||||
Object.entries(inp).forEach((key) => { m2.set(key[0], jsonToMapRecursive(inp[key[0]])); });
|
||||
return m2;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {Map} inp
|
||||
* @param {int} layer
|
||||
* @returns The map in string format
|
||||
*
|
||||
* @example
|
||||
* {"key1": "val1", "key2": "key3": {"key4": "Val4"}} ==>>
|
||||
* `
|
||||
* |-- key1
|
||||
* | |-- val1
|
||||
* |
|
||||
* |-- key2
|
||||
* | |-- val3
|
||||
* | | |-- key4
|
||||
* | | | |--val4
|
||||
* `
|
||||
*/
|
||||
function mapToTableRecursive(inp, layer = 1) {
|
||||
var temp = '';
|
||||
|
||||
if (typeof(inp) != 'object') {
|
||||
// return `?[${inp}]`;
|
||||
return '';
|
||||
}
|
||||
|
||||
Array.from(inp.keys()).forEach((key) => {
|
||||
var keyTemp = ('| ').repeat(layer);
|
||||
temp += `${keyTemp}- - ${key}\n`.replaceAll(' - -', '- -');
|
||||
temp += mapToTable(inp.get(key), layer + 1);
|
||||
});
|
||||
|
||||
temp += ('| ').repeat(layer - 1) + '\n';
|
||||
|
||||
if (layer == 1) {
|
||||
var links = new Array();
|
||||
|
||||
//Post-processing
|
||||
var l = temp.split('\n')
|
||||
|
||||
l = l.filter((entry, ind) => {
|
||||
return entry.trim() == '|' || !((/[^A-Za-z0-9 ]+$/).test(entry.trim()) && (/[^A-Za-z0-9 ]+$/).test(l[ind + 1].trim()));
|
||||
});
|
||||
|
||||
temp = l.join('\n')
|
||||
|
||||
//Get the links
|
||||
Array.from(inp.keys()).forEach((key) => {
|
||||
links.push(key);
|
||||
});
|
||||
|
||||
return [temp, links];
|
||||
}
|
||||
|
||||
return temp;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -84,7 +84,7 @@ let mongouritemp;
|
||||
if (process.env.MONGODB_URI) {
|
||||
mongouritemp = process.env.MONGODB_URI;
|
||||
} else {
|
||||
mongouritemp = require('./config.json');
|
||||
mongouritemp = require('./config.json').mongooseURI;
|
||||
}
|
||||
const mongouri = mongouritemp;
|
||||
bot.mongouri = mongouri;
|
||||
@@ -98,7 +98,7 @@ const { connect } = require('mongoose');
|
||||
// const commandFiles = fs.readdirSync('./commands/').filter(file => file.endsWith('.js')); // Obsolete?
|
||||
|
||||
bot.commands = new Discord.Collection();
|
||||
const forbiddenFolders = ['db', 'premium', 'dev only'];
|
||||
const forbiddenFolders = ['db', 'dev only']; //premium,
|
||||
|
||||
fs.readdirSync('./commands')
|
||||
.forEach(dir => {
|
||||
@@ -108,7 +108,7 @@ fs.readdirSync('./commands')
|
||||
.forEach(file => {
|
||||
const command = require(`./commands/${dir}/${file}`);
|
||||
if (command.name && command.description) {
|
||||
bot.commands.set(command.name, command);
|
||||
bot.commands.set(command.name.toLowerCase(), command);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -123,10 +123,12 @@ temp_command = require('./commands/games/game.js');
|
||||
bot.commands.set('game', temp_command);
|
||||
|
||||
//Everything in the API should be handled by specific handler functions
|
||||
const chat = require('./commands/premium/chat.js');
|
||||
bot.commands.set('chat', chat);
|
||||
const stripeCommands = require('./commands/premium/stripe.js');
|
||||
bot.commands.set('premium', stripeCommands);
|
||||
// const chat = require('./commands/premium/chat.js');
|
||||
// bot.commands.set('chat', chat);
|
||||
// const stripeCommands = require('./commands/premium/stripe.js');
|
||||
// bot.commands.set('premium', stripeCommands);
|
||||
// const
|
||||
// bot.commands.set('RSS', )
|
||||
|
||||
//#endregion
|
||||
|
||||
|
||||
Generated
+233
-366
@@ -15,10 +15,11 @@
|
||||
"apt": "^0.0.2",
|
||||
"arraybuffer-to-buffer": "^0.0.7",
|
||||
"axios": "^0.27.2",
|
||||
"canvas": "^2.9.1",
|
||||
"canvas": "^2.9.3",
|
||||
"cheerio": "^1.0.0-rc.10",
|
||||
"discord-reply": "^0.1.2",
|
||||
"discord.js": "^13.6.0",
|
||||
"feedparser": "^2.2.10",
|
||||
"ffmpeg": "^0.0.4",
|
||||
"ffmpeg-static": "^5.0.0",
|
||||
"hastebin-gen": "^2.0.5",
|
||||
@@ -31,6 +32,8 @@
|
||||
"openai": "^3.0.0",
|
||||
"play-dl": "^1.9.4",
|
||||
"random-memes": "^3.1.0",
|
||||
"request": "^2.88.2",
|
||||
"rss-parser": "^3.12.0",
|
||||
"sequelize": "^6.19.0",
|
||||
"sqlite3": "^5.0.3",
|
||||
"stripe": "^9.11.0",
|
||||
@@ -109,14 +112,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@discordjs/node-pre-gyp": {
|
||||
"version": "0.4.2",
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/node-pre-gyp/-/node-pre-gyp-0.4.2.tgz",
|
||||
"integrity": "sha512-V239Czn+DXFGLhhuccwEDBoTdgMGrRu30dOlzm1GzrSIjwFj01ZJerNX7x+CEX1NG1Q/1gGfOOkeZFNHjycrRA==",
|
||||
"version": "0.4.4",
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/node-pre-gyp/-/node-pre-gyp-0.4.4.tgz",
|
||||
"integrity": "sha512-x569MMtdk6jdGo2S58iiZoyv4p/N2Ju8Nh6vvzZb1wyouV7IE3VuU0hg2kqUmTfD0z6r4uD6acvMTuc+iA3f8g==",
|
||||
"dependencies": {
|
||||
"detect-libc": "^1.0.3",
|
||||
"detect-libc": "^2.0.0",
|
||||
"https-proxy-agent": "^5.0.0",
|
||||
"make-dir": "^3.1.0",
|
||||
"node-fetch": "^2.6.5",
|
||||
"node-fetch": "^2.6.7",
|
||||
"nopt": "^5.0.0",
|
||||
"npmlog": "^5.0.1",
|
||||
"rimraf": "^3.0.2",
|
||||
@@ -128,18 +131,23 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@discordjs/opus": {
|
||||
"version": "0.7.0",
|
||||
"resolved": "git+ssh://git@github.com/discordjs/opus.git#fbd68eeca7637559bf3141b0ae76d48873b8d18a",
|
||||
"version": "0.8.0",
|
||||
"resolved": "git+ssh://git@github.com/discordjs/opus.git#478484d2482c38e3a5f5c7cb8fb2cf9cf3f2c9bc",
|
||||
"hasInstallScript": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@discordjs/node-pre-gyp": "^0.4.2",
|
||||
"node-addon-api": "^4.2.0"
|
||||
"@discordjs/node-pre-gyp": "^0.4.4",
|
||||
"node-addon-api": "^5.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@discordjs/opus/node_modules/node-addon-api": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.0.0.tgz",
|
||||
"integrity": "sha512-CvkDw2OEnme7ybCykJpVcKH+uAOLV2qLqiyla128dN9TkEWfrYmxG6C2boDe5KcNQqZF3orkqzGgOMvZ/JNekA=="
|
||||
},
|
||||
"node_modules/@discordjs/voice": {
|
||||
"version": "0.8.0",
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/voice/-/voice-0.8.0.tgz",
|
||||
@@ -156,70 +164,6 @@
|
||||
"node": ">=16.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@discordjs/voice/node_modules/@discordjs/opus": {
|
||||
"version": "0.5.3",
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/opus/-/opus-0.5.3.tgz",
|
||||
"integrity": "sha512-IQhCwCy2WKXLe+qkOkwO1Wjgk20uqeAbqM62tCbzIqbTsXX4YAge8Me9RFnI77Lx+UTkgm4rSVM3VPVdS/GsUw==",
|
||||
"hasInstallScript": true,
|
||||
"optional": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@discordjs/node-pre-gyp": "^0.4.0",
|
||||
"node-addon-api": "^3.2.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@discordjs/voice/node_modules/ffmpeg-static": {
|
||||
"version": "4.4.1",
|
||||
"resolved": "https://registry.npmjs.org/ffmpeg-static/-/ffmpeg-static-4.4.1.tgz",
|
||||
"integrity": "sha512-gyGTIf5kgmLDmH7Rwj8vMmNK46bjXKKofHS2gY+LUqoTe/iybVuTuvnhJQR2tZHlKlDG7A/BIH7cRa2jWDKgWw==",
|
||||
"hasInstallScript": true,
|
||||
"optional": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@derhuerst/http-basic": "^8.2.0",
|
||||
"env-paths": "^2.2.0",
|
||||
"https-proxy-agent": "^5.0.0",
|
||||
"progress": "^2.0.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/@discordjs/voice/node_modules/node-addon-api": {
|
||||
"version": "3.2.1",
|
||||
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz",
|
||||
"integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==",
|
||||
"optional": true,
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/@discordjs/voice/node_modules/prism-media": {
|
||||
"version": "1.3.2",
|
||||
"resolved": "https://registry.npmjs.org/prism-media/-/prism-media-1.3.2.tgz",
|
||||
"integrity": "sha512-L6UsGHcT6i4wrQhFF1aPK+MNYgjRqR2tUoIqEY+CG1NqVkMjPRKzS37j9f8GiYPlD6wG9ruBj+q5Ax+bH8Ik1g==",
|
||||
"peerDependencies": {
|
||||
"@discordjs/opus": "^0.5.0",
|
||||
"ffmpeg-static": "^4.2.7 || ^3.0.0 || ^2.4.0",
|
||||
"node-opus": "^0.3.3",
|
||||
"opusscript": "^0.0.8"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@discordjs/opus": {
|
||||
"optional": true
|
||||
},
|
||||
"ffmpeg-static": {
|
||||
"optional": true
|
||||
},
|
||||
"node-opus": {
|
||||
"optional": true
|
||||
},
|
||||
"opusscript": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/@gar/promisify": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz",
|
||||
@@ -245,14 +189,6 @@
|
||||
"node-pre-gyp": "bin/node-pre-gyp"
|
||||
}
|
||||
},
|
||||
"node_modules/@mapbox/node-pre-gyp/node_modules/detect-libc": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz",
|
||||
"integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==",
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/@napi-rs/canvas": {
|
||||
"version": "0.1.22",
|
||||
"resolved": "https://registry.npmjs.org/@napi-rs/canvas/-/canvas-0.1.22.tgz",
|
||||
@@ -555,6 +491,11 @@
|
||||
"node": ">=6.5"
|
||||
}
|
||||
},
|
||||
"node_modules/addressparser": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/addressparser/-/addressparser-1.0.1.tgz",
|
||||
"integrity": "sha512-aQX7AISOMM7HFE0iZ3+YnD07oIeJqWGVnJ+ZIKaBZAk03ftmVYVqsGas/rbXKR21n4D/hKCSHypvcyOkds/xzg=="
|
||||
},
|
||||
"node_modules/agent-base": {
|
||||
"version": "6.0.2",
|
||||
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
|
||||
@@ -657,6 +598,11 @@
|
||||
"node": ">= 6"
|
||||
}
|
||||
},
|
||||
"node_modules/array-indexofobject": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/array-indexofobject/-/array-indexofobject-0.0.1.tgz",
|
||||
"integrity": "sha512-tpdPBIBm4TMNxSp8O3pZgC7mF4+wn9SmJlhE+7bi5so6x39PvzUqChQMbv93R5ilYGZ1HV+Neki4IH/i+87AoQ=="
|
||||
},
|
||||
"node_modules/arraybuffer-to-buffer": {
|
||||
"version": "0.0.7",
|
||||
"resolved": "https://registry.npmjs.org/arraybuffer-to-buffer/-/arraybuffer-to-buffer-0.0.7.tgz",
|
||||
@@ -845,9 +791,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/canvas": {
|
||||
"version": "2.9.1",
|
||||
"resolved": "https://registry.npmjs.org/canvas/-/canvas-2.9.1.tgz",
|
||||
"integrity": "sha512-vSQti1uG/2gjv3x6QLOZw7TctfufaerTWbVe+NSduHxxLGB+qf3kFgQ6n66DSnuoINtVUjrLLIK2R+lxrBG07A==",
|
||||
"version": "2.9.3",
|
||||
"resolved": "https://registry.npmjs.org/canvas/-/canvas-2.9.3.tgz",
|
||||
"integrity": "sha512-WOUM7ghii5TV2rbhaZkh1youv/vW1/Canev6Yx6BG2W+1S07w8jKZqKkPnbiPpQEDsnJdN8ouDd7OvQEGXDcUw==",
|
||||
"hasInstallScript": true,
|
||||
"dependencies": {
|
||||
"@mapbox/node-pre-gyp": "^1.0.0",
|
||||
@@ -1060,14 +1006,11 @@
|
||||
}
|
||||
},
|
||||
"node_modules/detect-libc": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
|
||||
"integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==",
|
||||
"bin": {
|
||||
"detect-libc": "bin/detect-libc.js"
|
||||
},
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz",
|
||||
"integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==",
|
||||
"engines": {
|
||||
"node": ">=0.10"
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/discord-api-types": {
|
||||
@@ -1091,21 +1034,6 @@
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-0.1.6.tgz",
|
||||
"integrity": "sha512-utRNxnd9kSS2qhyivo9lMlt5qgAUasH2gb7BEOn6p0efFh24gjGomHzWKMAPn2hEReOPQZCJaRKoURwRotKucQ=="
|
||||
},
|
||||
"node_modules/discord-reply/node_modules/@discordjs/opus": {
|
||||
"version": "0.5.3",
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/opus/-/opus-0.5.3.tgz",
|
||||
"integrity": "sha512-IQhCwCy2WKXLe+qkOkwO1Wjgk20uqeAbqM62tCbzIqbTsXX4YAge8Me9RFnI77Lx+UTkgm4rSVM3VPVdS/GsUw==",
|
||||
"hasInstallScript": true,
|
||||
"optional": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@discordjs/node-pre-gyp": "^0.4.0",
|
||||
"node-addon-api": "^3.2.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/discord-reply/node_modules/discord.js": {
|
||||
"version": "12.5.3",
|
||||
"resolved": "https://registry.npmjs.org/discord.js/-/discord.js-12.5.3.tgz",
|
||||
@@ -1125,55 +1053,6 @@
|
||||
"node": ">=12.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/discord-reply/node_modules/ffmpeg-static": {
|
||||
"version": "4.4.1",
|
||||
"resolved": "https://registry.npmjs.org/ffmpeg-static/-/ffmpeg-static-4.4.1.tgz",
|
||||
"integrity": "sha512-gyGTIf5kgmLDmH7Rwj8vMmNK46bjXKKofHS2gY+LUqoTe/iybVuTuvnhJQR2tZHlKlDG7A/BIH7cRa2jWDKgWw==",
|
||||
"hasInstallScript": true,
|
||||
"optional": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@derhuerst/http-basic": "^8.2.0",
|
||||
"env-paths": "^2.2.0",
|
||||
"https-proxy-agent": "^5.0.0",
|
||||
"progress": "^2.0.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/discord-reply/node_modules/node-addon-api": {
|
||||
"version": "3.2.1",
|
||||
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz",
|
||||
"integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==",
|
||||
"optional": true,
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/discord-reply/node_modules/prism-media": {
|
||||
"version": "1.3.2",
|
||||
"resolved": "https://registry.npmjs.org/prism-media/-/prism-media-1.3.2.tgz",
|
||||
"integrity": "sha512-L6UsGHcT6i4wrQhFF1aPK+MNYgjRqR2tUoIqEY+CG1NqVkMjPRKzS37j9f8GiYPlD6wG9ruBj+q5Ax+bH8Ik1g==",
|
||||
"peerDependencies": {
|
||||
"@discordjs/opus": "^0.5.0",
|
||||
"ffmpeg-static": "^4.2.7 || ^3.0.0 || ^2.4.0",
|
||||
"node-opus": "^0.3.3",
|
||||
"opusscript": "^0.0.8"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@discordjs/opus": {
|
||||
"optional": true
|
||||
},
|
||||
"ffmpeg-static": {
|
||||
"optional": true
|
||||
},
|
||||
"node-opus": {
|
||||
"optional": true
|
||||
},
|
||||
"opusscript": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/discord-reply/node_modules/tweetnacl": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz",
|
||||
@@ -1359,6 +1238,28 @@
|
||||
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
|
||||
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
|
||||
},
|
||||
"node_modules/feedparser": {
|
||||
"version": "2.2.10",
|
||||
"resolved": "https://registry.npmjs.org/feedparser/-/feedparser-2.2.10.tgz",
|
||||
"integrity": "sha512-WoAOooa61V8/xuKMi2pEtK86qQ3ZH/M72EEGdqlOTxxb3m6ve1NPvZcmPFs3wEDfcBbFLId2GqZ4YjsYi+h1xA==",
|
||||
"dependencies": {
|
||||
"addressparser": "^1.0.1",
|
||||
"array-indexofobject": "~0.0.1",
|
||||
"lodash.assign": "^4.2.0",
|
||||
"lodash.get": "^4.4.2",
|
||||
"lodash.has": "^4.5.2",
|
||||
"lodash.uniq": "^4.5.0",
|
||||
"mri": "^1.1.5",
|
||||
"readable-stream": "^2.3.7",
|
||||
"sax": "^1.2.4"
|
||||
},
|
||||
"bin": {
|
||||
"feedparser": "bin/feedparser.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 10.18.1"
|
||||
}
|
||||
},
|
||||
"node_modules/ffmpeg": {
|
||||
"version": "0.0.4",
|
||||
"resolved": "https://registry.npmjs.org/ffmpeg/-/ffmpeg-0.0.4.tgz",
|
||||
@@ -1368,9 +1269,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/ffmpeg-static": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ffmpeg-static/-/ffmpeg-static-5.0.0.tgz",
|
||||
"integrity": "sha512-z96jGVa8uCVMnyrTvbDZe0d5zbvIVQnfBN+vKDZoVK+ssYpfUJGEmo2DkuY43CA9Ytlsk+5ZVTFTqzvKw1gSaA==",
|
||||
"version": "5.0.2",
|
||||
"resolved": "https://registry.npmjs.org/ffmpeg-static/-/ffmpeg-static-5.0.2.tgz",
|
||||
"integrity": "sha512-rYeA04AGbvxbUxov6Cn/KDKIzw2rmzwPlgHoqn837NZt0xPdOVA9mJMILz9IX27R45hhSlXS6nThk85XxDivLg==",
|
||||
"hasInstallScript": true,
|
||||
"dependencies": {
|
||||
"@derhuerst/http-basic": "^8.2.0",
|
||||
@@ -1862,6 +1763,26 @@
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
|
||||
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
|
||||
},
|
||||
"node_modules/lodash.assign": {
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
|
||||
"integrity": "sha512-hFuH8TY+Yji7Eja3mGiuAxBqLagejScbG8GbG0j6o9vzn0YL14My+ktnqtZgFTosKymC9/44wP6s7xyuLfnClw=="
|
||||
},
|
||||
"node_modules/lodash.get": {
|
||||
"version": "4.4.2",
|
||||
"resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
|
||||
"integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ=="
|
||||
},
|
||||
"node_modules/lodash.has": {
|
||||
"version": "4.5.2",
|
||||
"resolved": "https://registry.npmjs.org/lodash.has/-/lodash.has-4.5.2.tgz",
|
||||
"integrity": "sha512-rnYUdIo6xRCJnQmbVFEwcxF144erlD+M3YcJUVesflU9paQaE8p+fJDcIQrlMYbxoANFL+AB9hZrzSBBk5PL+g=="
|
||||
},
|
||||
"node_modules/lodash.uniq": {
|
||||
"version": "4.5.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
|
||||
"integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ=="
|
||||
},
|
||||
"node_modules/lru-cache": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
|
||||
@@ -2122,9 +2043,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/moment": {
|
||||
"version": "2.29.3",
|
||||
"resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz",
|
||||
"integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==",
|
||||
"version": "2.29.4",
|
||||
"resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz",
|
||||
"integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==",
|
||||
"engines": {
|
||||
"node": "*"
|
||||
}
|
||||
@@ -2211,6 +2132,14 @@
|
||||
"node": ">=12.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/mri": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
|
||||
"integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==",
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"node_modules/ms": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
||||
@@ -4788,6 +4717,31 @@
|
||||
"node": ">=16.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/prism-media": {
|
||||
"version": "1.3.4",
|
||||
"resolved": "https://registry.npmjs.org/prism-media/-/prism-media-1.3.4.tgz",
|
||||
"integrity": "sha512-eW7LXORkTCQznZs+eqe9VjGOrLBxcBPXgNyHXMTSRVhphvd/RrxgIR7WaWt4fkLuhshcdT5KHL88LAfcvS3f5g==",
|
||||
"peerDependencies": {
|
||||
"@discordjs/opus": "^0.8.0",
|
||||
"ffmpeg-static": "^5.0.2 || ^4.2.7 || ^3.0.0 || ^2.4.0",
|
||||
"node-opus": "^0.3.3",
|
||||
"opusscript": "^0.0.8"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@discordjs/opus": {
|
||||
"optional": true
|
||||
},
|
||||
"ffmpeg-static": {
|
||||
"optional": true
|
||||
},
|
||||
"node-opus": {
|
||||
"optional": true
|
||||
},
|
||||
"opusscript": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/process-nextick-args": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
|
||||
@@ -4970,6 +4924,23 @@
|
||||
"url": "https://github.com/sponsors/isaacs"
|
||||
}
|
||||
},
|
||||
"node_modules/rss-parser": {
|
||||
"version": "3.12.0",
|
||||
"resolved": "https://registry.npmjs.org/rss-parser/-/rss-parser-3.12.0.tgz",
|
||||
"integrity": "sha512-aqD3E8iavcCdkhVxNDIdg1nkBI17jgqF+9OqPS1orwNaOgySdpvq6B+DoONLhzjzwV8mWg37sb60e4bmLK117A==",
|
||||
"dependencies": {
|
||||
"entities": "^2.0.3",
|
||||
"xml2js": "^0.4.19"
|
||||
}
|
||||
},
|
||||
"node_modules/rss-parser/node_modules/entities": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
|
||||
"integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
|
||||
"funding": {
|
||||
"url": "https://github.com/fb55/entities?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/safe-buffer": {
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
|
||||
@@ -5685,74 +5656,10 @@
|
||||
"ytdl-core": "^4.8.2"
|
||||
}
|
||||
},
|
||||
"node_modules/ytdl-core-discord/node_modules/@discordjs/opus": {
|
||||
"version": "0.5.3",
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/opus/-/opus-0.5.3.tgz",
|
||||
"integrity": "sha512-IQhCwCy2WKXLe+qkOkwO1Wjgk20uqeAbqM62tCbzIqbTsXX4YAge8Me9RFnI77Lx+UTkgm4rSVM3VPVdS/GsUw==",
|
||||
"hasInstallScript": true,
|
||||
"optional": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@discordjs/node-pre-gyp": "^0.4.0",
|
||||
"node-addon-api": "^3.2.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/ytdl-core-discord/node_modules/@types/node": {
|
||||
"version": "15.14.9",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-15.14.9.tgz",
|
||||
"integrity": "sha512-qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A=="
|
||||
},
|
||||
"node_modules/ytdl-core-discord/node_modules/ffmpeg-static": {
|
||||
"version": "4.4.1",
|
||||
"resolved": "https://registry.npmjs.org/ffmpeg-static/-/ffmpeg-static-4.4.1.tgz",
|
||||
"integrity": "sha512-gyGTIf5kgmLDmH7Rwj8vMmNK46bjXKKofHS2gY+LUqoTe/iybVuTuvnhJQR2tZHlKlDG7A/BIH7cRa2jWDKgWw==",
|
||||
"hasInstallScript": true,
|
||||
"optional": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@derhuerst/http-basic": "^8.2.0",
|
||||
"env-paths": "^2.2.0",
|
||||
"https-proxy-agent": "^5.0.0",
|
||||
"progress": "^2.0.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/ytdl-core-discord/node_modules/node-addon-api": {
|
||||
"version": "3.2.1",
|
||||
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz",
|
||||
"integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==",
|
||||
"optional": true,
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/ytdl-core-discord/node_modules/prism-media": {
|
||||
"version": "1.3.2",
|
||||
"resolved": "https://registry.npmjs.org/prism-media/-/prism-media-1.3.2.tgz",
|
||||
"integrity": "sha512-L6UsGHcT6i4wrQhFF1aPK+MNYgjRqR2tUoIqEY+CG1NqVkMjPRKzS37j9f8GiYPlD6wG9ruBj+q5Ax+bH8Ik1g==",
|
||||
"peerDependencies": {
|
||||
"@discordjs/opus": "^0.5.0",
|
||||
"ffmpeg-static": "^4.2.7 || ^3.0.0 || ^2.4.0",
|
||||
"node-opus": "^0.3.3",
|
||||
"opusscript": "^0.0.8"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"@discordjs/opus": {
|
||||
"optional": true
|
||||
},
|
||||
"ffmpeg-static": {
|
||||
"optional": true
|
||||
},
|
||||
"node-opus": {
|
||||
"optional": true
|
||||
},
|
||||
"opusscript": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"dependencies": {
|
||||
@@ -5811,14 +5718,14 @@
|
||||
}
|
||||
},
|
||||
"@discordjs/node-pre-gyp": {
|
||||
"version": "0.4.2",
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/node-pre-gyp/-/node-pre-gyp-0.4.2.tgz",
|
||||
"integrity": "sha512-V239Czn+DXFGLhhuccwEDBoTdgMGrRu30dOlzm1GzrSIjwFj01ZJerNX7x+CEX1NG1Q/1gGfOOkeZFNHjycrRA==",
|
||||
"version": "0.4.4",
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/node-pre-gyp/-/node-pre-gyp-0.4.4.tgz",
|
||||
"integrity": "sha512-x569MMtdk6jdGo2S58iiZoyv4p/N2Ju8Nh6vvzZb1wyouV7IE3VuU0hg2kqUmTfD0z6r4uD6acvMTuc+iA3f8g==",
|
||||
"requires": {
|
||||
"detect-libc": "^1.0.3",
|
||||
"detect-libc": "^2.0.0",
|
||||
"https-proxy-agent": "^5.0.0",
|
||||
"make-dir": "^3.1.0",
|
||||
"node-fetch": "^2.6.5",
|
||||
"node-fetch": "^2.6.7",
|
||||
"nopt": "^5.0.0",
|
||||
"npmlog": "^5.0.1",
|
||||
"rimraf": "^3.0.2",
|
||||
@@ -5827,11 +5734,18 @@
|
||||
}
|
||||
},
|
||||
"@discordjs/opus": {
|
||||
"version": "git+ssh://git@github.com/discordjs/opus.git#fbd68eeca7637559bf3141b0ae76d48873b8d18a",
|
||||
"version": "git+ssh://git@github.com/discordjs/opus.git#478484d2482c38e3a5f5c7cb8fb2cf9cf3f2c9bc",
|
||||
"from": "@discordjs/opus@github:discordjs/opus",
|
||||
"requires": {
|
||||
"@discordjs/node-pre-gyp": "^0.4.2",
|
||||
"node-addon-api": "^4.2.0"
|
||||
"@discordjs/node-pre-gyp": "^0.4.4",
|
||||
"node-addon-api": "^5.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"node-addon-api": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.0.0.tgz",
|
||||
"integrity": "sha512-CvkDw2OEnme7ybCykJpVcKH+uAOLV2qLqiyla128dN9TkEWfrYmxG6C2boDe5KcNQqZF3orkqzGgOMvZ/JNekA=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"@discordjs/voice": {
|
||||
@@ -5845,45 +5759,6 @@
|
||||
"tiny-typed-emitter": "^2.1.0",
|
||||
"tslib": "^2.3.1",
|
||||
"ws": "^8.4.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"@discordjs/opus": {
|
||||
"version": "0.5.3",
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/opus/-/opus-0.5.3.tgz",
|
||||
"integrity": "sha512-IQhCwCy2WKXLe+qkOkwO1Wjgk20uqeAbqM62tCbzIqbTsXX4YAge8Me9RFnI77Lx+UTkgm4rSVM3VPVdS/GsUw==",
|
||||
"optional": true,
|
||||
"peer": true,
|
||||
"requires": {
|
||||
"@discordjs/node-pre-gyp": "^0.4.0",
|
||||
"node-addon-api": "^3.2.1"
|
||||
}
|
||||
},
|
||||
"ffmpeg-static": {
|
||||
"version": "4.4.1",
|
||||
"resolved": "https://registry.npmjs.org/ffmpeg-static/-/ffmpeg-static-4.4.1.tgz",
|
||||
"integrity": "sha512-gyGTIf5kgmLDmH7Rwj8vMmNK46bjXKKofHS2gY+LUqoTe/iybVuTuvnhJQR2tZHlKlDG7A/BIH7cRa2jWDKgWw==",
|
||||
"optional": true,
|
||||
"peer": true,
|
||||
"requires": {
|
||||
"@derhuerst/http-basic": "^8.2.0",
|
||||
"env-paths": "^2.2.0",
|
||||
"https-proxy-agent": "^5.0.0",
|
||||
"progress": "^2.0.3"
|
||||
}
|
||||
},
|
||||
"node-addon-api": {
|
||||
"version": "3.2.1",
|
||||
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz",
|
||||
"integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==",
|
||||
"optional": true,
|
||||
"peer": true
|
||||
},
|
||||
"prism-media": {
|
||||
"version": "1.3.2",
|
||||
"resolved": "https://registry.npmjs.org/prism-media/-/prism-media-1.3.2.tgz",
|
||||
"integrity": "sha512-L6UsGHcT6i4wrQhFF1aPK+MNYgjRqR2tUoIqEY+CG1NqVkMjPRKzS37j9f8GiYPlD6wG9ruBj+q5Ax+bH8Ik1g==",
|
||||
"requires": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
"@gar/promisify": {
|
||||
@@ -5906,13 +5781,6 @@
|
||||
"rimraf": "^3.0.2",
|
||||
"semver": "^7.3.5",
|
||||
"tar": "^6.1.11"
|
||||
},
|
||||
"dependencies": {
|
||||
"detect-libc": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz",
|
||||
"integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"@napi-rs/canvas": {
|
||||
@@ -6105,6 +5973,11 @@
|
||||
"event-target-shim": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"addressparser": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/addressparser/-/addressparser-1.0.1.tgz",
|
||||
"integrity": "sha512-aQX7AISOMM7HFE0iZ3+YnD07oIeJqWGVnJ+ZIKaBZAk03ftmVYVqsGas/rbXKR21n4D/hKCSHypvcyOkds/xzg=="
|
||||
},
|
||||
"agent-base": {
|
||||
"version": "6.0.2",
|
||||
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
|
||||
@@ -6184,6 +6057,11 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"array-indexofobject": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/array-indexofobject/-/array-indexofobject-0.0.1.tgz",
|
||||
"integrity": "sha512-tpdPBIBm4TMNxSp8O3pZgC7mF4+wn9SmJlhE+7bi5so6x39PvzUqChQMbv93R5ilYGZ1HV+Neki4IH/i+87AoQ=="
|
||||
},
|
||||
"arraybuffer-to-buffer": {
|
||||
"version": "0.0.7",
|
||||
"resolved": "https://registry.npmjs.org/arraybuffer-to-buffer/-/arraybuffer-to-buffer-0.0.7.tgz",
|
||||
@@ -6326,9 +6204,9 @@
|
||||
}
|
||||
},
|
||||
"canvas": {
|
||||
"version": "2.9.1",
|
||||
"resolved": "https://registry.npmjs.org/canvas/-/canvas-2.9.1.tgz",
|
||||
"integrity": "sha512-vSQti1uG/2gjv3x6QLOZw7TctfufaerTWbVe+NSduHxxLGB+qf3kFgQ6n66DSnuoINtVUjrLLIK2R+lxrBG07A==",
|
||||
"version": "2.9.3",
|
||||
"resolved": "https://registry.npmjs.org/canvas/-/canvas-2.9.3.tgz",
|
||||
"integrity": "sha512-WOUM7ghii5TV2rbhaZkh1youv/vW1/Canev6Yx6BG2W+1S07w8jKZqKkPnbiPpQEDsnJdN8ouDd7OvQEGXDcUw==",
|
||||
"requires": {
|
||||
"@mapbox/node-pre-gyp": "^1.0.0",
|
||||
"nan": "^2.15.0",
|
||||
@@ -6481,9 +6359,9 @@
|
||||
"optional": true
|
||||
},
|
||||
"detect-libc": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
|
||||
"integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg=="
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz",
|
||||
"integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w=="
|
||||
},
|
||||
"discord-api-types": {
|
||||
"version": "0.26.1",
|
||||
@@ -6503,17 +6381,6 @@
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/collection/-/collection-0.1.6.tgz",
|
||||
"integrity": "sha512-utRNxnd9kSS2qhyivo9lMlt5qgAUasH2gb7BEOn6p0efFh24gjGomHzWKMAPn2hEReOPQZCJaRKoURwRotKucQ=="
|
||||
},
|
||||
"@discordjs/opus": {
|
||||
"version": "0.5.3",
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/opus/-/opus-0.5.3.tgz",
|
||||
"integrity": "sha512-IQhCwCy2WKXLe+qkOkwO1Wjgk20uqeAbqM62tCbzIqbTsXX4YAge8Me9RFnI77Lx+UTkgm4rSVM3VPVdS/GsUw==",
|
||||
"optional": true,
|
||||
"peer": true,
|
||||
"requires": {
|
||||
"@discordjs/node-pre-gyp": "^0.4.0",
|
||||
"node-addon-api": "^3.2.1"
|
||||
}
|
||||
},
|
||||
"discord.js": {
|
||||
"version": "12.5.3",
|
||||
"resolved": "https://registry.npmjs.org/discord.js/-/discord.js-12.5.3.tgz",
|
||||
@@ -6529,32 +6396,6 @@
|
||||
"ws": "^7.4.4"
|
||||
}
|
||||
},
|
||||
"ffmpeg-static": {
|
||||
"version": "4.4.1",
|
||||
"resolved": "https://registry.npmjs.org/ffmpeg-static/-/ffmpeg-static-4.4.1.tgz",
|
||||
"integrity": "sha512-gyGTIf5kgmLDmH7Rwj8vMmNK46bjXKKofHS2gY+LUqoTe/iybVuTuvnhJQR2tZHlKlDG7A/BIH7cRa2jWDKgWw==",
|
||||
"optional": true,
|
||||
"peer": true,
|
||||
"requires": {
|
||||
"@derhuerst/http-basic": "^8.2.0",
|
||||
"env-paths": "^2.2.0",
|
||||
"https-proxy-agent": "^5.0.0",
|
||||
"progress": "^2.0.3"
|
||||
}
|
||||
},
|
||||
"node-addon-api": {
|
||||
"version": "3.2.1",
|
||||
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz",
|
||||
"integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==",
|
||||
"optional": true,
|
||||
"peer": true
|
||||
},
|
||||
"prism-media": {
|
||||
"version": "1.3.2",
|
||||
"resolved": "https://registry.npmjs.org/prism-media/-/prism-media-1.3.2.tgz",
|
||||
"integrity": "sha512-L6UsGHcT6i4wrQhFF1aPK+MNYgjRqR2tUoIqEY+CG1NqVkMjPRKzS37j9f8GiYPlD6wG9ruBj+q5Ax+bH8Ik1g==",
|
||||
"requires": {}
|
||||
},
|
||||
"tweetnacl": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz",
|
||||
@@ -6693,6 +6534,22 @@
|
||||
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
|
||||
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
|
||||
},
|
||||
"feedparser": {
|
||||
"version": "2.2.10",
|
||||
"resolved": "https://registry.npmjs.org/feedparser/-/feedparser-2.2.10.tgz",
|
||||
"integrity": "sha512-WoAOooa61V8/xuKMi2pEtK86qQ3ZH/M72EEGdqlOTxxb3m6ve1NPvZcmPFs3wEDfcBbFLId2GqZ4YjsYi+h1xA==",
|
||||
"requires": {
|
||||
"addressparser": "^1.0.1",
|
||||
"array-indexofobject": "~0.0.1",
|
||||
"lodash.assign": "^4.2.0",
|
||||
"lodash.get": "^4.4.2",
|
||||
"lodash.has": "^4.5.2",
|
||||
"lodash.uniq": "^4.5.0",
|
||||
"mri": "^1.1.5",
|
||||
"readable-stream": "^2.3.7",
|
||||
"sax": "^1.2.4"
|
||||
}
|
||||
},
|
||||
"ffmpeg": {
|
||||
"version": "0.0.4",
|
||||
"resolved": "https://registry.npmjs.org/ffmpeg/-/ffmpeg-0.0.4.tgz",
|
||||
@@ -6702,9 +6559,9 @@
|
||||
}
|
||||
},
|
||||
"ffmpeg-static": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ffmpeg-static/-/ffmpeg-static-5.0.0.tgz",
|
||||
"integrity": "sha512-z96jGVa8uCVMnyrTvbDZe0d5zbvIVQnfBN+vKDZoVK+ssYpfUJGEmo2DkuY43CA9Ytlsk+5ZVTFTqzvKw1gSaA==",
|
||||
"version": "5.0.2",
|
||||
"resolved": "https://registry.npmjs.org/ffmpeg-static/-/ffmpeg-static-5.0.2.tgz",
|
||||
"integrity": "sha512-rYeA04AGbvxbUxov6Cn/KDKIzw2rmzwPlgHoqn837NZt0xPdOVA9mJMILz9IX27R45hhSlXS6nThk85XxDivLg==",
|
||||
"requires": {
|
||||
"@derhuerst/http-basic": "^8.2.0",
|
||||
"env-paths": "^2.2.0",
|
||||
@@ -7087,6 +6944,26 @@
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
|
||||
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
|
||||
},
|
||||
"lodash.assign": {
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
|
||||
"integrity": "sha512-hFuH8TY+Yji7Eja3mGiuAxBqLagejScbG8GbG0j6o9vzn0YL14My+ktnqtZgFTosKymC9/44wP6s7xyuLfnClw=="
|
||||
},
|
||||
"lodash.get": {
|
||||
"version": "4.4.2",
|
||||
"resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
|
||||
"integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ=="
|
||||
},
|
||||
"lodash.has": {
|
||||
"version": "4.5.2",
|
||||
"resolved": "https://registry.npmjs.org/lodash.has/-/lodash.has-4.5.2.tgz",
|
||||
"integrity": "sha512-rnYUdIo6xRCJnQmbVFEwcxF144erlD+M3YcJUVesflU9paQaE8p+fJDcIQrlMYbxoANFL+AB9hZrzSBBk5PL+g=="
|
||||
},
|
||||
"lodash.uniq": {
|
||||
"version": "4.5.0",
|
||||
"resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
|
||||
"integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ=="
|
||||
},
|
||||
"lru-cache": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
|
||||
@@ -7283,9 +7160,9 @@
|
||||
"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="
|
||||
},
|
||||
"moment": {
|
||||
"version": "2.29.3",
|
||||
"resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz",
|
||||
"integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw=="
|
||||
"version": "2.29.4",
|
||||
"resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz",
|
||||
"integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w=="
|
||||
},
|
||||
"moment-timezone": {
|
||||
"version": "0.5.34",
|
||||
@@ -7350,6 +7227,11 @@
|
||||
"debug": "4.x"
|
||||
}
|
||||
},
|
||||
"mri": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
|
||||
"integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA=="
|
||||
},
|
||||
"ms": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
||||
@@ -9125,6 +9007,12 @@
|
||||
"play-audio": "^0.5.2"
|
||||
}
|
||||
},
|
||||
"prism-media": {
|
||||
"version": "1.3.4",
|
||||
"resolved": "https://registry.npmjs.org/prism-media/-/prism-media-1.3.4.tgz",
|
||||
"integrity": "sha512-eW7LXORkTCQznZs+eqe9VjGOrLBxcBPXgNyHXMTSRVhphvd/RrxgIR7WaWt4fkLuhshcdT5KHL88LAfcvS3f5g==",
|
||||
"requires": {}
|
||||
},
|
||||
"process-nextick-args": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
|
||||
@@ -9275,6 +9163,22 @@
|
||||
"glob": "^7.1.3"
|
||||
}
|
||||
},
|
||||
"rss-parser": {
|
||||
"version": "3.12.0",
|
||||
"resolved": "https://registry.npmjs.org/rss-parser/-/rss-parser-3.12.0.tgz",
|
||||
"integrity": "sha512-aqD3E8iavcCdkhVxNDIdg1nkBI17jgqF+9OqPS1orwNaOgySdpvq6B+DoONLhzjzwV8mWg37sb60e4bmLK117A==",
|
||||
"requires": {
|
||||
"entities": "^2.0.3",
|
||||
"xml2js": "^0.4.19"
|
||||
},
|
||||
"dependencies": {
|
||||
"entities": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
|
||||
"integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"safe-buffer": {
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
|
||||
@@ -9809,47 +9713,10 @@
|
||||
"ytdl-core": "^4.8.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"@discordjs/opus": {
|
||||
"version": "0.5.3",
|
||||
"resolved": "https://registry.npmjs.org/@discordjs/opus/-/opus-0.5.3.tgz",
|
||||
"integrity": "sha512-IQhCwCy2WKXLe+qkOkwO1Wjgk20uqeAbqM62tCbzIqbTsXX4YAge8Me9RFnI77Lx+UTkgm4rSVM3VPVdS/GsUw==",
|
||||
"optional": true,
|
||||
"peer": true,
|
||||
"requires": {
|
||||
"@discordjs/node-pre-gyp": "^0.4.0",
|
||||
"node-addon-api": "^3.2.1"
|
||||
}
|
||||
},
|
||||
"@types/node": {
|
||||
"version": "15.14.9",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-15.14.9.tgz",
|
||||
"integrity": "sha512-qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A=="
|
||||
},
|
||||
"ffmpeg-static": {
|
||||
"version": "4.4.1",
|
||||
"resolved": "https://registry.npmjs.org/ffmpeg-static/-/ffmpeg-static-4.4.1.tgz",
|
||||
"integrity": "sha512-gyGTIf5kgmLDmH7Rwj8vMmNK46bjXKKofHS2gY+LUqoTe/iybVuTuvnhJQR2tZHlKlDG7A/BIH7cRa2jWDKgWw==",
|
||||
"optional": true,
|
||||
"peer": true,
|
||||
"requires": {
|
||||
"@derhuerst/http-basic": "^8.2.0",
|
||||
"env-paths": "^2.2.0",
|
||||
"https-proxy-agent": "^5.0.0",
|
||||
"progress": "^2.0.3"
|
||||
}
|
||||
},
|
||||
"node-addon-api": {
|
||||
"version": "3.2.1",
|
||||
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz",
|
||||
"integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==",
|
||||
"optional": true,
|
||||
"peer": true
|
||||
},
|
||||
"prism-media": {
|
||||
"version": "1.3.2",
|
||||
"resolved": "https://registry.npmjs.org/prism-media/-/prism-media-1.3.2.tgz",
|
||||
"integrity": "sha512-L6UsGHcT6i4wrQhFF1aPK+MNYgjRqR2tUoIqEY+CG1NqVkMjPRKzS37j9f8GiYPlD6wG9ruBj+q5Ax+bH8Ik1g==",
|
||||
"requires": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+4
-1
@@ -6,10 +6,11 @@
|
||||
"apt": "^0.0.2",
|
||||
"arraybuffer-to-buffer": "^0.0.7",
|
||||
"axios": "^0.27.2",
|
||||
"canvas": "^2.9.1",
|
||||
"canvas": "^2.9.3",
|
||||
"cheerio": "^1.0.0-rc.10",
|
||||
"discord-reply": "^0.1.2",
|
||||
"discord.js": "^13.6.0",
|
||||
"feedparser": "^2.2.10",
|
||||
"ffmpeg": "^0.0.4",
|
||||
"ffmpeg-static": "^5.0.0",
|
||||
"hastebin-gen": "^2.0.5",
|
||||
@@ -22,6 +23,8 @@
|
||||
"openai": "^3.0.0",
|
||||
"play-dl": "^1.9.4",
|
||||
"random-memes": "^3.1.0",
|
||||
"request": "^2.88.2",
|
||||
"rss-parser": "^3.12.0",
|
||||
"sequelize": "^6.19.0",
|
||||
"sqlite3": "^5.0.3",
|
||||
"stripe": "^9.11.0",
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
class simpleCast {
|
||||
constructor(data, url) {
|
||||
this.title = data.title;
|
||||
|
||||
if (data['itunes:summary']) {
|
||||
this.description = data['itunes:summary']['#'];
|
||||
} else {
|
||||
//<p>......<p>
|
||||
this.description = data.description.substring(3, s.indexOf('<p>', 4));
|
||||
}
|
||||
|
||||
var audio = data.enclosures.filter((entry) => { return (entry.type.indexOf('audio') != -1) });
|
||||
if (audio.length > 0) {
|
||||
this.audioLink = audio[0].url;
|
||||
} else { console.log("What?"); }
|
||||
this.url = url;
|
||||
|
||||
this.thumbnal = data.meta.image.url;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
module.exports = { simpleCast }
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"News": {
|
||||
"NYTimes": {
|
||||
"world": "https://rss.nytimes.com/services/xml/rss/nyt/World.xml",
|
||||
"US": "https://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml",
|
||||
"econ": "https://rss.nytimes.com/services/xml/rss/nyt/Economy.xml",
|
||||
"business": "https://rss.nytimes.com/services/xml/rss/nyt/Business.xml",
|
||||
"tech": "https://rss.nytimes.com/services/xml/rss/nyt/Technology.xml",
|
||||
"obituaries": "https://rss.nytimes.com/services/xml/rss/nyt/Obituaries.xml"
|
||||
},
|
||||
"Fox": {
|
||||
"LatestHeadlines": "https://moxie.foxnews.com/feedburner/latest.xml",
|
||||
"World": "https://moxie.foxnews.com/feedburner/world.xml",
|
||||
"US": "https://moxie.foxnews.com/feedburner/national.xml",
|
||||
"Tech": "https://moxie.foxnews.com/feedburner/scitech.xml",
|
||||
"Politics": "https://moxie.foxnews.com/feedburner/politics.xml"
|
||||
},
|
||||
"NPR": "https://feeds.npr.org/1001/rss.xml"
|
||||
},
|
||||
"Crime": {
|
||||
"DateLine_NBC": "https://podcastfeeds.nbcnews.com/HL4TzgYC",
|
||||
"CrimeJunkie": "https://feeds.simplecast.com/qm_9xx0g"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,319 @@
|
||||
const { MessageActionRow, MessageButton, MessageEmbed, MessageSelectMenu, CommandInteractionOptionResolver } = require('discord.js');
|
||||
const axios = require('axios');
|
||||
const cheerio = require('cheerio');
|
||||
var FeedParser = require('feedparser');
|
||||
const fetch = require('node-fetch');
|
||||
const { VoiceConnectionStatus, AudioPlayerStatus, createAudioPlayer, StreamType, joinVoiceChannel, createAudioResource, getVoiceConnection } = require('@discordjs/voice');
|
||||
const play = require('play-dl');
|
||||
|
||||
const hastebin = require("hastebin-gen");
|
||||
const { simpleCast } = require('./RSSHandlers/simplecast.js')
|
||||
|
||||
let Parser = require('rss-parser');
|
||||
let parser = new Parser();
|
||||
const allFeedsJSON = require('./feeds.json');
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @param {JSON} inp
|
||||
* @returns {Map<String, Map>}
|
||||
*/
|
||||
function jsonToMapRecursive(inp) {
|
||||
if (typeof(inp) != 'object') {
|
||||
return inp;
|
||||
}
|
||||
|
||||
let m2 = new Map();
|
||||
Object.entries(inp).forEach((key) => { m2.set(key[0], jsonToMapRecursive(inp[key[0]])); });
|
||||
return m2;
|
||||
}
|
||||
|
||||
const allFeeds = jsonToMapRecursive(allFeedsJSON);
|
||||
|
||||
|
||||
function mapToTable(inp, layer) {
|
||||
var temp = '';
|
||||
|
||||
if (typeof(inp) != 'object') {
|
||||
// return `?[${inp}]`;
|
||||
return '';
|
||||
}
|
||||
|
||||
Array.from(inp.keys()).forEach((key) => {
|
||||
var keyTemp = ('| ').repeat(layer);
|
||||
temp += `${keyTemp}- - ${key}\n`.replaceAll(' - -', '- -');
|
||||
temp += mapToTable(inp.get(key), layer + 1);
|
||||
});
|
||||
|
||||
temp += ('| ').repeat(layer - 1) + '\n';
|
||||
|
||||
if (layer == 1) {
|
||||
var links = new Array();
|
||||
|
||||
//Post-processing
|
||||
var l = temp.split('\n')
|
||||
|
||||
l = l.filter((entry, ind) => {
|
||||
return entry.trim() == '|' || !((/[^A-Za-z0-9 ]+$/).test(entry.trim()) && (/[^A-Za-z0-9 ]+$/).test(l[ind + 1].trim()));
|
||||
});
|
||||
|
||||
temp = l.join('\n')
|
||||
|
||||
//Get the links
|
||||
Array.from(inp.keys()).forEach((key) => {
|
||||
links.push(key);
|
||||
});
|
||||
|
||||
return [temp, links];
|
||||
}
|
||||
|
||||
return temp;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {simpleCast} obj
|
||||
* @returns
|
||||
*/
|
||||
function playAudio(bot, message, user, obj) {
|
||||
const member = message.guild.members.cache.get(user.id);
|
||||
if (!member.voice.channel) {
|
||||
message.reply("Please join a voice channel before you try this!");
|
||||
return;
|
||||
}
|
||||
const channel = bot.channels.cache.get(member.voice.channel.id);
|
||||
|
||||
const connection = joinVoiceChannel({
|
||||
channelId: channel.id,
|
||||
guildId: channel.guild.id,
|
||||
adapterCreator: channel.guild.voiceAdapterCreator,
|
||||
});
|
||||
|
||||
|
||||
const resource = createAudioResource(obj.audioLink /*, { inlineVolume: true }*/ );
|
||||
|
||||
const data = bot.audioData.get(message.channel.guild.id);
|
||||
if (data && data[1]) {
|
||||
return message.reply("No podcast queue support yet!");
|
||||
}
|
||||
const player = createAudioPlayer();
|
||||
connection.subscribe(player);
|
||||
bot.audioData.set(message.guild.id, [player, new Array(), null]);
|
||||
player.play(resource);
|
||||
|
||||
//Create the embed
|
||||
const newEmbed = new MessageEmbed()
|
||||
.setColor('#0F00F0')
|
||||
.setTitle(`${obj.title}`)
|
||||
.setAuthor({ name: "Selmer Bot", url: "", iconURL: bot.user.displayAvatarURL() })
|
||||
.setDescription('IS NOW PLAYING')
|
||||
.setURL(obj.url)
|
||||
.setThumbnail(obj.thumbnal);
|
||||
|
||||
const row = new MessageActionRow()
|
||||
.addComponents(
|
||||
new MessageButton()
|
||||
.setCustomId('PAUSE')
|
||||
.setLabel('⏸️')
|
||||
.setStyle('SECONDARY'),
|
||||
new MessageButton()
|
||||
.setCustomId('STOP')
|
||||
.setLabel('⏹️')
|
||||
.setStyle('SECONDARY'),
|
||||
// new MessageButton()
|
||||
// .setCustomId('SKIP')
|
||||
// .setLabel('⏭️')
|
||||
// .setStyle('SECONDARY')
|
||||
);
|
||||
console.log(obj.audioLink);
|
||||
const m = message.reply({ embeds: [newEmbed], components: [row] });
|
||||
}
|
||||
|
||||
|
||||
|
||||
async function getAndFormatRSS(bot, message, user, inp) {
|
||||
|
||||
var req = fetch(inp)
|
||||
const feedparser = new FeedParser();
|
||||
|
||||
req.then(function (res) {
|
||||
|
||||
if (res.status !== 200) {
|
||||
throw new Error('Bad status code');
|
||||
}
|
||||
else {
|
||||
// The response `body` -- res.body -- is a stream
|
||||
res.body.pipe(feedparser);
|
||||
}
|
||||
}, function (err) {
|
||||
// handle any request errors
|
||||
});
|
||||
|
||||
feedparser.on('error', function (error) {
|
||||
// always handle errors
|
||||
});
|
||||
|
||||
const items = new Array();
|
||||
feedparser.on('readable', async function () {
|
||||
// This is where the action is!
|
||||
var stream = this; // `this` is `feedparser`, which is a stream
|
||||
var meta = this.meta; // **NOTE** the "meta" is always available in the context of the feedparser instance
|
||||
var item;
|
||||
|
||||
let i = 0;
|
||||
while (item = stream.read()) {
|
||||
items.push(item);
|
||||
i ++;
|
||||
if (i >= 100) { break; }
|
||||
}
|
||||
})
|
||||
|
||||
feedparser.addListener('end', () => {
|
||||
const item = items[Math.round(Math.random() * items.length)];
|
||||
|
||||
if (inp.indexOf('simplecast') != -1) {
|
||||
var s = new simpleCast(item, inp);
|
||||
s.audioLink = 'https://download.samplelib.com/mp3/sample-15s.mp3';
|
||||
playAudio(bot, message, user, s);
|
||||
}
|
||||
});
|
||||
|
||||
return;
|
||||
//Get the feed
|
||||
const feed = await parser.parseURL(inp);
|
||||
// const items = feed.items;
|
||||
const item = items[Math.round(Math.random() * items.length)];
|
||||
|
||||
var url;
|
||||
try {
|
||||
url = item.link || item.guid;
|
||||
axios(url).then(async response => {
|
||||
const html = response.data;
|
||||
const $ = cheerio.load(html);
|
||||
// console.log(html);
|
||||
const haste = await hastebin(html, { extension: "txt" });
|
||||
console.log(url, '\n', haste);
|
||||
})
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
return console.log(item);
|
||||
}
|
||||
|
||||
// const newEmbed = new MessageEmbed()
|
||||
// .setTitle(feed.title)
|
||||
// .setAuthor({ name: "Selmer Bot", url: "", iconURL: bot.user.displayAvatarURL() })
|
||||
// .setTimestamp()
|
||||
|
||||
// console.log(feed.items);
|
||||
|
||||
/*
|
||||
creator?: 'Ben Casselman and Jeanna Smialek',
|
||||
title: 'Income and Spending Rose Less Than Prices in May',
|
||||
link: 'https://www.nytimes.com/2022/06/30/business/economy/income-spending-may.html',
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
|
||||
function presentFeeds(bot, message, commands, interaction) {
|
||||
|
||||
var r;
|
||||
var url;
|
||||
if (commands[0] == 'all') {
|
||||
r = mapToTable(allFeeds, 1);
|
||||
} else {
|
||||
var r2 = allFeeds.get(commands[0]);
|
||||
// commands = commands.slice(1);
|
||||
commands.slice(1).forEach((key) => {
|
||||
r2 = r2.get(key);
|
||||
});
|
||||
|
||||
|
||||
r = mapToTable(r2, 1);
|
||||
|
||||
if(!r[1]) { url = r2; }
|
||||
|
||||
//Array.from(r2.keys())
|
||||
}
|
||||
|
||||
//Check if we have a feed (no more paths)
|
||||
if (!r[1]) {
|
||||
// console.log("Commands:", commands, "\nR: ", r); throw 1;
|
||||
let path = ''
|
||||
commands.forEach((com) => { path += `${com} --> `});
|
||||
path = path.slice(0, path.length - 5);
|
||||
|
||||
interaction.update({ content: `You have chosen ${path}!`, components: []});
|
||||
|
||||
return getAndFormatRSS(bot, interaction.message, interaction.user, url);
|
||||
}
|
||||
|
||||
var keyList = new Array();
|
||||
r[1].forEach((key) => {
|
||||
const listEntry = {
|
||||
label: `${key}`,
|
||||
description: `Choose a feed from this category!`,
|
||||
value: `${key}`,
|
||||
}
|
||||
|
||||
keyList.push(listEntry);
|
||||
});
|
||||
|
||||
const row = new MessageActionRow()
|
||||
.setComponents(
|
||||
new MessageSelectMenu()
|
||||
.setCustomId(`RSS|${commands.join('|')}`)
|
||||
.setPlaceholder('Nothing selected')
|
||||
.addOptions(keyList)
|
||||
)
|
||||
|
||||
if (interaction) { return interaction.update({content: r[0], components: [ row ]}); }
|
||||
message.reply({ content: r[0], components: [ row ] });
|
||||
|
||||
/*else if (commands[0].length = 1) {
|
||||
const data = allFeeds.get(commands[0]).get(commands[1]).get(commands[2]);
|
||||
interaction.update({ content: `You have chosen ${commands[1]} from the ${commands[0]} section!`, components: []});
|
||||
return getAndFormatRSS(bot, interaction.message, data);
|
||||
}*/
|
||||
}
|
||||
|
||||
|
||||
|
||||
function RSSInteractionHandler(bot, interaction) {
|
||||
let commands = interaction.values[0].split('|');
|
||||
let temp = interaction.customId.split('|').slice(1);
|
||||
if (temp[0] != 'all') { commands = temp.concat(commands); }
|
||||
// console.log(interaction.customId, interaction.values);
|
||||
|
||||
presentFeeds(bot, null, commands, interaction);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// getAndFormatRSS(null, null, imp[0]);
|
||||
|
||||
// presentFeeds(null, ['all']);
|
||||
|
||||
module.exports = {
|
||||
name: 'RSS',
|
||||
description: 'Selmer Bot will present a list of RSS feeds to read from *EXPERAMENTAL*',
|
||||
execute(message, args, Discord, Client, bot) {
|
||||
if (!bot.inDebugMode) { return message.reply('Command under development!'); }
|
||||
if (!args[0]) {
|
||||
presentFeeds(bot, message, [ 'all' ], null);
|
||||
}
|
||||
},
|
||||
RSSInteractionHandler
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
REMOVED
|
||||
"ABC": "https://abcnews.go.com/abcnews/topstories"
|
||||
"FBI": "https://www.fbi.gov/feeds/national-press-releases/rss.xml" (Uhhhh......maybe I should't use this one.....)
|
||||
|
||||
|
||||
*/
|
||||
Reference in New Issue
Block a user