Partage
  • Partager sur Facebook
  • Partager sur Twitter

Erreur bot discord.js

Sujet résolu
    16 septembre 2022 à 20:31:26

    Salut je fais un bot pour crer un salon mais j'ai cette erreur

    erreur :

    Uncaught DiscordAPIError DiscordAPIError[50035]: Invalid Form Body
    name[BASE_TYPE_REQUIRED]: This field is required
        at DiscordAPIError (c:\Users\Clement\node_modules\@discordjs\rest\dist\lib\errors\DiscordAPIError.cjs:13:5)
        at runRequest (c:\Users\Clement\node_modules\@discordjs\rest\dist\lib\handlers\SequentialHandler.cjs:293:15)
        at processTicksAndRejections (internal/process/task_queues:96:5)



    code :

    const { Client, GatewayIntentBits} = require('discord.js');
    
    const client = new Client({ 
        intents: [
            GatewayIntentBits.Guilds,
            GatewayIntentBits.GuildMessages,
            GatewayIntentBits.MessageContent,
            GatewayIntentBits.GuildPresences,
            GatewayIntentBits.GuildMembers
        ]
    });
    
    client.on("ready", () => {
        console.log("Ready");
    });
    
    client.on("messageCreate", message => {
        message.guild.channels.create(message, {type: '1'})
    });
    
    client.login('*******');


    Merci.

    -
    Edité par ClémentCouillerot 17 septembre 2022 à 21:57:32

    • Partager sur Facebook
    • Partager sur Twitter
      16 septembre 2022 à 20:42:23

      Bonjour,

      Le message qui suit est une réponse automatique activée par un membre de l'équipe. Les réponses automatiques leur permettent d'éviter d'avoir à répéter de nombreuses fois la même chose, ce qui leur fait gagner du temps et leur permet de s'occuper des sujets qui méritent plus d'attention.
      Nous sommes néanmoins ouverts et si vous avez une question ou une remarque, n'hésitez pas à contacter la personne en question par Message Privé.

      Pour plus d'informations, nous vous invitons à lire les règles générales du forum

      Mauvais titre

      Le titre est un élément important qui ne doit pas être négligé. N'oubliez pas cette règle simple : le titre idéal résume la question que vous allez poser en une petite phrase. Il doit permettre aux visiteurs de se repérer facilement dans le forum visité et d'identifier le sujet à sa seule lecture.

      Vous pouvez utiliser divers préfixes comme [Erreur], [MySQL], [Compatibilité], etc... Aussi, pensez à consulter les règles propres à chaque forum (visibles dans les topics épinglés en haut des sections).

      De plus, choisir un bon titre permet de rendre plus faciles les recherches des autres membres.

      Les titres de type "besoin d'aide" ou "problème" ne sont pas tolérés.

      Merci de modifier votre titre. Pour cela, éditez le premier message de votre sujet.

      (titre originel : Bot discord.js)

      • Partager sur Facebook
      • Partager sur Twitter

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

        19 septembre 2022 à 13:14:33

        l'erreur est parlante, elle dit qu'il faut que le champ "name" soit remplit (car requis/nécessaire (= required)
        • Partager sur Facebook
        • Partager sur Twitter
          19 septembre 2022 à 18:37:56

          A quel moment l'erreur apparait ? (je dirais que c'est quand tu tentes d'utiliser messageCreate sans valeur pour message)
          • Partager sur Facebook
          • Partager sur Twitter
            20 septembre 2022 à 11:52:50

            Bonjour, l'événement messageCreate te fournit un objet de type Message la métode create de:

            message.guild.channels.create

            attend un objet GuildChannelCreateOption en paramètre

            A noté que message.guild.channels.create ne créé pas un message mais créé un nouveau channel dans la guild

            Voir la référence de la méthode create

            L'erreur c'est le paramètre que tu passe à la méthode create il devrait être de type GuildChannelCreateOption et il est du type Message

            • Partager sur Facebook
            • Partager sur Twitter

            suggestion de présentation.

              20 septembre 2022 à 12:06:45

              Alors, "erreur bot discord.js" n'est pas beaucoup plus précis que "bot discord.js" : une partie du message d'erreur aurait été préférable, ou bien en une phrase ce que tu cherches à faire. Par exemple : "Discord.js : messageCreate renvoie Invalid Form Body".
              • Partager sur Facebook
              • Partager sur Twitter

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

                20 septembre 2022 à 18:48:15

                SamuelGaborieau3 a écrit:

                Bonjour, l'événement messageCreate te fournit un objet de type Message la métode create de:

                message.guild.channels.create

                attend un objet GuildChannelCreateOption en paramètre

                A noté que message.guild.channels.create ne créé pas un message mais créé un nouveau channel dans la guild

                Voir la référence de la méthode create

                L'erreur c'est le paramètre que tu passe à la méthode create il devrait être de type GuildChannelCreateOption et il est du type Message


                justement moi je voudrais créer un channel
                • Partager sur Facebook
                • Partager sur Twitter
                  20 septembre 2022 à 18:55:25

                  je réitère ma question

                  umfred a écrit:

                  A quel moment l'erreur apparait ? (je dirais que c'est quand tu tentes d'utiliser messageCreate sans valeur pour message)



                  • Partager sur Facebook
                  • Partager sur Twitter
                    20 septembre 2022 à 19:02:25

                    bah en gros la c'est bon j'ai fait ça et ça marche

                    client.on("messageCreate", message => {
                        if (message.content === '!abc') {
                            message.guild.channels.create({name: 'test', type: '0'})
                        }
                        
                    });

                    mais la je veux juste que le name: soit égale a message mais apres !abc.

                    en gros je veux faire un truc comme " !abc test"

                    et qu'un salon test soit crée

                    • Partager sur Facebook
                    • Partager sur Twitter
                      20 septembre 2022 à 19:33:03

                      et qu'est-ce qui t'empêche donc de traiter message.content pour vérifier si il commence par "!abc " et si oui, en extraire la suite ? c'est du traitement de chaine "classique"

                      un exemple ici https://github.com/AnIdiotsGuide/discordjs-bot-guide/blob/master/first-bot/command-with-arguments.md 

                      • Partager sur Facebook
                      • Partager sur Twitter
                        20 septembre 2022 à 20:11:57

                        la j'ai fait :

                        client.on("messageCreate", message => {
                            if (message.content.startsWith("!abc")) {
                                var str = message.content
                                message.guild.channels.create({name: str.substring(5), type: '0'})
                            }
                        });

                        et la ça marche

                        • Partager sur Facebook
                        • Partager sur Twitter
                          20 septembre 2022 à 21:07:14

                          Mes messages plus haut ne sont pas là pour faire joli.
                          • Partager sur Facebook
                          • Partager sur Twitter

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

                          Erreur bot discord.js

                          × 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