#javascript-typescript

1 messages · Page 46 of 1

west plover
#

parce que reactions est un manager de reactions

#

et non un MessageReaction

boreal edge
#

Donc console.log(message.MessageReaction.users); ?

west plover
boreal edge
west plover
boreal edge
#

Ah oui ok

#

Mais donc je peux faire comment ?

west plover
#

voir avec le cache du manager đŸ€”

timid loom
#

mĂȘme si le mieux c'est d'utiliser resolve dans l'idĂ©e

boreal edge
#

console.log(message.cache.count('✅')); ?

red snow
#

Tu veux toujours récupérer le user ?

boreal edge
#

Oui

red snow
#

tu fais ça

#

bot.on("messageReactionAdd", async (react, user)

boreal edge
#

Oui sa je suis d'accord

#

Mais c'est que lĂ  je suis sur le moment oĂč quand le bot est on, il vĂ©rifie les joueurs qui ont rĂ©agis pour vĂ©rifier qu'il n'en a pas louper si jamais il a Ă©tĂ© off

red snow
#

Tu as fais ton resolve pour récup les réactions ?

boreal edge
#

J'arrive pas à récupérer les réactions justement

#

J'arrive pas Ă  comprendre comment faire

red snow
#

A t'es toujours sur ce problĂšme :/

#

Bah du coup je sais toujours pas dsl :c

boreal edge
#

Tkt, merci quand mĂȘme 🙂

#

Mais en gros lĂ  j'ai fais sa :

    let message = await bot.guilds.cache.get(guild).channels.cache.get(channelID).messages.fetch(messageID);
    message.react('✅')
    console.log(message.cache.users('✅'));
#

Et maintenant je cherche comment trouver tout les users qui ont rĂ©agis avec le ✅

slim anvil
#

look ton message

#

tu dois avoir une clé reactions dedans

#

donc log ton .reactions, et tu auras tt les users qui ont react

fringe wyvern
#
message.reactions.get( '✅' ).users.array()
slim anvil
#

faut pas donner les réponses faut laisser chercher oiseau_pas_content

boreal edge
#

J'arrive pas a me servir du wiki discord.js 😩

slim anvil
#

screen ton code actuel

boreal edge
#

Et quand je mets le code de Arkov dans une var The user aborted a request.

#

J'crois que j'ai vraiment une connexion de merde

#

C'est revenu ,je vais retest

slim anvil
#

HonnĂȘtement je connais pas les methods de discordjs, du coup si je devais le faire en vanilla sans use leurs trucs, ce serait juste une boucle sur les users dans reactions

#

Reactions est un tableau, lĂ  du coup dedans tu auras seulement une entrĂ©e pour l'emoji ✅

#

donc tu peux sois partir du principe que ce sera tjrs l'index 0 sois tu veux vérifier et tu .find

#

Mais doit forcément y avoir des trucs de discord qui te permettent directement de gérer ces trucs là, look juste bien la doc

boreal edge
#

Yes, je vais faire sa, mais j'avoue que j'ai toujours du mal avec la doc, merci 🙂

red snow
#

pour le "message.reactions.get" faut mettre "message.reactions.cache.get"

boreal edge
keen narwhal
#

Bonjour, aujourd'hui, j'ai créer une commande mais ça m'a mis l'error :
TypeError: Cannot read property 'name' of undefined mais je comprends pas d'oĂč vient l'error parce que j'ai bien mis

commands.forEach((f) => {

        let command = require(`./commands/${f}`);
        console.error(`${f} Commande chargé !`);
        
        client.commands.set(command.help.name, command);
    });``` Donc voilĂ  :/
slim anvil
#

le console error pour afficher un log positif sue

#

log juste ton command et tu verras si il est vide ou non

#

Mais là il te dit juste qu’il ne peut pas lire le .name car ton command.help ne doit pas exister

keen narwhal
#

je dois retirer quoi ?

#

Enfaite, j'ai trouvĂ© l'error merci quand mĂȘme

keen narwhal
#

Aussi, je voulais savoir comment serait-t'il possible d'envoyé un message à chaque minute qui dit l'heure ? Est-ce que vous avez des idées comment je pourrais réaliser ça ?

cyan iron
#

Soit plus précis

#

Je n'ai pas compris

keen narwhal
#

Bah en gros le bot que je veux faire envoie un message Ă  chaque minutes pour dire l'heure qu'il est

#

( En vrai dit comme ça c'est useless mais voilà xD, je veux seulement savoir comment je peux faire pour que mon bot envoie un message chaque minute )

cyan iron
#

HonnĂȘtement, c'est useless

#

Et sinon

#

Setinterval

#

Regarde la doc

#

🙂

#

C'est du js de base

#

Pas discord

keen narwhal
#

Comment je fais pour récupérer l'heure d'un fuseau horaire?

timid loom
#
#

Si j'ai bien compris ta question

red snow
#

Bonjour, est ce que quelqu'un ici, serait s'il est possible d'enlever la permission a un seul utilisateur de voir tous les salons ?

#

J'ai essayé user.permissions.remove mais du coup, ça ne fait rien

slim anvil
#

pas sur de ce que je vais dire, mais je pense que c'est le contraire il faut éditer chaque salon pour dire que lui ne peut pas les voirs

red snow
#

Il faut peut ĂȘtre faire une boucle de chaque salons ? Mais est ce qu'il y'a pas mieux ?

slim anvil
#

ou alors tu crées un role qui a accÚs à rien et tu lui set

red snow
#

Je pense que c'est ce que je vais faire

inland tide
#

Bonjour, j'ai essayé il y a quelques jours d'utiliser la librairie discord avec python mais malheureusement ça n'a pas fonctionné. Je ne peux donc pas importer dans un fichier cette librairie. J'aimerai donc savoir si l'un d'entre vous avait réussi à importer cette libraire !

fallen kindle
#

Quelqu'un saurai pq ça me sort bdd.query is not a function comme erreur ?

bdd.query(`SELECT * FROM findword `, (err) => {
    if (err) throw err;

    while (Y !== t) {
        console.log('ok');
        if(term == mot2[Y]) {
            J++;
            const K = term + J;
            console.log('K =' + K);
            console.log('Y =' + Y);
            console.log('J =' + J);
            sql = `INSERT INTO warn (numero, position) VALUES ('${K}', '${Y}')`;
            db.query(sql);
            Y++;
            console.log('+1 :' + Y);
        }
        else {
            Y++;
            console.log('aucun :' + Y);
        }
    }
});
slim anvil
#

bdd est défini dans le fichier ?

fallen kindle
#

dans mon index yep

slim anvil
#

et ce code est dans l'index ?

cyan iron
#

ouais c'est trop bizarre mdr

#

J'ai pas compris moi non plus

slim anvil
#

Car si tu es sur un autre fichier que index.js, c'est normal qu'il ai pas accĂšs Ă  bdd si tu n'as rien fais pour

fallen kindle
#

nan mais j'ai exporter la variable bdd dans le fichier oĂč j'ai mon code

slim anvil
#

Console log ta variable bdd vĂ©rifiez qu’elle est pas Ă  undefined

red snow
#

J'ai une question, c'est plus opti le JSON ou avec des database internet ?

cyan iron
#

tout dépend de ce que tu veux faire @red snow

fallen kindle
#

Console log ta variable bdd vĂ©rifiez qu’elle est pas Ă  undefined
@slim anvil c'est pas undefined mais ça donne qqch de bizarre, genre toute mes cmd du bot, donc dois y avoir un blÚme avec la connection

slim anvil
#

tu dois pas envoyer la bonne variable je pense pour qu'il te retourne tt tes fichiers

fallen kindle
#

oui c'est ça, pourtant la variable est envoyĂ© comme pour mon autre bot oĂč ça marchais parfaitement.

cyan iron
#

tu renvoie la variable commands peut ĂȘtre

#

Montre comment tu fais pour la renvoyer thinkintense

fallen kindle
#

problÚme résolu, j'ai réussi à bien envoyer la variable

red snow
#

@cyan iron je voulais faire un bot pour un jeu RP sur discord

#

Donc bot qui stocke PV, Attaque, Défense, lvl, et xp

#

Et le monstre qu'il combat etc

cyan iron
#

dans ce cas lĂ  BDD

#

mysql

red snow
#

J'ai fais avec une BDD Json

cyan iron
#

Tu as un hébergeur ?

#

nAN

red snow
#

Je sais plus comment elle s'appelle att

cyan iron
#

BDD mysql

#

Tu as un hébergeur ?

#

Pour ta BDD

red snow
#

ça change quoi?

cyan iron
#

Ta bdd sera en ligne

red snow
#

Et non mais je vais en payer un, la je fais en local

#

ça change quoi la bdd json a mysql*

cyan iron
#

Pourquoi payer j'ai un hébergeur gratuit stv

#

Qui fonctionne trĂšs bien

#

Je t'envoie en MP

red snow
#

Je vais aller chez un hĂ©bergeur bot qui fait aussi BDD, sinon j'aurais pris gratuit aussi tkt 😂

fallen kindle
#

Vous savez comment récupéré une colonne d'une base de donnée SQL, sous forme de tableau ?

#

mentionnez moi dans la réponse svp

red snow
#

Hello, quelqu'un aurait une idée de qu'est ce que je pourrais utiliser pour faire un systÚme d'inventaire, avec des items qui auraient trois paramÚtres : leur attaque, leur défense, leur catégorie

#

Donc deux Integer, et un String

cyan iron
#

Une

#

Base de données

#

Mysql

red snow
#

Pour un inventaire ?

cyan iron
#

Bah oui

#

Tu trouves juste un moyen de le stocker 🙂

red snow
#

Mais j'aimerais bien, que mes items soient déjà paramétré dans un fichier

#

Et que j'ai juste sur le code, mettre par exemple baton.price

#

Pour avoir le prix

#

Ou baton.atk des trucs comme ça quoi

cyan iron
#

Oui tu peux

#

Regarde comment fonctionne une bdd

slim anvil
#

Tu peux stocker les profil des gens en bdd, mais avoir un fichier json pour les données qui ne bougent pas

#

éviter de faire un appel a la base si tu peux l'avoir dans un json propre

#

Mais que si ce sont des valeurs qui ne bougent pas

cyan iron
#

Oui mais d'apres ce que j'ai compris les données bougent

red snow
#

Non ça bouge pas

cyan iron
#

Bah le stocke pas alors 😆

red snow
#

Ce qui bouge c'est le nombre d'items qu'on les gens par exemple

cyan iron
#

Oui donc stocke que ça

#

Le reste le stocke pas

#

Utilise le en variable dans ton cofe

slim anvil
#

Oui donc ton "inventaire" met le dans un json propre

cyan iron
#

Hein

red snow
#

Donc par exemple
baton: [ atk: 10 price: 2 def: 0 ]

cyan iron
#

Oui

slim anvil
#

yup

red snow
#

Ok merci

#

Et pour que le joueur ait son inventaire vous pensez que je fais MySQL du coup ?

slim anvil
#

yes si tu veux

#

Ă  toi de voir si tu sens que tu en as besoin

red snow
#

Parce que j'ai jamais fais de MySQL đŸ€·â€â™‚ïž

#

Enfin si mais en Java :/

slim anvil
#

bah tu vas voir pas trop compliqué, surtout que la tu n'auras que de l'update et du get finalement

red snow
#

Parce que du coup dans le MySQL je mets quoi? Une Map ?

#

L'item et le nombre

cyan iron
#

Nan

slim anvil
#

bah tu peux te crée une table users

#

ou tu vas stocker son discord_id

cyan iron
#

Oui et des colonnes par item

slim anvil
#

et ensuite faire une jointure avec une table "inventory"

#

ou alors directement une table inventory avec le discord_id sinon

cyan iron
#

Oui plutĂŽt

#

C'est se compliquer la vie faire 2 tables

slim anvil
#

non

#

c'est juste préparer son code si jamais il veut rajouter d'autres table plus tard

#

^^'

cyan iron
#

Ah oui

#

Pas bĂȘte

red snow
#

Donc, je fais une table avec les informations utilisateur

cyan iron
#

Ou sinon il fait avec une seule table đŸ€·â€â™‚ïž

red snow
#

Puis une autre table inventory et je mets quoi j'ai pas trop compris ?

slim anvil
#

comme tu le sens superburger si tu veux faire un truc simple

#

tu crées juste une table inventory

#

ou tu stockeras dedans les entrées suivante
discord_id pour pouvoir get la data du user, puis ton "baton_atk" etc

red snow
#

Ok, merci !

red snow
#

Bonjour, auriez vous une idée de comment faire un invit tracker sur la V12 de Discordjs?

keen narwhal
#

Bonjour vous savez comment je pourrais faire en sorte que lorsque par exemple je fasse a!say Test ( Se soit le titre en gras du embed ) Salut ( Se soit la description du embed ) ?

#

Au lieu de mettre test en dessous ça mettrait bonjour

red snow
#

Tu fais plusieurs arguments

#

Tu prends le premier argument, tu le mets en titre

keen narwhal
#

Genre args.slice(1)

#

?

#

Avec ce code

slim anvil
#

Faut que tu mettes un paramĂštre dans ton texte pour dĂ©terminer Ă  quel moment c’est le dĂ©but de ta description ou fin de ton titre

#

Sauf si ton titre fait toujours le mĂȘme nombre de mots ce que je pense pas

keen narwhal
#

Et comment je peux faire ça ?

#

Effectivement non

slim anvil
#

bah en gros tu aurais un /say Salut Ă  tous! / Blablabla

#

Et tu vas venir transformer en tableau chaque string en fonction de ou de trouce le /

#

Ou autre chose peu importe

keen narwhal
#

Tu aurais la ligne pour que je puisse le faire ?

#

Parce que comment tu me l'expliques je comprend pas vraiment

red snow
#

Tu dois faire un split de l'argument qui te servira pour couper la phrase en deux

#

Par exemple,!say Titre test / Je suis une description, bonjour

#

La, tu devras mettre comme paramĂštre "/" dans le split

slim anvil
#

voilĂ 

keen narwhal
#

Oh okay

slim anvil
#

et du coup en retour tu auras ['test', 'je suis une ....']

keen narwhal
#

Gentille fille

slim anvil
keen narwhal
#

x')

#

Je comprend pas ;-;

#

J'arrive pas Ă  formuler ce que vous me dites en code

#

Je fais genre js .setTitle(args.split('/').join(" ")) .setDescription(args.slice(1).join(" ")); ?

slim anvil
#

ce serait plus

const title = args.splice('/')[0]
const description = args.splice('/')[1]

embed
.setTitle(title)
.setDescription(description)
#

avec toutes les vérifications qui vont bien avant par ex

keen narwhal
#

Oh okay

#

Le embed est pas utile on est d'accord ?

slim anvil
#

le embed c'est ton embed mais yes tu adaptes Ă  ton truc

keen narwhal
#

😭

slim anvil
#

screen ton code

#

et log ton args, tu reçois quoi dedans, une string ?

keen narwhal
slim anvil
#

et log ton args please

keen narwhal
slim anvil
#

euh noo

#

console.log(args)

keen narwhal
#

C bon

slim anvil
#

Non mais console.log ne s'utilise pas comme ça....

#

c'est un peu une base en js /:

keen narwhal
#

;-;

slim anvil
#

tu le mets jsute comme ça

console.log(args)
#

et tu me screen ce que tu reçois quand tu fais ta commande

keen narwhal
slim anvil
#

yes mais met des textes

keen narwhal
#

Merci beaucoup de ton aide ( MĂȘme si on a pas fini x') )

slim anvil
#

/say blabla dkedkekdek

keen narwhal
#

MĂȘme quand j'en met

#

Ça me met ça

slim anvil
#

yes mais dans ton log tu as quoi

keen narwhal
slim anvil
#

dans args tu as rien ? chelou

keen narwhal
#

Rien

slim anvil
#

tu envoies bien tes args ? car si tu mets ta commande avec du texte derriĂšre et que tu n'as rien dans ton tableau bizarre

keen narwhal
#

Je met a!say Salut / Jamie

#

x')

slim anvil
#

Look ton envoie d'args dans ton index a tes différentes commandes

#

ou log ton message aussi

keen narwhal
umbral marsh
#

Elle sert Ă  quoi la commande say pour un bot ?

keen narwhal
#

Envoyé un embed

burnt perch
#

j'ai un petit soucis quand j'essaye de lancer mon bot alors d'abord le le lance avec forever ça marche pas donc je test avec "node index.js" toujours pas mais en revanche sur windows sa marche mais voila je me doute que cela vient du fait que des chemins d'accÚs son diffÚrent mais je sais pas oû trouver ça...

#

mais la ça me met une erreur à cette ligne alors que tout va bien enfaite

#

voila vous avez tout

keen narwhal
#

@slim anvil Il faut que je mettes js console.log(message) ?

slim anvil
#

oops, pas regardé, yes et regarde ce que tu as dedans

west plover
#

@burnt perch je pense que ça vient de ton callback dans l’event handler de message qui n’est pas en async thinkgeometric

#

comme t’utilise await đŸ€”

slim anvil
#

oui il fonctionne pas ça c'est sur

#

mais il est dans la commande /say lĂ 

#

pas sur que la requete la ai un impacte

keen narwhal
slim anvil
#

il recoit rien dans ces args dans sa commande

#

c'est plus ça que je trouve bizarre

keen narwhal
burnt perch
#

@west plover ```
root@17788:/home/topbotsandrp# node index.js
/home/topbotsandrp/index.js:15
client.on('message',async msg => {
^^^^^
SyntaxError: missing ) after argument list
at Object.exports.runInThisContext (vm.js:76:16)
at Module._compile (module.js:542:28)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.runMain (module.js:604:10)
at run (bootstrap_node.js:394:7)
at startup (bootstrap_node.js:149:9)
at bootstrap_node.js:509:3
root@17788:/home/topbotsandrp#

#

ou si quelqu'un peut m'aider mdr peut importe

#

je suis un jeune débutant avec discord.js

slim anvil
#

il te manque pas juste une ) Ă  la fin ?

#

}); tout Ă  la fin

keen narwhal
#

Moi?

slim anvil
#

no Loc, alex toi essaye de vérifier que tu envoie bien ton paramÚtre args

#

car si tu mets bien des textes apres ta commande et que tu les recois pas lros de ta commande, c'est que tu dois pas l'envoyer ou pas bien je pense

keen narwhal
#

Att

burnt perch
#

non et sinon vs code me l'aurai fait savoir donc je sĂšche un peut

keen narwhal
#

Je sais pas quoi faure

red snow
#

Toujours sur le problĂšme qui fait que tu n'as pas d'arguments ?

slim anvil
#

loc screen ton code qu'on voit le truc please

keen narwhal
#

@red snow Yep

slim anvil
#

ça alex c'est normal que tu es undefined

#

tant que tu récupereras pas tes paramÚtres

red snow
#

Pourtant le titre est Jamie

keen narwhal
slim anvil
#

tu as vraiment rien dans args ? info_player_think

keen narwhal
#

Yep

slim anvil
#

Mais comment il récupÚre le Jamie

#

ah mais

red snow
#

Envoie le code qui permet de run la commande

slim anvil
#

je crois savoir

#

essaye juste de faire ça

keen narwhal
#

?

red snow
#

Pourquoi splice?

slim anvil
#

ui c split

red snow
#

Faut pas faire split ?

slim anvil
#

yes yes pas vu

red snow
#

Aaaaa

slim anvil
#

oh my bad

#

je t'ai fais mettre splice quel teuteu

#

c'est split yes

red snow
#

Du coup Alex, tu fais args.split("/").splice(1).join(" ")

keen narwhal
burnt perch
red snow
#

Je t'explique

keen narwhal
#

Att

red snow
#

A mais att

#

Args est le tableau de texte oĂč le texte ?

keen narwhal
burnt perch
#

déolé de mettre des screens au millieur comme ça

slim anvil
#

du coup alex

#

tu fais juste

#
const title = args.split('/')[0]
const desc = args.split('/')[1]
red snow
#

A mais ui je suis bĂȘte

#

Vu qu'on split pas les espaces ^^

#

Et fais pas avec args mais avec message

#

Parce que args est déjà un tableau

slim anvil
#

Ah c'est deja un tableau args

#

sinon tu join ton args avant

#

dans une variable avant why not

red snow
#

Mais avec message tu fais message.split("/").slice(5)

#

Splice*

#

Non slice

#

Non jsp plus

slim anvil
#

il va devoir cut sa commande et tout

keen narwhal
slim anvil
#

du coup peut etre plus simple de use args qui a deja que les trucs utiles

#

du coup alex pour tester ensuite on optimisera

#

rajoute juste .join(' ')

red snow
#

A ui avec le join

slim anvil
#

apres les args

#

du coup args.join(' ').split....

#

toujours l'erreur @burnt perch ?

burnt perch
#

ui

keen narwhal
#
.setTitle(args.join(' ').split('/')[0]
.setDescription(args.join(' ').split('/')[1]

Ou 

const title = args.join(' ').split('/')[0]
const desc = args.join(' ').split('/')[1]

.setTitle(title)
.setDescription(desc)
burnt perch
#

casse la tĂȘte lui je sais que c'est un truc tout con comme d'hab mais je trouve pas

red snow
#

2e

keen narwhal
#

Oki je test

#

Merci

#

Ça marche

red snow
#

Quoi que c'est a peut prĂšs la mĂȘme chose les deux

#

Pas de soucis Alex :)

slim anvil
#

yes les deux reviennent au meme juste une histoire de visuel

#

ok loc

#

essaye tout bĂȘtement, meme si ca me parait impossible

#

de mettre ton paramĂštre entre ()

#

le msg

#

normalement pas utile mais bon, testons un peu tout

burnt perch
#

ça marche j'ai déjà test je crois mais vai essayer

#

marche po

#

mais ce qui est bizzare c'est que sur window le code marche et sur mon vps linux non je demande pas si c'est pas une histoire de chemin....

slim anvil
#

ou de version de node ?

#

node -v sur ton ordi et ton vps voir si il y a une diff déjà

burnt perch
#

v6.9.2

slim anvil
#

oof

#

c'est vieux ça

#

on est a la 12

#

met à jour tout ça

burnt perch
#

ah !

#

ok je fait fait ça

#

c bon

#

root@17788:/home/topbotsandrp# node -v
v10.2.0

#

c bon !!

#

c'était ça ! @slim anvil et encore désolé du dérangement

keen narwhal
#

Nice

#

Gg

#

Enzo le sauveur

#

Bon maintenant faut que je m'attaque Ă  la commande complexe de mon bot ;-;

red snow
#

CĂ d?

keen narwhal
#

Un message qui s'envoit Ă  chaque minute qui dit l'heure

slim anvil
#

du coup c'est pas une commande

#

tu vas juste fetch ton channel, et faire un setInterval en renvoyant le message avec l'heure

keen narwhal
#

Yep

#

Mais faut que je trouves comment faire

#

;-;

red snow
#

Documentation

#

Et tu mets dedans toute la sorcellerie que t'as envoyé Enzo :p

keen narwhal
#

xD

#

Je suis qu'un pauvre noob

#

;-;

slim anvil
#

why

keen narwhal
#

Qui suit des tuto's sur internet

#

;-;

#

Je lis le wiki mais j'arrive pas Ă  comprendre comment le mettre en code

slim anvil
#

C'est normal il faut bien débuter quelque part ^^

keen narwhal
#

C'est un peu ça mon problÚme

slim anvil
#

Dans ton ready, commence par get le channel ou tu veux envoyer le message des minutes

keen narwhal
#

Mais je voudrais faire en sorte que la personne le choisisse en faisant une commande

slim anvil
#

Du coup prépare ta commande, tu lui demande de choisir son channel

keen narwhal
#

Mmh

umbral marsh
#

J'ai un soucis, je suis pas trÚs expérimenté dans le dev de bot mais j'ai qq base. Mais la j'ai un soucis. j'ai fais une commande pour un message de bienvenue, sauf que quand on personne arrive et bah ca me mets une erreur

slim anvil
#

Console.log ton member

#

Tu dois pas avoir de channels ou .guild dedans

umbral marsh
#

j'ai pas compris ce que tu as dis apres le console.log

slim anvil
#

en gros console log ta variable member

#

Et vérifie que tu es bien déjà le guild avec dedans le channels

umbral marsh
#

le console.log je le mets apres le const ?

#

comme ca ?

slim anvil
#

Met le avant

#

Comme tu as l’erreur à ce moment sinon tu ne le verras pas

umbral marsh
#

avant le const

slim anvil
#

Mais commente le reste d’ailleurs Ă©viter d’avoir l’erreur et bien voir ton log

umbral marsh
#

mon bot veut meme plus se lancer

slim anvil
#

Tu as quoi comme erreur

#

Commente tes 2 lignes const channel et channel.send

umbral marsh
#

excuse moi ... ca veut dire quoi commente dans le code ?

slim anvil
#

// devant chaque ligne

#

Pour plus qu il soit lu au lancement du bot

umbral marsh
#

comme ca

#

excuse moi si j'ai l'air un peu bete

slim anvil
#

Non là tu as tout commenté

#

Seulement la ligne const channel et channel.send

umbral marsh
slim anvil
#

Ensuite relance ton bot et regarde ce que tu as dans ton log du member voir si tu as bien un .guild et dedans un .channels déjà

umbral marsh
#

le bot c lancé

slim anvil
#

Regarde dans ta console ton log du coup

umbral marsh
slim anvil
#

Ouvre le et regarde ce que je t’ai dis ^^

umbral marsh
#

oula ca me mets bcp de choses

slim anvil
#

Ouvre le .guild

#

Dedans tu as bien un .cjannels ?

#

Logiquement oui

umbral marsh
slim anvil
#

Ok du coup remet ton code d’avant

#

et rajoutes juste un .array()

#

AprĂšs le channels

umbral marsh
#

j'enleve le console ?

#

et les commente

slim anvil
#

Que ça te donne un const channel = member.guild.channels.array.find....

#

oui

umbral marsh
slim anvil
#

.array()

cyan iron
#

Putain cette galĂšre je viens de tout lire x)

#

@umbral marsh Comment as-tu défini ton member
Que vaut member ?

slim anvil
#

en vrai pas trop je voulais juste vérifier que son member était bien le bon truc

#

Mais lĂ  ça devrait ĂȘtre bon

#

Mais comme il galÚre un peu ça a pris bcp de message oui

cyan iron
#

Ouais mais c'est bizarre de mettre member.guild

#

Oui x)

#

Pas grave on est tous passé par là

slim anvil
#

ah bah ça c’est ce qu’il reçoit

#

Je sais pas comment il dĂ©fini ce qu’il envoie ou quoi

cyan iron
#

Oui

#

Mais je pense qu'il a du mettre msg.member
Et donc msg.member.guild bah ça veut rien dire x)

#

Enfin je crois

slim anvil
#

l’objet existe bien

cyan iron
#

Ah ouais

#

Guild member

#

@umbral marsh Alors t'en es oĂč ?

umbral marsh
#

j'ai du aller manger donc la mon programme ressemble a ca @cyan iron

slim anvil
#

et ça fonctionne ?

#

car tu ne m’as pas dis

umbral marsh
#

j'ai pas pu test att

#

ca n'envoie tjr pas mon message

cyan iron
#

Oui je sais @umbral marsh mais envoie nous la variable member

#

Que vaut-elle

umbral marsh
cyan iron
#

et fait des copies plutot pour le code que des screens

#

Utilise ```js

slim anvil
#

Il l’a envoyĂ© plus haut

cyan iron
#

AH

slim anvil
#

Je t’ai dis .array()

umbral marsh
#

je dois faire quoi la ?

slim anvil
#

Mais tu ne lis pas

umbral marsh
#

j'enleve le .find ?

slim anvil
#

non

cyan iron
#

Oui je sais @umbral marsh mais envoie nous la variable member
Que vaut-elle
et .array()

umbral marsh
#

si mais jai du tout relire mdr

slim anvil
#

Tu mets juste .array().find...

#

je t’ai envoyĂ© le truc plus haut

umbral marsh
#

module.exports = (client, member) => {
const channel = member.guild.channels.array().find(ch => ch.name === "〘👋〙bienvenue");
channel.send(Bienvenue sur notre serveur, ${member}.);
};

slim anvil
#

Oui

umbral marsh
#

j'ai fais ca

slim anvil
#

Re-test maintenant ?

keen narwhal
#

module.exports.run non ?

cyan iron
#

Nan c'est pas le problĂšme lĂ 

keen narwhal
#

Ça ne peut pas causer une error ?

cyan iron
#

Déjà qu'il est un peu perdu l'embrouille pas avec ça x)

slim anvil
#

Du coup Kocia?

cyan iron
#

..

umbral marsh
cyan iron
#

Oui je sais @umbral marsh mais envoie nous la variable member
Que vaut-elle

umbral marsh
#

oue chui un peu perdu c vrai

slim anvil
#

meh

umbral marsh
#

je comprends pas ce que tu veux que jenvoie

cyan iron
#

La variable member mais que vaut elle quand tu la définis !

#

const member = ????

#

Dans ton fichier principal

umbral marsh
#

dans mon idex ?

cyan iron
#

Ok d'accord

#

AU temps pour moi j'avais pĂŽ vu

#

sinon tu fais un truc plus simple

slim anvil
#

Sinon kocia met sur git ton truc, qu'on regarde le truc

umbral marsh
#

github ?

slim anvil
#

mais si c'est pour envoyer un message tu devrais gérer le truc par l'event

client.on("guildMemberAdd", user => {
})
#

par ex

#

ou celui que tu veux

cyan iron
#
client.channels.get("ID de ton channel").send("Message")
umbral marsh
#

oui mon vut c que quand une personne rejoins le serveur, ca mets un message

slim anvil
#

Du coup

cyan iron
#

bah alors tu fais ça

slim anvil
#

tu mets l'event memberAdd

#

avec le code de wailrone dedans

#

et ce sera bon

cyan iron
#
client.on("guildMemberAdd", user => {
    client.channels.get("ID de ton channel").send("Bienvenue Ă  '${user.tag}'")
})
umbral marsh
#

je recreer un event juste avec le code de Wailrone?

slim anvil
#

tu fous ça dans ton index par ex

cyan iron
#

VoilĂ  met ce que j'ai fait en haut

#

dans ton index.js comme te l'a dit Enzo et là surprise quand qqn rejoint ça marche

umbral marsh
#

du coup je peux supprimer le truc que j'avais fais ?

cyan iron
#

oui

umbral marsh
#

ca marche tjr pas ...

umbral marsh
cyan iron
#

Euh pardon

#

comment s'appelle ton bot ?

#

Pas client ?

#

MOntre nous le tout début de ton code

umbral marsh
#

je te montre mon index ?

wispy chasm
#

Tu es sûr d'avoir le bon discord.js ?

cyan iron
#

Oui

#

Oh fuck it t'as raison

#

T'es en v12

umbral marsh
#

eeeeh jsp pk

cyan iron
#

check stp

#

Dans ton package.json

umbral marsh
#

comment

wispy chasm
#

Montre ton package.json s'il te plait

#

Et supprime ton screen au dessus, car il y a le token de ton bot...

umbral marsh
wispy chasm
#

Tu es dans ton package-lock.json

umbral marsh
#

yes

wispy chasm
#

Montre le package.json simple

umbral marsh
#

bah c ca, je suis dedans

wispy chasm
umbral marsh
#

c ca quil te faut

wispy chasm
#

remplace les deux trucs de Discord par ça

"discord.js": "^11.6.4",
umbral marsh
#

quelle truc

wispy chasm
#

Donne le en code, je te remplace les trucs directement

umbral marsh
#

le code du screen au dessus ?

slim anvil
#

pourquoi passer a la v11

#

je comprend pas

wispy chasm
#

L'intégralité de ton package, car il a l'air chelou

slim anvil
#

si il est en v12

umbral marsh
#

jsp il me dise que c le probleme donc bon

wispy chasm
#

Tu connais un minimum le JSON, tu sais le gérer ou pas ?

cyan iron
#

la v12 est claquée

#

Enfin je trouve perso

#

Nan mais il gÚre rien @wispy chasm il a commencé y'a 3jours à coder je pense

#

*developper

#

pas coder mdr mes yeux

slim anvil
#

la v12 est pas claqué

#

c'est juste nouveau

wispy chasm
#

Coder == Claqué
Développer == Cool

cyan iron
#

Bah je trouve qu'ils ont changé trop de truc

#

Coder == Claqué
Développer == Cool
@wispy chasm Oui x)

slim anvil
#

c'est le principe d'une version majeur

#

mais si il fait un nouveau bot

#

autant partir sur la version la plus récente

cyan iron
#

Oui ..

#

Mais dans ce cas je ne peux pas l'aider đŸ€·â€â™‚ïž

wispy chasm
#

Moi non plus

#

Et pour l'instant j'ai eu de documentation pour la nouvelle version qui est assez propre

cyan iron
#

D'ailleurs je vais pas tarder Ă  demander une augmentation de rĂŽle a Agent moi x)

slim anvil
#

Kocia tu fais un client.channels.fetch('id')

#

pour get ton channel

#

puis tu send ton message

wispy chasm
#

C'est plus simple le get je trouve

umbral marsh
#

je le mets ou ?

slim anvil
#

dans ton event memberAdd

cyan iron
#

C'est plus simple le get je trouve
@wispy chasm oui

umbral marsh
#

client.on("guildMemberAdd", user => {
client.channels.get("705737840469737553").send("Bienvenue Ă  '${user.tag}'")
})

#

dans ca

slim anvil
#

plus simple .get que .fetch ?

#

yes

wispy chasm
#

Bah ça parmet de dispatch entre les fetchMessage ou mĂȘme en ReactJS les fetch normaux

slim anvil
#
client.on("guildMemberAdd", user => {
    const channel = client.channels.fetch("705737840469737553")
    if (channel) {
      channel.send('Hello')
    }
})
#

vérifie quand meme que tu es un channel si jamais tu delete le channel ou quoi

#

bah du coup c'est plus logique un fetch

#

que un get

#

en js ta requete pour get c'est un fetch, sur git pareille tu git fetch aussi

#

aprÚs c'est plus parlant je trouve aussi le get, mais bon si ils ont changés c'est qu'il y a une raison

wispy chasm
#

En JS tu requete quoi, les requetes Ajax, fonctionnent trĂšs bien en JS

slim anvil
#

¯_(ツ)_/¯

umbral marsh
#

j'ai fais ton truc et ca me mets ca

slim anvil
#

aprÚs ça va les modifications de la v12 sont assez cool sur certains points, c'est juste que c'est le début donc oui quand il y a un blocage c'est plus compliqué car y a moins de doc

#

console.log ton channel

umbral marsh
#

client.on("guildMemberAdd", user => {
console.log(channel);
const channel = client.channels.fetch("705737840469737553")
if (channel) {
channel.send('Hello')
}
})

#

comme ca

slim anvil
#
client.on("guildMemberAdd", async user => {
    console.log(channel);
    const channel = await client.channels.fetch("705737840469737553")
    if (channel) {
      channel.send('Hello')
    }
})
#

retry

umbral marsh
slim anvil
#

meh

wispy chasm
#

Si tu utilise ça c'est plus :

client.on("guildMemberAdd", async user => {
    console.log(channel);
    const channel = await user.channels.fetch("705737840469737553")
    if (channel) {
      channel.send('Hello')
    }
})
slim anvil
#

ah c’est pas dans le client ?

wispy chasm
#

C'est bon au final je lui ai fais installer l'ancienne version de Discord ^^

slim anvil
#

Car dans le user tu as pas le channels direct

#

oki

wispy chasm
#

Bah tu async user

#

Donc techniquement c'est lui

slim anvil
#

Tu peux use client

#

User c’est le user qui rejoins

wispy chasm
#

Effectivement

#

user.guild.channels

#

Sinon

slim anvil
#

dans l’objet user tu auras guild.channels

#

Yes

#

Dommage de repasser sous la 11 mais oki doki

#

si son truc marche et qu’il est content

wispy chasm
#

Bah pour l'instant toutes les documentations sont sur la 11

slim anvil
#

c’est le principal

wispy chasm
#

Perso mes bots sont sous la 11

cyan iron
#

Juste petite question comment je fais pour tester si mes résultats sont inexistants avec mysql

#
db.query(`SELECT * FROM warns WHERE warn_id = '${args[0]}'`, (err, rows) => {
#

Je console log rows qui me renvoie []

#

Mais impossible de faire en sorte de détecter cette absence de résultat

#

J'ai trouvé

red snow
#

Bonjour, sauriez vous pourquoi le code ci dessous fonctionne en local, et non sur VPS ?

#

`const botconfig = require('./botconfig.json');
const Discord = require('discord.js');

const bot = new Discord.Client({disableEveryone: true});

this.bot = bot;
bot.config = botconfig;
bot.rolesID = require('./rolesID.json');
bot.salonID = require('./salonID.json');

const invites = {};

const wait = require('util').promisify(setTimeout);
bot.wait = wait();

const {loadEvents} = require('./utils/eventHandler')
loadEvents(bot);

const fs = require('fs');
bot.commands = new Discord.Collection();
bot.aliases = new Discord.Collection();

fs.readdir("./commands/", (err, files) =>{

if(err) console.log(err)

let jsfile = files.filter(f => f.split(".").pop() === "js")
if(jsfile.length <= 0){
    console.log("[LOGS] Aucune commande enregistrée !")
}

jsfile.forEach((f, i) =>{
    let pull = require(`./commands/${f}`)
    bot.commands.set(pull.config.name, pull);
    if(!pull.config.aliases) return;
    pull.config.aliases.forEach(alias => {
        bot.aliases.set(alias, pull.config.name)
    });
});

});

bot.login(botconfig.token); `

#

Mon erreur est qu'il considĂšre "files" la variable du fs.readdir comme undefined :/

keen narwhal
#

Un f au lieu de files ?

#

Perso j’ai ça

slim anvil
#

@red snow version de node dĂ©jĂ  regarde ça ou sinon les chemins « ./«  qui peuvent ĂȘtre diffĂ©rent sur un serveur

red snow
#

Comment ça ils peuvent ĂȘtre diffĂ©rent ? C'est diffĂ©rent sous Linux ?

#

Je me rappelle avoir eu l'erreur pour un autre bot, je l'avais rĂ©glĂ© mais je ne me souviens plus comment đŸ€Šâ€â™‚ïž

#

Parce que ma version node est a jour

keen narwhal
#

Aujourd'hui, j'ai essayé de faire un message de bienvenue quand la personne rejoins bah ça envoies un message logique mais genre j'ai fait ça me met event.bind est pas définis dans Index

slim anvil
#

@red snow tu as quoi comme erreur ? sinon essaye de voir pour use __dirname pour tes imports, tester voir si c'est good

red snow
#

L'erreur c'est cannot read property filter of undefined

#

Et undefined c'est le "files"

slim anvil
#

essaye ce que je t'ai envoyé pour voir

red snow
#

Le __dirname ?

slim anvil
#

yep Ă  la place de "./"

#

ça peut causer des erreurs d'imports, aprĂšs si les autres fonctionnent bien ce serait bizarre đŸ€”

#

par contre go passer sous commando si c'est des bots quasi entiĂšrement Ă  base de commande

#

ca vous facilitera la tĂąche

red snow
#

Qu'est ce que commando ?

slim anvil
#

discord commando c'est aussi une lib pour crĂ©er tes bots mais en gros au niveau de tes commandes tout est simplifiĂ©, il peut gĂ©rer lui mĂȘme le typage de tes arguments, si ça doit etre une mention d'un user, d'un role etc, et pleins d'autre truc trĂšs cool comme ça 👍

#

(création d'alias, validation d'argument, enfin bref pleins de trucs en + qui vont te simplifier la tùche sur tes créations de commande, et rendre le bot plus propre)

red snow
#

Ok, je testerai sur un futur bot

slim anvil
#

yup ca vaut le coup

keen narwhal
#

Mais du coup pour moi vous savez le problĂšme

red snow
#

Bon, je vais test le __dirname

slim anvil
red snow
#

A oui ok

slim anvil
#

enleve le ./

red snow
#

A ui đŸ€Šâ€â™‚ïž

slim anvil
#

laisse juste le /

red snow
#

OĂ©

#

MĂȘme erreur

timid loom
#

hum normalement c'est path.join(__dirname, 'commands')

#

et tu fais un require-all sur ce répertoire

red snow
timid loom
#

pourquoi tu require path dans ta boucle ?

red snow
#

Parce que je teste des trucs

#

J'opti aprÚs, la je veux juste que ça marche

timid loom
#

voui mais du coup Ă  chaque itĂ©ration tu vas require path, c'est un truc assez lourd quand mĂȘme

#

fin bref

#

var commands = require('require-all')(__dirname + '/commands');

#

par exemple

red snow
#

J'ai jamais utilisĂ© ça, et sur d'anciens bot (Qui sont sur la mĂȘme machine) ça marche trĂšs bien

timid loom
#

nan mais d'accord

#

je te donne juste une solution que je trouve bien, si t'en veux pas c'est ton problĂšme

red snow
#

J'essaye juste de comprendre pourquoi ça ne marche pas

keen narwhal
#

Bonjour, j'ai besoin d'aide pour mon bot, en fait j'ai un message du bot dans un salon spécifique et j'aimerais faire en sorte qu'il soit modifié toutes les 5 secondes (l'intervale est déjà faite mais je voudrais savoir c'est quel code pour trouver le message par son ID et ensuite le modifier)

slim anvil
#

hello zeph quelle version de discord

keen narwhal
#

12 je crois

#

la derniĂšre quoi

slim anvil
#
channel.messages.cache.get('id_message');

je crois

keen narwhal
#

ok je vais essayer, channel est automatiquement defined ou je doit le mettre dans un event ? client.on...

slim anvil
#

tu dois get le bon channel aussi du coup avant si tu l'as pas déjà yes

timid loom
#

channel tu peux le recup via la guild ça normalement

#

et la guild tu peux la recup via le client

keen narwhal
#

On m'a dit que les lignes contenant message, channel, etc... doit ĂȘtre dans un client.on("message") mais je veut qu'il s'edit automatiquement, pas de commande ni rien

timid loom
#

justement

#

pas besoin

keen narwhal
#

ah ok, ça me faisait juste une erreur comme quoi channel était pas defined

timid loom
#

par exemple tu peux faire ça

const guild = client.guilds.fetch('ID DU SERVEUR');
const channel = guild.channels.fetch('ID DU CHANNEL');
const message = channel.messages.fetch('ID DU MESSAGE');

message.edit(embed).catch(console.error);
keen narwhal
timid loom
#

ah dsl

#
const guild = client.guilds.cache.get('ID DU SERVEUR');
const channel = guild.channels.fetch('ID DU CHANNEL');
const message = channel.messages.fetch('ID DU MESSAGE');

message.edit(embed).catch(console.error);
#

att

#

pas bon non plus

keen narwhal
#

ah

timid loom
#

faut que je check la doc avant de parler moi

keen narwhal
#

mdr

cyan iron
#

la v12

timid loom
#

ça ça fonctionne normalement

const guild = client.guilds.cache.get('ID DU SERVEUR');
const channel = guild.channels.cache.get('ID DU CHANNEL');
if (channel instanceof Discord.TextChannel) {
  const message = channel.messages.fetch('ID DU MESSAGE');

  message.edit(embed).catch(console.error);
}
#

mais je suis pas sûr

slim anvil
#

taink en sueur kappa

keen narwhal
#

mdr je vais essayer

timid loom
#

ah la v12 elle me fait mal

slim anvil
#

va falloir qu'on se mettent tous sur la v12 miséricorde

keen narwhal
#

j'avoue, au début y'avais des fonctions que je connaissait par coeur mais là c'est la catastrophe

cyan iron
#

la v12 est terrible

timid loom
#

haha je fais tinkbot en TypeScript et sur la v12 lĂ , j'est mal sue

slim anvil
#

tu te fais du mal aussi taink sue

timid loom
#

ses vraies

keen narwhal
#

saleté de V12

timid loom
#

đŸ€”

keen narwhal
#

Message que je veut edit en embed ça pose pas de problÚmes ?

red snow
#

Perso pour get un message je fais un .find

#

Et pour l'edit pareil

keen narwhal
slim anvil
#

yes mais en vrai du coup tu le get pas

#

tu boucles sur ton tableau

#

mais quand tu auras bcp bcp bcp de messages ca peut etre légÚrement plus long quoi si tt les messages sont dedans kappo

timid loom
#

@ancient sonnet c'est toi que je regarde sue

#

@keen narwhal si tu console.log ton message ça t'affiche quoi ?

keen narwhal
#

oula pas trop compris sue

timid loom
#

console.log(message) juste avant l'edit

keen narwhal
#

ah ok

#
Promise {
  <ref *1> Message {
    channel: TextChannel {
      type: 'text',
      deleted: false,
      id: '706230310487982122',
      name: 'ă€Žïżœă€etat-serveur',
      rawPosition: 0,
      parentID: null,
      permissionOverwrites: [Collection [Map]],
      topic: '',
      nsfw: false,
      lastMessageID: '706858787939680306',
      rateLimitPerUser: 0,
      lastPinTimestamp: null,
      guild: [Guild],
      messages: [MessageManager],
      _typing: Map(0) {}
    },
    deleted: false,
    id: '706544797590224999',
    type: 'DEFAULT',
    content: "Connexion Ă  l'API Just-Heberg...",
    author: ClientUser {
      id: '655908183528833054',
      bot: true,
      username: 'CrystalBot',
      discriminator: '8768',
      avatar: 'f32d7c43ea378cfbd2575c2231ad6df2',
      lastMessageID: null,
      lastMessageChannelID: null,
      verified: true,
      mfaEnabled: false,
      _typing: Map(0) {},
      flags: [UserFlags]
    },
    pinned: false,
    tts: false,
    nonce: undefined,
    system: false,
    embeds: [],
    attachments: Collection(0) [Map] {},
    createdTimestamp: 1588523806713,
    editedTimestamp: null,
    reactions: ReactionManager {
      cacheType: [Function: Collection],
      cache: Collection(0) [Map] {},
      message: [Circular *1]
    },
    mentions: MessageMentions {
      everyone: false,
      users: Collection(0) [Map] {},
      roles: Collection(0) [Map] {},
      _members: null,
      _channels: null,
      crosspostedChannels: Collection(0) [Map] {}
    },
    webhookID: null,
    application: null,
    activity: null,
    _edits: [],
    flags: MessageFlags { bitfield: 0 },
    reference: null
  }
}
timid loom
#

ah

#

C'est vrai que c'est un promise

keen narwhal
timid loom
#
const guild = client.guilds.cache.get('ID DU SERVEUR');
const channel = guild.channels.cache.get('ID DU CHANNEL');
if (channel instanceof Discord.TextChannel) {
  const message = channel.messages.cache.get('ID DU MESSAGE');

  message.edit(embed).catch(console.error);
}```
#

ça c'est bon

keen narwhal
#

nope kappaangry

timid loom
#

mé

#

:(

#

ok

#

alors je peux faire

keen narwhal
#

Vive le JS sadgun

queen ocean
#

haha je fais tinkbot en TypeScript et sur la v12 lĂ , j'est mal sue
@timid loom et encore aprĂšs ce sera au tour de tout les bots de GCA a passer en TypeScript + V12 + Restructure total Kappa

keen narwhal
#

bruh

timid loom
#
const guild = client.guilds.cache.get('ID DU SERVEUR');
const channel = guild.channels.cache.get('ID DU CHANNEL');
if (channel instanceof Discord.TextChannel) {
  channel.messages.fetch('ID DU MESSAGE').then((msg) => {
    msg.edit(embed).catch(console.error);
  }).catch(console.error);
}```
#

Et lĂ  ?

#

@queen ocean ouais ouais tkt kappa

slim anvil
#

aprĂšs ca va y a Zaros qui va bosser dessus aussi

timid loom
queen ocean
#

aprĂšs ca va y a Zaros qui va bosser dessus aussi
@slim anvil Je crois que Taink préfÚre pas sueur

keen narwhal
#

ça y est !!!!!! ça marche !!!!!

timid loom
#

trofor

keen narwhal
#

gĂ©gĂ© 👍

slim anvil
#

l'interval de 5 secondes par contre

#

c'est vraiment utile ? kappo

keen narwhal
#

oui

#

En gros toutes les 5 secondes ça fait une requĂȘte Ă  l'api de mon serveur et en mĂȘme temps ça edit l'embed avec les var que j'ai créé avec le JSON.parse

#

C'est un sacré bordel mdr

slim anvil
#

Oui mais 5 secondes il suffit que tu es un peu de lenteur sur ton serv, ou l'api, tu auras peut etre meme pas reçu le premier résultat qu'il va relancer le truc

keen narwhal
#

jsp

#

je verrais si ça plante ou pas

slim anvil
#

yess

keen narwhal
#

aprĂšs il me semble que j'ai un if dans le code de la requĂȘte, si jamais j'obtient aucune rĂ©ponse de l'api il annule et recommence la requĂȘte

keen narwhal
#

bonjour j'ai besoin d'aide please

red snow
#

Salut, tu peux détailler s'il te plaßt

keen narwhal
#

oui

#

allors

#
L:\Anonymas Bot>node js
internal/modules/cjs/loader.js:960
  throw err;
  ^

Error: Cannot find module 'L:\Anonymas Bot\js'
←[90m    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:957:15)←[39m
←[90m    at Function.Module._load (internal/modules/cjs/loader.js:840:27)←[39m
←[90m    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:74:12)←[39m
←[90m    at internal/main/run_main_module.js:18:47←[39m {
  code: ←[32m'MODULE_NOT_FOUND'←[39m,
  requireStack: []
}```
#

voila quand jesaye de lancer mon bot

red snow
#

Le code aussi stp

keen narwhal
#

oki

slim anvil
#

erreur d'import

#

yes show

keen narwhal
#
client.on("message", message => {
  if(message.content === `${prefix}info`) {
      message.channel.send({embed: {
          color: 8359053,
          author: {
            name: ${client.user.username},
            icon_url: client.user.avatarURL,
          },
          title: "Info de la communautée AnonymasRP",
          url: "https://anonymasrp.mistforums.com/",
          description: "Tout les liens Utile",
          fields: [{name: "Le discord : https://discord.gg/3mB5jKT\nLe forum : https://anonymasrp.mistforums.com/\nLa collection : https://steamcommunity.com/sharedfiles/filedetails/?edit=true&id=1933507670\nLe Utip : https://utip.io/anonymasrp\nNotre chaine Youtube : https://www.youtube.com/channel/UCMTGYfYs9q2kQibHPuViGrg/featured?view_as=subscriber",
          timestamp: new Date(),
          footer: {
            icon_url: client.user.avatarURL,
            text: "© Anonymas Bot"
          }
        }
        })
  }
})```
#

c'est ce code qui pose probleme car avant sa fonctionner

#

@red snow @slim anvil

red snow
#

Visiblement c'est pas ça

keen narwhal
slim anvil
#
name: client.user.username
keen narwhal
#

je doit mettre sa

slim anvil
#

Oui tu vois bien que tu as des erreurs, quand il te souligne en rouge c'est jamais bon signe

keen narwhal
slim anvil
#

relis ton truc

keen narwhal
#

comment sa ?

slim anvil
#

tu trouves ça logique

keen narwhal
slim anvil
#

name: name: client.user.name

keen narwhal
#

a mince

#

mtn c'est la

slim anvil
#

soit une erreur d'indentation de code, soit une }/) mal placé/manquante

keen narwhal
#

je vois pas ou j'ai regarde et re regarder le code

slim anvil
#

quand tu le lance, ça fonctionne pas ?

keen narwhal
#

@keen narwhal avance ton })

#

D’un truc

#

Genre pour qu’il soit Ă©gal Ă  la ligne grise

slim anvil
#

soit une erreur d'indentation de code

#

ça vaut le coup de lui dire snif

keen narwhal
#

xD

#

toujours la mĂȘme chose

slim anvil
#

ok montre la fin de ta ligne

#

fields

#

stp

keen narwhal
#

Att

#

Je sais l’erreur

slim anvil
#

manque une ,

keen narwhal
#
            icon_url: client.user.avatarURL,
            text: "© Anonymas Bot"
          }
        }
         })
  }
})
slim anvil
#

non la ligne "fields"

#

scroll a l'horizontal pour montrer la fin

keen narwhal
#

Fait juste l’avancer la et sa devrait ĂȘtre bon :3

#

Parce que tu fermes pas

slim anvil
#

bah une erreur d'indentation ca empĂȘche pas le run normalement

#

sauf si il a un lint

#

mais je pense pas

keen narwhal
#
fields: [{name: "Le discord : https://discord.gg/3mB5jKT\nLe forum : https://anonymasrp.mistforums.com/\nLa collection : https://steamcommunity.com/sharedfiles/filedetails/?edit=true&id=1933507670\nLe Utip : https://utip.io/anonymasrp\nNotre chaine Youtube : https://www.youtube.com/channel/UCMTGYfYs9q2kQibHPuViGrg/featured?view_as=subscriber",```
slim anvil
#

il y a tout la ?

#

car je vois pas de }] Ă  la fin

#

attend lulu screen toute la ligne please

#

pour etre sur

keen narwhal
#

C’est Ă©trange comment il fait son embed

slim anvil
#

oui donc il manque un }] Ă  la fin

