Bug gix to reset boardList and columns arrays and beauty

This commit is contained in:
Raven Scott 2022-01-24 22:16:19 +00:00
parent 2f50fdf0fd
commit 0749dba48e

View File

@ -3,7 +3,7 @@ var http = require('unirest');
const { MessageActionRow, MessageSelectMenu } = require('discord.js'); const { MessageActionRow, MessageSelectMenu } = require('discord.js');
// Our main list array - STORAGE // Our main list array - STORAGE
let boardList=[] let boardList = []
let data let data
let desc let desc
let columns = []; let columns = [];
@ -18,7 +18,6 @@ require("dotenv").config();
// Grab RUN - get Client, interaction from the bot // Grab RUN - get Client, interaction from the bot
exports.run = async (client, interaction) => { exports.run = async (client, interaction) => {
// eslint-disable-line no-unused-vars // eslint-disable-line no-unused-vars
// Defer to aloow for embed building // Defer to aloow for embed building
await interaction.deferReply(); await interaction.deferReply();
@ -37,7 +36,7 @@ exports.run = async (client, interaction) => {
let data = response.body.result let data = response.body.result
// Setting up the correct formatting for our paginator // Setting up the correct formatting for our paginator
const pusherFunc = board=>boardList.push({label: board.name, description: board.name, value:board.id}); const pusherFunc = board => boardList.push({ label: board.name, description: board.name, value: board.id });
data.forEach(pusherFunc); data.forEach(pusherFunc);
console.log(boardList) console.log(boardList)
@ -49,12 +48,10 @@ exports.run = async (client, interaction) => {
.addOptions(boardList), .addOptions(boardList),
); );
(async function(){ (async function () {
await interaction.editReply({ content: 'Use the menu below to choose a Project', components: [row] }); await interaction.editReply({ content: 'Use the menu below to choose a Project', components: [row] });
})() })()
// await interaction.reply({ content: 'Pong!', components: [row] }); // await interaction.reply({ content: 'Pong!', components: [row] });
client.on('interactionCreate', interaction => { client.on('interactionCreate', interaction => {
if (!interaction.isSelectMenu()) return; if (!interaction.isSelectMenu()) return;
@ -64,7 +61,7 @@ exports.run = async (client, interaction) => {
await interaction.update({ content: 'Selection Detected.', components: [] }); await interaction.update({ content: 'Selection Detected.', components: [] });
console.log(interaction.values[0]); console.log(interaction.values[0]);
var Request = http.get('https://board.grwh.work/jsonrpc.php').headers({ Accept: 'application/json', 'Content-Type': 'application/json' }).send({"jsonrpc": "2.0","method": "getBoard","id": 0,"params": [interaction.values[0]]}); var Request = http.get('https://board.grwh.work/jsonrpc.php').headers({ Accept: 'application/json', 'Content-Type': 'application/json' }).send({ "jsonrpc": "2.0", "method": "getBoard", "id": 0, "params": [interaction.values[0]] });
// Begin the request and send authenication using the jsonrpc2.0 protocol. // Begin the request and send authenication using the jsonrpc2.0 protocol.
Request.auth({ Request.auth({
@ -78,42 +75,34 @@ exports.run = async (client, interaction) => {
const date = require('date-and-time'); const date = require('date-and-time');
const now = new Date(); const now = new Date();
if (data.description == ''){ if (data.description == '') {
desc = "N/A" desc = "N/A"
} else { } else {
desc = data.description desc = data.description
} }
const pusherFunc = column=>columns.push(column.title + " Position: " + column.nb_tasks + " tasks.\n"); const pusherFunc = column => columns.push(column.title + " Position: " + column.nb_tasks + " tasks.\n");
data.columns.forEach(pusherFunc); data.columns.forEach(pusherFunc);
const mainEmbed = new MessageEmbed() const mainEmbed = new MessageEmbed()
.setColor('#0099ff') .setColor('#0099ff')
.addFields( .addFields(
{ name: 'Swimlane', value: data.name , inline: true }, { name: 'Swimlane', value: data.name, inline: true },
{ name: 'Project ID', value: data.project_id , inline: true}, { name: 'Project ID', value: data.project_id, inline: true },
{ name: 'Description', value: desc }, { name: 'Description', value: desc },
{ name: 'Task Info', value: columns.join(" "), inline: true }, { name: 'Task Info', value: columns.join(" "), inline: true },
{ name: 'link', value: "https://" + process.env.ROOT_DOMAIN + "/board/" + data.project_id, inline: true } { name: 'link', value: "https://" + process.env.ROOT_DOMAIN + "/board/" + data.project_id, inline: true })
)
.setTitle('Requested Details') .setTitle('Requested Details')
.setDescription("Position " + data.position) .setDescription("Position " + data.position)
// .setThumbnail("https://wiki.codingvm.codes/paomedia-small-n-flat-terminal.ico")
.setFooter(date.format(now, 'MM/DD/YYYY hh:mm:ss')); .setFooter(date.format(now, 'MM/DD/YYYY hh:mm:ss'));
(async () => { (async () => {
await interaction.editReply({ embeds: [mainEmbed] }); await interaction.editReply({ embeds: [mainEmbed] });
// Clear the list
boardList = [];
columns = [];
desc = "";
})(); })();
}) })
})(); })();
@ -121,16 +110,10 @@ exports.run = async (client, interaction) => {
}) })
}) })
} }
// Clear the list
boardList = [];
desc = "";
exports.commandData = { exports.commandData = {
name: "projectdetails", name: "projectdetails",
description: "Lists all of the current projects", description: "Lists all of the current projects",