#javascript-typescript

1 messages · Page 76 of 1

blazing wadi
#

tout d'abord te plein pas hahaha

#

si ça te fait plus

#

et ensuite y a toujours eu des bugs comme ça

#

ou ta moyenne était de 15.5 et elle est de 16

#

fin c'est bizarre mais c'est cool

plain crystal
plain crystal
#

je veux dire, est-ce que c'est la vrai moyenne que j'aurai du avoir?

blazing wadi
#

bah je pense il doit y avoir un truc pour que ça te donne ça ils ne donneraient pas de points comme ça

oak turret
#

c'est juste arrondi au supérieur

blazing wadi
#

ouep c'est ça

plain crystal
#

probablement merci xd

blazing wadi
#

au pire tu fais à l'ancienne

#

tu prends ta calculatrice et tu calcules 😂 si tu veux en être sûr

plain crystal
#

c'est parti xd

lone flax
#

Oui hein @plain crystal ça se voit, ça serait improbable que tu aies des moyennes rondes dans toutes les matières, ils arrondissent à la valeur supérieure la plus proche entre 0.5 et 1

slim anvil
#

il voulait juste montrer qu'il a de bonne note

#

craneur

cyan iron
#

Oui kappo

blazing wadi
white sedge
#

Salut en ce momet j'essaye de faire une commande §ban (elle marche) mais je voudrais maintenant mettre les raisons et j'y arrive pas
Voici mon code

//Partie 1
const { Command } = require('discord.js-commando');
const Discord = require('discord.js');

module.exports = class BanCommand extends Command {
    constructor(client) {
        super(client, {
            name: `ban`,
            memberName: 'ban',
            group: 'moderation',
            description: 'ban un membre.',
            clientPermissions: ['ADMINISTRATOR'],
            userPermissions: ['BAN_MEMBERS'],
            
        });
    }
    async run(client){

        const user = client.mentions.users.first();
        const embed = new Discord.MessageEmbed();
        //Si nous avons un utilisateur mentionné
        if (user) {
            
      // Maintenant, nous obtenons le membre de l'utilisateur
        const member = client.guild.members.resolve(user);
      // Si le membre est dans la guilde
        if (member) {

         // plus d'aide:https://discord.js.org/#/docs/main/master/class/GuildMember?scrollTo=ban
            member
            //const reason = client.member.message
            .ban()
#
//partie 2
            .then(() => {                 
            // informe le channel que le membre à été banni
            embed
            
                .setColor('GREEN')
                .setAuthor(`${this.client.user.tag}`, `${this.client.user.displayAvatarURL()}`,)
                .setTitle(`Bannissement d'un membre`)
                .setDescription(`**${user.tag}** viens d'être banni par${client.author}pour ${client.reason} `)
            return client.say(embed);   
            })
            .catch(err => {
            //Les erreurs
            embed
                .setColor('RED')
                .setAuthor(`${this.client.user.tag}`, `${this.client.user.displayAvatarURL()}`,)
                .setTitle('Bannissement échoué')
                .setDescription(`${client.author} a essayé de ban ${user.tag} mais une erreur est suvenue`)
                
            return client.say(embed);    
            //client.channel.send('Je ne peux pas ban ce membre !');
                // affiche l'erreur dans les logs de la console
                console.error(err);
                client.say(err)

            });
#
//Et la partie 3

        } else {
        // The mentioned user isn't in this guild
            embed
                .setColor('RED')
                .setAuthor(`${this.client.user.tag}`, `${this.client.user.displayAvatarURL()}`,)
                .setTitle('Erreur de serveur')
                .setDescription(`Le membre selectionné n'est pas dans le serveur !`)
            return client.say(embed);
        //client.channel.send("Ce membre ne fais pas partie du serveur!");
        }
        } else {
      // Otherwise, if no user was mentioned
            embed
                .setColor('RED')
                .setAuthor(`${this.client.user.tag}`, `${this.client.user.displayAvatarURL()}`,)
                .setTitle('erreur de mention')
                .setDescription(`Une mention est requise pour ban un membre !`)
            return client.say(embed);
        //client.channel.send("Tu dois mettre une mention pour ban!");
        }
    }
};
#

Voici le fichier si vous voulez tous le code rassemblé

#

Si vous pouvez m'aider ce serai super 👍

dire latch
#

Regarde sur mon profil et sur github, tu as un exemple @white sedge

oak turret
white sedge
#

mcr

#

mrc

dire latch
#

Dr

cyan iron
#

Du coup vous avez pas de tempban

white sedge
#

Bonjour je souhaite faire plusieurs easteregg dans mon bot, les noms et les mots clé sont dans un fichier JSON je suis arrivé a faire ce code mais je bloque après

const Discord = require('discord.js')
const config = require('easteregg_name.json')
const fs = require('fs')

module.exports = class EasterEgg extends Easteregg {
    //readFile(easteregg_name)
    async run(message){
        fs.readFileSync('easteregg_name.json','utf-8')
        var obj = JSON.parse('mot')  
    }
}

Mon but de ce fichier c'est qu'il revoie le nom du membre qui a trouvé un easteregg et qu'il bloque son utilisation

#

le json

{
    "Easteregg":{ 
        "Easteregg_souhieb":{
            "mot": "souhieb",
            "decouvert":"False"
        },
    
        "Easteregg_french":{
            "mot":"french'",
            "decouvert":"False"
        },
    
        "Easteregg_easteregg":{
            "mot":"easteregg",
            "decouvert":"False"

        }
    }
}
#

comment je peuxfaire ça ?

white sedge
#

me mentionner

robust jetty
#

Bonjour,

Je m'excuse de poster un message alors qu'un autre utilisateur n'a toujours pas eu de réponse au dessus donc ne l'oubliez pas ->

Mais je recherche quelqu'un qui à déjà travaillé avc l'API Osu!,
car je voudrais l'intégrer à mon bot discord.
Le problème est que cette API me pose bien des soucis j'ai du mal à la comprendre.

