#javascript-typescript

1 messages · Page 112 of 1

misty parcel
#

comment j'ai fais pour faire ça moi

#

UwU

copper pagoda
#

Je sais que pour remplacer le # dans une URL c'est %23 ça vient peut être de ça.

misty parcel
#

aaaa

#

bah ouais mais aussi

broken walrus
#

Attends mais quand je disais le tag

#

Ah non rien

copper pagoda
#

Bah à mon avis y a moyen que ça vienne du #.

broken walrus
#

Pourquoi t'as besoin du # ?

copper pagoda
#

A mon avis il doit récupérer le tag discord de l'user

misty parcel
#

ok ça m'a retourner un json immense

copper pagoda
#

XD

misty parcel
#

non c'est le tag d'un jeu

copper pagoda
#

Ah d'un jeu oki.

broken walrus
misty parcel
#

euh ouais

copper pagoda
#

Maintenant tu as juste à trier ton json avec les infos que tu veux.

misty parcel
#

ouais

#

euh

#

alors

#

comment on fait kappathugs

broken walrus
#

T'es sûr que tu t'y connais en JS ? harold

misty parcel
#

j'vous avoue que la c'est vraiment terrible pour moi

misty parcel
#

mon reuf

#

des fois j'ai l'impression que non

broken walrus
#

xD

#

Bah c'est un dictionnaire

#

ni plus ni moins

misty parcel
#

ouais mais pour get une donnée

broken walrus
#

Bah je sais pas moi

#

tondict["oof"]["jsdfjsdf"]

copper pagoda
#

Imaginons tu veux recup un élément qui s'appelle data tu as juste à faire leagues.data

broken walrus
#

oui ou via tondict.oof.jsdfjsdf en effet

copper pagoda
#

Et si tu as un array tu peux faire [0] ou la valeur de la case...

misty parcel
#

J'ai ça

#

donc si je veux le tag je fais

#

console.log(leagues[0].tag);

broken walrus
#

leagues.tag suffit

copper pagoda
#

Pas besoin du [0] je vois pas d'array.

#

Là ton JSON en vrai est simple pour commencer je trouve.

broken walrus
#

Et si tu veux par exemple le tag du clan t'as juste à faire leagues.clan.tag

#

👍

misty parcel
#

ok mais la si je veux acceder à son clan ?

#

de fais comment

#

aux infos de son clan pardon

broken walrus
#

bah

#

leagues.clan

misty parcel
#

non mais les infos

#

le nom de son clan par exemple

broken walrus
#

bah

#

💀

misty parcel
#

c'est terrible

#

je

#

fiou

#

Bon en tout cas merci les copains

#

vous etes sympa

broken walrus
#

De rien

#

T'oublies pas de passer ta CB à la sortie

misty parcel
#

hein quoi

broken walrus
#

allo

misty parcel
#

bug

broken walrus
#

oui

copper pagoda
#

XD

broken walrus
#

Y a de la friture sur la ligne kappo

sullen kelp
#

SFR is here

charred fern
#

Bonjour à tous,
J'aimerai savoir si quelqu'un sait comment obtenir le nombre de la personne, par exemple 1 pour nathan, 3 pour zoé, ect... Parce que j'effectue un map() j'obtient donc les prénoms et les ages mais je ne sait pas comment obtenir les numéro de chacun personne.

    "1": {
        "name": "nathan",
        "age": 20
    },
    "3": {
        "name": "zoé",
        "age": 13
    },
    "5": {
        "name": "mathis",
        "age": 27
    },
    "9": {
        "name": "cloé",
        "age": 19
    }
}```
Si quelqu'un peut m'aider sa serai super sympa 🙂
keen narwhal
#

fais un array

#

ou tu met

#

tout

#

dans un string

#
[
     {
        "number": 1
        "name": "nathan",
        "age": 20
    },
]
pallid plume
#

Il a raison 👆

charred fern
keen narwhal
keen narwhal
charred fern
#

nan car je fais une requête se n'est pas mon fichier

keen narwhal
#

<request>.json();

charred fern
#

okay je vais essayer

keen narwhal
#

& tu console log

#

pour voir

charred fern
#
            .then((res) => setData(res.data))```
charred fern
#

console.log(data.json()); ?

keen narwhal
#
const requestToJSON = JSON.parse(res.data)
console.log(requestToJSON)```
#

@charred fern

#

dis

#

moi

#

ce que ça te sort

charred fern
#
    useEffect(() => {
        axios
            .get("http://192.168.1.11/api/VR0-z2MoipbXbTAXEdYRaj8TC7Jsx2AiXGVaiEKU/lights/")
            .then((res) => setData(JSON.parse(res.data)))
    }, [])
    console.log(data);```
#

c'est du react

#

mais je fais comme sa ?

keen narwhal
#

tu dev

#

en

#

js ?

#

ou ejs

#

ou autre

charred fern
#

en js

keen narwhal
#

reactjs?

charred fern
#

ouais

keen narwhal
#

ah bas là

#

jpp

#

t'aidé

charred fern
#

mais normalement c'est comme du js

broken walrus
blissful hemlock
#

Bonjour, je suis en Discord.js, je suis actuellement dans une interaction et j'aimerais supprimer la réponse à un message, et pas la question

#

interaction.message.delete supprime évidemment la question, mais on ne peut pas faire un message.delete() car on est dans une interaction

blissful hemlock
#

Bonjour, je suis actuellement dans une interaction et j'aimerais supprimer la réponse à un message, et pas l'embed

interaction.message.delete supprime évidemment l'embed envoyé, mais on ne peut pas faire un message.delete() car on est dans une interaction

voici ce que j'ai :

      interaction.channel.awaitMessages({filter: m => m.author.id == interaction.user.id,  max: 1, time: 120000 })
      .then(collected => { 
        
        client.channels.cache.get('903386282909134918').send({ embeds: [embedBug]})
        interaction.editReply({
          embeds: [embedBug],
          components: []
        })
        
       })
#

c'est tout simple, ce que j'ai fais, il faut maintenant que j'arrive à supprimer la réponse

broken walrus
blissful hemlock
#

juste avant le code que je t'ai passé, ça envoie un embed pour demander quel est le bug trouvé

blissful hemlock
#

voici le code entier de la version pour bug :

    case 'optionBug':

      
      myEmbed = new Discord.MessageEmbed()
      .setColor('BLUE')
      .setTitle(':DiscordBadgeBugHunter: Quel bug as-tu trouvé ?')
      .setDescription(`${interaction.user.username}, peux-tu nous donner une description ? \n\n*Annulation dans deux minutes !*`)
      .setFooter(`Demandé par ${interaction.user.username}`, interaction.user.avatarURL())
      .setTimestamp();

      interaction.update({
        embeds: [myEmbed],
        components: []
      })
        
      
      //-------------------------------------FILTRE + PREND MESSAGE-------------------------------------
      interaction.channel.awaitMessages({filter: m => m.author.id == interaction.user.id,  max: 1, time: 120000 })
      .then(collected => { 
        
        
        embedBug = new Discord.MessageEmbed()
        .setColor('#ff0000')
        .setTitle(':DiscordBadgeBugHunter: Nouveau Bug')
        .setDescription(`**Auteur:** \`\`${interaction.user.username}\`\`\n\n**Description du bug:**\n> ${collected.first().content}`)
        .setFooter(`Bug trouvé par ${interaction.user.username}`, interaction.user.avatarURL())
        .setTimestamp();
        client.channels.cache.get('903386282909134918').send({ embeds: [embedBug]})
        interaction.editReply({
          embeds: [embedBug],
          components: []
        })
        
        }).catch(() => {
          //-------------------------------------TEMPS ECOULÉ-------------------------------------
          embedBugError = new Discord.MessageEmbed()
          .setColor('#ff0000')
          .setTitle(':Erreur: Une erreur est survenue !')
          .setDescription(`**Temps écoulé !**`)
          .setFooter(`Demandé par ${interaction.user.username}`, interaction.user.avatarURL())
          .setTimestamp();
          interaction.editReply({
            embeds: [embedBugError],
            components: []
          })
          });
      break;
#

et en gros, j'aimerais que ça supprime la réponse au premier embed envoyé (le premier du code que vous voyez)

broken walrus
#

Auquel cas t'as juste à faire collected.first()?.delete() (à vérifier)

#

étant donné que ce que te retourne collected.first(), c'est sois un objet de type Message, sois undefined

blissful hemlock
#

je suis de retour !

blissful hemlock
#

oui, ça a marché

broken walrus
#

Là le ? sert à vérifier si la propriété d existe dans b, si oui alors on continue dans l'instruction, si non ça retourne directement undefined

blissful hemlock
#

ohh merci beaucoup !!

broken walrus
#

De rien 😉

blissful hemlock
#

j'ai appris un truc très pratique

broken walrus
#

Effectivement, c'est assez utile

#

Si tu veux y a d'autres cas de figures où le "?" en JavaScript a une toute autre utilité

#

Par exemple, ça permet de vérifier une condition rapidement, en une ligne

let random_value = 1;
console.log(random_value === 1 ? "Oui c'est égal à 1 !" : "Non c'est pas égal à 1");
--> "Oui c'est égal à 1"

random_value = 0;
console.log(random_value === 1 ? "Oui c'est égal à 1 !" : "Non c'est pas égal à 1");
--> "Non c'est pas égal à 1"

On appelle ça un opérateur conditionnel, ou "conditional operator", et ça prend la forme

<condition> ? <expression si true> : <expression si false>

#

Y a également une autre utilisation du "?"
Plus simple, ça permet en quelque sorte de créer une sorte de valeur par défaut, de valeur fallback

