42 lines
1.9 KiB
JavaScript
Executable File
42 lines
1.9 KiB
JavaScript
Executable File
const { Events } = require('discord.js')
|
|
const editPlayer = require('../utils/editPlayer.js')
|
|
const playerButtons = require('../utils/playerButtons.js')
|
|
|
|
module.exports = {
|
|
name: Events.InteractionCreate,
|
|
async execute(interaction) {
|
|
if (!interaction.isAutocomplete() && !interaction.isChatInputCommand() && !interaction.isButton()) return console.error(`Interaction ${interaction.commandName} is not a command.`)
|
|
|
|
else if (interaction.isAutocomplete()) {
|
|
let autoCompleteRun = interaction.client.commands.get(interaction.commandName)
|
|
if (!autoCompleteRun) return console.error(`No autoCompleteRun matching ${interaction.commandName} was found.`)
|
|
|
|
console.log(`\u001b[1;33m AutoCompleteRun '${interaction.commandName}' launched by ${interaction.user.tag}`)
|
|
|
|
try { await autoCompleteRun.autocompleteRun(interaction) }
|
|
catch (error) { console.error(`Error autocompleting ${interaction.commandName}:`, error) }
|
|
}
|
|
|
|
else if (interaction.isChatInputCommand()) {
|
|
let command = interaction.client.commands.get(interaction.commandName)
|
|
if (!command) return console.error(`No command matching ${interaction.commandName} was found.`)
|
|
|
|
console.log(`\u001b[1;33m Command '${interaction.commandName}' launched by ${interaction.user.tag}`)
|
|
|
|
try { await command.execute(interaction) }
|
|
catch (error) { console.error(`Error executing ${interaction.commandName}:`, error) }
|
|
}
|
|
|
|
else if (interaction.isButton()) {
|
|
let button = interaction.client.buttons.get(interaction.customId)
|
|
if (!button) return console.error(`No button id matching ${interaction.customId} was found.`)
|
|
|
|
console.log(`\u001b[1;33m Button '${interaction.customId}' clicked by ${interaction.user.tag}`)
|
|
|
|
if (playerButtons.includes(interaction.customId)) { await editPlayer(interaction) }
|
|
|
|
try { await button.execute(interaction) }
|
|
catch (error) { console.error(`Error clicking ${interaction.customId}:`, error) }
|
|
}
|
|
}
|
|
} |