(j'ai déjà toutes ls docs)

timid loom
# white sedge comment je peuxfaire ça ?
const Discord = require('discord.js')
const config = require('easteregg_name.json') // cette ligne parse déjà le fichier

// wtf? Easteregg c'est quoi? Pourquoi ça extend?
module.exports = class EasterEgg extends Easteregg {
    async run(message) {
        if (!config.eggs.some((easterEgg) => easterEgg.mot === message.content)) return // pas de mot d'easteregg trouvé

        const foundEasterEgg = config.eggs.find((easterEgg) => easterEgg.mot === message.content)
        return message.channel.send(`Easteregg trouvé: ${foundEasterEgg.mot}`)
    }
}

Avec un JSON plutôt de cette forme

{
    "eggs": [ 
        {
            "mot": "souhieb",
            "decouvert": false
        },
        {
            "mot": "french",
            "decouvert": false
        },
        {
            "mot": "easteregg",
            "decouvert": false
        }
    ]
}

Après tu peux faire autrement et j'ai pas tout compris j'ai l'impression

timid loom
white sedge
#

ahhh ok merci beaucoup @timid loom

rustic shore
timid loom
#

justement d'où mon commentaire

#

je comprends pas d'où elle sort

#

je l'ai laissée parce que peut-être que le fichier est pas complet mais bon

white sedge
#

@timid loom pour toi j n'ai pas besoin de mettre "extends Easteregg"

rustic shore
#

oui

white sedge
#

ah ok

#

je nouveau dans le dev en javascript

rustic shore
#

si tu as aucune class de ce nom tu supprimes parce que sinon tu auras une erreur

white sedge
#

ok merci

white sedge
#

@timid loom quand je lance mon bot ton code affiche une erreur

#

[11/06/2021, 18:11:19] - [WARN] - Attempting to register an invalid command object: class EasterEgg {
async run(message) {
if (!config.eggs.some((easterEgg) => easterEgg.mot === message.content)) return // pas de mot d'easteregg trouvé

    const foundEasterEgg = config.eggs.find((easterEgg) => easterEgg.mot === message.content)
    return message.channel.send(`Easteregg trouvé: ${foundEasterEgg.mot}`)
}

}; skipping.

#

c bon je l'ai reglé

timid loom
#

extends Command après class EasterEgg

#

ouais voilà

white sedge
#

@timid loom ça ne marche pas quand je tape un mot qui est dans le json
et au lancement du bot ça me met ça "Command info must be an Object."
et plus aucune commande ne marchent

timid loom
#

il faut que tu fasse un constructeur

#

comme pour les autres commandes

#

le truc c'est que tu devrais pas le faire sous forme de commande

#

tu devrais juste le mettre dans ton event message

white sedge
#

ah

robust jetty
# timid loom quel est le problème exactement?

Pour tester et comprendre l'API j'ai commencé par lire les docs et essayer de comprendre comment elle marche avec des codes mis en exemple :

const osuAPI = new osu.Api(config.osutoken, {
    // baseUrl: sets the base api url (default: https://osu.ppy.sh/api)
    notFoundAsError: true,
    completeScores: false,
    parseNumeric: false 
});

osuAPI.getUserBest({ u: 'brussell98' }).then(scores => {
  console.log(scores[0].score);
  console.log(scores[0].beatmap.title);
  console.log(scores[0].accuracy);
});

erreur:

(node:35412) UnhandledPromiseRejectionWarning: Error: [object Object]
    at Api.apiCall (c:\Users\mateo\Desktop\🚀 ▪ Client Discord\Nawash\node_modules\node-osu\lib\Api.js:64:10)
#

J'ai aussi trouvé ça mais j'ai du mal à le comprendre (j'ai fais les cours de JS openclassrooms il n'y a pas longtemps donc je ne métrise pas encore le langage très)

    async getUserBest(options) {
        const resp = await this.apiCall('/get_user_best', options);

        if (resp.length === 0)
            return this.notFound(resp);

        if (!this.completeScores)
            return resp.map(sc => new Score(this.config, sc));

        const scores = resp.map(sc => new Score(this.config, sc));
        for (const score of scores)
            score.beatmap = (await this.getBeatmaps({ b: score.beatmapId }))[0];

        return scores;
    }

github: https://github.com/brussell98/node-osu/blob/master/lib/Api.js

GitHub

A library for interacting with the osu api. Contribute to brussell98/node-osu development by creating an account on GitHub.

white sedge
#

c quoi osu

robust jetty
#

Un jeu

white sedge
#

ok

#

mrc

robust jetty
#

dr

timid loom
robust jetty
#

Je n'ai fais aucune class je l'ai direct paste dans le code de mon fichier osu.js.
(je me trompe peut-être sur la définition de classe que tu veux me parler alors je te donnes tout:
encore dsl si j'ai du mal

timid loom
#

ok nan c'est moi qui ai mal compris quelque chose

#

Tu peux tenter de contacter la personne qui l'a fait mais j'avoue qu'en effet je vois pas la cause de l'erreur là
tu peux juste essayer de rajouter ce code après la clause .then()

.catch(console.error)

et voir ce que ça t'affiche dans ta console mais je sais pas si ça sera très explicite

robust jetty
#

ok ok je vais essayer je ne penses pas que ça changera bcp de choses à l'erreur initial mais qui ne tente rien à rien

et puis leur API est encore en cour de dev mais là c'est moi qui ai du mal car meme si juste le debut marchait pas ça se serait

#

ouai j'ai ça

#

après dans le 2nd code envoyé on peut voir un Apicall() se qu'on retrouve dans l'erreur du premier code je sais pas si ça peut avoir un lien

white sedge
# timid loom tu devrais juste le mettre dans ton event message
const Discord = require('discord.js')
const config = require('../easteregg_name.json') 

module.exports = {
    run:(client)=>{
        client.logger.log('info',`a écrit `)
        if (!config.eggs.some((easterEgg) => easterEgg.mot === client.content)) return // pas de mot d'easteregg trouvé

        const foundEasterEgg = config.eggs.find((easterEgg) => easterEgg.mot === client.content)
        return client.channel.send(`Easteregg trouvé: ${foundEasterEgg.mot}`)
    }
}

je l'ai mis dans l'event message mais rien ne ce passe

timid loom
#

c'est pas l'event message ça

robust jetty
#

du genre je crois que c'est ça par exemple

<client/bot>.on('message', async(message) => {
//ton code
})
#

mais là tu l'exporte donc faut regarder donc ton fichier index

#

je crois normalement c'est ça*

tranquil tundra
#

Hello la compagnie !
J'ai besoin de vous pour un léger problème.
J'aimerais que quand je clique sur un bouton, ça m'ouvre une image en sorte de pop-up qui reste sur la même page et qui peut être fermé par la même occasion, vous pouvez m'aider sur ce sujet ?
Je vous remercie par avance de l'attention que vous portez à ce message ^^

young holly
#

Hey, a la limite ce que tu peut faire, tu fais une modal et dans cette modal tu met ton image thinkingplayer

tranquil tundra
#

Une modal ?

young holly
#

Une modal c'est une sorte de grosse popup dans ce style

slim anvil
#

oui fin du coup Arthur tu réponds pas a son probleme, ça revient au meme, comment il crée sa modal du coup ? ^^

tranquil tundra
#

Tu vois, les boutons sont déjà fais. Les images aussi. Mais quand on clique sur le bouton, ça l'ouvre sur une autre page. Et en gros, ça serait bien de l'ouvrir sur la même page en plus grand et qu'on puisse la fermer de la même manière. Tu avais bien compris la problématique ? (C'est pour un site Web bien sûr)

slim anvil
#

Tu peux au lieu d'ouvrir une page choisir d'ouvrir une popup directement, si c'est ce que tu souhaites
Ou sinon avec du javascript tu peux venir ajouter du style a ton image pour la faire apparaitre sur ta page au onClick

tranquil tundra
#

Je pensais au onClick, mais je ne savais pas comment confectionner ça

slim anvil
#

<a href="http://kanishkkunal.com" target="popup" onclick="window.open('http://kanishkkunal.com','popup','width=600,height=600'); return false;"> Open Link in Popup </a>

#

par exemple pour faire une popup

tranquil tundra
#

Humm.. Ouais du coup vous n'avez pas vraiment compris 😅

#

Je vais essayer de trouver un site internet où il y a déjà se principe pour vous montrer

slim anvil
#

Bah dans ce cas là oui tu veux une modal avec ton image

tranquil tundra
#

Tu vois, des fois avec un hover (quand on passe la souris sur un bouton par exemple) Une image apparaît en grand, mais toujours sur la même page. Mais là, j'aimerais que ça soit quand on clique dessus. Tu vois un peu mieux ?

slim anvil
tranquil tundra
#

Oui voilà !

#

Ça doit sans doute être bien plus clair maintenant 😅

slim anvil
#

Du coup tu peux te faire en html et css une boxe blanche que tu mettras en opacity: 0 par exemple et lorsque tu cliques sur le bouton tu viens lui supprimer le opacity: 0 (dans un premier temps) pour créer l'ouverture

keen narwhal
slim anvil
#

non si tu display: none tu auras pas d'animation c'est relou
le mieux c'est de
opacity: 0
pointer-events: none

#

comme ça elle est non cliquable et non visible

#

Et tu peux faire de vraies animations avec

silent quiver
#

Bonjour quelqu'un a t'il déjà rencontré le problème avec cli.js sur visual studio code ?

tranquil tundra
#

Mais du coup, il faut quand même un évènement onClick @slim anvil ?

slim anvil
#

oui pour activer ton script pour changer le style

tranquil tundra
#

Okay mais ça c'est l'événement pour l'ouvrir mais comment on fait pour la fermer ?

young holly
#

Bais tu fais un événement onClick sur le boutton fermer et tu change a l'inverse du style pour l'ouvrir

blazing wadi
#

Salut les gens j'ai besoin de vous car j'arrive pas à use la nouvelle fonctionnalité de discord ( les boutons ) genre je sais pas pourquoi pourtant j'ai suivi ce que disait la doc mais ça ne veut pas

#

oups

#

mince y a un link

#

dans mon fichier j'ai ça : js let bouton = new disbut.MessageButton() .setStyle('blurple') .setLabel("Support") .setURL("test") .setID('click_to_function') .setDisabled();

#

dans mon index j'ai ça :

const disbut = require('discord-buttons')
disbut(client)
disbut.MessageButton();
disbut.MessageActionRow(); ```
#

et voici l'erreur :

TypeError: BOTH_URL_CUSTOM_ID: A custom id and url cannot both be specified
rustic shore
#

@blazing wadiSalut en faites c'est sois l'id soit l'url si tu veux que ton bouton soit un lien tu doit retirer l'id sinon tu retires l'url et tu laisses obligatoirement l'id

blazing wadi
#

ok

blazing wadi
#

Mtn ça me met ça

#

mais du coup j'ai pensé à faire ça

slim anvil
#

regarde l’erreur

#

jamais use les buttons mais c’est explicite la

rustic shore
#

ça tu dois le retirer de ton index parce que c'est inutile étant donner que tu n'utilises pas de boutons

blazing wadi
rustic shore
blazing wadi
#

bah j'ai réussi mais y a pas de btn 😂

copper pagoda
#

tu as mis quoi quand tu as send le msg ?

#

@blazing wadi

rustic shore
blazing wadi
#

c'est exactement ce que j'ai fais

copper pagoda
#

Envoie ce que tu as fait stp

blazing wadi
#
 const disbut = require('discord-buttons')
            disbut(client)

           

            let bouton = new disbut.MessageButton()
                .setStyle('blurple')
                .setLabel("Support")
                .setURL("https://www.google.com/")
                
                .setDisabled();
             message.channel.send(':error: Oops ! Une erreur est apparue. Rejoint le support ', bouton); ```
#

bah j'ai fais ça

#

rien de compliqué

copper pagoda
#

Faut que tu mettes ça

message.channel.send(':error: Oops ! Une erreur est apparue. Rejoint le support ', {component: bouton}); 
#

Par contre tu es dans un autre fichier ou dans ton index ?

blazing wadi
#

autre

#

mais je comprends pas dans la doc y a pas besoin de faire ça

copper pagoda
#

Tu peux direct faire ça pour import le module

const {MessageButton, MessageActionRow} = require('discord-buttons');
blazing wadi
#

je sais haha

copper pagoda
#

Et mettre

const disbut = require('discord-buttons');
disbut(client);

dans ton index.js

rustic shore
blazing wadi
#

bah je sais

copper pagoda
rustic shore
blazing wadi
copper pagoda
rustic shore
#

regarde bien la doc justement il y a pas

copper pagoda
#

Y a eu une maj depuis et c'est comme ça je sais ce que je dis je suis en contact avec le développer

rustic shore
#

tout dépends de la version avec laquelle il est

copper pagoda
#

Bah vu qu'il vient de commencer il est forcément avec la plus récente version

blazing wadi
#

de discord-buttons ?

#

ou discord.js

rustic shore
#

discord-buttons

copper pagoda
#

discord-buttons

blazing wadi
#

je viens de l'installer y a 1h

#

même pas

copper pagoda
#

Oui bah il a la plus récente

blazing wadi
#

si ça aurait été node pas étonnant

copper pagoda
blazing wadi
#

ouep fin là regarde

#
const {MessageButton, MessageActionRow} = require('discord-buttons')
          

           

            let bouton = new MessageButton()
                .setStyle('blurple')
                .setLabel("Support")
                .setURL("https://www.google.com/")
                .setDisabled();
             message.channel.send(':error~3: Oops ! Une erreur est apparue. Rejoint le support ', bouton);
copper pagoda
#

Quoi ?

blazing wadi
#
 TypeError: BOTH_URL_CUSTOM_ID: A custom id and url cannot both be specified```
copper pagoda
#

tu peux enlever le MessageActionRow il te sert à rien

blazing wadi
#

avec ce code

copper pagoda
#

Enfin si garde le mais

#
let button = new MessageButton()
.setLabel('Support').setStyle('url').setURL(`https://www.google.com/`)
#

Sinon ça marche pas fait comme ça

#

et oublie pas le setDisabled

blazing wadi
#

Juste c'est normal que je ne puisse pas cliquer dessus?

copper pagoda
#

Oui tu as mis setDisabled pour le désactiver

blazing wadi
#

ah d'accord

#

fallait s'en douter ptn xD

copper pagoda
#

XD

#

Moi avec les boutons j'ai fait une commande musique !

blazing wadi
#

je vais pouvoir enfin faire quelque chose de styler avec ça

copper pagoda
#

XD

#

Y a masse truc moi j'ai fait aussi command help avec des pages

tranquil tundra
#

Je n'arrive pas vraiment à faire cette évènement onClick 😅

<style type="text/css">
.global-container { 
    background-image: url(https://ch.hh-content.com/pictures/design/dex_bg_pattern.png),linear-gradient(180deg ,#0f0b1d 0,#0d5c9d 90%,#0d5c9d 100%);
    box-shadow: inset 0 0 40px 15px none;
}
</style>

<div onclick="Affis1()" style="display: inline-block; cursor: pointer;"><ga></ga></div>

<div style="z-index: 1; width: 650%; height: 85vh; margin-left: -275%; margin-top: -91vh; position: absolute; opacity: 0;" class="global-container" id="af1">
    <img src="1-1600x.webp" style="position: relative; width: 99%; margin-top: 0.5%; margin-left: 0.5%; height: 82.5vh;">
</div>

<script type="text/javascript">
    function Affis1() {
        var Affiche1 = document.getElementById('af1');
        Affiche1.style.opacity = '1';
        Affiche1.style.pointer-events = 'none';
    }
</script>
copper pagoda
tranquil tundra
#

Afficher une div ^^

copper pagoda
#

ok

young holly
#

Autant utiliser un .addEventListener

tranquil tundra
#

Comment te dire que je suis entièrement perdu ..

#

J'ai essayé beaucoup de choses et les boutons ne marche pas ..

young holly
#

Non j'ai rien dit

#

J'ai mis le code dans mon IDE

#

et il a trouvé une erreur par rapport au style.pointer-events

#

C'est style.pointerEvents et non style.pointer-events

tranquil tundra
#
<style type="text/css">
.global-container { 
    background-image: url(https://ch.hh-content.com/pictures/design/dex_bg_pattern.png),linear-gradient(180deg ,#0f0b1d 0,#0d5c9d 90%,#0d5c9d 100%);
    box-shadow: inset 0 0 40px 15px none;
}
</style>

<div onchange="Affis()" style="display: inline-block; cursor: pointer;" id="af1"><ga></ga></div>

<div style="z-index: 1; width: 650%; height: 85vh; margin-left: -275%; margin-top: -91vh; position: absolute; opacity: 0; pointer-events: all;" class="global-container" id="jtc1">
    <img src="1-1600x.webp" style="position: relative; width: 99%; margin-top: 0.5%; margin-left: 0.5%; height: 82.5vh;">
</div>

<script type="text/javascript">
    function Affis() {
    const aff1 = document.getElementById("af1").value;

    var Showaff1 = document.getElementById('jtc1');
    Showaff1.style.opacity = '1';
    Showaff1.style.pointer-events = 'none';
    }

</script>```
#

C'est le nouveau code je ne sais pas si c'est mieux ..

young holly
#
<style>
.global-container { 
    background-image: url(https://ch.hh-content.com/pictures/design/dex_bg_pattern.png),linear-gradient(180deg ,#0f0b1d 0,#0d5c9d 90%,#0d5c9d 100%);
    box-shadow: inset 0 0 40px 15px none;
}
</style>

<div onclick="Affis1()" style="display: inline-block; cursor: pointer;"><ga></ga></div>

<div style="z-index: 1; width: 650%; height: 85vh; margin-left: -275%; margin-top: -91vh; position: absolute; opacity: 0;" class="global-container" id="af1">
    <img src="1-1600x.webp" style="position: relative; width: 99%; margin-top: 0.5%; margin-left: 0.5%; height: 82.5vh;">
</div>

<script>
    function Affis1() {
        var Affiche1 = document.getElementById('af1');
        Affiche1.style.opacity = '1';
        Affiche1.style.pointerEvents = 'none';
    }
</script>
#

Essaye cela

tranquil tundra
#

Yep tout est bon, merci beaucoup !
J'ai remplacer le opacity par le Display parce que ça poss+ait problème ^^

young holly
#

Ok ok

white sedge
#

bonjour en ce moment je suis sur les eastereggs de mon bot
Ce script devrait pouvoir créer un easteregg qu'il enregistre dans un json mais j'ai une erreur

const { User } = require('discord.js');
const { Command } = require('discord.js-commando');
const fs = require('fs');
const { loggers } = require('winston');
const obj = require('../../easteregg_name.json')

module.exports = class BanCommand extends Command {
    constructor(client) {
        super(client, {
            name: 'cerise',
            group: 'easteregg',
            memberName: 'cerise',
            description: 'créer un easteregg',
            args: [
                {
                    key: "mot", 
                    type: "string",
                    prompt: "",
                }
            ]
        });

    }
    async run(message,{mot}) {
        let obj = {
                eggs: []
        };
        
            console.log('info',`Création d'un easteregg par ${User}`);
            fs.readFile('easteregg_name.json', function readFileCallback(err, string){
                if (err) {
                    console.log('error', error)
                } else{
                    fs.writeFileSync(mot)
                    
                
            }
        })
    }
}

Mon json

{
    "eggs": [ 
        {
            "mot": "souhieb",
            "decouvert": false
        },
        {
            "mot": "french",
            "decouvert": false
        },
        {
            "mot": "easteregg",
            "decouvert": false
        }
    ]
}
#

et l'erreur

[12/06/2021, 22:52:32] - [ERROR] - The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView. Received undefined
azure belfry
#

Bonjour j'ai un pb

cyan iron
azure belfry
cyan iron
#

Montre ton code

#

index.js line 2

azure belfry
#

Voila

azure belfry
# cyan iron index.js line 2
const fs = require('fs');
const Discord = require('discord.js');

const { prefix, token } = require('./config.json');

const client = new Discord.Client();
client.commands = new Discord.Collection();

const commandFiles = fs.readdirSync('./commands').filter(file => file.endsWith('.js'));

for (const file of commandFiles) {
  const command = require(`./commands/${file}`);
  client.commands.set(command.name, command);
}

client.once('ready', () => {
  console.log('Ready!');
});

client.on('message', message => {
  if (!message.content.startsWith(prefix) || message.author.bot) return;

    const args = message.content.slice(prefix.length).split(/ +/);
    const command = args.shift().toLowerCase();

    if (!client.commands.has(command)) return;

    try {
      client.commands.get(command).execute(message, args);
    } catch (error) {
      console.error(error);
      message.reply("Une erreur s'est produite pendant l'exécution de la commande !");
    }
})

client.login(token);```
cyan iron
#

Donc qu'en déduis-tu ?

azure belfry
#

Je ne sais pas je débute un peu

azure belfry
cyan iron
#

Non, tu n'as pas installé le module discord.js

#

Si tu débutes, je te conseille de regarder un tutoriel 😄

azure belfry
#

oui c'est ce que je fais

azure belfry
oak turret
#

t!search bot

cedar oreBOT
#
#

@hazy mirage, nous avons rencontré une erreur...

#

@hazy mirage, nous avons rencontré une erreur...

#
azure belfry
#

J'ai un pb un m'affiche 2 fois le message

cyan iron
#

???

#

Qui m'a ghost

azure belfry
#

Hein ?

#

Quelqu'un sait pour mon pb ?

oak turret
#

tu dois avoir 2 instances de node

cyan iron
#

Par contre juste @azure belfry si tu pouvais éviter de me ghostping ce serait sympa

#

Je t'ai déjà dit si tu veux débuter tu regardes un tuto ( cf. le message ci dessus ) parcequ'on va pas non plus d'expliquer les bases des bases

#

Là t'as juste start ton bot 2 fois

slim anvil
cyan iron
azure belfry
#

Ah vrm sorry

azure belfry
#

Et merci pour t'on aide

azure belfry
keen narwhal
#

t!search vue

cedar oreBOT
#

@keen narwhal, nous avons rencontré une erreur...

keen narwhal
#

t!search vue.js

cedar oreBOT
#

@keen narwhal, nous avons rencontré une erreur...

slim anvil
#

il y a pas de tuto vuejs de toute façon @keen narwhal

keen narwhal
#

remboursé

white sedge
azure belfry
#

Oui merci j'ai reussi

#

Juste petite questions tu pourrait m'aider ?

azure belfry
blazing wadi
#

C'est pas des parenthèses c'est des accolades

#

Genre ./commands/${file}@azure belfry

#

Et vérifie que ton dossier soit bien écrit

#

Bien nommé

azure belfry
#

Ok mrc

blazing wadi
azure belfry
blazing wadi
wild bramble
#

Bonjour, quelqu'un peut me dire pk j'ai une erreur : role n'est pas définie. Mon code : let role = message.guild.roles.cache.find(role => role.name === "Membres"); member.roles.add(role.id);

blazing wadi
#

En fait tu fais juste role

wild bramble
dire latch
wild bramble
dire latch
#

Sinon, tu console.log(role) @wild bramble

wild bramble
dire latch
#

Ton code ?

wild bramble
#
        member.roles.add(role);
        console.log(role)```
dire latch
#

Pourquoi tu le fais pas par ID ?

wild bramble
#

je fais comment ?

dire latch
#

Tu le fais dans quoi ton code ?

wild bramble
#

je l'ai fait dans le index

dire latch
#

Dans quoi ?

#

Quand quelqu'un rejoint ?

wild bramble
#

nn dans un message ( client.on("message", (message, member) => { )

dire latch
#
let role = message.guild.roles.cache.get("IDDUROLE");
let member = message.guild.member(message.author);
member.roles.add(role);

@wild bramble

blazing wadi
#

Tu peux pas le faire

wild bramble
dire latch
#

Cquoi l'erreur ? @wild bramble

blazing wadi
#

Après si tu veux faire un auto-rôle

#

Tu tapes messageReactionAdd

#

Et pas message

wild bramble
wild bramble
dire latch
#

Ton bot est en dessous du rôle membre

#

@wild bramble

blazing wadi
wild bramble
#

ha ok

blazing wadi
#

Comme ça

dire latch
#

Il fait comme il veut

wild bramble
#

j'ai fait avec une commande

#

que l'on reçoit en mp

dire latch
#

Si il veut une commande, il fait avec une commande...

blazing wadi
wild bramble
#

c'est plus opti avec une réaction ?

blazing wadi
#

👀

dire latch
#

D'ou j'agresse ?

blazing wadi
#

En vrai, c'est à toi de voir

blazing wadi
dire latch
#

Ducoups, sa fonctionne ? @wild bramble

wild bramble
#

ouaip marche nickel

blazing wadi
#

carré

wild bramble
#

merci

blazing wadi
#

bonne soirée à vous deux 😉

dire latch
#

Nickel alors

blazing wadi
#

WebStorm plus de màj que de code 😂

wild bramble
#

j'ai une question est-ce que mon nombre de membre s'actualise dans mon status si je fais comme ça : client.on("ready", member => { console.log("Bot lancé") const status = [ 'Slow Roleplay', `${client.users.cache.size} membres` ] let i = 0 setInterval(() => { client.user.setActivity(status[i], { type: 'WATCHING' }) i = ++i % status.length }, 1e4) })

lone flax
#

try it?

#

dans ton cas non, il ne va pas s'actualiser vu que ta variable est en dehors de ton interval

#

soit tu déclares ton status directement dans ton Interval, soit tu rafraichis uniquement l'id lié (1 dans ton cas) mais bon si tu veux intégrer d'autres valeurs après ça va vite être chiant pour pas grand chose

wild bramble
# lone flax try it?

je dois faire comme ça ? client.on("ready", member => { console.log("Bot lancé") setInterval(() => { const status = [ 'Slow Roleplay', `${client.users.cache.size} membres` ] let i = 0 client.user.setActivity(status[i], { type: 'WATCHING' }) i = ++i % status.length }, 60000) })

lone flax
#

Ouais c'est l'idée, faudra juste indenter ton code et c'est parfait hihi

wild bramble
#

indenter ?

dire latch
#
client.on("ready", member => {
  console.log("Bot lancé")
  const statusrandom = [
    'Slow Roleplay',
    `${client.users.cache.size} membres`
  ]
  let status = statusrandom[Math.floor(Math.random() * statusrandom.length)];
  setInterval(function() => {
    client.user.setActivity(status, {
      type: 'WATCHING'
    })
  }, 60000);
});```

@wild bramble sinon
wild bramble
#

ok merci je vais test

blazing wadi
dire latch
#

C'est son code au lieu de dire des bêtises 👍

blazing wadi
#

Ouep je sais

blazing wadi
dire latch
#

Tu cherches pour un rien toi, c'est dingue

blazing wadi
#

Bah nan mais t'es dev debutant t'es censé corrigé un minimum quand même je sais pas fin c'est sur que ça marche pas après

dire latch
#

Occupe toi de toi, pas de moi

#

Et je suis pas dév débutant, j'ai juste pas passer les examens pour passer plus haut

blazing wadi
dire latch
#

Puis, ne pas juger le level de quelqu'un à cause de son rôle sur un discord

#

Merci bien 👍

blazing wadi
#

Bah c'est un peu le seul truc où je peux me fier.

dire latch
#

Exemple tout con, Enzo n'as pas de rôle et pourtant, il est fort 🤷‍♀️

blazing wadi
#

Bon aller on va pas débattre comme des gamins haha. Je te souhaite une bonne soirée et bon dimanche ;)

azure belfry
dire latch
#

Code ?

slim anvil
#

ta fonction doit etre précédé d'un async pour utiliser un await

dire latch
#

Car tu as oulier un async

#

Mais euh @slim anvil ouste mdrr

silent quiver
#

salut j'ai un problème avec le dernier élément de mon tableau il ne s'affiche qu'après avoir actualisé

slim anvil
#

comment ça qu'apres avoir actualité ? tu les récupères d'ou tes datas ? d'un json ou d'une api ?
Parce que l'élément a l'air d'exister sinon ta boucle s'arrêterait directement à test3

#

tu peux me montrer ton hook useUser plz

oak turret
#

c’est peut-être plus logique, mais ça changera strictement rien, tant qu’il se retrouve dans son code c’est le principal ^^

cyan iron
#

Oui mais bon c'est chaud d'appeler client member

spring dock
oak turret
#

je suis d’accord

#

mais ça changera rien

#

tant que lui s’y retrouve

#

c’est le principal :))

#

mais oui, y a un manque de logique

cyan iron
#

Certes mais du coup s'il est débutant il va rien comprendre

oak turret
#

C’est sûr, c’est une mauvaise habitude à ne pas prendre 👌🏻

spring dock
#
message.on('message', client => {
  console.log(client.content)
})
oak turret
#

j’avoue

#

c’est pas possible de faire comme ça 😭

oak turret
#

const message = new Discord.Client() steamhappy

cyan iron
spring dock
#

new Discord.Client()

#

par contre

oak turret
#

bien vu

#

j’ai oublié

cyan iron
oak turret
cyan iron
oak turret
#

error error error

cyan iron
#

Suicide suicide suicide

oak turret
#

😭😭😭

#

j’vous laisse, bonne nuit à vous les mecs 👌🏻

cyan iron
#

bizou

oak turret
dire latch
#

🤔

azure belfry
#
module.exports = {
    name: 'play',
    description: 'Play requested sound.',
    execute(message) {
       if (!message.guild) return;

       if (message.member.voice.channel) {
           const connection = await message.member.voice.channel.join();
           const dispatcher = connection.play('/home/discord/audio.mp3', {
            volume: 0.5,
           });
        }
         else {
            message.reply('You need to join a voice channel first!');
       }
    }
};
blazing wadi
#
module.exports = {
    name: 'play',
    description: 'Play requested sound.',
    execute(message) {
       if (!message.guild) return;

       if (message.member.voice.channel) {
           const connection = message.member.voice.channel.join();
           const dispatcher = connection.play('/home/discord/audio.mp3', {
            volume: 0.5,
           });
        }
         else {
            message.reply('You need to join a voice channel first!');
       }
    }
};```
#

@azure belfry

slim anvil
#

Vous vérifiez jamais ce que vous recevez la plus part du temps, si voice n'existe plus pour une quelconque raison ça va crash cannot read channel of undefined

blazing wadi
#

Effectivement

slim anvil
#

surtout dans des sous objets comme celui ci ça coute rien de rajouter un petit ?.

dire latch
cyan iron
#

hey, en fait je fais un bot discord, et j'aimerais trouver l' "average color" d'une image
Problème, je trouve des modules sur npm mais y'a toujours une erreur parceque c'est prévu pour le js " web "

#

donc j'ai besoin d'aide pour savoir comment faire pour trier mes recherches et avoir un module qui fonctionne avec le " js normal "

#

j'ai des erreurs de ce type

spring dock
cyan iron
#

je suis en train justement

#

mdr

#

j'allais tester

#

Je pense qu'il va work

#

j'ai regardé le repo github un peu

#

au moins ça crash pas kappo

slim anvil
cyan iron
#

pourquoi ?

slim anvil
#

Sur le tiens il fait appel au document, et en nodes js bah…. Tu as pas de document kappo

cyan iron
#

Oui c'est pour ça pepe_cry

slim anvil
#

en fonction de comment c’est fait mais trouves en un nodeJS

cyan iron
#

Mais celui que j'ai module ne fais pas ça

cyan iron
#

Mais il work juste pas

#

au moins il crash pas

#

mais bon je sais pas si il aime les URL ..

slim anvil
#

Regarde les isSues au pire

#

y a peut être des trucs avec ça

cyan iron
#

Nan y'a qu'un mec qui veut mettre des promise

#

Je vais tenter en mettant l'image en local

#

BRUH ça marche qu'avec des images en local choc

slim anvil
#

Sinon tu l’as save, tu regardes puis tu supprimes

cyan iron
#

Ouais mais c'est pas ouf

#

à chaque fois que je fais un user info ou un server info je save une image mdr

slim anvil
#

Aie aie aie

#

tu veux faire comme discord c’est ça ?

#

En vrai attend…. Ils vont sûrement le renvoyer aussi quand ce sera public

cyan iron
#

Ouais possible

#

Mais la vitesse n'attends pas kappo

#

En vrai c'est bon j'ai la fonction

#

j'ai juste à trouver un moyen de lire une URL

slim anvil
#

Pour t’aider avec un mot clé: buffer

#

tu peux fetch l’url de ton image et en récupérer un buffer

#

Ça devrait fonctionner avec ça pour ta fonction i think

cyan iron
#

ok je me renseigne merci

spring dock
#

donc ils renvoient pas

cyan iron
#

c'est ça non

slim anvil
#

oh les relous

cyan iron
slim anvil
#

essaye

spring dock
#

et même s'ils le feraient, bah pas besoin d'attendre que ce soit public car ils la renverraient déjà actuellement

slim anvil
#

Je sais pas je l’ai pas créé

cyan iron
#

mdr

#

@slim anvil ça va paraiître con, je pense que j'ai presque réussi, mais je ne comprends pas ce que je dois mettre dans " callback "

#

si je met rien ça fait une erreur

#

apparement ça doit être une fonction

slim anvil
#

Bah oui un callback c’est une fonction

#

c’est une fonction qui est appelle quand c’est terminé

cyan iron
#

ok ok

#

je sais pas si je fais ce qu'il faut avec le buffer

slim anvil
#

Tu récupères souvent une réponse etc dedans

cyan iron
#

c'est pas ça mdr ?

slim anvil
#

Là je suis sur téléphone mais je crois pas

#

C’est censé être ta base 64

#

Pas l’url

#

D’où la requête avant sur l’url

cyan iron
#

Donc je suis censé faire quoi

#

Buffer.from(monimagenbase64) ?

slim anvil
#

Yes je crois regarde simplement sur la doc de la method Buffer bg

cyan iron
#

yes mais je comprends r

#

Bon je vais continuer de chercher

#

bah apparement ça fonctionne

#

c'est ça que je trouve bizarre

#

putain la doc du module est explosée

slim anvil
#

Bah c’est un buffer ton screen quoi

#

rien de bizarre kappo

cyan iron
#

Enzo aled

slim anvil
#

Ne sais pas si ton module fonctionne sur un buffer moi c’est une hypothèse

#

Je t’ai dis regarde les issues git et tape buffer par exemple

cyan iron
#

La doc c'est juste ça genre

cyan iron
slim anvil
#

Ou from url

#

AH

cyan iron
#

c'est ça la seule issue

#

AAAAAH

#

Je vais devenir fou

#

dès que je règle le précédent problème y'en a un autre

cyan iron
#

@slim anvil j'ai enfin réussi
mais j'ai un mini problème
en gros look :

require('readimage')(Buffer.from((await axios.get(avatarURL, {responseType: 'arraybuffer'})).data, "utf-8"), AverageColor)

Donc je fais comme ça pour lire l'image et donc ça lance le callback " AverageColor " qui calcule la average color
mais en fait ce que je veux c'est ça :

async function getAverageColor(avatarURL) {
                require('readimage')(Buffer.from((await axios.get(avatarURL, {responseType: 'arraybuffer'})).data, "utf-8"), AverageColor)
                function AverageColor(err, image) {}
}

et quand j'exécute la fonction getAverageColor() j'aimerais pouvoir récuperer le RGB

#

Sauf qu'en fait à la fin du require, bah ça exécute AverageColor, mais je sais pas comment faire pour faire ça

slim anvil
#

Attend le callback te renvoie quoi ?

#

La couleur ?

cyan iron
#

[ r, g, b, a ]

#

avec ma pdp j'obtient #d67503

slim anvil
#

ok donc toi tu veux juste en faire une fonction ? C’est quoi le soucis ? Fais toi une promise que tu resolve dans ton callback comme ça tu récupéreras le tableau

cyan iron
#

mais c'est possible ?

#

ça work mais je sors pas du callback

#

OH OUI

#

CA A MARCHÉ

#

Merci Enzo

slim anvil
cyan iron
#

mdr nan du coup je sais que ça l'est

#

j'ai beaucoup galéré aujourd'hui

#

mais j'ai aussi beaucoup appris

slim anvil
#

Et ça c’est beau

cyan iron
#

yep

#

ptdr

#

tout ça pour ça

#

j'crois y'a des petits réglages à faire mdr

slim anvil
#

sympa l’embed

cyan iron
#

mais pas la couleur

#

ça va pas du tout

#

MDR Toi ça fait du gris

#

bon en vrai ça va c'est pas mal y'a juste quelques petits problèmes

spring dock
slim anvil
#

merci

cyan iron
#

merci mdr

#

en tout cas merci Enzo pour ton aide 👍

#

JE ME SUIS TROMPE DEPUIS LE DEBUT

#

C'était pas average mais dominant !

slim anvil
cyan iron
#

bon j'aurais les deux comme ça kappo

#

J'ai réussi avec l'autre ( cété plu sympl lole )

white sedge
#

bonjour commant puis-je ecrire du json poour mon bot discord je cherche sur la toile et je fais des essais sauf que ça rate toujours mon code:

const { User } = require('discord.js');
const { Command } = require('discord.js-commando');
const fs = require('fs');
const { loggers } = require('winston');
const obj = require('../../easteregg_name.json')
const disbut = require('discord-buttons')

module.exports = class BanCommand extends Command {
    constructor(client) {
        super(client, {
            name: 'cerise',
            group: 'easteregg',
            memberName: 'cerise',
            description: 'créer un easteregg',
            args: [
                {
                    key: "mot", 
                    type: "string",
                    prompt: "",
                }
            ]
        });

    }
    async run(message,{mot}) {
        let obj = {
                eggs: []
                
        };        
            console.log('info',`Création d'un easteregg par ${User}`);
            fs.readFile('easteregg_name.json', function readFileCallback(err, string){
               if (err) {
                    console.log('error', error)
                } else{
                    fs.writeFileSync(mot , string)
                    
                
            }
        })
    }
}
#

merci de memmention

burnt perch
#

écrire du json ? comment ça ?

#

enfin pour faire quoi c'est un peu vague car si tu cherche juste à récup du json dans un fichier externe bah import juste le fichier et puis voila...

#

@white sedge

silent quiver
#

@slim anvil dsl pour le retard voici mon fichier qui récupère les données. J'utilise une api est oui je doit actualise ma page pour que le nom s'affiche correctement

deep torrent
#

Yey du TypeScript

cyan iron
#

Vivix il est content il voit du ts kappo

slim anvil
#

ou ça du typescript ?

#

zetes aveugles les mecs

slim anvil
#

Pour voir si c'est un soucis au get ou au moment ou tu renvoies la data à ton component

cyan iron
#

J'ai juste vu Vivix s'enjailler

blazing wadi
cyan iron
#

mdr

silent quiver
white sedge
silent quiver
#

@slim anvil

burnt perch
#

@white sedge eh ben ça dépend si tu veux un nouvel attribut dans ton Json ou que tu veux mettre une valeur dans un tableau / objet

#

Bon vu que c’est encore un peu vague voilà en attendant

bold sparrow
#

Yop, pour demander de l'aide en TS c'est ici ou #autres-sujets-dev-tech ?

slim anvil
#

c'est ici du coup

slim anvil
#

car j'ai plus ton ancien code y a eu bcp de message entre temps

bold sparrow
#

Okay super, j'ai une erreur toute conne, TS me dit qu'il ne trouve pas discord.js x)

slim anvil
#

t'as l'erreur exact pls

bold sparrow
#

Ah bah c'est bon

#

J'ai recommencé depuis le début et maintenant ça fonctionne

#

Chaque fois que je demande de l'aide, le problème se corrige tout seul

#

C'est chiant à force

slim anvil
bold sparrow
#

Ah attends @slim anvil Ca me l'a pas dit en live mais quand je compile, tient l'erreur : ```js
Cannot find module 'discord.js'. Did you mean to set the 'moduleResolution' option to 'node', or to add aliases to the 'paths' option?

1 import { Client } from "discord.js";```

slim anvil
#

t'as un fichier tsconfig.json ?

bold sparrow
#

Yepa

#

J'te montre ça

#

J'ai peut-être mentionné un mauvais type

slim anvil
#

ton compilerOptions.modules tu le met à "commonjs" pour voir

#

et tant qu'à faire met ton target à es2017

bold sparrow
#

"modules" ou "module" ?

slim anvil
#

module pardon

bold sparrow
#

Alors, ça me dit que je ne peux pas spécifier de outDir à cause du changement de module

#

Ensuite, voici l'erreur : Cannot find module 'discord.js' or its corresponding type declarations.

slim anvil
#

allowSyntheticDefaultImports essaye de rajouter ça alors pour voir à true

#

sinon tu peux import discord de cette manière si tu le met pas
import * as Discord from 'discord.js' (par ex), mais si tu allow le default imports tu pourras import l'autre manière

bold sparrow
#

Sauf que ça va tout m'importer, moi je veux importer les classes qui m'intéressent

#

Au max je serais à DAPIerror, client et collection quoi

slim anvil
#

du coup ajoute le allow

bold sparrow
#

C'est fait, et j'ai toujours l'erreur ...

#

ou alors, pour la compilation j'utilise ça tsc --module commonjs --outDir "./dist" --watch src/index.ts Peut-être que si j'ajoute ce que tu m'as dit dedans, ça peut changer la donne ?

slim anvil
#

ah mais t'es pas obligé de tout retaper à partir du moment ou tu le met dans le tsconfig.compilerOptions 🤔

bold sparrow
#

Ah j'peux juste watch le fichier ?

slim anvil
#
{
  "compilerOptions": {
    "module": "commonjs",
    "allowSyntheticDefaultImports": true,
    "target": "es2017",
    "outDir": "./dist",
  }
}

Par exemple

#

ui

bold sparrow
#

J'ai encore l'erreur

#

C'est quoi ce baragouinage là, qu'est-ce tu me fais TS

slim anvil
#

la meme: Cannot find module 'discord.js' or its corresponding type declarations. ?

bold sparrow
#

Yes ...

slim anvil
#

ça doit etre un truc à la con c'est sur

#

j'ai un daily je reviens juste après

bold sparrow
#

D'acc

#

J'ai essayé par désespoir de le faire avec un fichier TYPEDEF, pareil, même erreur

#

C'est fou

silent quiver
#

@enzo oui c'est ça

gentle cape
#

Salut je viens demander de l'aide pour une chose. Je veux faire en sorte qu'une div (qui comprend les 3 logos ici) se mettent à remonter automatiquement quand on arrive sur la page. Je faisais ça avant en PHP mais ça fait moche et il fallait que la souris soit orientée sur le body. Je suis pas très fort en js alors j'essaie de suivre des exemples, je tombe sur les observeurs, et jme dis que ça pourrait marcher, mais je ne comprends pas bien comment ça marche

#

.prm étant relié au div qui entoure les 3 logos

#

Vous avez des idées?

#

maintenant que j'y pense, on peut simplifier un peu le css en mettant tout ce qu'il y a dans .prm dans .slide-in et slide-in.appear, et changer le margin-top à 0% dans slide-in.appear

blazing wadi
#

Hello les gens, j'ai un petit problème avec ma db ça m'affiche ça quand j'essaye de me connecter à elle avec le bot en le démarrant :

Client does not support authentication protocol requested by server; consider upgrading MariaDB client

#

Quelqu'un sait comment règler ça ?

dire latch
#

Mysql?

blazing wadi
#

yes fin mariadb

dire latch
#

Montre ton code ducoups

blazing wadi
#
const mysql = require('mysql')

let con = mysql.createConnection({
    host: "localhost",
    user: "root",
    password: "",
    database: "flywan"
});

con.connect(err => {
    if (err) throw err;
    console.log("✅ Connecté a la database !")
});```
#

La connexio,

dire latch
#

T'es en local ?

blazing wadi
#

bah je suis sur un vps

#

genre mais c'est en local

dire latch
#

Ta enlevés le mdp?

blazing wadi
#

bah j'ai jamais mis de mdp

dire latch
#

Il t'en faut un

blazing wadi
#

ah merde

#

c'est celui du vps

dire latch
#

Sinon tu créer un user avec un nom/mdp

#

Nan dans phpmyadmin

#

Quand tu te connectes

#

Tu dois mettre root en user

#

Et le mdp

blazing wadi
dire latch
#

Ah ok

#

Sinon si on traduit l'erreur, ta version de mariadb est trop vieille

dire latch
#

Hmm

blazing wadi
#

ça fait 2h que je suis dessus ça commence à me chauffer cette histoire

dire latch
#

Moi j'ai pas d'erreur de ce genre pourtant mdrr

blazing wadi
#

bah en fait je l'avais pas il y a une semaine

dire latch
#

Tu as essayés de créer un user ?

#

Pour voir si sa vient de ça ?

#

🤷‍♀️

blazing wadi
#

yes rien y fait

dire latch
#

Chelou 😂

blazing wadi
#

en fait même pas il veut me mettre les perms

#

mais genre quand je me co avec root

#

genre j'ai mon mdp de vps pour me co

#

mais ça veut pas

#

je comprends pas

dire latch
#

C'est pas le mdp du vps

#

Normalement

blazing wadi
#

bah moi si

dire latch
#

Quand tu as installé mysql, phpmyadmin ect

#

Tu as dut mettre un mdp

blazing wadi
#

je suis sur ubuntu j'ai pas de phpmyadmin

#

j'ai qu'une console

#

'=

dire latch
#

Ah ok

blazing wadi
#

ça aurait été plus utile effectivement

#

:/

dire latch
#

Yes

blazing wadi
#

et plus facile

dire latch
#

Peut être la version sur ubuntu est pas à jour 🤔

blazing wadi
#

j'ai fais un apt-get upagrade

dire latch
#

apt-get upgrade && apt-get update

fleet socket
#

dans l'autre sens

#

faut update avant ^^

blazing wadi
fleet socket
blazing wadi
#

pas forcément

#

vu que ça marchait avant

blazing wadi
#

Au moins on est fixés moi et la db ça fait deux sadgun

dire latch
#

Mdrrr

#

Jconnais pas ubuntu après 😦

white sedge
#

bonjour Je souhaite qu'un mot soit écrit dans un fichier json (la commande marche très bien)sauf que rien ne s'écrit dedans ma commande

const { User } = require('discord.js');
const { Command } = require('discord.js-commando');
const fs = require('fs');
const { info } = require('winston');
const winston = require('winston')
const contentEasteregg = require('../../easteregg_name.json')
const disbut = require('discord-buttons')
  
module.exports = class BanCommand extends Command {
    constructor(client) {
        super(client, {
            name: 'cerise',
            group: 'easteregg',
            memberName: 'cerise',
            description: 'créer un easteregg',
            args: [
                {
                    key: "mot",
                    type: "string",
                    prompt: "",
                }
            ]
        })
  }
     async run(message,{mot}) {
        
    //let obj = {
          //      eggs: []
                  
        //};        
        // ajoute le nouveau mot dans le tableau
        var contentEasteregg = [];
        contentEasteregg.push({
            mot,
            decouvert: false
        });
         
        // ré écrie le nouveau tableau dans le fichier
        fs.writeFile(
            "../../easteregg_name.json",
             
            // convertit le JSON en texte pour l'écrire dans le fichier
            JSON.stringify(contentEasteregg),
             
            function(err) {
            if(err) {
                return console.log(err);
            }
            console.log(`Un easteregg viens d'être créé avec comme mot clé "**${mot}**"`);
        });        
            }
}

