Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 11102fc3a5 | |||
| 7bd44bd653 |
@@ -23,7 +23,7 @@ module.exports = {
|
|||||||
})
|
})
|
||||||
const embed = new EmbedBuilder()
|
const embed = new EmbedBuilder()
|
||||||
.setTitle('Honors Leaderboard')
|
.setTitle('Honors Leaderboard')
|
||||||
.setThumbnail(guild.iconURL({ dynamic: true}))
|
.setThumbnail(interaction.guild.iconURL({ dynamic: true}))
|
||||||
.setDescription(fields.toString())
|
.setDescription(fields.toString())
|
||||||
.setColor('#5865F2') // Discord's blurple color
|
.setColor('#5865F2') // Discord's blurple color
|
||||||
.setFooter({ text: 'Use ◄ ► to navigate' });
|
.setFooter({ text: 'Use ◄ ► to navigate' });
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ module.exports = {
|
|||||||
})
|
})
|
||||||
const embed = new EmbedBuilder()
|
const embed = new EmbedBuilder()
|
||||||
.setTitle('Honors Leaderboard')
|
.setTitle('Honors Leaderboard')
|
||||||
.setThumbnail(guild.iconURL({ dynamic: true}))
|
.setThumbnail(interaction.guild.iconURL({ dynamic: true}))
|
||||||
.setDescription(fields.toString())
|
.setDescription(fields.toString())
|
||||||
.setColor('#5865F2') // Discord's blurple color
|
.setColor('#5865F2') // Discord's blurple color
|
||||||
.setFooter({ text: 'Use ◄ ► to navigate' });
|
.setFooter({ text: 'Use ◄ ► to navigate' });
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ module.exports = {
|
|||||||
})
|
})
|
||||||
const embed = new EmbedBuilder()
|
const embed = new EmbedBuilder()
|
||||||
.setTitle('Honors Leaderboard')
|
.setTitle('Honors Leaderboard')
|
||||||
.setThumbnail(guild.iconURL({ dynamic: true}))
|
.setThumbnail(interaction.guild.iconURL({ dynamic: true}))
|
||||||
.setDescription(fields.toString())
|
.setDescription(fields.toString())
|
||||||
.setColor('#5865F2') // Discord's blurple color
|
.setColor('#5865F2') // Discord's blurple color
|
||||||
.setFooter({ text: 'Use ◄ ► to navigate' });
|
.setFooter({ text: 'Use ◄ ► to navigate' });
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ module.exports = {
|
|||||||
})
|
})
|
||||||
const embed = new EmbedBuilder()
|
const embed = new EmbedBuilder()
|
||||||
.setTitle('Nuts Leaderboard')
|
.setTitle('Nuts Leaderboard')
|
||||||
.setThumbnail(guild.iconURL({ dynamic: true}))
|
.setThumbnail(interaction.guild.iconURL({ dynamic: true}))
|
||||||
.setDescription(fields.toString())
|
.setDescription(fields.toString())
|
||||||
.setColor('#5865F2') // Discord's blurple color
|
.setColor('#5865F2') // Discord's blurple color
|
||||||
.setFooter({ text: 'Use ◄ ► to navigate' });
|
.setFooter({ text: 'Use ◄ ► to navigate' });
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ module.exports = {
|
|||||||
})
|
})
|
||||||
const embed = new EmbedBuilder()
|
const embed = new EmbedBuilder()
|
||||||
.setTitle('Nuts Leaderboard')
|
.setTitle('Nuts Leaderboard')
|
||||||
.setThumbnail(guild.iconURL({ dynamic: true}))
|
.setThumbnail(interaction.guild.iconURL({ dynamic: true}))
|
||||||
.setDescription(fields.toString())
|
.setDescription(fields.toString())
|
||||||
.setColor('#5865F2') // Discord's blurple color
|
.setColor('#5865F2') // Discord's blurple color
|
||||||
.setFooter({ text: 'Use ◄ ► to navigate' });
|
.setFooter({ text: 'Use ◄ ► to navigate' });
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ module.exports = {
|
|||||||
})
|
})
|
||||||
const embed = new EmbedBuilder()
|
const embed = new EmbedBuilder()
|
||||||
.setTitle('Nuts Leaderboard')
|
.setTitle('Nuts Leaderboard')
|
||||||
.setThumbnail(guild.iconURL({ dynamic: true}))
|
.setThumbnail(interaction.guild.iconURL({ dynamic: true}))
|
||||||
.setDescription(fields.toString())
|
.setDescription(fields.toString())
|
||||||
.setColor('#5865F2') // Discord's blurple color
|
.setColor('#5865F2') // Discord's blurple color
|
||||||
.setFooter({ text: 'Use ◄ ► to navigate' });
|
.setFooter({ text: 'Use ◄ ► to navigate' });
|
||||||
|
|||||||
@@ -50,12 +50,15 @@ module.exports = {
|
|||||||
{ $inc: { [`stat.${amount}`]: 1 } },
|
{ $inc: { [`stat.${amount}`]: 1 } },
|
||||||
{ upsert: true }
|
{ upsert: true }
|
||||||
)
|
)
|
||||||
let content = `Du hast ${amount} Nüsse bekommen! :chestnut:`
|
// Helper for singular/plural
|
||||||
if (!amount) {
|
const formatNut = (amount) => `${amount === 1 ? 'eine' : amount} ${amount === 1 ? 'Nuss' : 'Nüsse'}`
|
||||||
content = `Du hast leider keine Nüsse bekommen :(`
|
|
||||||
|
let nutText = `Du hast ${formatNut(amount)} bekommen! :chestnut:`
|
||||||
|
if (amount <= 0) {
|
||||||
|
nutText = `Du hast keine Nuss bekommen! :yoink_help:`
|
||||||
}
|
}
|
||||||
return await message.reply({
|
return await message.reply({
|
||||||
content: content
|
content: nutText
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -37,7 +37,7 @@ module.exports = {
|
|||||||
})
|
})
|
||||||
const embed = new EmbedBuilder()
|
const embed = new EmbedBuilder()
|
||||||
.setTitle('Nuts Leaderboard')
|
.setTitle('Nuts Leaderboard')
|
||||||
.setThumbnail(guild.iconURL({ dynamic: true}))
|
.setThumbnail(message.guild.iconURL({ dynamic: true}))
|
||||||
.setDescription(fields.toString())
|
.setDescription(fields.toString())
|
||||||
.setColor('#5865F2') // Discord's blurple color
|
.setColor('#5865F2') // Discord's blurple color
|
||||||
.setFooter({ text: 'Use ◄ ► to navigate' });
|
.setFooter({ text: 'Use ◄ ► to navigate' });
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
const { SlashCommandBuilder, EmbedBuilder, MessageFlags } = require('discord.js')
|
const { SlashCommandBuilder, EmbedBuilder, MessageFlags, PermissionFlagsBits } = require('discord.js')
|
||||||
const { mClient } = require('../../../index')
|
const { mClient } = require('../../../index')
|
||||||
const { configDotenv } = require('dotenv')
|
const { configDotenv } = require('dotenv')
|
||||||
configDotenv()
|
configDotenv()
|
||||||
@@ -144,6 +144,7 @@ module.exports = {
|
|||||||
data: new SlashCommandBuilder()
|
data: new SlashCommandBuilder()
|
||||||
.setName('birthday')
|
.setName('birthday')
|
||||||
.setDescription('manage birthdays')
|
.setDescription('manage birthdays')
|
||||||
|
.setDefaultMemberPermissions(PermissionFlagsBits.ManageRoles)
|
||||||
.addSubcommand(s =>
|
.addSubcommand(s =>
|
||||||
s
|
s
|
||||||
.setName('set')
|
.setName('set')
|
||||||
@@ -185,21 +186,9 @@ module.exports = {
|
|||||||
async execute(interaction) {
|
async execute(interaction) {
|
||||||
switch (interaction.options._subcommand) {
|
switch (interaction.options._subcommand) {
|
||||||
case 'set':
|
case 'set':
|
||||||
if (!interaction.member.permissions.has("ADMINISTRATOR")) {
|
|
||||||
return await interaction.reply({
|
|
||||||
content: "Unprivileged Access!",
|
|
||||||
flags: MessageFlags.Ephemeral
|
|
||||||
})
|
|
||||||
}
|
|
||||||
birthdaySet(interaction)
|
birthdaySet(interaction)
|
||||||
break;
|
break;
|
||||||
case 'delete':
|
case 'delete':
|
||||||
if (!interaction.member.permissions.has("ADMINISTRATOR")) {
|
|
||||||
return await interaction.reply({
|
|
||||||
content: "Unprivileged Access!",
|
|
||||||
flags: MessageFlags.Ephemeral
|
|
||||||
})
|
|
||||||
}
|
|
||||||
birthdayDelete(interaction)
|
birthdayDelete(interaction)
|
||||||
break;
|
break;
|
||||||
case 'get':
|
case 'get':
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
const { SlashCommandBuilder, Events, MessageFlags } = require('discord.js')
|
const { SlashCommandBuilder, Events, MessageFlags, PermissionFlagsBits } = require('discord.js')
|
||||||
const { mClient } = require('../../../index')
|
const { mClient } = require('../../../index')
|
||||||
require('dotenv').config()
|
require('dotenv').config()
|
||||||
|
|
||||||
@@ -80,6 +80,7 @@ module.exports = {
|
|||||||
data: new SlashCommandBuilder()
|
data: new SlashCommandBuilder()
|
||||||
.setName('config')
|
.setName('config')
|
||||||
.setDescription('configurations for admins')
|
.setDescription('configurations for admins')
|
||||||
|
.setDefaultMemberPermissions(PermissionFlagsBits.ManageChannels)
|
||||||
.addSubcommandGroup(sg =>
|
.addSubcommandGroup(sg =>
|
||||||
sg
|
sg
|
||||||
.setName('channels')
|
.setName('channels')
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ async function honorLeaderboard(interaction) {
|
|||||||
})
|
})
|
||||||
const embed = new EmbedBuilder()
|
const embed = new EmbedBuilder()
|
||||||
.setTitle('- Honors Leaderboard -')
|
.setTitle('- Honors Leaderboard -')
|
||||||
.setThumbnail(guild.iconURL({ dynamic: true}))
|
.setThumbnail(interaction.guild.iconURL({ dynamic: true}))
|
||||||
.setDescription(fields.toString())
|
.setDescription(fields.toString())
|
||||||
.setColor('#5865F2') // Discord's blurple color
|
.setColor('#5865F2') // Discord's blurple color
|
||||||
.setFooter({ text: 'Use ◄ ► to navigate' });
|
.setFooter({ text: 'Use ◄ ► to navigate' });
|
||||||
|
|||||||
@@ -150,15 +150,14 @@ async function nutsLeaderboard(interaction) {
|
|||||||
|
|
||||||
const embed = new EmbedBuilder()
|
const embed = new EmbedBuilder()
|
||||||
.setTitle('Nuts Leaderboard')
|
.setTitle('Nuts Leaderboard')
|
||||||
.setThumbnail('attachment://nuts_main.png')
|
.setThumbnail(interaction.guild.iconURL({ dynamic: true}))
|
||||||
.setDescription(fields.toString())
|
.setDescription(fields.toString())
|
||||||
.setColor('#5865F2')
|
.setColor('#5865F2')
|
||||||
.setFooter({ text: 'Use ◄ ► to navigate' })
|
.setFooter({ text: 'Use ◄ ► to navigate' })
|
||||||
|
|
||||||
await interaction.editReply({
|
await interaction.editReply({
|
||||||
embeds: [embed],
|
embeds: [embed],
|
||||||
components: [row],
|
components: [row]
|
||||||
files: [`${asset_path}nuts_main.png`]
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -281,7 +280,7 @@ async function nutsNut(interaction, quickMode) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Helper for singular/plural
|
// Helper for singular/plural
|
||||||
const formatNut = (amount) => `${amount} ${amount === 1 ? 'Nuss' : 'Nüsse'}`
|
const formatNut = (amount) => `${amount === 1 ? 'eine' : amount} ${amount === 1 ? 'Nuss' : 'Nüsse'}`
|
||||||
|
|
||||||
// check cooldown
|
// check cooldown
|
||||||
if (cdData?.cooldown > Date.now() / 1000) {
|
if (cdData?.cooldown > Date.now() / 1000) {
|
||||||
@@ -330,9 +329,13 @@ async function nutsNut(interaction, quickMode) {
|
|||||||
{ upsert: true }
|
{ upsert: true }
|
||||||
)
|
)
|
||||||
|
|
||||||
|
let nutText = `Du hast ${formatNut(amount)} bekommen! :chestnut:`
|
||||||
|
if (amount <= 0) {
|
||||||
|
nutText = `Du hast keine Nuss bekommen! :yoink_help:`
|
||||||
|
}
|
||||||
|
|
||||||
if (quickMode) {
|
if (quickMode) {
|
||||||
return interaction.editReply({ content: `Du hast ${formatNut(amount)} bekommen! :chestnut:` })
|
return interaction.editReply({ content: nutText })
|
||||||
}
|
}
|
||||||
|
|
||||||
// pseudo animation
|
// pseudo animation
|
||||||
@@ -355,7 +358,7 @@ async function nutsNut(interaction, quickMode) {
|
|||||||
else if (amount > 4) assetFile = assets.normal
|
else if (amount > 4) assetFile = assets.normal
|
||||||
else assetFile = assets.low
|
else assetFile = assets.low
|
||||||
|
|
||||||
embed.setTitle(`Du hast ${formatNut(amount)} bekommen!`)
|
embed.setTitle(nutText)
|
||||||
embed.setThumbnail(assetFile)
|
embed.setThumbnail(assetFile)
|
||||||
embed.setImage(null)
|
embed.setImage(null)
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,178 @@
|
|||||||
|
const { ModalBuilder, UserSelectMenuBuilder, TextInputBuilder, EmbedBuilder, TimestampStyles, time } = require("@discordjs/builders");
|
||||||
|
const { SlashCommandBuilder, LabelBuilder, TextInputStyle, MessageFlags } = require("discord.js");
|
||||||
|
const { mClient } = require("../../..");
|
||||||
|
|
||||||
|
function ordinal(n) {
|
||||||
|
const s = ["th", "st", "nd", "rd"];
|
||||||
|
const v = n % 100;
|
||||||
|
|
||||||
|
return n + (s[(v - 20) % 10] || s[v] || s[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
async function wgeStatus(interaction) {
|
||||||
|
const db = mClient.db('neo-db')
|
||||||
|
const wgeColl = db.collection('timer_wge')
|
||||||
|
const historyColl = db.collection('history_wge');
|
||||||
|
|
||||||
|
const results = await wgeColl.findOne({
|
||||||
|
"debug": false
|
||||||
|
})
|
||||||
|
if (!results) {
|
||||||
|
return interaction.editReply({
|
||||||
|
content: 'No WGE Session currently running!',
|
||||||
|
flags: MessageFlags.Ephemeral
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const historyCount = await historyColl.countDocuments();
|
||||||
|
const iteration = historyCount + 1;
|
||||||
|
|
||||||
|
const createdAt = new Date(results.createdAt)
|
||||||
|
const expiresAt = new Date(createdAt.getTime() + Number(results.timeRemaining))
|
||||||
|
|
||||||
|
const embed = new EmbedBuilder()
|
||||||
|
.setTitle(`✨ [${ordinal(iteration)}] World's Greatest Expert ✨`)
|
||||||
|
.setDescription(
|
||||||
|
`<@${results.assignedUser}> is currently the **World's Greatest Expert** in **${results.topic}**.\n\n` +
|
||||||
|
`They must submit their entry <t:${Math.floor(expiresAt.getTime() / 1000)}:R>.\n\n` +
|
||||||
|
`Thank you, <@${results.assigningUser}>, for the nomination!`
|
||||||
|
)
|
||||||
|
|
||||||
|
return interaction.editReply({
|
||||||
|
embeds: [embed]
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
async function wgeStart(interaction) {
|
||||||
|
const wgeBaseModal = new ModalBuilder()
|
||||||
|
.setCustomId('wgeBaseModal')
|
||||||
|
.setTitle("World's Greatest Expert")
|
||||||
|
|
||||||
|
const wgeUserInput = new UserSelectMenuBuilder()
|
||||||
|
.setCustomId('wgeUserInput')
|
||||||
|
.setMaxValues(1)
|
||||||
|
.setRequired(true)
|
||||||
|
|
||||||
|
const wgeTopicInput = new TextInputBuilder()
|
||||||
|
.setCustomId('wgeTopicInput')
|
||||||
|
.setStyle(TextInputStyle.Short)
|
||||||
|
.setRequired(true)
|
||||||
|
|
||||||
|
const wgeUserLabel = new LabelBuilder()
|
||||||
|
.setLabel("Who is YOUR World's Greatest Expert?")
|
||||||
|
.setDescription('Select them!')
|
||||||
|
.setUserSelectMenuComponent(wgeUserInput)
|
||||||
|
|
||||||
|
const wgeTopicLabel = new LabelBuilder()
|
||||||
|
.setLabel("And WHAT are they an expert in?")
|
||||||
|
.setDescription('Tell me!')
|
||||||
|
.setTextInputComponent(wgeTopicInput)
|
||||||
|
|
||||||
|
wgeBaseModal
|
||||||
|
.addLabelComponents(wgeUserLabel, wgeTopicLabel)
|
||||||
|
|
||||||
|
await interaction.showModal(wgeBaseModal)
|
||||||
|
}
|
||||||
|
|
||||||
|
async function wgeStop(interaction) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
async function wgePause(interaction) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
async function wgeResume(interaction) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
async function wgeForfeit(interaction) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
async function wgeHistory(interaction) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
data: new SlashCommandBuilder()
|
||||||
|
.setName('wge')
|
||||||
|
.setDescription('welcome to worlds greatest experts')
|
||||||
|
// Show Status of Current Running WGE Session
|
||||||
|
.addSubcommand(s =>
|
||||||
|
s
|
||||||
|
.setName('status')
|
||||||
|
.setDescription('display current wge session')
|
||||||
|
)
|
||||||
|
|
||||||
|
// Assign Someone to be the next Expert
|
||||||
|
.addSubcommand(s =>
|
||||||
|
s
|
||||||
|
.setName('start')
|
||||||
|
.setDescription('start a new wge session')
|
||||||
|
)
|
||||||
|
|
||||||
|
// Stop the current Session, No Reassignment
|
||||||
|
.addSubcommand(s =>
|
||||||
|
s
|
||||||
|
.setName('stop')
|
||||||
|
.setDescription('stop the current wge session')
|
||||||
|
)
|
||||||
|
|
||||||
|
// Halt the current Session Timer
|
||||||
|
.addSubcommand(s =>
|
||||||
|
s
|
||||||
|
.setName('pause')
|
||||||
|
.setDescription('pause the current wge session timer')
|
||||||
|
)
|
||||||
|
|
||||||
|
// Resume the current Session Timer
|
||||||
|
.addSubcommand(s =>
|
||||||
|
s
|
||||||
|
.setName('resume')
|
||||||
|
.setDescription('resume the current wge session timer')
|
||||||
|
)
|
||||||
|
|
||||||
|
// Forfeit your current expert topic and assign someone else
|
||||||
|
.addSubcommand(s =>
|
||||||
|
s
|
||||||
|
.setName('forfeit')
|
||||||
|
.setDescription('forfeit your current topic')
|
||||||
|
)
|
||||||
|
|
||||||
|
// List the previous WGE Sessions
|
||||||
|
.addSubcommand(s =>
|
||||||
|
s
|
||||||
|
.setName('history')
|
||||||
|
.setDescription('display the previous wge sessions')
|
||||||
|
)
|
||||||
|
,
|
||||||
|
async execute(interaction) {
|
||||||
|
switch (interaction.options._subcommand) {
|
||||||
|
case 'status':
|
||||||
|
await interaction.deferReply()
|
||||||
|
wgeStatus(interaction)
|
||||||
|
break;
|
||||||
|
case 'start':
|
||||||
|
wgeStart(interaction)
|
||||||
|
break;
|
||||||
|
case 'stop':
|
||||||
|
wgeStop(interaction)
|
||||||
|
break;
|
||||||
|
case 'pause':
|
||||||
|
wgePause(interaction)
|
||||||
|
break;
|
||||||
|
case 'resume':
|
||||||
|
wgeResume(interaction)
|
||||||
|
break;
|
||||||
|
case 'forfeit':
|
||||||
|
wgeForfeit(interaction)
|
||||||
|
break;
|
||||||
|
case 'history':
|
||||||
|
wgeHistory(interaction)
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -54,7 +54,7 @@ module.exports = {
|
|||||||
console.error(`Failed to add birthday role to ${member.user.tag}:`, err)
|
console.error(`Failed to add birthday role to ${member.user.tag}:`, err)
|
||||||
);
|
);
|
||||||
console.log(`Added birthday role to ${member.user.tag}`);
|
console.log(`Added birthday role to ${member.user.tag}`);
|
||||||
//client.emit('Birthday', member);
|
client.emit('Birthday', member);
|
||||||
} else {
|
} else {
|
||||||
// Default fallback: remove birthday role if present
|
// Default fallback: remove birthday role if present
|
||||||
if (member.roles.cache.has(birthdayRoleID)) {
|
if (member.roles.cache.has(birthdayRoleID)) {
|
||||||
|
|||||||
@@ -1,13 +1,14 @@
|
|||||||
const { Events, MessageFlags } = require('discord.js')
|
const { Events, MessageFlags } = require('discord.js')
|
||||||
|
const { mClient } = require('../index')
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: Events.InteractionCreate,
|
name: Events.InteractionCreate,
|
||||||
once: false,
|
once: false,
|
||||||
async execute(interaction) {
|
async execute(interaction) {
|
||||||
if (interaction.isChatInputCommand()) { commandHandler(interaction) };
|
if (interaction.isChatInputCommand()) { commandHandler(interaction) }
|
||||||
if (interaction.isButton()) { buttonHandler(interaction) }
|
if (interaction.isButton()) { buttonHandler(interaction) }
|
||||||
if (interaction.isMentionableSelectMenu()) { selectMenuHandler(interaction)}
|
if (interaction.isMentionableSelectMenu()) { selectMenuHandler(interaction) }
|
||||||
if (interaction.isUserSelectMenu()) { selectMenuHandler(interaction) }
|
if (interaction.isUserSelectMenu()) { selectMenuHandler(interaction) }
|
||||||
|
if (interaction.isModalSubmit()) { modalSubmitHandler(interaction) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
async function commandHandler(interaction) {
|
async function commandHandler(interaction) {
|
||||||
@@ -56,3 +57,29 @@ async function selectMenuHandler(interaction) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
async function modalSubmitHandler(interaction) {
|
||||||
|
if (interaction.customId === 'wgeBaseModal') {
|
||||||
|
await interaction.reply({
|
||||||
|
content: 'Your submission was received successfully!'
|
||||||
|
});
|
||||||
|
|
||||||
|
// Get the data entered by the user
|
||||||
|
const wgeAssignedUser = interaction.components[0].component.users.first();
|
||||||
|
const wgeAssigningUser = interaction.user
|
||||||
|
const wgeAssignedTopic = interaction.fields.getTextInputValue('wgeTopicInput');
|
||||||
|
|
||||||
|
const wgeDefaultAssignedTime = 7 * 24 * 60 * 60 * 1000; // 7 days in ms
|
||||||
|
|
||||||
|
const db = mClient.db('neo-db')
|
||||||
|
const wgeColl = db.collection('timer_wge')
|
||||||
|
|
||||||
|
wgeColl.insertOne({
|
||||||
|
"assignedUser": wgeAssignedUser.id,
|
||||||
|
"assigningUser": wgeAssigningUser.id,
|
||||||
|
"timeRemaining": wgeDefaultAssignedTime,
|
||||||
|
"createdAt": new Date(),
|
||||||
|
"topic": wgeAssignedTopic,
|
||||||
|
"debug" :false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user