Discord JS Bot Button Geht nicht?
Meine index.js
const Discord = require('discord.js');
const { Intents } = Discord;
const client = new Discord.Client({
intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MEMBERS, Intents.FLAGS.GUILD_MESSAGES]
});
const welcomeBot = require('./Commands/welcome-bot');
const Zaehlung = require('./Commands/Zaehlung');
const channelId = '1132493981956194381';
const targetChannelId = '1132493981771628610';
const verifiedRoleId = '1132493981306077190';
client.on('ready', async () => {
console.log(`Logged in as ${client.user.tag}`);
const targetChannel = await client.channels.fetch(targetChannelId);
const button = new Discord.MessageButton()
.setStyle('PRIMARY')
.setLabel('Verifizieren')
.setCustomId('verify');
const row = new Discord.MessageActionRow().addComponents(button);
await targetChannel.send({
content: 'Klicke auf den Button, um dich zu verifizieren:',
components: [row]
});
console.log('Code reached here.');
});
client.on('message', async (message) => {
if (message.channel.id === channelId && !message.author.bot) {
Zaehlung.processMessage(message, channelId);
}
});
client.on('guildMemberAdd', async (member) => {
welcomeBot(member);
});
client.once('ready', () => {
console.log('Bot ist bereit.');
});
client.login('');
Meine AntiBot.js Was in ordner Commands ist
const Discord = require('discord.js');
module.exports = async (client) => {
console.log('Bot ist bereit.');
const targetChannelId = '1132493981771628610';
const verifiedRoleId = '1132493981306077190';
try {
const targetChannel = await client.channels.fetch(targetChannelId);
const button = new Discord.MessageButton()
.setStyle('PRIMARY')
.setLabel('Verifizieren')
.setCustomId('verify');
const row = new Discord.MessageActionRow().addComponents(button);
await targetChannel.send({
content: 'Klicke auf den Button, um dich zu verifizieren:',
components: [row],
});
} catch (error) {
console.error('Fehler beim Senden des Buttons:', error);
}
};
client.on('interactionCreate', async (interaction) => {
if (!interaction.isButton()) return;
if (interaction.customId === 'verify' && interaction.user) {
const verifiedRole = interaction.guild.roles.cache.get(verifiedRoleId);
if (verifiedRole) {
try {
await interaction.member.roles.add(verifiedRole);
await interaction.reply({
content: 'Du wurdest erfolgreich verifiziert!',
ephemeral: true,
});
} catch (error) {
console.error('Fehler beim Verifizieren des Mitglieds:', error);
}
}
}
});
Button Wird Bei Bot start erstellt aber wenn ich drauf klicke kommt diese fehler meldng Von Discord
Sehe mein Bild und in console gibt leider keine Fehler meldung Ich hoffe ihr könnt mir hilfen
1 Antwort
Versuche mal dein Interaction Event in die Index zu packen. Habe ka ob das hilft arbeite nicht mit modules, aber funktionieren sollte das Event dann. Am besten schaust du vorher einfach mal ob das Event überhaupt getriggert wird
Dein Code ist auch nicht wirklich Sinnig. Jedes mal wenn du deinen Bot jetzt startest sendet er den Button in deinen Channel. Wenn du ihn aber konstant da drin haben willst filter einfach die Nachrichten im Channel und schau ob die Nachricht noch vorhanden ist.
Habe einfach anders gemacht es wird jede start gelöscht und wenn nicht gibt löscht es auch nix und erstellt danach neue Button