et voici mon json

[
        {
            "mot": "souhieb",
            "decouvert": false
        },
        {
            "mot": "french",
            "decouvert": false
        },
        {
            "mot": "easteregg",
            "decouvert": false
        }
]
blazing wadi
#

Hello les gens, j'ai cette erreur : ``` DiscordAPIError: Cannot send an empty message

#

J'utilise discord.js-pagination

#
const member = message.author;

        const util = new MessageEmbed()
            .setColor(color)
            .setAuthor(client.user.username, client.user.displayAvatarURL())
            .setThumbnail(client.user.displayAvatarURL())
            .setDescription("Toutes les commandes sont utilisables avec le prefix `a/`")
            .setImage("https://cdn.discordapp.com/attachments/851829340253323282/854357014545432626/IMG_0478.jpg")
            .addFields(
                {name: "leader xp/btc", value: "Cette commande permet de voir ton rank sur un serveur.", inline: false},
                {name: "meteo [city]", value: "Cette commande permet de voir la météo d'une villeur.", inline: false},
                {name:"npm [name]", value :"Cette commande permet de consulter un module npm.", inline: false},
                {name: "ping", value: "Cette commande permet de voir le ping du bot.", inline: false},
                {name: "uptime", value: "Cette commande permet de voir l'uptime du bot.", inline: false}

            )
            .setTimestamp()
            .setFooter(member.tag, member.displayAvatarURL({ dynamic: true}))
        const xp = new MessageEmbed()
            .setColor(color)
            .setAuthor(client.user.username, client.user.displayAvatarURL())
            .setThumbnail(client.user.displayAvatarURL())
            .setDescription("Toutes les commandes sont utilisables avec le prefix `a/`")
            .setImage("https://cdn.discordapp.com/attachments/851829340253323282/854357014545432626/IMG_0478.jpg")
            .addFields(
                {name: "xp", value: "Cette commande permet de consulter votre niveau d'xp.", inline: false},

            )
            .setTimestamp()
            .setFooter(member.tag, member.displayAvatarURL({ dynamic: true}))

        const pages = [
            xp,
            util
        ]
        const emojiList = [
            "⏪",
            "⏩"
        ]
        const timeout = "120000"
        pagination(message, pages, emojiList, timeout)```
#

le code

copper pagoda
#

Je pense qu'il faut que tu rajoutes String quelques part mais je sais pas où

#

Sinon c'est possible ça vient du module

versed topaz
#

bonjour bonjour, je ne sais pas si c'est normal, mais quand j'essaye de f'utilisé la commande npm sur visual studio code ça me met cette erreur la, j'ai déjà réessayer de le désinstaller et réinstaller ça ne fonctionne pas

blazing wadi
versed topaz
#

Bien oui je l'ai installer, et j'arrive pas comprendre l'erreur justement

blazing wadi
#

fait node -v et envoie un screen @versed topaz

versed topaz
blazing wadi
versed topaz
#

Ah bon ? pourtant je l'ai bien installer, et je l'avais même réinstaller

blazing wadi
#

c'est écrit noir sur blanc

#

regarde

blazing wadi
versed topaz
#

Hmmm, je vais réessayer de l'installer du coup :/ merci

blazing wadi
#

et normalement si tu fais node -v

#

ça doit t'afficher 14.17.1

versed topaz
#

D'accord la ça fonctionne merci ! j'étais pourtant sur de l'avoir bien installer

carmine carbon
#

Bonjour,
Je suis un gros débutant en dév de bots discords,
J'ai regardé une vidéo de dév de bots dsicord qui m'a beaucoup aidé. Mais j'aimerais savoir comment je fais pour ajouter une commande ?

J'aimerais que lorsque un joueur tape une commande, ça envoie simplement un message dans le channel puis sa supprime le message quelques secondes après (y compris la commande du joueur) ?

Merci d'avance

carmine carbon
#

Merci de ta réponse!
Aurais-tu une vidéo à me suggérer ?

carmine carbon
#

@keen narwhal, comment tu as mis ce format de codage sur discord avec les couleurs pour montrer ton codage ?

#

Car j'ai une erreur, j'aimerais la montrer mais je ne sais pas comment tu fais ^^'

#
const Discord = require('discord.js')
 
module.exports = {
    run: message => {
        message.channel.send(new Discord.MessageEmbed()
            .setTitle('Développé par AKIL#0001') },

    name: 'creator'
}
#

Super merci,

#

Alors voici mon code, et d'après eux j'ai une erreur

#

(ouais ça fait un peu miskine le mec qui mets son nom dans le bot, mais c'est juste pour tester, je vais changer le titre après mdrr)

#

Okkkkkk je vais essayer, merci @keen narwhal !

carmine carbon
#
  
const pagination = require('discord.js-pagination');
const Discord = require('discord.js');
let config = require('../config.json');
module.exports = {
    name: 'help',
    description: 'help Command',
    execute(message, args){
        const Fivem = new Discord.MessageEmbed()
        .setTitle('DivercityLand')
        .setColor('#ffaa17')
        .addField(`${config.PREFIX}status`, 'Voir le status du serveur')
        .addField(`${config.PREFIX}playerlist`, 'Voir les joueurs connectés au serveur')
        .addField(`${config.PREFIX}suggest`, 'Faire une suggestion au serveur ')
        .addField(`${config.PREFIX}bugs`, 'Faire un report de bugs')
        .addField(`Pour vous connecter: <#${config.CHANNELS_ID.CONNEXION}>`);
        .setTimestamp()

        const utility = new Discord.MessageEmbed()
        .setTitle('Autres')
        .setColor('#9500f2')
        .addField(`${config.PREFIX}ping`, 'afficher le ping du bot')
        .addField(`${config.PREFIX}clear <1-99>`, 'Clear le chat')
        .setTimestamp()

        const pages = [
                Fivem,
                utility
        ]

        const emojiList = [":rewind:", ":fast_forward:"];

        const timeout = '120000';

        pagination(message, pages, emojiList, timeout)
}
}
#

