2024-09-29 16:17:07 +00:00
|
|
|
const tenor = require('tenorjs').client({
|
|
|
|
'Key': process.env.tenorAPIKey, // https://tenor.com/developer/keyregistration
|
|
|
|
'Filter': 'off', // "off", "low", "medium", "high", not case sensitive
|
|
|
|
'Locale': 'en_US',
|
|
|
|
'MediaFilter': 'minimal',
|
|
|
|
'DateFormat': 'D/MM/YYYY - H:mm:ss A',
|
|
|
|
});
|
|
|
|
|
|
|
|
const { SlashCommandBuilder } = require('@discordjs/builders');
|
|
|
|
const { Collection } = require('discord.js');
|
|
|
|
const fn = require('../functions.js');
|
|
|
|
const strings = require('../strings.json');
|
|
|
|
const { GifData } = require('../CustomModules/NodBot.js');
|
|
|
|
const customEmbeds = require('../CustomModules/Embeds.js');
|
|
|
|
const Indexer = require('../CustomModules/Indexer.js');
|
|
|
|
const Embeds = require('../CustomModules/Embeds.js');
|
|
|
|
const { emoji } = strings;
|
|
|
|
|
|
|
|
module.exports = {
|
|
|
|
data: new SlashCommandBuilder()
|
|
|
|
.setName('view')
|
|
|
|
.setDescription('View content saved in Nodbot\'s database.')
|
|
|
|
// GIFs
|
|
|
|
.addSubcommand(subcommand =>
|
|
|
|
subcommand
|
|
|
|
.setName('gifs')
|
|
|
|
.setDescription('Display all saved GIFs.')
|
|
|
|
)
|
|
|
|
// Joints
|
|
|
|
.addSubcommand(subcommand =>
|
|
|
|
subcommand
|
|
|
|
.setName('joints')
|
|
|
|
.setDescription('Display all saved joints.')
|
|
|
|
)
|
|
|
|
// Pastas
|
|
|
|
.addSubcommand(subcommand =>
|
|
|
|
subcommand
|
|
|
|
.setName('pastas')
|
|
|
|
.setDescription('Display all saved copypastas.')
|
|
|
|
)
|
|
|
|
// Requests
|
|
|
|
.addSubcommand(subcommand =>
|
|
|
|
subcommand
|
|
|
|
.setName('requests')
|
|
|
|
.setDescription('Display all saved requests.')
|
|
|
|
),
|
|
|
|
async execute(interaction) {
|
|
|
|
await interaction.deferReply({ ephemeral: true });
|
|
|
|
try {
|
|
|
|
// Code Here...
|
|
|
|
const subcommand = interaction.options.getSubcommand();
|
|
|
|
const iStorage = interaction.client.iStorage.get(interaction.id);
|
2024-09-29 16:28:29 +00:00
|
|
|
const commandData = {
|
|
|
|
author: interaction.user.username,
|
|
|
|
command: `/${interaction.commandName} ${subcommand}`
|
|
|
|
};
|
2024-09-29 16:17:07 +00:00
|
|
|
switch (subcommand) {
|
|
|
|
// GIFs
|
|
|
|
case "gifs":
|
|
|
|
if (!interaction.client.gifs) {
|
2024-09-29 16:28:29 +00:00
|
|
|
interaction.editReply('For some reason I don\'t have access to the collection of gifs. Sorry about that!');
|
2024-09-29 16:17:07 +00:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
let indexedGifs = Indexer(interaction.client.gifs, 0);
|
|
|
|
indexedGifs.gifsString = new String();
|
|
|
|
|
|
|
|
iStorage.page = 0;
|
|
|
|
|
|
|
|
for (const gif of indexedGifs.thisPage) {
|
|
|
|
indexedGifs.gifsString += `[${gif.name}.gif](${gif.url})\n`;
|
|
|
|
}
|
2024-09-29 16:28:29 +00:00
|
|
|
interaction.editReply(fn.embeds.gifs(commandData, indexedGifs));
|
2024-09-29 16:17:07 +00:00
|
|
|
break;
|
|
|
|
// Joints
|
|
|
|
case "joints":
|
|
|
|
if (!interaction.client.joints) {
|
2024-09-29 16:28:29 +00:00
|
|
|
interaction.editReply('For some reason I don\'t have access to the collection of joints. Sorry about that!');
|
2024-09-29 16:17:07 +00:00
|
|
|
return;
|
|
|
|
}
|
2024-09-29 16:28:29 +00:00
|
|
|
let indexedJoints = Indexer(interaction.client.joints, 0);
|
2024-09-29 16:17:07 +00:00
|
|
|
indexedJoints.jointsString = new String();
|
|
|
|
|
|
|
|
iStorage.page = 0;
|
|
|
|
|
|
|
|
for (const joint of indexedJoints.thisPage) {
|
|
|
|
indexedJoints.jointsString += `${joint.content}\n`;
|
|
|
|
}
|
2024-09-29 16:28:29 +00:00
|
|
|
interaction.editReply(fn.embeds.joints(commandData, indexedJoints));
|
2024-09-29 16:17:07 +00:00
|
|
|
break;
|
|
|
|
// Pastas
|
|
|
|
case "pastas":
|
2024-09-29 16:28:29 +00:00
|
|
|
if (!interaction.client.pastas) {
|
|
|
|
interaction.editReply({ content: 'For some reason I don\'t have access to the collection of copypastas. Sorry about that!', ephemeral: true });
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
let indexedPastas = Indexer(interaction.client.pastas, 0);
|
|
|
|
indexedPastas.pastasString = new String();
|
|
|
|
|
|
|
|
iStorage.page = 0;
|
|
|
|
|
|
|
|
for (const pasta of indexedPastas.thisPage) {
|
|
|
|
indexedPastas.pastasString += `${pasta.name}.pasta\n`;
|
|
|
|
}
|
|
|
|
interaction.editReply(fn.embeds.pastas(commandData, indexedPastas));
|
2024-09-29 16:17:07 +00:00
|
|
|
break;
|
|
|
|
case "requests":
|
2024-09-29 16:28:29 +00:00
|
|
|
if (!interaction.client.requests) {
|
|
|
|
interaction.editReply('For some reason I don\'t have access to the collection of requests. Sorry about that!');
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
let indexedRequests = Indexer(interaction.client.requests, 0);
|
|
|
|
indexedRequests.requestsString = new String();
|
|
|
|
|
|
|
|
iStorage.page = 0;
|
|
|
|
|
|
|
|
for (const request of indexedRequests.thisPage) {
|
|
|
|
indexedRequests.requestsString += `[${request.id}]: ${request.request} (submitted by ${request.author})\n`;
|
|
|
|
}
|
|
|
|
|
|
|
|
interaction.editReply(fn.embeds.requests(commandData, indexedRequests));
|
2024-09-29 16:17:07 +00:00
|
|
|
break;
|
|
|
|
// Default
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
} catch (err) {
|
|
|
|
const errorId = fn.generateErrorId();
|
|
|
|
console.error(`${errorId}: err`);
|
|
|
|
await interaction.editReply(`Sorry, an error has occured. Error ID: ${errorId}`);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|