#Buttons Expiring

68 messages · Page 1 of 1 (latest)

tropic violet
#

My buttons expire. I use interaction event to make them permanent but it does not work.

fickle violetBOT
#
  • What's your exact discord.js npm list discord.js and node node -v version?
  • Not a discord.js issue? Check out #1081585952654360687.
  • Consider reading #how-to-get-help to improve your question!
  • Explain what exactly your issue is.
  • Post the full error stack trace, not just the top part!
  • Show your code!
  • Issue solved? Press the button!
  • Marked as resolved by OP
tropic violet
#

Here is my code and what i mean by expiring is that they do not work after restart. No errors. no anything in console.

candid mural
#

Any errors?

tropic violet
#

Nope.

#

Just they expire when I turn off the bot.

candid mural
#

Also, I have a few issues with this code.

You have multiple client.on() for the Events.InteractionCreate event, you should only have 1. Use if checks inside the event to figure what each button does

tropic violet
#

Alright how do I configure my code to make it like this.

candid mural
#

This won't solve the issue, but it will make it better:

client.on(Events.InteractionCreate, async interaction => {
    if (interaction.customId === "firstButton") {
        // code here
    } else if (interaction.customId === "secondButton") {
        // other code here
    } 
})
#

Secondly, does your bot just not reply, or does it not do anything?

#

Like does it create a channel?

tropic violet
#

It makes the channel in the specific category it works perfectly fine.

#

It just doesn't stay on after the bot restarts.

candid mural
#

Meaning if you restart the bot and press the button, it just says Interaction Failed?

tropic violet
#

Yes.

candid mural
#

And bot doesn't do anything else as well, is what I understand

tropic violet
#

but if I keep the bot on from the start it works.

#

So. I type in ping to make it send the message. It sends and I can use all the buttons.

candid mural
#

How fast do you press the button after the bot restarts?

#

Because it might be possible that the bot is still booting up

tropic violet
#

I try it like 10 times it doesn't work.

#

Nope. It says it boots up and stuff.

#

It just doesn't stay.

candid mural
#

Show me your intents

tropic violet
#
require('dotenv').config();
const { Client, IntentsBitField, AuditLogEvent, ButtonBuilder, ButtonStyle, ComponentType, ActionRowBuilder, EmbedBuilder, PermissionsBitField, CommandKit, SlashCommandBuilder, Events  } = require('discord.js');
const { mongoose } = require ('mongoose');
const eventHandler = require('./handlers/eventHandler');

const client = new Client({
  intents: [
    IntentsBitField.Flags.Guilds,
    IntentsBitField.Flags.GuildMembers,
    IntentsBitField.Flags.GuildMessages,
    IntentsBitField.Flags.MessageContent,
  ],
});
#

These?

candid mural
#

Yeah, intents seem fine

#

Where did you initially have the collectors?

tropic violet
#

wdym by that?

candid mural
#

Can you show me the code where you used collectors before switching to interaction event

tropic violet
#

I do not have it anymore.

#

All I have is this.

candid mural
#

Do you have the code where you send all the buttons?

tropic violet
#

This is all the code for the buttons?

candid mural
#

Nevermind ignore me

tropic violet
#

Alright.

candid mural
#

I'm stumped, I can't seem to find why it does that

tropic violet
#

hm

candid mural
#

@tropic violet, for the
const member = interaction.guild.members.cache.get(interaction.user.id);

Change it to
const member = interaction.member

tropic violet
#

done

#

lemme try

#

It still doesn't work after restart.

#

Here

#

Heres a preview. All the buttons work but then when I restart my bot I get the This Interaction Failed.

candid mural
#

That is extremely odd. Just want to confirm, you did save all the files right?

candid mural
#

Okay I figured the issue

#

You need to seperate your MessageCreate event and InteractionCreate completely, currently you're nesting them, meaning they only start listening to event once you use the command

tropic violet
#

How do I do this?

candid mural
#
client.on('messageCreate', async (message) => {
    // your code here
}

client.on(Events.InteractionCreate, async (interaction) => {
    // code here
}```
tropic violet
#

And what all would I put in message create?

candid mural
#

Your command

tropic violet
#

I don't use a command?
I use ping

candid mural
#

Yeah that's essentially a command

tropic violet
#

Meaning if someone says "ping" in chat the embed will summon

#

oh alr

#

so only this?

client.on('messageCreate', async (message) => {
  if (message.author.bot) return;

  if (message.content !== 'ping') return;
candid mural
#

Everything below it as well before client.on

tropic violet
candid mural
#

Yes

tropic violet
#
ReferenceError: message is not defined
    at Client.<anonymous> (C:\Users\NotYo\Downloads\Video 2\src\index.js:266:21)
    at Client.emit (node:events:526:35)
    at InteractionCreateAction.handle (C:\Users\NotYo\Downloads\Video 2\node_modules\discord.js\src\client\actions\InteractionCreate.js:97:12)
    at module.exports [as INTERACTION_CREATE] (C:\Users\NotYo\Downloads\Video 2\node_modules\discord.js\src\client\websocket\handlers\INTERACTION_CREATE.js:4:36)
    at WebSocketManager.handlePacket (C:\Users\NotYo\Downloads\Video 2\node_modules\discord.js\src\client\websocket\WebSocketManager.js:355:31)
    at WebSocketManager.<anonymous> (C:\Users\NotYo\Downloads\Video 2\node_modules\discord.js\src\client\websocket\WebSocketManager.js:239:12)
    at WebSocketManager.emit (C:\Users\NotYo\Downloads\Video 2\node_modules\@vladfrangu\async_event_emitter\dist\index.cjs:282:31)
    at WebSocketShard.<anonymous> (C:\Users\NotYo\Downloads\Video 2\node_modules\@discordjs\ws\dist\index.js:1173:51)
    at WebSocketShard.emit (C:\Users\NotYo\Downloads\Video 2\node_modules\@vladfrangu\async_event_emitter\dist\index.cjs:282:31)
    at WebSocketShard.onMessage (C:\Users\NotYo\Downloads\Video 2\node_modules\@discordjs\ws\dist\index.js:988:14)
Emitted 'error' event on Client instance at:
    at emitUnhandledRejectionOrErr (node:events:397:10)
    at process.processTicksAndRejections (node:internal/process/task_queues:84:21)

Node.js v20.10.0
[nodemon] app crashed - waiting for file changes before starting...
#
      const guild = message.guild;
#

This line

candid mural
#

Yea change it to interaction.guild

tropic violet
#

bro thank you so much