Bonjour,
Avec mon code ci-dessous, Visual détecte des erreurs mais je ne comprends pas laquelle...

#

J'ai voulu rajouter dans mon embed un petit texte collé à un salon cliquable

oak turret
#

te manque une } à la fin si je dis pas de conneries

#

tu fermes ton exports

#

mais pas ton execute

carmine carbon
oak turret
#

oui

#

et pareil

#

à ton .addField() le dernier enlève la ;, elle doit être au dernier donc ton .setTimestamp()

#

donc :

carmine carbon
#
  
const pagination = require('discord.js-pagination');
const Discord = require('discord.js');
let config = require('../config.json');
module.exports = {
    name: 'help',
    description: 'help Command',
    execute(message, args){
        const Fivem = new Discord.MessageEmbed()
        .setTitle('DivercityLand')
        .setColor('#ffaa17')
        .addField(`${config.PREFIX}status`, 'Voir le status du serveur')
        .addField(`${config.PREFIX}playerlist`, 'Voir les joueurs connectés au serveur')
        .addField(`${config.PREFIX}suggest`, 'Faire une suggestion au serveur ')
        .addField(`${config.PREFIX}bugs`, 'Faire un report de bugs')
        .addField(`Pour vous connecter: <#${config.CHANNELS_ID.CONNEXION}>`);
        .setTimestamp()

        const utility = new Discord.MessageEmbed()
        .setTitle('Autres')
        .setColor('#9500f2')
        .addField(`${config.PREFIX}ping`, 'afficher le ping du bot')
        .addField(`${config.PREFIX}clear <1-99>`, 'Clear le chat')
        .setTimestamp()

        const pages = [
                Fivem,
                utility
        ]

        const emojiList = [":rewind:", ":fast_forward:"];

        const timeout = '120000';

        pagination(message, pages, emojiList, timeout)
}
}
#

