Add page selection to requests

This commit is contained in:
Skylar Grant 2023-01-07 20:57:03 -05:00
parent 2d81f3fa11
commit c1759f7d81
2 changed files with 16 additions and 8 deletions

View File

@ -459,7 +459,7 @@ const functions = {
}, },
download: { download: {
requests(client) { requests(client) {
const query = 'SELECT * FROM requests WHERE status = \'Active\' ORDER BY id DESC LIMIT 10'; const query = 'SELECT * FROM requests WHERE status = \'Active\' ORDER BY id DESC';
db.query(query, (err, rows, fields) => { db.query(query, (err, rows, fields) => {
if (err) throw err; if (err) throw err;
functions.collections.requests(rows, client); functions.collections.requests(rows, client);

View File

@ -5,8 +5,14 @@ const fn = require('../functions.js');
module.exports = { module.exports = {
data: new SlashCommandBuilder() data: new SlashCommandBuilder()
.setName('requests') .setName('requests')
.setDescription('Get a list of Active requests from the database'), .setDescription('Get a list of Active requests from the database')
.addStringOption(option =>
option
.setName('page')
.setDescription('Page Number')
.setRequired(true)),
async execute(interaction) { async execute(interaction) {
const pageNum = interaction.options.getString('page');
const commandData = { const commandData = {
author: interaction.user.tag, author: interaction.user.tag,
command: interaction.commandName, command: interaction.commandName,
@ -19,12 +25,14 @@ module.exports = {
request: e.request, request: e.request,
}; };
}); });
for (const row of requestsMap) { for (let i = ( 10 * ( pageNum - 1 ) ); i < ( 10 * pageNum ); i++) {
commandData.requests.push({ if (requestsMap[i] != undefined) {
id: row.id, commandData.requests.push({
author: row.author, id: requestsMap[i].id,
request: row.request, author: requestsMap[i].author,
}); request: requestsMap[i].request,
});
}
} }
interaction.reply(fn.embeds.requests(commandData)); interaction.reply(fn.embeds.requests(commandData));
}, },