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); let commandData = { author: interaction.user.username } switch (subcommand) { // GIFs case "gifs": if (!interaction.client.gifs) { interaction.reply('For some reason I don\'t have access to the collection of gifs. Sorry about that!'); 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`; } const commandData = { command: "/gifs", author: interaction.user.username }; interaction.reply(fn.embeds.gifs(commandData, indexedGifs)); break; // Joints case "joints": if (!interaction.client.joints) { interaction.reply('For some reason I don\'t have access to the collection of joints. Sorry about that!'); return; } let iStorage = interaction.client.iStorage.get(interaction.id); let indexedJoints = indexer(interaction.client.joints, 0); indexedJoints.jointsString = new String(); iStorage.page = 0; for (const joint of indexedJoints.thisPage) { indexedJoints.jointsString += `${joint.content}\n`; } const commandData = { command: "/joints", author: interaction.user.username }; interaction.reply(fn.embeds.joints(commandData, indexedJoints)); break; // Pastas case "pastas": break; // Requests case "requests": 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}`); } } };