@oak turret Comme ceci?

oak turret
#

oui

#

j'ai modifié ton code pour que ça sois good

carmine carbon
#

Pas de soucis!

cyan iron
#

Salut les beaux gosses

oak turret
#
  
const pagination = require('discord.js-pagination');
const Discord = require('discord.js');
let config = require('../config.json');
module.exports = {
    name: 'help',
    description: 'help Command',
    execute(message, args){
        const Fivem = new Discord.MessageEmbed()
        .setTitle('DivercityLand')
        .setColor('#ffaa17')
        .addField(`${config.PREFIX}status`, 'Voir le status du serveur')
        .addField(`${config.PREFIX}playerlist`, 'Voir les joueurs connectés au serveur')
        .addField(`${config.PREFIX}suggest`, 'Faire une suggestion au serveur ')
        .addField(`${config.PREFIX}bugs`, 'Faire un report de bugs')
        .addField(`Pour vous connecter: <#${config.CHANNELS_ID.CONNEXION}>`)
        .setTimestamp();

        const utility = new Discord.MessageEmbed()
        .setTitle('Autres')
        .setColor('#9500f2')
        .addField(`${config.PREFIX}ping`, 'afficher le ping du bot')
        .addField(`${config.PREFIX}clear <1-99>`, 'Clear le chat')
        .setTimestamp();

        const pages = [
                Fivem,
                utility
        ]

        const emojiList = ["⏪", "⏭️"];

        const timeout = '120000';

        pagination(message, pages, emojiList, timeout)
  }
}
cyan iron
#

OH NON

#

Je suis pas BG :c

oak turret
#

xd

cyan iron
#

je me suis rendu compte que je me suis trompé de channel ups

blazing wadi
#

Moi perso

cyan iron
#

Mais je ne vois pas pourquoi vous utilisez un module pour ça

oak turret
#

moi ça marche, je viens de tester lol

blazing wadi
#

Bah je vais finir par faire collector

carmine carbon
#

@oak turret Super ça à marché !

#

Merci de ton aide, vraiment

oak turret
#

ahah, np

blazing wadi
#

Parce que c'est trop chiant il me dit que mon message est vide alors que pas du tout

carmine carbon
#

Par contre, tu as une idée pourquoi ça n'a pas mentionné le salon ?

oak turret
#

oui

#

c'est un titre

blazing wadi
carmine carbon
#

AH

blazing wadi
oak turret
#

or tu ne peux rien mentionner dans un titre

cyan iron
oak turret
#

dans le value tu pux

#

peux

carmine carbon
#
  .addField(`Pour vous connecter: <#${config.CHANNELS_ID.CONNEXION}>`,'En cas de soucis, contactez un staff')

oak turret
#

change pour ça :

.addField(`Pour vous connecter:`, "<#id>")
carmine carbon
#

AH

blazing wadi
#

Mais je vais faire aussi un truc avec les commandes séparément

carmine carbon
#

@oak turret

#

Super merci beaucoup !

#

Vous êtes vraiment cool !

oak turret
#

np ^^

blazing wadi
#

On sait jamais

carmine carbon
#

Dis-toi que depuis ce matin je code quelque chose que je n'ai jamais fais et que je comprends pas un mot ! donc voir qu'on m'aide, ça fait vraiment plaisir !

carmine carbon
oak turret
#

ahah tqt on est là pour ça

blazing wadi
oak turret
#

et toi mathis

carmine carbon
oak turret
#

test si ton embed marche sans la pagination

#

car il se peut qu'il ait un pb sur les images envoyées et donc ton embed est vide

blazing wadi
oak turret
#

🤔

blazing wadi
#

Ouep

oak turret
#

essaye d'en faire deux tout simple

blazing wadi
#

Bizzare

oak turret
#

et test

blazing wadi
#

Je suis en game.vzlo la ptdr

oak turret
#

ah mddr

cyan iron
blazing wadi
grim bronze
#

hello, c'est possible de select des infos sql de plusieurs tables dans la même fonction pour discord.js ?

dire latch
#

Comment ça ? @grim bronze

jolly kernel
#

Hello, comment vous feriez un console.log() d'une table pour chaque élément un par un avec une intervalle ?
Par exemple :

const table = ["Hello", "World"]

le bot envoie "Hello" puis 10 secondes plus tard "World"

#

J'avais pensé à un Map mais je n'arrive pas à voir comment je pourrais faire exactement

slim anvil
#

Tu peux juste faire un setTimeout un console log

#

Avec une variable qui sera incrémenté à chaque appel

#

Pour faire array[i] par exemple

grim bronze
# dire latch Comment ça ? <@!671440726026092556>

je sais pas trop comment l'expliquer
mais en gros je fais un select pour renvoyer des infos sur un embed comme ça :

