Partage
  • Partager sur Facebook
  • Partager sur Twitter

comment mettre une commande dans un embed

    13 avril 2021 à 11:57:59

    Bonjour, en ce moment j'essaie de coder un bot disocrd en .js et je n'arrive pas à mettre une commande dans un embed.

    j'aimerai mettre tout particulièrement ces commandes dans un embed (différents embed bien-sûr):

    if (!message.member.hasPermission('KICK_MEMBERS')) return message.channel.send('Vous n\'avez pas la permission d\'utiliser cette commande.')
            const member = message.mentions.members.first()
            if (!member) return message.channel.send('Veuillez mentionner le membre à exclure.')
            if (member.id === message.guild.ownerID) return message.channel.send('Vous ne pouvez pas exclure le propriétaire du serveur.')
            if (message.member.roles.highest.comparePositionTo(member.roles.highest) < 1 && message.author.id !== message.guild.ownerID) return message.channel.send('Vous ne pouvez pas exclure ce membre.')
            if (!member.kickable) return message.channel.send('Le bot ne peut pas exclure ce membre.')
    -

    -
    Edité par Kyomu Ken 13 avril 2021 à 12:35:17

    • Partager sur Facebook
    • Partager sur Twitter
      13 avril 2021 à 12:06:42 - Message modéré pour le motif suivant : La demande de l'équipe de modération a été honorée.


      Pas d'aide concernant le code par MP, le forum est là pour ça :)

        13 avril 2021 à 12:37:50

        Bonjour un message Embed ?

        La doc de la version stable de discord.js montre un code d'exemple pour envoyé un Message Embed sur un text channel 

        En principe il faut juste importé MessageEmbed depuis le package discord.js l'instancié le paramétré (titre, description, couleur, ...)

        et l'envoyé directement en paramètre de la méthode send d'un TextChannel comme pour un message text normal:

        const {MessageEmbed} = require('discord.js');
        
        function sendEmbedMessage(channel, options) {
        	
            
        	const embed = new MessageEmbed();
            
            embed
            	.setTitle(options.title || "default title")
                .setColor(options.color || 0xff0000)
                .setDescription(options.description || "default description")
            ;
            
            channel.send(embed);
            
            return embed;
        }
        
        if (!message.member.hasPermission('KICK_MEMBERS')) {
        	
            return sendEmbedMessage(
            	message.channel,
                {
                	title: "...",
                    description: "Vous n\'avez pas la permission d\'utiliser cette commande.",
                    // color: ...
                }
            );
        }
        
        const member = message.mentions.members.first();
        
        if (!member) {
        	return sendEmbedMessage(
            	message.channel,
                {
                	title: "...",
                    description: "Veuillez mentionner le membre à exclure.",
                    // color: ...
                }
            );
        }
        
        if (member.id === message.guild.ownerID) {
        	return sendEmbedMessage(
            	message.channel,
                {
                	title: "...",
                    description: "Vous ne pouvez pas exclure le propriétaire du serveur.",
                    // color: ...
                }
            );
        }
        
        if (
        	message.member.roles.highest.comparePositionTo(member.roles.highest) < 1 &&
            message.author.id !== message.guild.ownerID
        ) {
        	return sendEmbedMessage(
            	message.channel,
                {
                	title: "...",
                    description: "Vous ne pouvez pas exclure ce membre.",
                    // color: ...
                }
            );
        }
        
        if (!member.kickable) {
        	return sendEmbedMessage(
            	message.channel,
                {
                	title: "...",
                    description: "Le bot ne peut pas exclure ce membre.",
                    // color: ...
                }
            );
        }

        • Partager sur Facebook
        • Partager sur Twitter

        suggestion de présentation.

          13 avril 2021 à 16:12:28

          Bonjour, merci de m'avoir aider, mais quand je veux lancer le bot ça me met ça :

          C:\Users\prénom\Documents\BOT H and A\commands\truc.js:19
          if (!message.member.hasPermission('KICK_MEMBERS')) {
          ^
          
          ReferenceError: message is not defined
              at Object.<anonymous> (C:\Users\prénom\Documents\BOT H and A\commands\truc.js:19:1)
              at Module._compile (internal/modules/cjs/loader.js:1063:30)
              at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
              at Module.load (internal/modules/cjs/loader.js:928:32)
              at Function.Module._load (internal/modules/cjs/loader.js:769:14)
              at Module.require (internal/modules/cjs/loader.js:952:19)
              at require (internal/modules/cjs/helpers.js:88:18)
              at C:\Users\prénom\Documents\BOT H and A\index.js:17:25
              at Array.forEach (<anonymous>)
              at C:\Users\prénom\Documents\BOT H and A\index.js:15:11
          • Partager sur Facebook
          • Partager sur Twitter
            13 avril 2021 à 16:44:15

            Bonjour est ce que tu as cette erreur depuis que tu as essayé d'ajouté la fonctionnalité du MessageEmbed dans ton code où tu l'avait déjà avant ?

            L'erreur ReferenceError indique que tu as essayé de faire référence à une donnée qui n'existe pas (où plus) ici c'est la donnée message qui et mis en cause à ligne 19 du fichier:

            C:\Users\prénom\Documents\BOT H and A\commands\truc.js



            dans le code précédent que tu as montré on ne voit pas d'où provient la donnée message en principe avec l'api de discord les messages sont accessible via les paramètres de certains événement que le bot peut écouté, ton code complet doit ressemblé à peut près à ça:

            // importe les composants depuis le package de discordjs
            const {MessageEmbed, Client} = require('discord.js');
            
            // instancie un nouveau client (le bot)
            const client = new Client();
             
            // prépare une fonction qui envoie des Message Embed
            function sendEmbedMessage(channel, options) {
                const embed = new MessageEmbed();
                 
                embed
                    .setTitle(options.title || "default title")
                    .setColor(options.color || 0xff0000)
                    .setDescription(options.description || "default description")
                ;
                 
                channel.send(embed);
                 
                return embed;
            }
             
            
            //  écoute l'événement "ready" du client (le bot) 
            client.on('ready', () => {
              console.log(`Logged in as ${client.user.tag}!`);
            });
            
            // écoute les erreurs émise par le client (le bot)
            client.on('error', error => {
            	console.error(`le bot à crash avec le status: ${error.message}`);
                throw new Error('le bot à crash :\'(');
            });
            
            // écoute les nouveaux messages sur le client (le bot) 
            client.on('message', message => {
              
              // ici un nouveau message envoyé à était écouté
            
                // le code d'exemple de la doc
                // renvoi un message en retour
                // <https://discord.js.org/#/docs/main/stable/general/welcome>
                //  if (msg.content === 'ping') {
                //    msg.reply('pong');
                //  }
                
                // ci-dessous le traitement du message:
                
                if (!message.member.hasPermission('KICK_MEMBERS')) {
                 
                    return sendEmbedMessage(
                        message.channel,
                        {
                            title: "...",
                            description: "Vous n\'avez pas la permission d\'utiliser cette commande.",
                            // color: ...
                        }
                    );
            	}
             
                const member = message.mentions.members.first();
            
                if (!member) {
                    return sendEmbedMessage(
                        message.channel,
                        {
                            title: "...",
                            description: "Veuillez mentionner le membre à exclure.",
                            // color: ...
                        }
                    );
                }
            
                if (member.id === message.guild.ownerID) {
                    return sendEmbedMessage(
                        message.channel,
                        {
                            title: "...",
                            description: "Vous ne pouvez pas exclure le propriétaire du serveur.",
                            // color: ...
                        }
                    );
                }
            
                if (
                    message.member.roles.highest.comparePositionTo(member.roles.highest) < 1 &&
                    message.author.id !== message.guild.ownerID
                ) {
                    return sendEmbedMessage(
                        message.channel,
                        {
                            title: "...",
                            description: "Vous ne pouvez pas exclure ce membre.",
                            // color: ...
                        }
                    );
                }
            
                if (!member.kickable) {
                    return sendEmbedMessage(
                        message.channel,
                        {
                            title: "...",
                            description: "Le bot ne peut pas exclure ce membre.",
                            // color: ...
                        }
                    );
                }
                
                
            });
            
            client.login('<TOKEN>');
            

            Même si il y à plusieurs façon de l'écrire, le client dois se connecté à l'api puis on pose des écouteurs d'événement dessus et dans les fonctions de rappel on effectue des traitement en retour aux événements.

            Tu peut retrouvé le get started de la documentation de l'api de Discordjs

            Et la référence de l'objet Client tu pourras retrouvé notamment tous les événements qui sont écoutable sur le client et les paramètres qui lui sont envoyé.

            • Partager sur Facebook
            • Partager sur Twitter

            suggestion de présentation.

            comment mettre une commande dans un embed

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown