WIP: v3.4.0 #25

Draft
voidf1sh wants to merge 21 commits from v3.4.0 into main
7 changed files with 124 additions and 10 deletions
Showing only changes of commit e843275ba1 - Show all commits

View File

@ -81,7 +81,7 @@ module.exports = {
indexedGifs.gifsString += `[${gif.name}.gif](${gif.url})\n`; indexedGifs.gifsString += `[${gif.name}.gif](${gif.url})\n`;
} }
interaction.update(fn.embeds.gifs({command: "/gifs", author: interaction.member.displayName}, indexedGifs)); interaction.update(fn.embeds.gifs({command: "/gifs", author: interaction.user.username}, indexedGifs));
}, },
pastasPage(interaction) { pastasPage(interaction) {
const iStorage = interaction.client.iStorage.get(interaction.message.interaction.id); const iStorage = interaction.client.iStorage.get(interaction.message.interaction.id);
@ -107,7 +107,7 @@ module.exports = {
indexedPastas.pastasString += `${pasta.name}.pasta\n`; indexedPastas.pastasString += `${pasta.name}.pasta\n`;
} }
interaction.update(fn.embeds.pastas({command: "/pastas", author: interaction.member.displayName}, indexedPastas)); interaction.update(fn.embeds.pastas({command: "/pastas", author: interaction.user.username}, indexedPastas));
}, },
requestsPage(interaction) { requestsPage(interaction) {
const iStorage = interaction.client.iStorage.get(interaction.message.interaction.id); const iStorage = interaction.client.iStorage.get(interaction.message.interaction.id);
@ -133,7 +133,7 @@ module.exports = {
indexedRequests.requestsString += `[${request.id}]: ${request.request} (submitted by ${request.author})\n`; indexedRequests.requestsString += `[${request.id}]: ${request.request} (submitted by ${request.author})\n`;
} }
interaction.update(fn.embeds.requests({command: "/requests", author: interaction.member.displayName}, indexedRequests)); interaction.update(fn.embeds.requests({command: "/requests", author: interaction.user.username}, indexedRequests));
}, },
jointsPage(interaction) { jointsPage(interaction) {
const iStorage = interaction.client.iStorage.get(interaction.message.interaction.id); const iStorage = interaction.client.iStorage.get(interaction.message.interaction.id);
@ -159,7 +159,7 @@ module.exports = {
indexedJoints.jointsString += `${joint.content}\n`; indexedJoints.jointsString += `${joint.content}\n`;
} }
interaction.update(fn.embeds.joints({command: "/joints", author: interaction.member.displayName}, indexedJoints)); interaction.update(fn.embeds.joints({command: "/joints", author: interaction.user.username}, indexedJoints));
}, },
gifSearchPage(interaction) { gifSearchPage(interaction) {
const iStorage = interaction.client.iStorage.get(interaction.message.interaction.id); const iStorage = interaction.client.iStorage.get(interaction.message.interaction.id);
@ -197,7 +197,7 @@ module.exports = {
indexedGifs.query = iStorage.query; indexedGifs.query = iStorage.query;
indexedGifs.gifName = iStorage.gifName; indexedGifs.gifName = iStorage.gifName;
// Generate the embed // Generate the embed
const gifEmbed = customEmbeds.core.gifSearch({ author: interaction.member.displayName }, indexedGifs); const gifEmbed = customEmbeds.core.gifSearch({ author: interaction.user.username }, indexedGifs);
// Update the interaction // Update the interaction
interaction.update({ embeds: [gifEmbed], components: [gifSearchAR], ephemeral: true }); interaction.update({ embeds: [gifEmbed], components: [gifSearchAR], ephemeral: true });
} }

View File

@ -23,7 +23,7 @@ module.exports = {
} }
const commandData = { const commandData = {
command: "/gifs", command: "/gifs",
author: interaction.member.displayName author: interaction.user.username
}; };
interaction.reply(fn.embeds.gifs(commandData, indexedGifs)); interaction.reply(fn.embeds.gifs(commandData, indexedGifs));
} }

View File

@ -22,7 +22,7 @@ module.exports = {
} }
const commandData = { const commandData = {
command: "/joints", command: "/joints",
author: interaction.member.displayName author: interaction.user.username
}; };
interaction.reply(fn.embeds.joints(commandData, indexedJoints)); interaction.reply(fn.embeds.joints(commandData, indexedJoints));
}, },

View File

@ -23,7 +23,7 @@ module.exports = {
} }
const commandData = { const commandData = {
command: "/pastas", command: "/pastas",
author: interaction.member.displayName author: interaction.user.username
}; };
interaction.reply(fn.embeds.pastas(commandData, indexedPastas)); interaction.reply(fn.embeds.pastas(commandData, indexedPastas));
}, },

View File

@ -24,7 +24,7 @@ module.exports = {
const commandData = { const commandData = {
command: "/requests", command: "/requests",
author: interaction.member.displayName author: interaction.user.username
}; };
interaction.reply(fn.embeds.requests(commandData, indexedRequests)); interaction.reply(fn.embeds.requests(commandData, indexedRequests));
}, },

View File

@ -179,7 +179,7 @@ module.exports = {
gifPage.query = query; gifPage.query = query;
gifPage.gifName = gifName; gifPage.gifName = gifName;
// Generate the embed // Generate the embed
const gifEmbed = Embeds.core.gifSearch({ author: interaction.member.displayName }, gifPage); const gifEmbed = Embeds.core.gifSearch({ author: interaction.user.username }, gifPage);
interaction.editReply({ embeds: [gifEmbed], components: [actionRow], ephemeral: true }); interaction.editReply({ embeds: [gifEmbed], components: [actionRow], ephemeral: true });
}); });
break; break;

114
slash-commands/view.js Normal file
View File

@ -0,0 +1,114 @@
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}`);
}
}
};