Bonjour / Bonsoir,

J'apprend actuellement la création de bot discord, mais j'ai un gros problème, même les personnes qui copient mon code n'on pas mon erreur. Cela ne vient donc pas du code (J'imagine)

Ce que je fais

Décrivez ici votre code ou ce que vous cherchez à faire

const Discord = require('discord.js');
const client = new Discord.Client();

const fs = require('fs');

client.login('');

client.commands = new Discord.Collection();

//ON VA CHERCHER DANS LE DOSSIER "commands"
fs.readdir("./commands/", (error, f) => {
    if(error) console.log(error);

    //ON FILTRE TOUS LES FICHIER QUI ON LEXTENSION "JS" DANS LA VARIAVLE "cammands"
    let commands = f.filter(f => f.split('.').pop() === 'js');
    //SI YA PAS DEFICHIER ON MET UNE ERREUR DANS LA CONSOLE
    if(commands.length <= 0) return console.log('Aucun fichier touvé dans le dossier "commands" !');

    //ON RECUP TOUT LES FICHIER
    commands.forEach((f) => {

        let command = require(`./commands/${f}`);
        console.log(`${f} commande chargée !`);

    client.commands.set(command.help.name, command);
    })
})

fs.readdir('./events/', (error, f) => {
    if(error) console.log(error);
    console.log(`${f.length} events en chargement`);

    f.forEach((f) => {
        const events = require(`./events/${f}`);
        const event = f.split('.')[0];

    client.on(event, events.bind(null, client));
    })
})

Ce que je veux

Je veux que le bot affiches certaines donné sur l'utilisateur:

ID:
NAME:
CREATION DE SON COMPTE:
ECT...

Ce que j'obtiens

Sauf que j'optient "undefined" partout:

Statistiques de vathib#8660
ID :
undefined
Crée le :
undefined
Jeu :
undefined
A rejoin Minecraft FR le :
undefined
Informations de l'utilisateur vathib

Merci d'avance,
Cordiallement vathib.

11 réponses


c'est le tuto de victo, envoie le fichier stats.js

ou essaie celui là

const Discord = require ("discord.js");
const moment = require ("moment")

module.exports.run = async (client,message, args) =>{
    const membre= message.mentions.members.first() || message.member;
    //if(!membre) return message.channel.send(`Veuillez mentionner un utilisateur !`)
    //console.log(membre);
    console.log(membre.guild.members);

    message.author.send({
        embed:{
            color: 3447003,
            title:`Statistique de l'utilisateur **${membre.nickname}**`,
            thumbnail:{
                url : membre.user.avatarURL
            },
            fields: [
            {
                name:">ID : ",
                value : membre.id
            },
            {
                name:"Crée le : ",
                value : moment .utc(membre.user.createdAT).format('LL')
            }
            ,
            {
                name:"Jeux : ",
                value : `${membre.user.presence.game? membre.GuildMember.presences.game.name: "Aucun jeu"}`
            }
            ,
            {
                name:"Rejoins : ",
                value : moment .utc(membre.joinedAT).format('LL')
            }
            ],
            footer: {
                text:`information de l'utilisateur ${membre.user.nickname}`
            }
        }
    })

};

module.exports.help ={
    name: "stats"
};
vathib
Auteur

Bon, ok ca marche, mais j'aimerais comprendre mon erreur, voila mon code:

const Discord = require('discord.js');
const moment = require('moment');

module.exports.run = async(client, message, args) => {

    const membre = message.mentions.members.first() || message.member;
    //if(!member) return message.channel.send(`Veuillez mentionner un user !`);

    message.channel.send({
        embed: {
            color: 3447003,
            title: `Statistiques de **${membre.user.tag}**`,
            thumbnail: {
                url: membre.user.displayAvatarURL
            },
            fields: [
                {
                name: "> ID :",
                values: membre.id
                },
                {
                name: "Crée le :",
                values: moment.utc(membre.user.createdAT).format("LL")
                },
                {
                name: "Jeu :",
                values: `${membre.user.presence.activity ? `${membre.user.presence.activity.name}` : "Ne joue pas"}`
                },
                {
                name: "Rejoin le",
                values: moment.utc(membre.joinedAT).format("LL")
                }
            ],
            footer: {
            text: `Informations de l'utilisateur ${membre.user.username}`
            }

        }
    })
};

module.exports.help = {
    name: "stats"
}
vathib
Auteur

Bonjour, finalement ton code marche à moitier, ca met les dates mais.. Ca mais aujourd'hui pour création de compte et join le discord.

J'éspère que vous pourrez m'aider merci d'avance

le tuto de victo a été écris avec une librairie qui à évolué, les syntaxes ont bougé avec la nouvelle version.
cela fait 2 jours que je reprend et j'optimise le code avec de nouvelle fonction

vathib
Auteur

Aurais tu un site avec toutes les syntaxes, des éxemples et tout pour ce package ?

malheureusement rien de très explicite pour un débutant

vathib
Auteur

Et tu ne pourais pas m'éxpliquer les quelques différences sur mon code ? Parce que je suis un peux bloquer la..

donne moi l'adresse de ton discord, j'essaierai de passer, par contre celà sera certainement que écris

vathib
Auteur

J'ai enfin réglé le problème ! Merci quand même, bon maintenant.. autre problème l'avatar s'affiche pas, voila mon discord: vathib#8660

Je sais que ce poste date de 3 mois, mais pour l'avatar il faut juste ajouter un () a la fin, exemple : url: membre.user.displayAvatarURL()