let valeur = null; // Ou undefined
console.log(valeur ?? "foo");
--> "foo"

valeur = "bar";
console.log(valeur ?? "foo");
--> "bar"

On appelle ça un "nullish coalescing operator", mais c'est un peu tricky x)
C'est comme si tu faisais (value === null || value === undefined) ? <valeur fallback> : value, mais c'est plus rapide

blissful hemlock
#

je suis de retour !

#

c'est énorme !!!!

broken walrus
#

C'est hyper pratique

#

Je les utilise très souvent perso

blissful hemlock
#

je pense que je vais utiliser ça aussi un peu plus souvent

broken walrus
#

ça évite de faire des if à rallonge pour une seule fonction

blissful hemlock
#

👍

#

je rajoute que tes explications sont très claires, j'ai tout compris très vite

blissful hemlock
#

ReBonjour !!
Cette fois-ci, j'aimerais compter le nombre de minutes en voc, je pense lancer une autre instance sur le même bot, vu que c'est très répétitif, ça risque de planter et, j'aimerais éviter de faire planter l'instance "générale"

#

d'abord, est-ce possible de :
-avoir deux instances sur un même bot
-et avoir deux instances dans le même dossier ?

#

je crois que oui mais je voudrais m'en assurer avant de commencer mon massacre

#

avoir deux instances dans le même dossier me permettrait de pouvoir échanger les infos sans me déranger, sans avoir à faire un long chemin, juste que l'instance "générale" puisse prendre des infos dans la "seconde"

sullen kelp
#

Tu entend quoi pas instance ?

#

Si c'est 2 code sur le même token techniquement c'est possible, mais ça va pas marcher

#

Dès la première chose que le bot fera, l'autre bot crashera

blissful hemlock
#

ah d'acc

#

dans ce cas, je vais faire ça sur un autre bot

#

comment je peux faire un compte à rebours qui, toutes les minutes, modifie la data de chaque membre étant en voc ?

#

j'ai encore jamais fait un truc pareil

#

ahh, mais je peux prendre Date.now() à l'entrée et à la sortie du voc et soustraire la date de sortie à celle d'entrée pour avoir le nombre de milisecondes passées en voc

#

c'est plus précis

#

le seul problème c'est que si un mec passe 3h en voc et que le bot plante avant qu'il quitte, ça ne comptera pas son temps de voc

#

oui, mais, si je fais bien mon bot, ça ne devrait pas planter mmLul

buoyant seal
#

Salut je voudrais faire en sorte que quand j'envoie un message en dm au bot il créer un salon et on peut répondre depuis le salon avec une commande du genre "/r texte..." et la personne ayant créer le ticket reçoit la réponse dans ces dm depuis le bot . J'ai juste voulu test l'envoie du message en dm au bot m la console ne renvoie rien

Client.on("messageCreate", message => {
    if(message.channel.type === "DM"){
        console.log(message);
    }
});
copper pagoda
sullen kelp
#

Et globalement la plupart des hebergeur redémarrer le bot si il est crash mais si tu le stocke dans le cache et que tu redémarre le bot tu perdera tes données

buoyant seal
hidden cypress
#

Bonjour,
Quelqu'un pourrais m'aider sur sa s'il vous plait ?

#

( Ping svp pour réponse )

broken walrus
sharp grail
#

Yes tu peux avoir des args qui attendent un attachment

broken walrus
hidden cypress
broken walrus
#

Je connais pas la structure de tes classes / files, je peux pas te dire, si ce n’est que getFileName ne retourne pas ce qu’il faut
Essaie de passer ça au déboggage, ou essaie de console.log getFileName et voir ce que ça te retourne

hidden cypress
#

Je dois faire console.log getFileName En commande ?

broken walrus
#

console.log(getFileName) au dessus de la ligne qui pose problème

hidden cypress
broken walrus
#

au dessus de la ligne qui pose problème

#

Dans ton code

#

Pas dans la console x)

hidden cypress
#

Mais c'est quel code 😭

#

Y'a trop de page de code

broken walrus
#

/util/loader.js ligne 10

#

C’est marqué, première ligne après la TypeError

blissful hemlock
#

Yo, j'ai créé une commande slash mais quand je la modifie, je peux relancer des tonnes de fois le bot, la commande ne changera pas

#

je suis bloqué à cause de ça

broken walrus
#

Ah oui c’est relou

#

T’as bien redeploy tes commandes ?

#

Auquel cas faut attendre un peu

latent lynx
#

Bonsoir, j'ai une erreur que je comprends pas "Invalid POST response from OpenID provider", j'ai cette erreur lorsque j'essaye d'accéder au donné dune request

#

J'essaye d'intégrer la connexion a steam

#
#

const SteamAuth = require("node-steam-openid");

const steam = new SteamAuth({
    realm: "http://localhost:3000", // Site name displayed to users on logon
    returnUrl: "http://localhost:3000", // Your return route
    apiKey: "MA KEY API QUE J'AI BIEN SUR REMPLACÉ" // Steam API key
});

app.get("/auth/steam", async (req, res) => {
    const redirectUrl = await steam.getRedirectUrl();
    return res.redirect(redirectUrl);
});

#

Le soucis est juste que je ne comprends pas l'erreur

broken walrus
hidden cypress
#

Genre

Console.log
      client.commands.set(getFileName.config.name, getFileName);```
broken walrus
#

Non mais harold harold

#

console.log(getFileName);

#

Au dessus de client.commands.set(blabla)

hidden cypress
#

Console.log Client.commands.set(getFileName.config.name, getFileName);

#

?

broken walrus
#

Oui si tu veux

#

Une ligne vide change rien mdr

hidden cypress
#

Attend

keen beacon
hidden cypress
#

Mais

hidden cypress
broken walrus
hidden cypress
#

J'ai déjà sa de base

broken walrus
#

console.log(getFileName) au dessus de la ligne 10

keen beacon
broken walrus
#

Je vais pas le spoonfeed, ça sert à rien

hidden cypress
#

const loadCommands = (client, dir = "./commands") => {
    // const disbut = require('discord-buttons')(client);
  readdirSync(dir).forEach(dirs => {
    const commands = readdirSync(`${dir}/${dirs}/`).filter(files => files.endsWith(".js"));

    for (const file of commands) {
      const getFileName = require(`../${dir}/${dirs}/${file}`);
      client.commands.set(getFileName.config.name, getFileName);
      console.log(`Commande chargée: ${getFileName.config.name}`);
    };
  });
};

const loadEvents = (client, dir = "./events") => {
  readdirSync(dir).forEach(dirs => {
    const events = readdirSync(`${dir}/${dirs}/`).filter(files => files.endsWith(".js"));

    for (const event of events) {
      const evt = require(`../${dir}/${dirs}/${event}`);
      const evtName = event.split(".")[0];
      client.on(evtName, evt.bind(null, client));
      console.log(`Evenement chargé: ${evtName}`);
    };
  });
};

module.exports = {
  loadCommands,
  loadEvents,
}```
#

Je dois modif quoi la ?

#

En gros

#

Mdr

broken walrus
#

Je deviene fou mdr

hidden cypress
broken walrus
#

Ça permet juste de voir ce qu’est getFileName, si c’est un objet, une fonction, s’il est défini ou non

hidden cypress
#

Sa me fais une erreur

broken walrus
#

Laquelle

#

?

hidden cypress
#

Askip j'avais oublier ;

#

Dcp sa donne sa

broken walrus
#

Bon attends je vais te refiler le code

hidden cypress
#

Okk merci beaucoup mdr

broken walrus
#
const { readdirSync } = require("fs");

const loadCommands = (client, dir = "./commands") => {
    // const disbut = require('discord-buttons')(client);
  readdirSync(dir).forEach(dirs => {
    const commands = readdirSync(`${dir}/${dirs}/`).filter(files => files.endsWith(".js"));

    for (const file of commands) {
      const getFileName = require(`../${dir}/${dirs}/${file}`);
      // > Là mdr <
      console.log(getFileName);
      client.commands.set(getFileName.config.name, getFileName);
      console.log(`Commande chargée: ${getFileName.config.name}`);
    };
  });
};

const loadEvents = (client, dir = "./events") => {
  readdirSync(dir).forEach(dirs => {
    const events = readdirSync(`${dir}/${dirs}/`).filter(files => files.endsWith(".js"));

    for (const event of events) {
      const evt = require(`../${dir}/${dirs}/${event}`);
      const evtName = event.split(".")[0];
      client.on(evtName, evt.bind(null, client));
      console.log(`Evenement chargé: ${evtName}`);
    };
  });
};

module.exports = {
  loadCommands,
  loadEvents,
}
hidden cypress
#

Euh

#

Marche tjr pas

#

:(

broken walrus
#

ça log bien un truc avant l'erreur, non ? xD

hidden cypress
broken walrus
#

Ah

#

ok très bien

#

donc on sait que getFileName = {}

#

un objet vide donc

#

et ce qui pose problème c'est que t'essaies d'accéder à la propriété config de cet objet sauf qu'elle existe pas

#

donc le problème vient d'une commande qui se situe dans le répertoire "commands" de ce que je lis, où il manque la propriété config

hidden cypress
#

Dans commands y'a tout ça

broken walrus
#

Ok, bien, on avance

D'après la logique de ton code la commande qui poserait problème ce serait "ban", étant donné que ça crash au premier tour de boucle
Tu peux me l'envoyer pour que je te dise ce qui va pas dedans ?

hidden cypress
#

Le code dans ban a étais supprimer 🤣

broken walrus
#

Ah bah ça vient de là x)

#

Tu peux essayer de la virer et relancer ton bot, voir si ça venait de là ou s'il y a d'autres fichiers qui posent problème ?