keen narwhal
#

de la ligne ou il ya les lien ?

slim anvil
#

oui entre subscriber" et ,

keen narwhal
#

c'est bon merci beaucoup ^^

#

Enzo, le sauveur x’)

#

Bon du coup. Je sais pas si je peux parler de mon problĂšme

slim anvil
#

?? envoie

keen narwhal
slim anvil
#

et ou il est ton events.bind

keen narwhal
#

Index

slim anvil
#

show ce fichier du coup

keen narwhal
slim anvil
#

log ton events voir ce que tu reçois

#

il doit etre undefined Ă  tt les coups il doit peut etre pas trouver ton fichier đŸ€”

keen narwhal
#

Rien dans les logs ;-;

slim anvil
#

console.log(events) aprĂšs const events =....

#

et commente le const event, et le client.on()

#

en attendant

keen narwhal
#

commente ?

slim anvil
#

// devant la ligne

#

pour plus qu'elle soit lu par le code

keen narwhal
slim anvil
#

yep

#

et ton log te retourne quoi

keen narwhal
slim anvil
#

bayes ton object est vide donc pas évidement

#

fais un console.log('event', events, f)

#

le dossier events ce sont tes commandes ?

keen narwhal
#

Nope

slim anvil
#

ah tes events memberAdd etc ?

keen narwhal
#

events ce sont les events

slim anvil
#

ah yes okep

keen narwhal
#

?

slim anvil
#

remplace le premier par le deuxieme

#

le deuxieme suffira, voir ce qu'il y a dans ton f aussi

keen narwhal
#

Toujours rien ;-;

slim anvil
#

Au start enfaite ton bienvenue renvoie rien, Ă  la limite juste pour voir, met ton client.on(... dans un if (Object.keys(events).length !== 0) {}

keen narwhal
#

Att quoi ?

#

Faut que je fasse quoI?

slim anvil
#

en reprenant ton code

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

  if (Object.keys(events).length !== 0) {
    client.on(event, events.bind(null, client))
  }
})
#

meme si c'est bizarre qu'au restart il soit vide idk why

keen narwhal
#

Rien

slim anvil
#

t'as tjrs l'erreur ?

keen narwhal
slim anvil
#

du coup pas d'erreur ?

keen narwhal
#

Nope

slim anvil
#

du coup c'est bon ? kappa

keen narwhal
#

;-;

#

Ça envoie pas de message

slim anvil
#

bah faut que tu join le serv ??

#

ou le leave

keen narwhal
#

Les deux

slim anvil
#

oui mais tu l'as fais ?

keen narwhal
#

Normalement ça met un message

#

Oui

#

Rien

#

Tu penses pas que je devrais mettre l'id au lieu

#

?

slim anvil
#

ton .find est pas bon d'ailleurs

#

tu uses discord 12 ?

keen narwhal
#

Je sais ça oĂč ?

slim anvil
#

package.json

keen narwhal
#

;-;

slim anvil
#

package.json

#

pas package-lock

keen narwhal
#

;-;

slim anvil
#

npm init

#

npm i

#

Mais par contre

#

tes bot.con des events

#

tu peux les mettre dans ton index directement finalement đŸ€”

#

ils sont pas trĂšs lourds du coup bon

keen narwhal
#

?

#

Comme ça dans index.js ?

slim anvil
#

Bah yes, normalement plus haut tu as ton token, et avant ton import discord et la création de bot

keen narwhal
#

Yep

#

Mais ça envoie aucun message

slim anvil
#

Met un console.log dedans de member dans le add pour voir si tu le reçois quand tu join et vérifie ta console

keen narwhal
#

Genre console.log(memberAdd) ?

slim anvil
#

Non

#

console.log(member)

keen narwhal
#

I have a error

slim anvil
#

Le truc c’est que vous essayez d’utiliser des libs avant d’essayer de faire du javascript simple histoire de comprendre ce que vous faites.... du coup c’est normal que vous y arriviez pas trop.... regarde dans #621746570119086109 tu as pas mal de tuto pour dĂ©buter sur la crĂ©ation de ton bot

Si tu es sur la v12 et tu vois que tu galĂšres passes sur une ancienne au pire en attendant

#

Yes c’est quoi

keen narwhal
slim anvil
#

Oui ça c’est ton find qui est pas bon je te l’avais dis plus haut

#

tu es sous quelle version de discord JS du coup ?

keen narwhal
#

Je fais comment pour le voir ?

#

Le npm knit

#

Init*

slim anvil
#

package.json du coup

#

tu as fais le npm init et npm i ?

keen narwhal
#

J'ai trouvé package.json

#

Mais

slim anvil
#

il y a quoi dedans ?

keen narwhal
slim anvil
#

Tu l’as rĂ©cupĂ©rĂ© ou ton projet de bot ?

keen narwhal
slim anvil
#

Non mais pas le package json dans ton node modules sue

#

Il doit etre Ă  la racine

keen narwhal
#

xD

#

Sorry

slim anvil
#

VoilĂ  version 12

#

Donc check sur la documentation discord JS (choisis bien) v12

#

Comment récupérer un channel, et ensuite tu fais ton send dessus

#

Je crois que c’est client.channels.fetch(« id »)

#

Met les bonnes quotes je suis sur téléphone

keen narwhal
#

' '?

slim anvil
#

Oui par exemple ou des doubles comme tu veux

keen narwhal
#

Ça me dit que client.channels.fetch is not a function

slim anvil
#

bot.channels

#

Vu que tu appelles ça bot pardon

keen narwhal
#

Enfaite non c'est client

slim anvil
#

Du coup si tu as tout remplacer en client ça devrait ĂȘtre bon

keen narwhal
#

..

#

Bon, je vais manger

slim anvil
#
client.on('guildMemberAdd', async member => {
  const channel = await client.channels.fetch('id')
  if (channel) {
    channel.send('hello')
  }
})
#

tu testeras ça pour voir

keen narwhal
#

je test

#

Merci

#

Maintenant j'ai un problĂšme avec mes warns

slim anvil
#

sue ça ne va jamais s’arrĂȘter

keen narwhal
#

xD

slim anvil
#

Attend les screens ne chargent pas chez moi le temps que ça charge

#

Et l’erreur ?

#

Pfiou la gueule de la commande

#

Dans une conditions tu mets 2 fois la mĂȘme chose

keen narwhal
#

Les commandes ne marchent plus

#

Mes embeds

#

;-;

#

Mes kick

#

;-;

slim anvil
#

y a pas mal de truc qui ne sont pas logique

#

Ça marchait de base ?

keen narwhal
#

Bah avant que je fasse le message de bienvenue oui

slim anvil
#

retourne ou il y a l’évent bind

keen narwhal
#

Mais je pense pas que c,est dû à ça

slim anvil
#

Et enlĂšve le if (object.keys....)

#

Laisse direct le client.on(évent...

#

plus utile

keen narwhal
#

J'ai pas d'error

slim anvil
#

honnĂȘtement ton truc a l’air un peu chelou de base

#

a ta place je regarderai les bases sur un tuto histoire que tout soit carré

keen narwhal
#

Oki

#

Bah du coup je reviens plus tard si j'ai un probl

#

Ăšme, merci de ton aide Enzo :3

slim anvil
#

pas de soucis sue

keen narwhal
#

xD

slim anvil
#

Bon courage pour l’apprentissage, mais un conseil commence par un peu de JS de comprendre ce que tu Ă©cris, ça va t’aider Ă  avancer bcp plus rapidement