Décrivez ici votre problème ou ce que vous cherchez à faire.
yo, j'ai un soucis sur mon bot discord qui ne veut pas envoyer des message embed, peut importe ce que je fait j'ai l'erreur : "DiscordAPIError: Cannot send an empty message"

voici mon code( j'ai volontairement cacher les infos sensible du token et de l'id du canal):

const { Client, Intents, MessageEmbed } = require('discord.js');
const axios = require('axios');

const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES] });

const SERVER_URL = 'https://www.youtube.com/';
const interval = 1000; // 30 secondes
let statusWebsite = false;

client.once('ready', () => {
    console.log('Bot en ligne!');

    setInterval(async () => {
        try {
            const response = await axios.get(SERVER_URL);
            const channel = client.channels.cache.get('canal'); // Remplacez ceci par l'ID de votre channel Discord
            if (response.status === 200) {
                if (!statusWebsite) {
                    statusWebsite = true;
                    const embed = new MessageEmbed()
                        .setTitle('ETAT DU SERVEUR')
                        .setDescription(':white_check_mark: Serveur En ligne :white_check_mark: ')
                        .setColor('#04ff00');
                    console.log(embed); // Affichez l'embed pour vérifier son contenu
                    channel.send({ embeds: [embed] });
                }
            }
        } catch (error) {
            console.error('Erreur lors de la vérification de l\'état du serveur :', error.message);
            const channel = client.channels.cache.get('canal'); // Remplacez ceci par l'ID de votre channel Discord
            if (statusWebsite) {
                statusWebsite = false;
                const embed = new MessageEmbed()
                    .setTitle('ETAT DU SERVEUR')
                    .setDescription(':x: Serveur Hors ligne :x: ')
                    .setColor('#ff0000');
                console.log(embed); // Affichez l'embed pour vérifier son contenu
                channel.send({ embeds: [embed] });
            }
        }
    }, interval);
});

client.on('error', console.error);

client.login('token');

L'ERREUR QUE CA ME MET:

c:\Users\minec\OneDrive\Desktop\bot\node_modules\discord.js\src\rest\RequestHandler.js:154
      throw new DiscordAPIError(request.path, data, request.method, res.status);
            ^

DiscordAPIError: Cannot send an empty message
    at RequestHandler.execute (c:\Users\minec\OneDrive\Desktop\bot\node_modules\discord.js\src\rest\RequestHandler.js:154:13)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async RequestHandler.push (c:\Users\minec\OneDrive\Desktop\bot\node_modules\discord.js\src\rest\RequestHandler.js:39:14) {
  method: 'post',
  path: '/channels/canal/messages',
  code: 50006,
  httpStatus: 400
}

Node.js v20.11.1

1 réponse


Si tu ajoute un message en plus de l'embed ça marche ?