hidden cypress
#

Vas-y

gentle zinc
#

wavey Bonjour à tous,
Dites moi.
Je cherche à pouvoir utiliser cette info là : invité par : ${member.invite.inviter} intégré dans mon embed ( quand quelqu'un rejoins ) sans pour autant devoir déplacer tout le code vers l'index.js pour pouvoir avoir un code bien organisé et optimisé.

javascript Pouvez-vous me dire si cela est possible ( faut il des modules obligatoirement etc ... ) ? Merci bien ! Emoji_Sparkles

pepe_chock Voici mon code qui se trouve dans ./events/guild_members/guilMemberAdd.js :

module.exports = {
  
    name: 'guildMemberAdd',
    once: false,
    execute(bot, member) {

        const { MessageEmbed } = require('discord.js');

        const EmbedWelcome = new MessageEmbed()
    .setColor('#27868A')
    .setTitle(`\:user: Bienvenue à ${member.user.username} !`)
    .setDescription(`Nous te souhaitons la bienvenue sur ${member.guild.name} !

    invité par : ${member.invite.inviter}
    
    ${member.user} a rejoins Discord le <t:${parseInt(member.user.createdAt / 1000)}:d> à <t:${parseInt(member.user.createdAt / 1000)}:t>
    ${member.user} a rejoins notre serveur le <t:${parseInt(member.joinedAt / 1000)}:d> à <t:${parseInt(member.joinedAt / 1000)}:t>
    
    Nous sommes maintenant \`\`${member.guild.memberCount}\`\` membres.`)

    member.guild.channels.cache.get("997260141399396385").send({ embeds: [EmbedWelcome] });

    }
  }
broken walrus
# hidden cypress

Y a un truc qui va pas dans ton fichier "events/ready.js" ligne 7, tu peux me montrer ?

hidden cypress
broken walrus
#

Ah ok, c'est un tout autre problème

#

Ton bot doit certainement être dans aucun serveur

#

Je te conseille de rajouter une valeur initiale

#
...reduce((a, b) => a + b, 0)
hidden cypress
#

Je l'est invité sur un discord pour teste

#

Et c'est effectivement le probleme qu'il n'étais sur aucun serveur

broken walrus
# gentle zinc <a:wavey:658742777248481291> Bonjour à tous, Dites moi. Je cherche à pouvoir uti...

A priori je n'ai pas connaissance d'une feature comme ça dans discordjs, il faut le faire à la main 😉

Le concept théorique, c'est qu'il faudrait :
-> Mettre en cache toutes les invitations dans l'event ready du bot
-> Rajouter au cache à chaque nouvelle invitation crée
-> Fetch les invitations à chaque nouveau membre, et comparer avec les invitations en cache, pour trouver celle qui a été utilisée et donc qui l'a crée 👍

broken walrus
#

Si t'as d'autres questions hésite pas

blissful hemlock
broken walrus
#

Attends c'est quoi le problème genre ?

#

C'est que le fonctionnement de la commande reste le même ou c'est que la commande en elle-même ne se modifie pas (nom, arguments, permissions...) ?

blissful hemlock
#

genre, ma commande change po

#

la commande ne change ni de description, ni de nom

broken walrus
#

Ok donc oui

#

T'as bien un code pour déployer tes commandes, non ?

blissful hemlock
#
client.on('ready', async () => {
  console.log(`Connecté sous ${client.user.tag}!`);
  await client.guilds.cache.get("723962533358076320").commands.create(ping)

});```
broken walrus
#

Ah donc oui, ok

#

T'as essayé .edit ?

blissful hemlock
#

ça ne marche pas

broken walrus
#

T'es sûr ?

blissful hemlock
#

téma l'erreur de ouf quand je met edit```
C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\discord.js\src\managers\ApplicationCommandManager.js:172
if (!id) throw new TypeError('INVALID_TYPE', 'command', 'ApplicationCommandResolvable');
^

TypeError [INVALID_TYPE]: Supplied command is not a ApplicationCommandResolvable.
at GuildApplicationCommandManager.edit (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\discord.js\src\managers\ApplicationCommandManager.js:172:20)
at Client.<anonymous> (C:\Users\arthu\Desktop\Bot UltrArthy\index.js:18:64)
at Client.emit (node:events:394:28)
at WebSocketManager.triggerClientReady (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\discord.js\src\client\websocket\WebSocketManager.js:378:17)
at WebSocketManager.checkShardsReady (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\discord.js\src\client\websocket\WebSocketManager.js:361:10)
at WebSocketShard.<anonymous> (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\discord.js\src\client\websocket\WebSocketManager.js:183:14)
at WebSocketShard.emit (node:events:394:28)
at WebSocketShard.checkReady (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\discord.js\src\client\websocket\WebSocketShard.js:474:12)
at WebSocketShard.onPacket (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\discord.js\src\client\websocket\WebSocketShard.js:446:16)
at WebSocketShard.onMessage (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\discord.js\src\client\websocket\WebSocketShard.js:300:10) {
[Symbol(code)]: 'INVALID_TYPE'
}

#

déso je vais manger, je reviens plus tard

broken walrus
#

Normal

#

.edit prend trois arguments

#

genre

#

ah non dans ton cas de figure deux

#

un applicationCommandResolvable (sois l'objet ApplicationCommand, sois l'id de la commande)
et les nouvelles propriétés que tu lui fournis, genre name, description, etc... sous la forme d'un objet aussi

sharp grail
#

Hello, est ce que quelqu'un sait si c'est possible d'utiliser Function.prototype.call avec une fonction asynchrone ?

blissful hemlock
#

re

blissful hemlock
#

genre, .edit(ping, name: "test") ?

broken walrus
broken walrus
blissful hemlock
#

haa d'acc

sharp grail
blissful hemlock
#

keskejéfé ?

broken walrus
#

Ah d'accord kapp

broken walrus
blissful hemlock
#
C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\discord.js\src\managers\ApplicationCommandManager.js:172
    if (!id) throw new TypeError('INVALID_TYPE', 'command', 'ApplicationCommandResolvable');
                   ^

TypeError [INVALID_TYPE]: Supplied command is not a ApplicationCommandResolvable.
    at GuildApplicationCommandManager.edit (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\discord.js\src\managers\ApplicationCommandManager.js:172:20)     
    at Client.<anonymous> (C:\Users\arthu\Desktop\Bot UltrArthy\index.js:18:64)
    at Client.emit (node:events:394:28)
    at WebSocketManager.triggerClientReady (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\discord.js\src\client\websocket\WebSocketManager.js:378:17)      
    at WebSocketManager.checkShardsReady (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\discord.js\src\client\websocket\WebSocketManager.js:361:10)        
    at WebSocketShard.<anonymous> (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\discord.js\src\client\websocket\WebSocketManager.js:183:14)
    at WebSocketShard.emit (node:events:394:28)
    at WebSocketShard.checkReady (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\discord.js\src\client\websocket\WebSocketShard.js:474:12)
    at WebSocketShard.onPacket (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\discord.js\src\client\websocket\WebSocketShard.js:446:16)
    at WebSocketShard.onMessage (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\discord.js\src\client\websocket\WebSocketShard.js:300:10) {
  [Symbol(code)]: 'INVALID_TYPE'
}

#

après, j'ai pas cherché longtemps, hein

broken walrus
#

elle ressemble à quoi ta ligne de code ? harold

blissful hemlock
#

à une ligne avec des lettres kappa

#
client.on('ready', async () => {
  console.log(`Connecté sous ${client.user.tag}!`);
  await client.guilds.cache.get("723962533358076320").commands.edit(ping, { name: "test"})

});```
broken walrus
blissful hemlock
broken walrus
#

Non mais faut pas mettre ping notlikethis

blissful hemlock
#

mais, je comprend pooo

#

comment ça l'id ?

#

É-D mwa !!!

broken walrus
broken walrus
blissful hemlock
#

je comprend rien !!!

broken walrus
#

Faut que tu récupères l'id de ta commande dans client.guilds.cache.get("723962533358076320").commands.cache

blissful hemlock
#

hmmm

#

je comprend pas

broken walrus
#

Bon attends je vais manger harold

blissful hemlock
#

genre l'id du serv ?

#

oh shit

#

noon

#

bon appétit 🙂

sharp grail
broken walrus
broken walrus
# blissful hemlock genre l'id du serv ?

Non, en gros chaque commande que tu crées, ça te retournera un objet ApplicationCommand

Et cet objet comporte un id qui correspond à l’id de ta commande

Et c’est ça (ou l’objet entier) que tu dois mettre !

blissful hemlock
#

🤔

#

ça ?*

broken walrus
#

Nooon notlikethis

blissful hemlock
broken walrus
#

Ça

#

Ou alors

blissful hemlock
#

mais ça c'est l'id de mon serv

broken walrus
#

Mais je sais harold

blissful hemlock
#

🤔

#

hein ?

broken walrus
#

Attends bon

#

Laisse tomber ça pour le moment

#

Essaie de console log

blissful hemlock
#

🤔

broken walrus
#

await client.guilds.cache.get(blabla).commands.fetch()

#

Ça te retourne quoi ?

blissful hemlock
#

je console log koi ?

#

att

broken walrus
blissful hemlock
#

ça me retourne mon terminal

broken walrus
#

Stp

blissful hemlock
#

je met ça dans un console.log ?

broken walrus
#

Oui

#

🙏

blissful hemlock
#
                                            ^

ReferenceError: blabla is not defined
    at Client.<anonymous> (C:\Users\arthu\Desktop\Bot UltrArthy\index.js:18:45)
    at Client.emit (node:events:394:28)
    at WebSocketManager.triggerClientReady (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\discord.js\src\client\websocket\WebSocketManager.js:378:17)      
    at WebSocketManager.checkShardsReady (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\discord.js\src\client\websocket\WebSocketManager.js:361:10)        
    at WebSocketShard.<anonymous> (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\discord.js\src\client\websocket\WebSocketManager.js:183:14)
    at WebSocketShard.emit (node:events:394:28)
    at WebSocketShard.checkReady (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\discord.js\src\client\websocket\WebSocketShard.js:474:12)
    at WebSocketShard.onPacket (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\discord.js\src\client\websocket\WebSocketShard.js:446:16)
    at WebSocketShard.onMessage (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\discord.js\src\client\websocket\WebSocketShard.js:300:10)
    at WebSocket.onMessage (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\ws\lib\event-target.js:132:16)```
broken walrus
#

Mais pas blabla notlikethis

blissful hemlock
#

pardon

broken walrus
#

Modifie avec l’id de ta guild

blissful hemlock
#

att

broken walrus
#

xD

#

T’inquiètes

blissful hemlock
#

déso c'est le soir, je comprend plus rien, c'est pour ça

broken walrus
#

Tkt ça va s’éclaircir

blissful hemlock
#

waaa keskilmechie !!

#

je sais pas pourquoi ça en a envoyé 2

broken walrus
#

O m g

#

Ok nickel

#

Ok de ce que je lis t’as deux commandes qui s’appellent « Test »

#

Ah

#

Non

#

C’est le nom de ta guild

blissful hemlock
#

ah oui, c'est un serv que pour le test

broken walrus
#

T’as une commande test et une commande ping

blissful hemlock
#

t'es sûr ?

broken walrus
#

Elles sont présentes sur le serv ?

#

Oui

blissful hemlock
#

alors

#

ça, c'est nouveau

broken walrus
#

xD

#

Wow

#

Tu dois avoir deux commandes globales

blissful hemlock
#

comment ça ?

broken walrus
#

Essaie de console.log(await client.applications.commands.fetch())

blissful hemlock
#
 console.log(await client.applications.commands.fetch())
                                        ^

TypeError: Cannot read property 'commands' of undefined
    at Client.<anonymous> (C:\Users\arthu\Desktop\Bot UltrArthy\index.js:18:41)
    at Client.emit (node:events:394:28)
    at WebSocketManager.triggerClientReady (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\discord.js\src\client\websocket\WebSocketManager.js:378:17)      
    at WebSocketManager.checkShardsReady (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\discord.js\src\client\websocket\WebSocketManager.js:361:10)        
    at WebSocketShard.<anonymous> (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\discord.js\src\client\websocket\WebSocketManager.js:183:14)
    at WebSocketShard.emit (node:events:394:28)
    at WebSocketShard.checkReady (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\discord.js\src\client\websocket\WebSocketShard.js:474:12)
    at WebSocketShard.onPacket (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\discord.js\src\client\websocket\WebSocketShard.js:446:16)
    at WebSocketShard.onMessage (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\discord.js\src\client\websocket\WebSocketShard.js:300:10)
    at WebSocket.onMessage (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\ws\lib\event-target.js:132:16)```
broken walrus
#

Merde j’ai mit un s

#

client.application

blissful hemlock
#

d'acc

broken walrus
#

Au lieu de applications

blissful hemlock
#
Collection(2) [Map] {
  '997505185666572418' => <ref *1> ApplicationCommand {
    id: '997505185666572418',
    applicationId: '878746173035393034',
    guild: null,
    guildId: null,
    permissions: ApplicationCommandPermissionsManager {
      manager: [Circular *1],
      guild: null,
      guildId: null,
      commandId: '997505185666572418'
    },
    type: 'CHAT_INPUT',
    name: 'ping',
    description: 'commande temporaire',
    options: [],
    defaultPermission: true
  },
  '997521785958441031' => <ref *2> ApplicationCommand {
    id: '997521785958441031',
    applicationId: '878746173035393034',
    guild: null,
    guildId: null,
    permissions: ApplicationCommandPermissionsManager {
      manager: [Circular *2],
      guild: null,
      guildId: null,
      commandId: '997521785958441031'
    },
    type: 'CHAT_INPUT',
    name: 'test',
    description: 'commande temporaire',
    options: [],
    defaultPermission: true
  }
}
#

😮

#

je reviens dans 2 mins

broken walrus
#

Ah bah voilà

#

T'as deux commandes globales

blissful hemlock
#

re

broken walrus
#

Rebonsoir

blissful hemlock
#

comment ça ?

#

rebonsoir

broken walrus
#

celles-ci

#

genre

blissful hemlock
#

ah, chelou

#

je crois savoir

#

oui, j'ai suivi deux vidéos, puisque je suis un noob, je n'avais pas encore compris la différence entre les deux lignes de code

#

j'ai compris à l'instant

broken walrus
#

Voilà

#

et tu peux voir

blissful hemlock
#

mais maintenant, comment on les enlève ?

broken walrus
#

ça

#

c'est ça qu'il faut mettre dans le .edit

blissful hemlock
#

oh !

#

ok

#

et j'imagine qu'il y a un .delete aussi, peut-être ?

broken walrus
#

exact

#

Du coup t'as juste à .forEach(command => client.guilds.cache.get(blabla).commands.delete(command.id)), ou si c'est une commande globale c'est client.application.commands.delete(command.id)

blissful hemlock
#

oulà

#

désolé

#

mais ...

#

pas compris

#

🤔

broken walrus
#

(await client.applications.commands.fetch()).forEach(blablabla...

#

C'est important de lire la documentation

blissful hemlock
#

await client.applications.commands.fetch()).forEach(command => client.guilds.cache.get(blabla).commands.delete(command.id)) ?

blissful hemlock
broken walrus
#

Oui

#

Aussi sur VSCode (si t'es sur VSCode)

#

Si tu passes ta souris sur la méthode, tu peux voir ce que ça retourne

blissful hemlock
#

😮

#

comment ça foreach c'est pas une fonction ?

broken walrus
#

Une Promise (d'où le await) qui contient une Collection (https://discord.js.org/#/docs/collection/main/class/Collection), avec en clé un string (l'id de la commande certainement), et en valeur une ApplicationCommand (https://discord.js.org/#/docs/discord.js/main/class/ApplicationCommand)

broken walrus
blissful hemlock
#

await client.application.commands.fetch().forEach(command => client.guilds.cache.get('723962533358076320').commands.delete(command.id))
^

TypeError: client.application.commands.fetch(...).forEach is not a function

broken walrus
#

T'as viré mes parenthèses aussi harold

blissful hemlock
#

il y avait des parenthèses ?

broken walrus
#

Oui

blissful hemlock
#

ahh

broken walrus
#

en gros ça sert à dire de d'abord résoudre la promesse pour ensuite en exploiter le contenu

#

Comme en maths

#

tu fais d'abord ce qu'est entre parenthèses

blissful hemlock
#

haaa

broken walrus
#

(sauf 48645654 exceptions mais en code on s'en fout harold)

blissful hemlock
#

là j'ai pigé

#

AAAAAAAAAAAAAAAAAAAAAAA

#

Jean Neymar de ces erreurs là

broken walrus
#

Bonk

#

Envoie

blissful hemlock
#
      throw new DiscordAPIError(data, res.status, request);
            ^

DiscordAPIError: Unknown application command
    at RequestHandler.execute (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\discord.js\src\rest\RequestHandler.js:298:13)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async RequestHandler.push (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\discord.js\src\rest\RequestHandler.js:50:14)
    at async GuildApplicationCommandManager.delete (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\discord.js\src\managers\ApplicationCommandManager.js:194:5) {
  method: 'delete',
  path: '/applications/878746173035393034/guilds/723962533358076320/commands/997505185666572418',
  code: 10063,
  httpStatus: 404,
  requestData: { json: undefined, files: [] }
}```
#

genre j'ai pas mis la bonne id ?

broken walrus
#

EEEEEEE

#

Ah mais ok

#

En fait là

#

Tu récupères les commandes globales

blissful hemlock
broken walrus
#

Et t’essaies de le supprimer sur les commandes de ta guild

blissful hemlock
#

haaa j'ai pris la mauvaise id

broken walrus
#

Sauf que bah vu qu’elles sont globales et pas sur ta guild ça marche pas

#

(await client.application.commands.fetch()).forEach(command => client.application.commands.delete(command.id));

blissful hemlock
#

comment tu arrives à lire les messages d'erreur comme dans un livre ? 😭

broken walrus
#

Je dev des bots depuis 5 ans harold

blissful hemlock
#

ah

#

genre en mode ton pc il plante, tu arrive à savoir pourquoi

#

genre en mode ta maison elle explose, tu sais pourquoi

broken walrus
#

Oui, c’est la vie que j’ai décidé de mener

#

harold 👍

blissful hemlock
#

truc de ouf

#

je t'encourage alors !

broken walrus
#

Nan mais disons qu’à force de faire on acquiert un certain savoir faire kappo
(Cette phrase ne sert à rien)

#

Non mais faut séparer l’erreur en « priorités » de lecture

#

Et ça devient un automatisme

blissful hemlock
#

😮

#

c'est un art

#

euhh, dis-moi

#

les commandes de guild, faut que je mette leur id ?

broken walrus
#

Rouge : EXTRÊMEMENT IMPORTANT
Orange : permet parfois d’identifier la source de l’erreur, ici en l’occurrence non mais ça apporte des détails
Vert : on s’en fout harold

broken walrus
#

Sois tu fais

#

(await client.application.commands.fetch()).forEach(command => client.application.commands.delete(command.id));

Pour virer toutes les commandes globales

Sois

(await client.guilds.cache.get(bruh).commands.fetch()).forEach(command => client.guilds.cache.get(bruh).commands.delete(command.id));

Pour virer toutes les commandes d’une guild

blissful hemlock
broken walrus
#

Ou alors pour éviter d’être redondant

#

`const guild = client.guilds.cache.get(bruh);

(await guild.commands.fetch()).forEach(command => guild.commands.delete(command.id));`

blissful hemlock
#

ha, c'est déjà plus joli

#

quel pro !

#

alors harold

#

il est possible que je ne comprenne quand même pas l'erreur

gentle zinc
# broken walrus A priori je n'ai pas connaissance d'une feature comme ça dans discordjs, il faut...
const client = require('../..index.js');

const { promisify } = require('util');

const wait = promisify(setTimeout);

let invites;

const id = '997260140120121364'

client.on('ready', async() => {
    await wait(2000);

    client.guilds.cache.get(id).fetchInvites().then(inv => {
        invites = inv;
    })
})

client.on('guildMemberAdd', async(member) => {
    if(member.guild.id !== id) return;

    member.guild.fetchInvites().then(gInvites => {
        const invite = gInvites((inv) => invite.get(inv.code).uses < inv.uses);

        const channel = member.guild.channels.cache.get('997260141399396385');

        channel.send(`${member} a été invité par ${invite.inviter}`);
    })
})

Comme ça ?

blissful hemlock
#

fin, genre, j'ai pigé, mais, il me manque le compartiment "discord.js" dans le cerveau pour pouvoir interpréter et changer ce qu'il faut

#

TypeError: Cannot read property 'commands' of undefined

#

si ça se trouve, faute de frappe

broken walrus
broken walrus
#

Dans ton id de guild ou je sais pas harold

blissful hemlock
#

oui, c'est forcément ça

#

ça, ça veut dire qu'il y a un truc, non ?

broken walrus
#

Mets des guillemets

blissful hemlock
#

j'ai essayé avec des ', ça n'a pas marché, ça change beaucoup des guillemets ?

#

je crois pas qu'il y ait beaucoup de différence

#

en tout cas, avec des guillemets, je n'ai plus d'erreur mais ça ne fait rien, les commandes restent

gentle zinc
#

pour des grand nombre entier, c'est préférable de mettre des guillemets il me semble

blissful hemlock
#

ah ok

gentle zinc
#

c'est plus "précis" en gros

blissful hemlock
#

ha d'acc

broken walrus
#

En JS ça ne change strictement rien

#

Mais bizarre harold

blissful hemlock
#

dis-moi, comment je supprime les commandes de ma guild ?

broken walrus
#

`const guild = client.guilds.cache.get(bruh);

(await guild.commands.fetch()).forEach(command => guild.commands.delete(command.id));`

#

Mais j’ai dû me planter quelque part, mais je vois pas où

blissful hemlock
#

je comprend pas, ça ne marche pas mais j'ai 0 erreur

blissful hemlock
#

au pire, comme c'est juste en dev, je m'en fiche

#

Mouais, j'ai rien dit

gentle zinc
#

@broken walrus est il possible que je fasse ça à la fin ? un module.exports = {invites} dans mon fichier invite_trackers.jspuis dans l'autre fichier ou j'aimerai crée mon message de bienvenue, faire un const invites = require("../../invite_trackers.js")

#

Code :

#
const bot = require('../../index.js');

const { promisify } = require('util');

const wait = promisify(setTimeout);

let invites;

const id = '997260140120121364'

bot.on('ready', async() => {
    await wait(2000);

    client.guilds.cache.get(id).fetchInvites().then(inv => {
        invites = inv;
    })
})

bot.on('guildMemberAdd', async(member) => {
    if(member.guild.id !== id) return;

    member.guild.fetchInvites().then(gInvites => {
        const invite = gInvites((inv) => invite.get(inv.code).uses < inv.uses);

        const channel = member.guild.channels.cache.get('997260141399396385');

        channel.send(`${member} a été invité par ${invite.inviter}`);
    })
})

module.exports = {invites};
#

côté guildMemberAdd.js :

#
let invites = require("../../events/client/invites_trackers.js")

module.exports = {
  
    name: 'guildMemberAdd',
    once: false,
    execute(bot, member) {

        const { MessageEmbed } = require('discord.js');

        const EmbedWelcome = new MessageEmbed()
    .setColor('#27868A')
    .setTitle(`\:user: Bienvenue à ${member.user.username} !`)
    .setDescription(`Nous te souhaitons la bienvenue sur ${member.guild.name} !

    invité par : ${invite.inviter}
    
    ${member.user} a rejoins Discord le <t:${parseInt(member.user.createdAt / 1000)}:d> à <t:${parseInt(member.user.createdAt / 1000)}:t>
    ${member.user} a rejoins notre serveur le <t:${parseInt(member.joinedAt / 1000)}:d> à <t:${parseInt(member.joinedAt / 1000)}:t>
    
    Nous sommes maintenant \`\`${member.guild.memberCount}\`\` membres.`)

    member.guild.channels.cache.get("997260141399396385").send({ embeds: [EmbedWelcome] });

    }
  }
gentle zinc
#

Comment faites vous les function async dans les module.exports ?

cyan iron
#

Comme ceci

#

Donc dans ton cas si tu veux transformer ta fonction execute en fonction async tu mets juste async devant

gentle zinc
# cyan iron Donc dans ton cas si tu veux transformer ta fonction execute en fonction async t...

Merci énormément !
cependant, pour moi le code est bon mais ils disent que invites n'est pas une function ? j'ai oublié de déclarer quelque chose ?

code :

const invites = require('../../index.js');

module.exports = {
    name: 'guildMemberAdd',
    once: false,
    async execute(bot, member) {

        const newInvites = await member.guild.invites.fetch()
        const oldInvites = invites.get(member.guild.id);
        const invite = newInvites.find(i => i.uses > oldInvites.get(i.code));
        const inviter = await client.users.fetch(invite.inviter.id);
        const logChannel = member.guild.channels.cache.find(channel => channel.name === "join-logs");
        
        const { MessageEmbed } = require('discord.js');

        const EmbedWelcome = new MessageEmbed()
    .setColor('#27868A')
    .setTitle(`\:user: Bienvenue à ${member.user.username} !`)
    .setDescription(`Nous te souhaitons la bienvenue sur ${member.guild.name} !

    invité par :
    
    ${member.user} a rejoins Discord le <t:${parseInt(member.user.createdAt / 1000)}:d> à <t:${parseInt(member.user.createdAt / 1000)}:t>
    ${member.user} a rejoins notre serveur le <t:${parseInt(member.joinedAt / 1000)}:d> à <t:${parseInt(member.joinedAt / 1000)}:t>
    
    Nous sommes maintenant \`\`${member.guild.memberCount}\`\` membres.`)

    member.guild.channels.cache.get("997260141399396385").send({ embeds: [EmbedWelcome] });

    }
  }

ligne de l'erreur : const oldInvites = invites.get(member.guild.id);

#
-------
 Promise {[[PromiseState]]: 'rejected', [[PromiseResult]]: TypeError: invites.get is not a function…te```
graceful spruce
#

Quelqu'un pourrait m'aider pour mon projet, si vous vous y connaissez cela ne devrait prendre que 10 min max

cyan iron
graceful spruce
#

Je suis en train de créer un bot discord qui lorsque l'on rempli un modal sur le serveur renvoie un embeds en fonction de la réponse mais je suis bloquer car je ne trouve pas comment recup la réponse au modal et comment fair pour afficher l'emebed en fonction de cette dernière

cyan iron
#

Avec l'event interactionCreate tu récupères la réponse

graceful spruce
#

Et comment en fonction de l'évent je peux afficher un embeds différent

cyan iron
#

Tient 😄

#

Ils expliqueront mieux que moi

graceful spruce
#

Ok j'avais déjà regarder c'est d'ailleurs de la que je me suis inspirée mais je vais approfondir mes recherches

#

Merci quand même

gentle zinc
#

console.log(${invites})

cyan iron
#

Enlève le ${} juste console.log(invites)

#

Quand tu exportes enlève le {} aussi c'est pas utile

gentle zinc
# cyan iron Enlève le ${} juste console.log(invites)

console.log(invites)

[[Prototype]]:
Object
UNHANDLED_REJECTION: TypeError: invites.get is not a function
-------
 Promise {[[PromiseState]]: 'rejected', [[PromiseResult]]: TypeError: invites.get is not a function…te```
cyan iron
#

Fait un screen

gentle zinc
cyan iron
#

Déplie le arg0

#

Avec la petite flèche

#

Bizarre ton truc un peu

gentle zinc
#

C'est ça oui : [[Prototype]]: Object

#

dans le arg0

cyan iron
#

Montre ton fichier où tu exportes, tu as enlevé les {} autour de invites ?

gentle zinc
# cyan iron Bizarre ton truc un peu

Tu souhaites que je t'envoie le dossier vite fait pour y voir plus claire ? j'ai créé que des évents dans inviteCreate, inviteDelete, guildCreate, guildDelete etc.. puis je voulais faire un export sur l'event guildMemberAdd.js

cyan iron
#

Je suis sur tel déso

#

En plus j'ai la tête dans le cul un peu KaPOP

gentle zinc
cyan iron
#

Le indec.js

#

index*

#

Montre ton index.js

gentle zinc
#
// Importation de la classe Client dans le module discord.js pour se connecter au bot
const { Client, Collection } = require('discord.js');

// Importatuon du module dotenv et configuration
const dotenv = require('dotenv'); dotenv.config();

// Création du client pour le bot
const bot = new Client({
  intents: 32767
});

// On crée une collection
bot.commands = new Collection();
const invites = new Collection();

const wait = require("timers/promises").setTimeout;

bot.on("ready", async () => {
  // "ready" isn't really ready. We need to wait a spell.
  await wait(1000);

  // Loop over all the guilds
  bot.guilds.cache.forEach(async (guild) => {
    // Fetch all Guild Invites
    const firstInvites = await guild.invites.fetch();
    // Set the key as Guild ID, and create a map which has the invite code, and the number of uses
    invites.set(guild.id, new Collection(firstInvites.map((invite) => [invite.code, invite.uses])));
  });
});

['EventHandler', 'CommandHandler'].forEach(handler => { require(`./utils/handlers/${handler}`) (bot) });

// Le bot détecte les erreurs et les met dans la console
process.on('exit', code => {console.log(`Le processus s'est arrêté avec le code ${code}`)});
process.on('uncaughtException', (err, origin) => {console.log(`UNCAUGHT_EXCEPTION: ${err}`, `Origine: ${origin}`)});
process.on('unhandledRejection', (reason, promise) => {console.log(`UNHANDLED_REJECTION: ${reason}\n-------\n`, promise)});
process.on('warning', (...args) => {console.log(...args)});

// Lancer le bot
bot.login(process.env.BOT_TOKEN);
#

Voila, il y a tout

cyan iron
#

Ton invites tu l'export pas

gentle zinc
cyan iron
#

module.exports = invites

#

Pas {invites}

gentle zinc
#

Ah d'accord ! je pensais que tu devais quand meme mettre des {}

gentle zinc
#

J'ai join et aucune erreur ! superbe !

#

Merci pour ton coup d'oeil !

cyan iron
#

invites n'est pas vide ? Thonk

gentle zinc
cyan iron
#

Quand tu console log invites dans guildMemberAdd ça te retourne quoi ?

gentle zinc
#

je te dis ça att

cyan iron
#

Niquel tout marche 🙃

#

Je vais dormir moi ! Bonne nuit

gentle zinc
#

Mais pourtant ça fonctionne bien j'ai bien le nom de la personne qui a invité

cyan iron
#

À quoi correspond ta ligne 21

gentle zinc
#

C'est un espace vide^^

cyan iron
#

C'est ta ligne 22 en réalité. C'est simplement que invite.inviter n'existe pas.

#

Ah non pardon !

#

Invite n'est pas défini visblement

gentle zinc
cyan iron
#

Ce qui est bizarre

#

Tu dois faire une bêtise quelque part. Fait un petit console.log('gmadd', member.id)

#

Au niveau de la ligne 7

#

Je pense que ton événement est appelé 2 fois

gentle zinc
cyan iron
#

Toujours l'erreur ?

#

Et ton embed s'affiche correctement ? Je peux le voir ?

gentle zinc
#

et l'embed s'affiche bien

#

invité par : Notika (mon compte principal)
et les autres en dessous celui qui a été invité (compte secondaire)

cyan iron
#

Okay, c'était bizarre aussi 👀
J'y vais cette fois ci ! Bonne soirée à toi

gentle zinc
blissful hemlock
blissful hemlock
#

je ne comprend pas bien l'erreur, désolé```
throw new argument_error_1.ArgumentError(message, main, errors);
^

ArgumentError: Expected string name to match "^[\p{L}\p{N}_-]+$", got bug ou suggestion instead
at Object.ow [as default] (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\ow\dist\index.js:32:19)
at Object.validateName (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules@discordjs\builders\dist\interactions\slashCommands\Assertions.js:24:17)
at MixedClass.setName (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules@discordjs\builders\dist\interactions\slashCommands\mixins\NameAndDescription.js:26:22)
at Object.<anonymous> (C:\Users\arthu\Desktop\Bot UltrArthy\index.js:16:6)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module.load (node:internal/modules/cjs/loader:822:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:79:12)
at node:internal/main/run_main_module:17:47 {
validationErrors: Map(1) {
'name' => Set(1) {
'Expected string name to match "^[\p{L}\p{N}
-]+$", got bug ou suggestion instead'
}
}
}

broken walrus
#

En l'occurrence la regex c'est ^[\p{L}\p{N}_-]+$

blissful hemlock
#

😮

#

🤔

#

genre ça veut dire qu'il y a un truc qui va pas au début de la ligne ?

#

et à la fin ?

broken walrus
#

Je sais pas, t'as mis quoi dans le champ name ?

#

en gros ça veut dire que tu peux mettre des chiffres, des lettres, et des _

#

mais rien d'autre

blissful hemlock
#

hha

#

et des lettres majuscules ?

broken walrus
#

Aussi oui

blissful hemlock
#
const signal = new SlashCommandBuilder()
    .setName("bug ou suggestion")
    .setDescription("Vous avez une Suggestion ou un Bug à signaler ? Utilisez cette commande !")
    .addStringOption(option =>
      option.setName('Bug ou Suggestion')
        .setDescription('Choisissez votre type de signalement')
        .setRequired(false)
        .addChoices(
          { name: 'Bug', value: 'Vous avez trouvé un bug ?' },
          { name: 'Suggestion', value: 'Oh ! Bonne idée !' }
        ));```
#

voici ce que j'ai

broken walrus
#

c'est dans ton index.js ligne 16

blissful hemlock
#

c'est dans le .setName ?

#

ok

#

ligne 16, ça correspond bien au setname

broken walrus
#

ok bah c'est ça

#

en gros tu peux pas mettre d'espace

#

dans la commande

blissful hemlock
#

ahhhh d'acc

broken walrus
#

genre tu peux faire /bug_ou_suggestion mais pas /bug ou suggestion

blissful hemlock
#

ok merci beaucoup

#

et si j'ai bien pigé, c'est parce que dans [\p{L}\p{N}_-] il n'y a pas d'espace, c'est ça ?

#

j'ai un autre problème

#

déso hein

#

ça c'est mon erreur : ArgumentError: Expected `string choices` to be of type `array` but received type `Object` (array `string choices`) source is not iterable at Object.ow [as default] (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\ow\dist\index.js:32:19) at SlashCommandStringOption.addChoices (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\@discordjs\builders\dist\interactions\slashCommands\mixins\CommandOptionWithChoices.js:46:21) at C:\Users\arthu\Desktop\Bot UltrArthy\index.js:22:10 at MixedClass._sharedAddOptionMethod (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\@discordjs\builders\dist\interactions\slashCommands\mixins\CommandOptions.js:75:54) at MixedClass.addStringOption (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\@discordjs\builders\dist\interactions\slashCommands\mixins\CommandOptions.js:61:21) at Object.<anonymous> (C:\Users\arthu\Desktop\Bot UltrArthy\index.js:18:6) at Module._compile (node:internal/modules/cjs/loader:1101:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10) at Module.load (node:internal/modules/cjs/loader:981:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) { validationErrors: Map(1) { 'string choices' => Set(2) { 'Expected `string choices` to be of type `array` but received type `Object`', '(array `string choices`) source is not iterable' } } }
et ça c'est mon code

onst signal = new SlashCommandBuilder()
    .setName("bug-suggestion")
    .setDescription("Vous avez une Suggestion ou un Bug à signaler ? Utilisez cette commande !")
    .addStringOption(option =>
      option.setName('bug-suggestion')
        .setDescription('Choisissez votre type de signalement')
        .setRequired(false)
        .addChoices(
          { name: 'Bug', value: 'Vous avez trouvé un bug ?' },
          { name: 'Suggestion', value: 'Oh ! Bonne idée !' },
        ));```
#

c'est pas déjà un array ?

#

pour moi, c'est bien une liste

#

je reviens dans quelques minutes

lone flax
#

là tu lui donnes juste plusieurs arguments à la chaine

blissful hemlock
#

🤔

#

Ça voudrait dire qu'il faut tout mettre dans une paire d'accolades ?

lone flax
#

[{}, {}]

blissful hemlock
#

haa

#

en gros, il voulait un tableau, pas juste une liste

lone flax
#

Oui

blissful hemlock
#

j'ai compris, merci beaucoup pour l'aide

#

ArgumentError: (array `string choices`) Expected values to be of type `array` but received type `Object\`

.addChoices([
{ name: 'Bug', value: 'Vous avez trouvé un bug ?' },
{ name: 'Suggestion', value: 'Oh ! Bonne idée !' }
]));

Il faut que je fasse des tableaux pour chaque value ?

broken walrus
#

Normalement c'était bon comme tu avais mis en premier lieu

#

C'est effectivement un spread operator, donc comme tu avais mis c'était bon

#

Attends mais c'est bizarre harold

broken walrus
blissful hemlock
#

aucune idée, attends deux secondes

#

ça doit un tout petit peu dater

#

0.5.0

broken walrus
#

Mets à jour x)

#

npm i @discordjs/builders@latest

blissful hemlock
#

ok, c'est fait

#
    at ArrayValidator.handle (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\@sapphire\shapeshift\dist\index.js:464:70)
    at ArrayValidator.parse (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\@sapphire\shapeshift\dist\index.js:143:88)
    at MixedClass.addChoices (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\@discordjs\builders\dist\index.js:1192:22)
    at C:\Users\arthu\Desktop\Bot UltrArthy\index.js:22:10
    at MixedClass._sharedAddOptionMethod (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\@discordjs\builders\dist\index.js:1388:50)
    at MixedClass.addStringOption (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\@discordjs\builders\dist\index.js:1377:17)
    at Object.<anonymous> (C:\Users\arthu\Desktop\Bot UltrArthy\index.js:18:6)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32) {
  errors: [
    [
      0,
      ValidationError: Expected the value to not be an array
          at ObjectValidator.handle (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\@sapphire\shapeshift\dist\index.js:1189:25)
          at ObjectValidator.run (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\@sapphire\shapeshift\dist\index.js:129:23)
          at ArrayValidator.handle (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\@sapphire\shapeshift\dist\index.js:458:37)
          at ArrayValidator.parse (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\@sapphire\shapeshift\dist\index.js:143:88)
          at MixedClass.addChoices (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\@discordjs\builders\dist\index.js:1192:22)
          at C:\Users\arthu\Desktop\Bot UltrArthy\index.js:22:10
          at MixedClass._sharedAddOptionMethod (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\@discordjs\builders\dist\index.js:1388:50)
          at MixedClass.addStringOption (C:\Users\arthu\Desktop\Bot UltrArthy\node_modules\@discordjs\builders\dist\index.js:1377:17)
          at Object.<anonymous> (C:\Users\arthu\Desktop\Bot UltrArthy\index.js:18:6)
          at Module._compile (node:internal/modules/cjs/loader:1101:14) {
        validator: 's.object(T)',
        given: [
          { name: 'Bug', value: 'Vous avez trouvé un bug ?' },
          { name: 'Suggestion', value: 'Oh ! Bonne idée !' }
        ]
      }
    ]
  ]
}```
broken walrus
#

ça marche ?

#

remets comme t'avais fais

blissful hemlock
#

ok

#

ouiii, ça s'est lancé !!!

broken walrus
#

Voilà :p

blissful hemlock
#

par contre

#

ah non, c'est bon

#

attends

broken walrus
blissful hemlock
#

mdrr ça fait 24 h que je t'embête

broken walrus
#

Si je voulais pas je serais pas ici mdr

blissful hemlock
#

bien vu

en gros, j'ai ça :```js
const signal = new SlashCommandBuilder()
.setName("bug-suggestion")
.setDescription("Vous avez une Suggestion ou un Bug à signaler ? Utilisez cette commande !")
.addStringOption(option =>
option.setName('bug-suggestion')
.setDescription('Choisissez votre type de signalement')
.setRequired(false)
.addChoices(
{ name: 'Bug', value: 'Vous avez trouvé un bug ?' },
{ name: 'Suggestion', value: 'Oh ! Bonne idée !' },
));


et ça :
#

où passent les choix ?

#

oulala j'suis pommé

broken walrus
#

Dans ton option

#

(que tu devrais mettre en required d'ailleurs)

blissful hemlock
#

hayy j'ai potentiellement pigé

#

comment je peux faire pour directement avoir les deux options affichées ?

broken walrus
#

Mettre ton option en required :p

blissful hemlock
#

😮

#

énorme

#

merci

#

No stress, cette fois-ci, je viens pas parce que quelque chose ne marche pas, c'est juste pour demander si quelqu'un avait un nom pour la commande

#

déso si j'ai envoyé ça sur un salon js

blissful hemlock
#

pas mal 👍

graceful spruce
#

voici mon code et voici mon erreur veuillez m'aider à la régler car je n'y arrive pas. SVP

blissful hemlock
#

🤔

#

je t'avoue, c'est la première fois que j'entend parler de Modals, peut être qu'il faut mettre un nom à ça

#

essaies de mettre un .setName("test"), au début, juste pour essayer

graceful spruce
#

non cela me réaffiche la meme erreur voila ce qu'est un modal:

blissful hemlock
#

what ?

#

YEET

#

c'est une sorte de menu que tu peux afficher sur Discord dans lequel tu peux envoyer des infos à un bot ?

blissful hemlock
#

mais c'est incroyable

sullen kelp
#

Ça fait déjà quelque temps que c'est sortie

blissful hemlock
#

genre on peux faire des petites candidatures

blissful hemlock
sullen kelp
#

Avant c'était en module maintenant c'est direct sur djs

blissful hemlock
#

haa

sullen kelp
#

Et ça marche comme interaction

blissful hemlock
#

je vois ça

#

décidément, discord s'améliore

sullen kelp
#

Ah je crois savoir

blissful hemlock
#

😮

graceful spruce
#

Mais cette erreur est bizarre car avant cela ne me l'afficher pas mais maintenant il me l'affiche tout le temps et je ne peux donc pas effectuer mes commande

blissful hemlock
#

bizarre, peut-être une MAJ

sullen kelp
blissful hemlock
graceful spruce
sullen kelp
#

Tu peux montrer ta ligne 9 ?

graceful spruce
#

la ligne neuf est juste un ]

sullen kelp
#

Hmm

#

Là je vois vraiment pas

#

Pourtant y'as tout ce qui est requis pour un modal

graceful spruce
#

oui c'est chelou

#

et comme j'ai commencer il y a peu à coder du javascript je patauge un peu pour régler cette erreur

cyan kernel
sullen kelp
#

Pourquoi des () après discord ? 🤔

#

Et avec ça il aura pas les intents

cyan kernel
graceful spruce
#

je viens d'essayer et cela m'affiche qui faut des intents

broken walrus
#

Non

#

Pas besoin de () après Discord

graceful spruce
#

ca me saoul de ne pas trouver

broken walrus
graceful spruce
#

oui je viens de chercher sur internet et s'est peut etre du au caractère @ qui n'est pas supporté

broken walrus
#

Non, ça te mettrait pas cette erreur là

graceful spruce
#

je viens de regarder sur internet un mec avait la meme erreur, il a enlever les @ et son code a fonctionné

hollow zinc
#

API - Erreur 404 - Unexpected token

graceful spruce
#

j'arrive pas a trouver

bitter belfry
#

bonjour quelqu'un a une idee de comment l'ecrire

#

pour le context je fait une page de modification de post et j'aimerai que dans l'input j'ai le text qu'il y a de base

broken walrus
#

Désolé je peux pas t’aider, je connais pas Vue 😅

timid loom
#

c'est pas plutôt this.post.text ou this.text (celui qui contient la valeur par défaut) ?

#

et mets plutôt :value="this.post.text"

bitter belfry
#

j'ai un vmodel et ca me dit que sa interfere

pallid plume
#

Ouais parce que le V-model = la value

#

Si ton V-model c'est 5 de base la value ça sera 5

bitter belfry
#

du coup je dois mettre la valeur dans le v model ?

#

ca va tout casser non ?

timid loom
#

ah j'avais pas vu le v-model

#

bah au pire dans this.text tu mets ta valeur de base ? ou inversement si tu mets as mis un truc différent

worn sequoia
#

Bonsoir, je ne suis pas habitué à utiliser le JS comme langage et j'ai besoin d'éditer un script que je n'ai pas fait en ajoutant une image à un embed, sauf qu'il se met en erreur comme vous le voyez, quelqu'un peut-il me résoudre ce problème ? Merci.

quaint cipher
worn sequoia
#

Je pense que c'était ça, mais j'ai réussi, ça fonctionne autrement.

#

Merci.

earnest dawn
#

Ah pas de soucis

ember sphinx
#

bonjour

pallid plume
#

Genre :

data() {
    return {
       text: "Super text"
    }
} ```
#

et tu le passe en v-model

cosmic plaza
#

Bonjour, est-ce que quelqu'un qui peut m'aider en vocal en 5 min juste pour me montrer un truc svp ?

cosmic plaza
#

Vous pensez il manque quoi la pour le bouton svp ?

broken walrus
cosmic plaza
broken walrus
#

Tu peux l'envoyer en entier ?

cosmic plaza
broken walrus
#

"MessageActionRow is not defined"

cosmic plaza
#

Comment je le définie ?

broken walrus
#

Il faut l'importer ^^

cosmic plaza
#

async ?

broken walrus
#

Non

#

const { MessageActionRow } = require('discord.js');

#

pareil pour MessageButton apparemment

#

const { MessageActionRow, MessageButton } = require('discord.js');

cosmic plaza
#

Merrci

#

J'ai réussie enfin

broken walrus
#

^^

cosmic plaza
#

Merci mec vraiment

#

Et la svp

#

qui peut m'aider

#

Genre encore problème sa me signale

broken walrus
cosmic plaza
broken walrus
#

Déjà là t'as un ;

#

et une faute de frappe

cosmic plaza
#

J'ai régler et toujours pas

cosmic plaza
broken walrus
#

t'as marqué await interraction;showModal(modal)
alors qu'en paramètre de ton callback t'as écris interaction

du coup c'est await interaction.showModal(modal);

cosmic plaza
#

Oui j'avais régler sa mais sa fait toujours la même choses quand je veut accéder au modals par mon bouton

broken walrus
#

C'est-à-dire ? x)

cosmic plaza
broken walrus
#

Et je vois un autre problème

cosmic plaza
#

En gros sa me fait tout les temps

#

erreur

#

en rouge en bas de mon bouton

cosmic plaza
broken walrus
#

l'ID de ton bouton c'est "forms"

#

et t'as mis if(interaction.customId === "form")

#

Forcément la condition passera jamais

cosmic plaza
#

ha ok

#

je vais voir maintenant

broken walrus
cosmic plaza
#

Ah la ssa me sort des erreur

#

Modal is not a constructor

broken walrus
#

t'as pas importé Modal non plus

cosmic plaza
#

Regarde en haut

#

C'est pas sa ?

#

L'importation

broken walrus
#

Ah ok si c'est bon

cosmic plaza
#

Mais je comprend pas

broken walrus
#

Je regarde ça

#

T'as quelle version de discordjs ?

cosmic plaza
#

12

broken walrus
#

Ah c'est pour ça

#

mets à jour

#

npm i discord.js@latest

cosmic plaza
#

Comment ?

#

Ok bien vu

#

Bah regarde pourtant j'était déjà en 13.6.0

broken walrus
#

Je crois que c'est qu'à partir de la 13.7

cosmic plaza
#

Ah oui c'est bon je suis en 13.8.1

bitter belfry
pallid plume
#

Bah tu fais une copy?

cosmic plaza
#

Maintenat c'est TextInputComponents

broken walrus
#

C'est quoi l'erreur exacte ?

cosmic plaza
broken walrus
#

Ok

#

ça marche ?

cosmic plaza
broken walrus
#

Ok

cosmic plaza
#

Toujours pas

#

encore une autre erreur

bitter belfry
broken walrus
#

t'as pas mis de .setCustomId à ton premier TextInputComponent

cosmic plaza
#

Sa marche

#

Je te remercie

#

mec

#

depuis le temps que je voulais faire sa

broken walrus
#

Nice ^^

cosmic plaza
# broken walrus Nice ^^

Toi t'es fort en javascript mon reuf je t'ajoute direct et d'ailleurs déo si jtai fais chier avec mes erreur de merde

glass cargo
# cosmic plaza

Pense juste à corriger les ptites fautes d’orthographe ^^

cosmic plaza
#

Juste une question les bg

near saddle
#

si jamais je crois que certains trucs des modals ne marchent pas sur tel

cosmic plaza
#

vous voyer les msg en ephemere

blissful hemlock
#

Yo, je suis bloqué, j'ai fais ma commande slash, j'arrive à l'envoyer au serveur que je veux, j'ai fais une option obligatoire mais, j'aimerais faire en sorte qu'après cette option, les gens qui utilisent la commande aient à mettre un texte, comment je fais ?

#

🤔

#

j'ai beau chercher, je trouve pas

blissful hemlock
#

je comprend que tu n'aies pas compris, j'explique très mal

#

attends quelques secondes

#

j'aimerais obliger le fait qu'après ça :

#

ils mettent un texte

#

d'abord, est-ce possible ?

keen narwhal
blissful hemlock
#

genre je met juste addStringOption sans option et ça demande un texte ?

keen narwhal
#

Bas tu dois mettre le nom etc

blissful hemlock
#

haa oui + le fait que ça soit requis ou non

#

bah super, je savait pas qu'on pouvait faire ça comme ça

#

merci beaucoup 🙂

cosmic plaza
#

Qui peut m'aider

#

Pour l'erreur que sa me sort

#

Je comprend pas

blissful hemlock
#

peut-être la personne qui a utilisé le modal n'a rien mis dans favorite color, non ?

#

appart ça, aucune idée

blissful hemlock
#

🤔

#

mets un ? devant ton .getTextInputValue('favoriteColor')

#

pour voir si ça fait la même avec 'yourHobbies'

blissful hemlock
#

met le point après le point d'interrogation et, justement, ne le fais pas sur yourHobbies, pour voir si il y a la même erreur

blissful hemlock
#

oui

#

et re fais un test en envoyant un modal

cosmic plaza
#

regarde

#

toujours

#

je comprend vraiment pas

blissful hemlock
#

what ?

#

ah mais oui, je suis con

#

littérallement, ce que je t'ai fais faire, c'est, demander la valeur de favorite color mais, si elle n'est pas là, pas grave

#

mybad

cosmic plaza
#

Et ducoup

#

mdr

blissful hemlock
#

là je réfléchis

cosmic plaza
#

Y'a pas de solution ?

#

ah ok

blissful hemlock
#

🤔

cosmic plaza
#

Tu veut passer vocal pour voir mieux ?

blissful hemlock
#

je peux pas voc

cosmic plaza
#

Ah merde

blissful hemlock
#

d'ailleurs, pour screen, je te conseille de faire SHIFT + WIN + S, comme ça, tu peux sélectionner une zone particulière et ne pas prendre ton deuxième écran

cosmic plaza
#

ah ok bienvue

blissful hemlock
#

j'y arrive pas ! je trouve pas !!

cosmic plaza
blissful hemlock
#

@broken walrus, s'il te plaît, déjà pardonne-moi de t'avoir mentionné.
et s'il te plaît, prête-nous ton intelligence !

blissful hemlock
#

j'ai expérimenté ça l'autre jour, mais j'ai pas essayé de récupérer les réponses

cosmic plaza
blissful hemlock
#

j'ai pas essayé de récup les réponses donc, zéro problème

broken walrus
#

@cosmic plaza Tu peux me donner l'erreur + ton code en entier ?

broken walrus
#

Tu fais des fautes de frappe partout

cosmic plaza
broken walrus
#

Non

hidden cypress
stark plazaBOT
#
La Blague
👉
  • Vous avez 5 euros dans votre poche, vous en perdez deux.
    Qu'est-ce que vous avez dans votre poche ?

-un trou ! 😆

hidden cypress
#

Bonjour,
J'ai un petit probléme de code et du coup cela fais crash mon discor dpour une commande Say J'aimerais de l'aide
Voici le code :

const Discord = require('discord.js');
const { Command } = require("../../config")
const config = require("../../config")

module.exports.config = {
    name: 'say',
    aliases: [''],
    description: 'Fais dire un message au bot',
    syntax: '',
    category: Command.utile,
    user_permissions: [],
    bot_permissions: ['EMBED_LINKS']
}
module.exports.execute = async (client, message, args) => {

    const msg = args.slice(0).join(" ")
    if (!msg) return message.reply ("Veillez entrer une phrase") 

    const embed = new Discord.MessageEmbed()
    .setColor("#ED4245")
    .setTitle("Nouvelle Suggestion")
    .setDescription(`${msg}`)

    message.channel.send({ embeds: [embed] })
}```
Et voici l'erreur:
stark plazaBOT
#

✅ Fristick a Voté pour Creators Area 👍
Bravo et Merci Fristick 😏

#
Stats
Nb commandes:  7
Nb Serveurs:   5530
Nb Salons:     390644
Nb emojis:     218756
Nb Membres:    1942040
Nb Ping:       119ms
Nb Uptime:     473566s
Votes & Bumps

Total votes: 1060129
Total bumps: 774338
- - - - - - -
pour Creators Area
Nb Votes :      3193
Nb Bumps:       218
au Top :        136
#

Creators Area est TOP 136

hidden cypress
#

Sa la mis 3fois

#

Dsl

broken walrus
blissful hemlock
#

ah

#

j'ai pigé

#

j'suis trop bêêêteuuh

cosmic plaza
broken walrus
#

Et du coup ?

blissful hemlock
#

relance, ça devrait marcher

hidden cypress
#

Mais dcp moi ? 😭

blissful hemlock
#

ah, désolé

#

att

cosmic plaza
#

Sa à changer l'erreur

blissful hemlock
#

V

broken walrus
#

Encore une faute de frappe harold

blissful hemlock
#

la majuscule harold

broken walrus
#

Oui

blissful hemlock
#

même moi j'ai vu

broken walrus
#

getTextInputValue

blissful hemlock
#

c'est pout te dire harold

cosmic plaza
#

Ducoup

#

Je met en Majuscule ou miniscule

hidden cypress
#

En maj

#

Le V

#

De Value

cosmic plaza
#

Ok merci

#

We$$

#

merciiiii

#

Aidez fristick

#

Il a besoin d'aide maintenant

hidden cypress
#

Rip mon pseudo

#

😭

#

Merci

cosmic plaza
#

Merci

blissful hemlock
broken walrus
blissful hemlock
#

et pour l'erreur, j'en sais rien harold

broken walrus
#

essaie de console.log

blissful hemlock
#

ah bon ?

broken walrus
#

Je veux voir quelle valeur ça prend

hidden cypress
broken walrus
#

Mais jpp

blissful hemlock
#

mdrr

broken walrus
#

pas dans ta console, dans ton code

blissful hemlock
#

la maj

#

enlève

broken walrus
#

Non mais même

blissful hemlock
#

yeet j'ai cru que c'était dans son code

#

j'avais pas vu notlikethis

broken walrus
#
const Discord = require('discord.js');
const { Command } = require("../../config")
const config = require("../../config")

module.exports.config = {
    name: 'say',
    aliases: [''],
    description: 'Fais dire un message au bot',
    syntax: '',
    category: Command.utile,
    user_permissions: [],
    bot_permissions: ['EMBED_LINKS']
}
module.exports.execute = async (client, message, args) => {

    const msg = args.slice(0).join(" ")
    if (!msg) return message.reply ("Veillez entrer une phrase") 

    // là mdr
    console.log(msg);

    const embed = new Discord.MessageEmbed()
    .setColor("#ED4245")
    .setTitle("Nouvelle Suggestion")
    .setDescription(`${msg}`)

    message.channel.send({ embeds: [embed] })
}
blissful hemlock
hidden cypress
#

C'est bon j'ai mis dans le code

blissful hemlock
#

haa

#

qu'est-ce que ça dit ?

hidden cypress
#

Je fais la commande je presume

#

att

broken walrus
#

Relance et envoie un screen de ce que ça dit

#

oui

hidden cypress
#

Tjr sa

blissful hemlock
#

t'es sûr que t'as mis le console.log ?

broken walrus
#

Au dessus

#

t'as rien ?

blissful hemlock
#

tu as dû le mettre en dessous

hidden cypress
hidden cypress
blissful hemlock
#

ah

#

pas possible

hidden cypress
#

C'est tout sa juste

blissful hemlock
#

montre ton code 2s

broken walrus
#

si

#

t'as "c"

#

tu mens

#

xD

hidden cypress
#

C'est juste un copier de sa