db.query(`SELECT * FROM users WHERE discord_id = '${message.author.id}'`, async (err, req) => {

mais genre j'aimerais pouvoir renvoyer des infos de discord_id mais de tables différentes dans le même embed

dire latch
#

Genre comme ça ? @grim bronze

db.query(`SELECT * FROM bdd1 WHERE discord_id = '${message.author.id}'`, async (err, req) => {
  db.query(`SELECT * FROM bdd2 WHERE discord_id = '${message.author.id}'`, async (err, reqs) => {
    const embed = new MessageEmbed()
    .setColor("RANDOM")
    .setAuthor(`Test`)
    .addField('**》 Test:**', `${req[0]}.table`, true)
    .addField('**》 Test1:**', `${reqs[0]}.table1`, true)
  message.channel.send(embed);
  });
});```
grim bronze
dire latch
#

Oui comme tu viens de faire 🙂

jolly kernel
grim bronze
#

okay thanks

dire latch
jolly kernel
#

(Mon code actuel)

#

Et le rendu

slim anvil
#

Je suis allé trop vite

jolly kernel
#

(Tous envoyés d'un coup)

slim anvil
#

Oui car tu interval toute ta boucle enlève la

#

Tu fais juste un i++ dans ton interval après avoir envoyer le message

#

Et tu clear ton interval quand il a envoyé tout les messages

jolly kernel
#

Quelque chose comme ça ?

    const messageChannel = client.channels.cache.find(channel => channel.id === "855136058697363743");
    const messages = [
        "Hello", "How", "Are", "You", "?"
    ]
    let i = 0;
    setInterval(() => {

            messageChannel.send(messages[i]);
            i++
            if(i >= messages.length) {
                clearInterval()
            }
    }, 10000);

@slim anvil

#

Ah mais oui effectivement

#

Juste le clearInterval je suis pas sûr

dire latch
#

Essaye 🙂

jolly kernel
#

J'ai une jolie erreur sur le moment du clearInterval x)

dire latch
#

Laquel ?

jolly kernel
#

Je vais aller voir comment ça fonctionne ;)

dire latch
#

Dac

jolly kernel
#

(node:3060) UnhandledPromiseRejectionWarning: DiscordAPIError: Cannot send an empty message

#

Hmm j'ai essayé quelque chose comme ça :

    const messages = [
        "Hello",
        "How",
        "Are",
        "You",
        "?"
    ]
    let i = 0;

    const sendMessagesAtInterval = () => {
        messageChannel.send(messages[i]);
        i++
    }
    setInterval(() => {
        sendMessagesAtInterval()
        if(i >= messages.length) {
            clearInterval(sendMessagesAtInterval)
            console.log("Il n'y a plus aucun message à envoyer")
            i = 0
        }
    }, 5000);

Je n'ai plus d'erreur mais du coup il repart du premier message. Je n'ai aucune idée de comment arrêter totalement la commande une fois arrivé au bout, aurais-tu une piste @dire latch (ou quelqu'un d'autre) ?

dire latch
#

Aucune idée 😦 Sorry

jolly kernel
#

Np ! Merci quand même

dire latch
#

Dr

grim bronze
# dire latch Pas de soucis, si tu as un soucis, tu me mention 🙂

merci, ça fonctionne top !
d'ailleurs tu saurais comment faire pour mettre le discord_id que je sélectionne dans le bdd en argument sur la commande ?

db.query(`SELECT * FROM darkrp_player WHERE discord_id = '${message.author.id}'`, async (err, req) => {

en gros quand on met par exemple ?commande <discord_id>, que ce soit l'argument correspond au discord_id et pas le message.author.id

dire latch
#
let discordid = req[0].discord_id;
#

Sa ?

grim bronze
#

j'ai activé les arguements, mis ça et remplacé le ${message.author.id} par ${discordid}
mais ça met cette erreur: TypeError: Cannot read property '0' of undefined

dire latch
#

Faut que tu met en dessous

if(!discordid) return;```
grim bronze
#

ça me fait toujours la même erreur

dire latch
#

Tu as bien modifié au moins ?

#

Et tu as bien ta table dans ta base de donnée ?

#

Normalement, tu as ceci:

db.query(`SELECT * FROM darkrp_player WHERE discord_id = '${message.author.id}'`, async (err, req) => {
  if (!req[0]) return message.reply(`ERROR`);
  let discordid = req[0].discord_id;
  message.channel.send(`discordid`);
});```
grim bronze
dire latch
#

Ba après, tu modifie avec ce que tu veux avoir

grim bronze
#

mais genre je comprend pas comment faire, pour que ça renvoit les infos du discord_id que l'on met en args dans la commande et non les infos de l'auteur du msg

dire latch
#

Ah en gros, tu met une id genre la mienne, et sa met les infos avec mon id ?

grim bronze
#

on peut pas utiliser un args.join(" ") et le contenu de l'intérieur en truc comme ça

dire latch
#
const membre = message.mentions.members.first();
if(!membre) return;
db.query(`SELECT * FROM darkrp_player WHERE discord_id = '${membre.id}'`, async (err, req) => {
  if (!req[0]) return message.reply(`ERROR`);
  let discordid = req[0].discord_id;
  message.channel.send(`discordid`);
});
#

Là tu fais avec la mention

#

C'est plus simple

grim bronze
#

Hum ouais, mais en gros j'aimerais bien pouvoir consultés les infos de tous ceux qui sont sur la bdd, pour les warns, sanctions etc, donc y compris les membres bans et les gens qui ont quittés
donc je pourrai pas les mentionnés c'est pour ça que je voudrais utilisé l'id en argument

dire latch
#

Ba je te laisse modifié pour récupéré l'args0

#

🙂

slim anvil
#

@jolly kernel réglé ou po ?

#

désolé j'étais pas devant l'ordi

jolly kernel
#

Je cherche juste comment faire en sorte qu'une fois que l'interval est clear la commande s'arrête @slim anvil

hazy mirage
#

Yo @jolly kernel !
Tu utilises mal la méthode clearInterval, il faut lui passer directement la variable contenant ton appel à la méthode setInterval :

 const messages = [
   "Hello",
   "How",
   "Are",
   "You",
   "?"
 ]

 let i = 0;

 const sendMessagesAtInterval = () => {
   messageChannel.send(messages[i]);
   i++
 }

 const interval = setInterval(() => {
   sendMessagesAtInterval()
   if (i >= messages.length) {
     clearInterval(interval)
     console.log("Il n'y a plus aucun message à envoyer")
     i = 0
   }
 }, 5000)
jolly kernel
#

Ah !

#

Je vais essayer ça, merci

oak turret
#

hello dites moi, vous auriez une manière assez sympa de savoir le nombre de messages envoyés par un utilisateur x par minute ?
J'ai pensé à un truc mais ça me parait pas super, vous auriez des idées ?

jolly kernel
#

AAAH super ! C'est exactement ce qu'il me fallait, merci beaucoup @hazy mirage !!

#

Désolé Lartaxx aucune idée

hazy mirage
oak turret
#

Je pensais à get tous les messages de tous les channels et voir ceux de l'utilisateur x pour du coup avoir le nombre de messages

#

mais ça me parait pas ouf du tout

hazy mirage
#

t'enregistre un compteur par minute que tu reset toutes les minutes au pire KappaShrug1

oak turret
#

ouais mais je suis même pas sûr de pouvoir get tous les messages de tous les channels pour check ceux de l'user etc etc

#

du coup je cherche autre chose

hazy mirage
#

hein

#

mais genre { 'id': 33330, 'id': 300 }

oak turret
#

oui oui mais je voulais voir si je pouvais faire autrement juste x)

south steppe
#

mais discord offre pas déjà cette fonctionnalité ?
vu que il y a un mode lent on peut pas récup les données des messages envoyé sur un certain laps de temps ?

oak turret
#

🤔 sur ce coup je sais pas

keen narwhal
#

bonsoir, je code un bot discord actuellement quand je lance le bot j'ai cette erreur qui vient d'un module mais jsp il faut faire quoi x)

#

n'hésitez pas à me ping

dire latch
#

Réinstalle tes modules pour voir @keen narwhal

#

En faisant bien npm init - y

#

Et installer les modules 1 par 1 sans que ya de bug

#

Car je vois pas de fichier package.json sur ton screen

keen narwhal
#

mrc

dire latch
#

Dr et sa a fonctionner ? @keen narwhal

keen narwhal
#

non malheureusement @dire latch

#

et j'ai pas de package.json

dire latch
#

Supprime ton dossier node modules

#

Dans la racine du dossier

#

Tu ouvres un cmd

#

Puis npm init -y

#

Et lance ton bot pour qu'il affiche chaque module à installé

#

Et tu installes

keen narwhal
#

ou se trouve la racine?

dire latch
#

Où se trouve ton bot.js

keen narwhal
#

genre dans mes fichiers?

dire latch
#

Ok ici

#

Va dans ton dossier

keen narwhal
#

ouep

dire latch
#

Ou sur vsc, tu vas en bas terminal

#

Et tu ouvres une invite de commande

keen narwhal
#

comment ? 😂

dire latch
#

Tu veut quoi ?

#

Sur vsc ou cmd ?

keen narwhal
#

cmd

dire latch
#

Dans ton dossier

keen narwhal
#

euh non

#

vsc

dire latch
#

Mdrr

#

Screen ton dossier quand même sur ton pc

#

Comme sa je t'explique

keen narwhal
#

genre dans mes fichiers

dire latch
#

Oui

#

Sauf si tu as ouvert le dossier avec vsc ?

keen narwhal
#

jsp mdr

#

tu parles de quel dossier @dire latch

dire latch
#

Mdrr OK

#

Sur vsc

#

Tu as fais ouvrir folder?

keen narwhal
#

nn

#

je lance vsc et ça me met direct sur le bot perso...

dire latch
#

OK va dans terminal en bas

#

Tu clic dessus

keen narwhal
#

oe

dire latch
#

Screen le terminal

#

Stp

keen narwhal
dire latch
#

C'est le dossier de ton bot ?

keen narwhal
#

dire latch
#

OK

#

Fais npm init -y

keen narwhal
#

c bon

#

faut attndre

dire latch
#

Là c'est good

#

Après

keen narwhal
#

nicee

dire latch
#

Tu fais npm install discord.js

keen narwhal
#

ouep

#

ça charge

#

aïe aïe aïe

dire latch
#

Tu as bien installé node ?

keen narwhal
#

oui

dire latch
#

Tu peut fais node -v

#

Faire*

keen narwhal
dire latch
#

Essaye d'installer la dernière version

keen narwhal
#

c laquelle?

dire latch
keen narwhal
#

j'aurais pas besoin de tt refaire?

dire latch
#

Non

#

Sa va mettre à jour

keen narwhal
#

ok

#

....

dire latch
#

Yes c'est ça

keen narwhal
#

vazy j'te dis quand j'ai installé

dire latch
#

Installe bien les builds tools

keen narwhal
#

ok

keen narwhal
dire latch
#

Nan pas besoin

keen narwhal
#

ok

#

c nice

#

ça dl

dire latch
#

Yep

keen narwhal
#

c long mdr

#

bientot finis

dire latch
#

Mdrr oui

keen narwhal
#

c finis @dire latch

dire latch
#

Refais npm i discord.js

keen narwhal
#

vzy

#

c bon

#

@dire latch

dire latch
#

Nice

#

OK donc fais

#

node index.js

keen narwhal
#

je le dem

dire latch
#

Et sa va te mettre si il manque des modules

keen narwhal
dire latch
#

Utilise pas le debug

#

Fais le dans le terminal

keen narwhal
#

ha ok

#

ça charge

dire latch
#

Cquoi ta ligne 4 sur index.js ?

keen narwhal
#

ha

#

je crois savoir

#

le module

#

est pas dl

dire latch
#

Installe le

#

Pareil pour l'autre en dessous

keen narwhal
#

ça dl

#

ça reste bloqué mdr @dire latch

#

ha nn

dire latch
#

Console?

keen narwhal
#

nn c bon enft

dire latch
#

Et il me semble que c'est const prefix = "=";

#

@keen narwhal

keen narwhal
#

ouep

#

je test de le dem?

dire latch
#

Oui

keen narwhal
#

j'en ai marre

dire latch
#

Pourquoi tu utilise lowdb ?

#

Sinon

keen narwhal
#

c pr un setchannel et d'autre truc

dire latch
#

Ok

#

Essaye de mettre en commentaire pour voir si c'est ça le soucis

keen narwhal
#

en com?

dire latch
#

Tu met // devant

keen narwhal
#

ou?

dire latch
#

Et sa met en commentaire

#

Sur tes lowdb

keen narwhal
#

eu

#

𝐂e𝐥𝐰𝐨.exe à cessé de fonctionner

keen narwhal
dire latch
#

De ?

keen narwhal
#

bah ce que tu me dis de mettre

#

j'y met ou

dire latch
#

Au début de la ligne

keen narwhal
#

dans quel fichier

dire latch
#

Ton index.js

#

Devant chaque lowdb

#

Tu met devant la ligne

keen narwhal
#

vzy

keen narwhal
#

genre comme ça?

dire latch
#

Yes

keen narwhal
dire latch
#

Tout ce qui utilise lowdb

keen narwhal
#

genre meme le "const db = new filesync ("bdd.json")" ?

dire latch
#

Oui

keen narwhal
#

c bon

dire latch
#

Dans le code aussi ?

keen narwhal
#

nn

keen narwhal
dire latch
#

Dans ton code plus bas 😅

keen narwhal
#

ha