I have this code everything works but when i write the command !classes nothing is happening the bot has administrator and I gave him guilds in the scopes but still, nothing i searched here but didn't find anything useful or thing I haven't tried before. i an using replit and discord.js version 14.7.1
this is the code:
const { Client, GatewayIntentBits, MessageEmbed } = require('discord.js')
const client = new Client({
intents: [
GatewayIntentBits.Guilds,
GatewayIntentBits.GuildMessages,
GatewayIntentBits.GuildMessageReactions
]
});
client.on('ready', () => {
console.log(`Logged in as ${client.user.tag}!`);
});
client.on('messageCreate', message => {
// Check if the message starts with the command prefix
if (message.content.startsWith('!classes')) {
// Create the embed
const embed = new MessageEmbed()
.setTitle('Classes')
.addFields(
{ name: 'Class 1', value: 'Description of Class 1' },
{ name: 'Class 2', value: 'Description of Class 2' }
);
// Send the embed to the same channel
message.channel.send(embed).then(async sentMessage => {
// Wait for a reaction to be added
const filter = (reaction, user) => ['', ''].includes(reaction.emoji.name) && user.id === message.author.id;
const collected = await sentMessage.awaitReactions(filter, { max: 1 });
const reaction = collected.first();
try {
// Check which class was selected
if (reaction.emoji.name === '') {
// Class 1 was selected
// Send a message asking for homework and due date
message.channel.send('Please enter your homework for Class 1:');
// Wait for a response
const homeworkFilter = m => m.author.id === message.author.id;
const homeworkMessage = await message.channel.awaitMessages(homeworkFilter, { max: 1 });
const homework = homeworkMessage.first().content;
message.channel.send('Please enter the due date for your homework (e.g. "Tomorrow at 3pm"):');
// Wait for a response
const dateFilter = m => m.author.id === message.author.id;
const dateMessage = await message.channel.awaitMessages(dateFilter, { max: 1 });
const dueDate = dateMessage.first().content;
// Send the homework and due date to a different channel
const homeworkChannel = client.channels.cache.get('channel id');
homeworkChannel.send(`Homework for Class 1: ${homework}\nDue date: ${dueDate}`);
} else if (reaction.emoji.name === '') {
// Class 2 was selected
// Send a message asking for homework and due date
message.channel.send('Please enter your homework for Class 2:');
// Wait for a response
const homeworkFilter = m => m.author.id === message.author.id;
const homeworkMessage = await message.channel.awaitMessages(homeworkFilter, { max: 1 });
const homework = homeworkMessage.first().content;
message.channel.send('Please enter the due date for your homework (e.g. "Tomorrow at 3pm"):');
// Wait for a response
const dateFilter = m => m.author.id === message.author.id;
const dateMessage = await message.channel.awaitMessages(dateFilter, { max: 1 });
const dueDate = dateMessage.first().content;
// Send the homework and due date to a different channel
const homeworkChannel = client.channels.cache.get('channel id');
homeworkChannel.send(`Homework for Class 2: ${homework}\nDue date: ${dueDate}`);
} else {
// Invalid reaction was added
message.channel.send('Inv<sub>your text</sub>alid reaction added. Please try again.');
}
} catch (error) {
console.error(error);
}
}
)
}
});
client.login('token');