#javascript-typescript

1 messages · Page 39 of 1

timid loom
#

pas via un bot en tout cas

median shard
#

un Webnook alors

timid loom
#

nan

#

les webhooks ça sert à envoyer un message dans un channel quand un évènement a été déclenché

median shard
#

Ah une application

#

j'avais pas vue le message

#

désoler

timid loom
#

bah une application oui mais ça a aucun rapport avec les bots et surtout c'est complètement hors de la portée de personnes individuelles comme toi ou moi

#

parce qu'il faut mettre en place une architecture très coûteuse pour qu'elle réponde rapidement aux demandes afin de calculer la vitesse sans problème

#

je vois pas pourquoi tu voudrais pas utiliser un site cependant, c'est la méthode la plus pratique

#

mais c'est mieux d'utiliser le site à mon sens

median shard
#

Ok pas de problème , je suis un cadet dans le codage JavaScript , j'ai fait un bot complet mais je ne sais pas qu'elle commande rajouter donc je regarde des commande de bot a faire

median shard
timid loom
#

est-ce que tu comprends ce que tu as écrit ?

median shard
#

J'ai parler avec un ami et je lui et dit que je voulais un truc xp donc j'ai commencer mais lui ma donner ça , et je comprend a 50%

plush lava
#

Je suis le seul à être choqué qu'il n'y ai aucun event ? 🤔

timid loom
#

@median shard le problème c'est que ça te sert à rien si ton but c'est d'apprendre à faire des bots

#

@plush lava j'ai quasi pas lu le code

median shard
#

Je sais , j'ai tout fait tout seul , je voulais juste savoir s'il et bien , c'est tout

timid loom
#

bah à priori ce code là fonctionne pas

median shard
#

Ah

#

Je vais aller read des documents

plush lava
#

Bah oui tu introduit message alors que tu ne mets pas l'event 🙃

burnt junco
#

Mais je savais pas qu'il y avais un salon pour les bot discord je vais le squatter

queen ocean
#

👀

boreal edge
#

😂😂

plush lava
#

T'inquiètes pas que moi aussi 👀

plush lava
#

Lequel ?

plush lava
#

🤷

keen narwhal
#

bhein !twitch help @bitter cairn

#

Perso, je connais pas le bot donc je pourrait pas t'aider :/

burnt junco
#

@bitter cairn j'ai pas compris ton problème

#

Ta vérifier si tes identifient sont bon

#

Es ce que il y a un code d'erreur du genre votre mot de passe ou votre identifient n'est valide

#

OK

#

Tu es sur téléphone ?

cerulean furnace
#

On peut voir le lien ?

burnt junco
#

Ouaip

cerulean furnace
#

Ah

#

Tu dois faire un truc mal

#

Un problème de cookie ?

#

Connecte toi à Discord App sur navigateur

burnt junco
#

@bitter cairn au pire passe nous le lien du bot on vas voir si le problème vien de ton ordi ou du lien

cerulean furnace
#

Et une fois que c'est fais réessaie

burnt junco
#

Son navigateur est peut être pas a jour

cerulean furnace
#

Connecte toi à Discord App avec ton navigateur

#

YAGPDB est un bon bot le soucis viens pas de lui

burnt junco
#

Oui moi je peut le add donc c'est forcément toi

cerulean furnace
#

Envoie un message depuis

#

Ah

burnt junco
#

Ha

#

Peut être pour ça

cerulean furnace
#

Télécharge Chrome ou Firefox sue

burnt junco
#

Je te conseil chrome

#

Firefox alors

#

Puis une fois installé réessaye est normalement sa marche

cerulean furnace
#

Problème réglé ?

burnt junco
#

@cerulean furnace je croit que oui

#

Si il dit que sa marche

plush lava
#

Qui utilise edge sérieusement 🤔

cerulean furnace
#

Les màj qu'ils promettent ils vont passer sur chromium donc là ça vaudra le coup

plush lava
#

A programmer carrément 🤔

#

Chaud

#

Plus sérieusement, y'a une documentation ( ce qui est le cas pour les bots de qualité ) donc on peut pas t'aider plus que ça

#

Juste lire la documentation et tu t'en sors

#

Bah justement ça évite de galérer..

burnt junco
#

@bitter cairn normalement dans une documentation il te disent la commande puis a quoi elle sert

compact sky
#

Hey , bonsoir , j'ai une question s'il vous plaît !

#

genre par exemple si quelqu'un poste un match sur notre site tu serais mentionner un match a été ajouté pour rejoindre ce match cliquer ici avec le lien du match créer si quelqu'un peut m'aider merci 😉

compact sky
#

Personne ?

glass magnet
#

renseigne-toi sur les sockets, c'est le seul truc qui me viens a l'idée

#

@compact sky

idle ice
#

Webhook tout simplement

queen ocean
#

yep discord fournis des webhook qui fonctionne très bien pour ce genre de demande

slim anvil
#

yes mais les webhooks ne fonctionne que si le site a un service qui permet de renseigner une url webhook avec laquelle communiquer

#

et il m'avait dit que non, du coup le mieux pour lui c'est soit de demander au site si c'est dans leurs todo kappa ou alors de taper direct sur l'api, pour vérifier si il y a pas de nouveaux matchs

#

dsl je débarque mais je viens d'arriver

idle ice
#

Bah il lui suffit de modifier son code source car je suppose que son site est fait main?

slim anvil
#

C'est pas son site je crois

#

il a du coup aucun accès au code

queen ocean
#

si quelqu'un poste un match sur notre site

idle ice
#

Il a bien écrit « notre site »

queen ocean
#

Donc a voir avec @compact sky mais pour moi c'est un site custom

idle ice
#

Ouaip

queen ocean
#

Si c'est bien un site custom c'est fais en 2 secondes

idle ice
#

1 seconde 34ms!

queen ocean
#

trop fort !

idle ice
#

Tavu

slim anvil
#

ouais mais j'ai parlé en MP avec et c'est pas son site kappa

#

on a pas les memes infos

#

il s'est juste pas s'exprimé ce singe d'alfred

compact sky
#

Ouais , désolé je me suis trompé mais enfaite ils ont trouvé une solutions !

queen ocean
#

👌

violet knot
slim anvil
#

Yes c'est ce que je fais du coup @violet knot

#

la commande + mon json

violet knot
#

après il a juste le field que j'utilise du json

west plover
#

C'est pour un webhook ou un bot via js ? 🤔

slim anvil
#

bot via JS

violet knot
#

bot

west plover
#

bah y a new Discord.RichEmbed()

slim anvil
#

oui mais du coup si tu uses le reste en test normal, tu peux pas set un author, ni un footer, ni des images

#

Ouep Guthen

#

Mais si tu veux faire en sorte que ton bot l'envoie automatiquement sans repasser par le code ?

west plover
#

qué ?

slim anvil
#

Si tu veux que ton bot envoie un richEmbed dans annonces par exemple, tu fais comment

violet knot
#

comme sa

west plover
#

tu get le channel et tu fais channel.send( embed ) thinkingplayer

slim anvil
#

Yes voila

#

Aiko c'est ce que je fais ^^

#

Oui mais via discord direct

#

gut

west plover
#

ah directement

slim anvil
#

Oui

#

sans repasser par ton code

#

tous mes projets sur mon serv tourne sous docker

#

j'aimerai éviter d'y toucher trop souvent et donc rendre automatique

#

la plus part des taches

west plover
#

tu fais un système vite fait qui split, analyse tes arguments et crée ton embed selon le type d'arg 🤷

slim anvil
#

yep voila

#

pas le choix, c'est ce qu'on fait du coup, un peu différent mais ui

#

Dommage qu'il ai pas un systeme a eux

#

comme pour convert du markdown en html par exemple et vice versa

violet knot
#

sur node.js il a kingembed pour sa non ?

west plover
#

après @humble storm dira d'utiliser un webhook et un site qui envoie des embeds dessus kappa

slim anvil
#

ouais mais Nogi il est pas la kappa

#

yes @violet knot bien vu je connaissais pas

west plover
#

il est offline, c bon 👀

slim anvil
#

oops

west plover
#

g vu

#

pas eu le temps de screen suefort

slim anvil
west plover
#

"t moche nogi" qui fait mal sue

slim anvil
#

Mais ouais pas mal le truc de kingembed

#

mais je le fais a la main

#

ca évite les packages inutiles kappa

west plover
#

violet knot
#

Same

west plover
#

on est pas des boloss nous

#

on est des programmeurs kappa

slim anvil
#

:A_pepe:

west plover
#

"Discord Nitro a cessé de fonctionner"

slim anvil
violet knot
#

ouch

slim anvil
west plover
#

"Passe à Discord Nitro"

#

ahaha

slim anvil
#

on se fout de qui

plush lava
#

😂 😂

#

De toi

#

Best bug ever

west plover
#

T'es sûr que t'as pas eu un "Payement refusé" dernièrement ? kappa

plush lava
slim anvil
#

Non il est passé sur mon compte en plus

#

enculé de nitro

#

t ou

plush lava
#

Pas là

violet knot
#

:pepe:

#

well too poor

slim anvil
#

😂 "pas la"

#

on polue le channel #general

plush lava
#

J'avoue

west plover
#

bien vu michel

humble storm
#

@west plover j'aime les webhooks kappa

idle ice
#

J'aime l'administration système kappa

slim anvil
#

J'aime @west plover kappa

west plover
#

houlà 👀

slim anvil
#

hein kwa

west plover
#

Salut, vous n'avez pas un module node pour communiquer avec l'API de MediaWiki facilement ? J'en ai testé 2 mais sont tous deux cassés.

slim anvil
#

pour faire des requêtes ? Tu as axios qui est good

west plover
#

Axios ? Je regarde ça, merci 🤔

slim anvil
#

T’auras pas mieux kappa

#

et si tu trouves bah je m’en branles kappa

west plover
#

j'te fais confiance 👀

#

les requêtes ont l'air de fonctionner

#

maitenant go lire la doc de l'API de mediawiki sue

plush lava
#

Snekfetch doit aussi marcher

west plover
#

j'vais pas changer sue

west plover
#

merci @slim anvil 👀

slim anvil
#

De rien bg

idle ice
#

Copiteur de GCA! :0

west plover
#

chut kappa

humble storm
#

J'aurais plutôt dit Embassadeur 😂

hazy mirage
#

cécé

#

j'ai vu que sur le github de discordjs y'a eu pas mal d'issues et un pull request concernant le setactivity pour que ça le mette en custom status (ce qui existe techniquement) sauf que le texte du custom status n'est pas pris en compte 🤔 Quelqu'un aurait une solution svp ?

errant rampart
#

mal d'issues et un pull request
Il a juste pas été mergé et release pour le moment, donc wait & see

west plover
#

Me semble pas que le custom status est dispo pour les bots

plush lava
#

Me semble pas non plus, c'est uniquement au "users" ( ceux n'étant pas considéré comme un bot )

hazy mirage
#

hello

#

quelqu'un saurait comment get le highestRole du message.mentions.users.first() ?

#

car en faisant: message.mentions.users.first().highestRole ça retourne undefined alors que l'user à bien plusieurs roles

#

ainsi que message.guild.member(message.mentions.users.first()).highestRole

queen ocean
#

essaye message.guild.members.get(message.mentions.users.first().id).highestRole

hazy mirage
#

merchiii

humble storm
west plover
#

Et dire qu’il voulait programmer qu’en Lua kappa

humble storm
#

Le Lua c'est la vie

#

Mais le JS a plus de libs kappa

west plover
#

De toutes façons mon Bot est mieux fait

humble storm
#

Mais le mien est meilleur par rapport à son âge kappa

west plover
#

GNRobot > GNBot

queen ocean
#

GCA-Bot > All

west plover
#

Très bien, ça va se régler en duel

#

On va ouvrir une arène de bot

fringe wyvern
#

ArkovBot > Tout les bots du monde

west plover
#

Ils vont se batter

fringe wyvern
#

Conflit reglé

#

au revoir

west plover
#

@fringe wyvern tjé, t personne

humble storm
#

BotHorn < All

burnt junco
#

Fight

fringe wyvern
#

admin on m'a insulté

west plover
#

g pa insulté

#

g qualifié

#

c pa pareil

spring dock
#

botSecret > toutVosBots

humble storm
#

BobBot > All

plush lava
#

É o

burnt junco
#

Tous vos bot < ALL

compact sky
#

Moi je mise 10€ sur le GNRobot

burnt junco
#

Est voilà réglé

humble storm
#

Bot le bricoleur > all

west plover
#

@compact sky ça c’est un bon alfred

plush lava
#

De toute façon les bots sur Discord c'est useless kappa

compact sky
#

T'inquiète soutiens maik

spring dock
#

c’est pas BobBot @humble storm mais bien tenté

humble storm
#

@west plover GNRobotBot > All

plush lava
#

BobTheBuilderBot

spring dock
#

Nop

west plover
#

GNRobot*

#

pas GNRobotBot

spring dock
#

GnPasBot > GNBot > GNRobot

fringe wyvern
#

arrêtez svp vous me donnez envie de faire du codage de bots

humble storm
#

Ducky > All 🦆 😍

west plover
#

De toutes façons

#

Le résultat est très simple

spring dock
#

zoophile va

west plover
#

GNRobot il fait la commande !darkrp

humble storm
#

Je te koink

west plover
#

QUI ICI A SON BOT QUI FAIT !darkrp !?

spring dock
#

Signaled

#

Moi @west plover

humble storm
#

@west plover moi 😎

west plover
#

@spring dock fo

#

@humble storm fo

spring dock
#

wola j’ment pas

west plover
#

Prouve le

spring dock
#

oké

humble storm
#

C'est pas faux, mon GNRoBot le fait

west plover
#

Sans toucher au code de ton bot hein

spring dock
west plover
#

xD

#

aïe coup dur

spring dock
#

c’est un selfbot kappa

west plover
#

Ah oé j’me disais kappa

#

signale

plush lava
#

!darkrp addMoney

ancient sonnetBOT
#

@plush lava, The darkrp command can only be used by the bot owner.

plush lava
#

Ah

#

Le bot bob il répond pas

#

Dommage

#

Parcontre ça copie gca

timid loom
#

🤔

#

att en vrai je vais bientôt le faire là

west plover
#

on attend, on attend kappa

timid loom
#

attention, spoiler : la feature que je fais vous saurez même pas qu'elle existe

west plover
#

oof

hazy mirage
#

(C’est moi qui t’avais Ping Bob mais ça a été supprimé)

west plover
#

aa

#

Ahah

hazy mirage
#

On pourrait m'aiguillier sur comment set access un user sur un channel en JS (sachant que son role ne lui permet pas)

west plover
#

Je crois qu'il faut toucher aux perms 🤔

#

je l'avais fait pour un bot, mais me souviens plus exactement

timid loom
spring dock
#

il avait trouvé

timid loom
#

haha rip

spring dock
#

bein tenté

hazy mirage
#

ça rend stylé hein bob ? 👀

spring dock
#

ouais

#

osBot > GCABot

timid loom
#

"lol"

west plover
#

GNRobot > GCABot > osBot

timid loom
#

'lol'

west plover
#

`lol`

timid loom
#

tss

#

"\"lol\""

west plover
#

olefou

spring dock
#

« lol »

timid loom
#

banan

#

ducou

spring dock
#

:(

keen narwhal
#

Bonjour, j'ai un problème avec mon bot, je suis nouveau dans la création de bot et j'aimerais beaucoup apprendre. J'ai suivis un tutos mais lorsque que j'exporte mon module de message.js la console me dit Waiting For The Debug sans s'arrêté

plush lava
#

Tu utilise quelle librairie ?

keen narwhal
#

discord.js

slim anvil
#

Capture d’écran de ton code ?

keen narwhal
#

J'ai suivis le tuto de DevMonitoring

slim anvil
#

et dans ton index.js ?

plush lava
#

Alors non pas dans la débug console .. sue

#

Dans le terminal

#

Pour lancer ton bot

west plover
#

Pas besoin du terminal

#

Tu as juste à faire F5 pour lancer ton BOT

slim anvil
#

tu peux run direct sur vscode

#

yep

plush lava
#

Le F5 ne marche pas toujours ( chez moi )

#

J'ai l'habitude de passer par le terminal

west plover
#

rt mais il marche par défaut normalement

plush lava
#

De toute façon ce qui est par défaut est cassé chez moi :c

slim anvil
#

tu tends une trop grosse perche la Certu, mais je la saisirai pas ce serait trop facile kappa

humble storm
#

il é kc

plush lava
#

😦

keen narwhal
#

Euh ouais mais ça m'aide pas la

#

C'est mon code qui a un problème non ?

slim anvil
#

Monde ton index.js ^^

keen narwhal
#

OK je vais lancer mon ordj

#

D'ici 10 min je te l'envoi

#

Ah

#

bas bizzarement en faisant Débug > Start Debugging ça marche

#

F5 marche pas

slim anvil
#

bon bah good alors

keen narwhal
#

TypeError: Cannot read property 'name' of undefined
at commandes.forEach (c:\Users\enzom\Desktop\Piby\index.js:21:43)
at Array.forEach (<anonymous>)
at fs.readdir (c:\Users\enzom\Desktop\Piby\index.js:16:15)
at FSReqWrap.args [as oncomplete] (fs.js:140:20)

#

autre erreur

#

j'ai suivis le tuto de devmonitoring 3

slim anvil
#

L’erreur est assez clair tu dois faire un object.name sauf que object est undefined donc name aussi, fais une capture ? Plus simple pour voir ton code

keen narwhal
slim anvil
#

console.log commande dans ton forEach please et montre le log

keen narwhal
#

euh

#

alors je comprends pas

#

je suis nouveau c'est mon first bot

slim anvil
#

ligne 17 rajoute console.log(commande)

keen narwhal
slim anvil
#

okep donc deja premier soucis commande n'existe pas, ligne 14, consoles.log(commandes)

hazy mirage
#

Je pense que c’est soit f qu’il faut logs soit f.commande

slim anvil
#

ligne 10

#

inverse error, et f

#

(f, error)

keen narwhal
#

une erreur est partie

#

une autre est pparus

#

je vais galérer a faire un bot

#

Salut , j'ai une question , quel qu'un a une documentation sur un system de notification en JavaScript? merci.

plush lava
keen narwhal
#

Et? justement je demande de l'aide.

slim anvil
#

pour des bots ?

keen narwhal
#

Oui bot js

slim anvil
#

tu veux faire quoi des notifs ?

keen narwhal
#

Exactement

slim anvil
#

sur discord du coup ?

keen narwhal
#

Oui

plush lava
#

Bah reformule car dire en JavaScript on croit que tu voudrais faire un système de notif sur un site web ..

keen narwhal
#

Ah dsl

#

Donc je reformule

j'ai une question , quel qu'un a une documentation sur un system de notification en discord js ? merci.

slim anvil
#

comment ça ?

keen narwhal
#

Je voudrait faire en sorte que des qu'une vidéo ou un jeux sort sa envoie une notification dans un channel , j'ai chercher de la doc mais pas trouver :/

plush lava
#

Pas besoin d'un bot pour ça, un webhook suffit ( vidéo ytb )

#

Pour les jeux ça risque d'être compliqué

#

Faudrait trouver une sorte d'api d'un site mais je n'en connais aucun

keen narwhal
#

D'accord , vous avez quand même une documentation pour que je puisse le faire ?

plush lava
#

Tu peux utiliser ifttt pour le webhook youtube c'est simple à mettre en place et pas besoin d'un bot

keen narwhal
#

Ok bas merci @plush lava 😉

rough tide
#

Bonsoir !

#

J'ai un problème avec mon bot , je souhaite kick l'utilisateur puis lui envoyer un message privé lui disant qu'il a été kick.
Le problème , c'est que si l'utilisateur ne peut plus recevoir de messages du bot vu qu'ils ne sont plus dans le meme serveur ou si l'utilisateur a bloquer les DM je suis bloqué avec mon bot qui plante et une jolie erreur.

timid loom
#

tu lui envoie avant

twilit cosmos
#

bah fait l'inverse alors

errant rampart
#

Bah tu lui envoie un message avant de le kick ? 🤔
Et s'il à bloqué ses MP tu peux rien faire

#

Tu fais un catch pour l'erreur

timid loom
#

et tu peux juste faire un catch pour éviter le crash

twilit cosmos
#

fais un catch aussi

rough tide
#

vous saurez comment faire ? c'est pour celà que je viens vers vous ^^

timid loom
#

donc soit via .catch soit via try {...} catch {...}

rough tide
#
ClientDiscord.on('message', async message => {
        var messageArray = message.content.split(" ");
        var Command = messageArray[0];
        var args = messageArray.slice(1)
        if (message.content[0] === PREFIX){
            if (message.content === PREFIX + "kick")
            if (!message.member.hasPermission('KICK_MEMBERS')) return message.channel.send("❌ | Vous n'avez pas la permission d'éffectuer cette commande")
            var member = message.mentions.members.first()
            if (!member) return message.channel.send("❌ | Veuillez mentionner un utilisateur à kick. ")
            if (member.highestRole.calculatedPosition >= message.member.highestRole.calculatedPosition && message.author.id !== message.guild.owner.id) return message.channel.send("❌ | Vous ne pouvez pas kick un Administrateur.")
            if (!member.kickable) return message.channel.send("❌ | Je ne peut pas kick cet utilisateur.")
            var pseudo = member.user.username
            member.kick()
            var reason = (args.length < 2) ? "Aucune raison" : args[1];
console.log(args);
console.log(reason);
            await member.kick(reason)
            let kickembed = new discord.RichEmbed()
                .setColor("B40404")
                .setAuthor(member.user.username, member.user.displayAvatarURL)
                .setDescription("**" + pseudo + "** à été kick par " + message.author.username + ".")
                .addField("Raison :", reason)
                .setFooter("MatixRP | MatixBot ")
            message.channel.send(kickembed)
            var pseudo = "Vous"
            member.createDM().then(channel => {
                channel.send(kickembed)
            })
#

voilà mon code

#

du coup je déplace le member.createDM ou ?

timid loom
#

pourquoi tu fais un await sur ton member.kick?

#

tu peux faire then

rough tide
#

ça change quoi ?

timid loom
#

en gros, ça te permet de garder la propriété synchrone de ta fonction, et d'exécuter le code dans le then seulement après avoir kick quand même

rough tide
#

du coup je met le then ou ?

timid loom
#

bah attends je t'explique pourquoi tu dois le déplacer

rough tide
#

merci

errant rampart
#

Tu veux juste la réponse ou tu veux aussi comprendre comment ça fonctionne ? 🤔

rough tide
#

comprendre

#

parceque sinon c'est completement inutile autant le faire coder par qlq d'autre

timid loom
#
await member.kick(reason); // asynchrone, bien mais pas super

member.kick(reason)
    .then(member => member.createDM(...)) // synchrone, mieux```
bon c'est bien mais du coup nous on vient de te dire qu'il fallait le faire avant donc en gros tu vas mettre le member.kick dans le then après ton createDM, du coup ça te fait un truc de ce style :
```js
member.createDM().then(channel => {
    channel.send(kickembed)
        .then(() => member.kick().catch(console.error))
})```
rough tide
#

ahh

#

juste j'ai pas compris synchrone et asynchrone

timid loom
#

autrement dit, d'abord tu crées le DM
ensuite, une fois créé, tu envoie le message
une fois le message envoyé tu kick, et tu catch les erreurs en les envoyant dans la console

rough tide
#

oue j'ai compris ça

#

mais c les termes que j'ai pas compris xd

timid loom
#

synchrone -> tu sait pas vraiment quand ça s'exécute, c'est basé sur des évènements
asynchrone -> l'ordre d'exécution est l'ordre dans lequel ça a été écrit dans le code

rough tide
#

ahh

timid loom
#

l'intérêt du synchrone c'est que tu peux faire plusieurs trucs en même temps

rough tide
#

bah merci bcp , je connaissais pas le catch error ^^

timid loom
#

attention hein là le truc que je t'ai montré ça le kick que si le message est bien envoyé

#

donc il faudrait que tu fasse un catch juste après le .then pour le kick dans tous les cas

rough tide
#

ah bah j'ai pas virer le await xd

timid loom
#

bah je viens de répondre à ta question juste au-dessus

rough tide
#

je rééssaye

#

ça marche merci beaucoup

timid loom
rough tide
#

j'ai regarder une vidéo merci bcp

#

par contre j'ai un autre problème j'suis désolé de te redemander mais ça te dérangerais pas de me re-aider ?

timid loom
#

demande toujours

rough tide
#

du coup

#
ClientDiscord.on('message', async message => {
        var messageArray = message.content.split(" ");
        var Command = messageArray[0];
        var args = messageArray.slice(1)
        if (message.content[0] === PREFIX){
            if (message.content === PREFIX + "kick")
            if (!message.member.hasPermission('KICK_MEMBERS')) return message.channel.send("❌ | Vous n'avez pas la permission d'éffectuer cette commande")
            var member = message.mentions.members.first()
            if (!member) return message.channel.send("❌ | Veuillez mentionner un utilisateur à kick. ")
            if (member.highestRole.calculatedPosition >= message.member.highestRole.calculatedPosition && message.author.id !== message.guild.owner.id) return message.channel.send("❌ | Vous ne pouvez pas kick un Administrateur.")
            if (!member.kickable) return message.channel.send("❌ | Je ne peut pas kick cet utilisateur.")
            var pseudo = member.user.username
            var reason = (args.length < 2) ? "Aucune raison" : args[1];
console.log(args);
console.log(reason);
            let kickembed = new discord.RichEmbed()
                .setColor("B40404")
                .setAuthor(member.user.username, member.user.displayAvatarURL)
                .setDescription("**" + pseudo + "** à été kick par " + message.author.username + ".")
                .addField("Raison :", reason)
                .setFooter("MatixRP | MatixBot ")
            message.channel.send(kickembed)
            var pseudo = "Vous"
            member.createDM().then(channel => {
                channel.send(kickembed)
                    .then(() => member.kick().catch(console.error))
#

voilà mon script

timid loom
#

pas la peine de tout m'envoyer hein, dis juste le problème

rough tide
#

et voilà le problème , quand j'écris deux raisons , ça m'en affiche qu'une seul

#

je pense que le pb viens de var reason = (args.length < 2) ? "Aucune raison" : args[1]; mais je sais pas d'ou exactement

timid loom
#

bah

#

args[1] c'est seulement un seul argument

rough tide
#

ah bah oui xd

timid loom
#

il faudrait parcourir tout ton args à partir de 1

#

et append

rough tide
#

j'suis désolé je débute j'avais pas fait attention

#

du coup je dois mettre un nombre plus haut que 1 ?

#

genre 7 ?

timid loom
#

wut

rough tide
#

bah parceque si j'ai bien compris quand je fais args[1] ça en prend qu'un seul mais le but c'est d'avoir les deux mots ou plus

timid loom
#

nan tu fais genre un for (let i = 1; i < array.length(); i++) { ... }

#

je sais pas quelque chose de ce style

rough tide
#

j'ai pas compris désolé :/

hazy mirage
#

hmm pourquoi le premier console.log log bien quelque chose et le deuxieme ne log rien svp? thinkingplayer

timid loom
#

tu utilise une boucle pour parcourir ton tableau à partir de 1 @rough tide

rough tide
#

ahh

#

je vais me renseigner merci

#

en tt cas merci bcp de ton aide et de ta patience

timid loom
#

@hazy mirage pareil que hellastok, pourquoi tu fais pas ton console.log dans un .then

#

?

hazy mirage
#

ça ma mis ça moi quand j'ai essayé

timid loom
#

mais tu peux faire ta propre Promise hein c'est pas interdit

hazy mirage
#

?????

timid loom
#

les .then c'est sur des Promise

#

donc quand tu fais .then en réalité tu utilise la valeur de retour d'une fonction et cette valeur de retour est une Promise

rough tide
#
for(let i = 1;  i < 10; i++) {

}
#

en gros j'dois mettre ça dans args

hazy mirage
#

mais pourquoi ça me met que c'est pas une fonction ? thinkingplayer

timid loom
#

par exemple @rough tide

#

parce que .then sur l'objet de retour de query n'existe pas

hazy mirage
#

ha

timid loom
#

donc then pour lui c'est pas une fonction, c'est undefined

#

et undefined() ça n'existe pas

rough tide
#

encore une fois désolé de te déranger mais c'est normal que ça m'affiche tout en collone ?

#

problème résolu désolé ^^

twilit cosmos
#

@rough tide aufait c'est a été kick

#

Si tu veux te faire prendre au sérieux

slim anvil
#

du verbe avoir

rough tide
#

@twilit cosmos tant d'irrespect pour la langue francaise dans un seul bot sue

crude wasp
#

le respect c'est commercial 😎

keen narwhal
#

TypeError: Cannot read property 'filter' of null
at fs.readdir (c:\Users\enzom\Desktop\Piby\index.js:13:23)
at FSReqWrap.args [as oncomplete] (fs.js:140:20)

#

Nouveau problème

slim anvil
#

tu filtres sur un element qui n'existe pas

hazy mirage
#

bonjour

west plover
#

Pourquoi tu return ? thinkingplayer

#

T’as juste a appeler les callbacks

hazy mirage
#

on à trouver un truc

keen narwhal
#

euh

#

je comprend rien

#

😂

slim anvil
#

tu dois faire un filter sur un array

#

donc check avant si ton tableau existe

west plover
#

(je parlais à Pilot, mais ce boloss a del son message)

slim anvil
#

parle mieux de pilot

#

sinon rien

spring dock
#

sinon t'aura pas ton nitro a noel

west plover
#

no pls

slim anvil
#

voilà

west plover
#

Tu ne me feras pas ça tout de même, j’suis gentil comme tout kappa

weak grove
#

Hello j'ai un problème je n'arrive pas a utiliser npm pour lancer mon bot quand j'essaye de lancer par la commande node index.js cela m'affiche rien alors que cela devrais m'affichez un message

slim anvil
#

T’as bien install node?

#

Si tu fais node -v tu as quoi

weak grove
#

rien

#

pourtant j'ai installez

#

apt install node

#

et

#

apt install nodejs

slim anvil
#

T’es sûr linux ?

weak grove
#

yep

slim anvil
#

Chelou ton terminal

#

On dirait que t’écris la ou une commande run

#

Fais un ctrl c dans ton terminal ?

weak grove
#

mon terminal est coloré mais c'est mon hébergeur qui fait ça

slim anvil
#

Ah tu me montrais que à partir du # Okep my bad

#

T’es sur quel distri?

weak grove
#

Debian

slim anvil
#

T’as fais la commande curl etc ?

weak grove
#

Mhhh

slim anvil
#

Car sur les nouvelles distri il faut faire sa maintenant

weak grove
#

possible de vocal ?

slim anvil
#

Look that

#

Débian combien ?
La nop pas dispo sorry

weak grove
#

ok pas de soucis

#

j'ai pas trop compris il faut faire quoi avec curl ?

slim anvil
#

T’es sûr debian mais quel version

#

Et tu uses souvent les distri Linux ? Car si t’es pas un habitué le mieux c’est d’aller sur un ubuntu16 ou 18 plus simple à prendre en main, après c’est mon avis👀

weak grove
#

Ouais j'suis habitué a debian alors par contre sa dois être debian 8 sinon je sais plus trop

slim anvil
#

Bon pas tout mais le début te montre l’install node

weak grove
#

ah merci

#

ok

#

en faite quand je tape "node" dans ma console cela ne fait rien

west plover
#

npm run index.js ?

timid loom
#

c'est parce que la commande c'est nodejs de base je crois

#

du coup le mieux est d'utiliser npm start par exemple

weak grove
#

ça fait pareil

timid loom
#

🤔

weak grove
#

c'est chelou

#

j'ai reboot et tout mais bon

slim anvil
#

Mais normalement node -v

timid loom
#

quand nodejs --version ça fait rien ?

slim anvil
#

Te file ta version

weak grove
#

ahhh node sa marche pas mais nodejs sa marche

timid loom
#

bah oui voilà

#

oula la version m'a pas l'air ouf là

slim anvil
#

Bah nodejs index.js

weak grove
#

mh

slim anvil
#

ah ouais de ouf

weak grove
#

ouais mais la sa fait un bug

slim anvil
#

T’es à la bourre de quelques version la

weak grove
#

ah merde

#

comment update

timid loom
#

et t'as npm du coup ?

weak grove
#

yep

timid loom
#

fais npm install je crois que ça check les updates

weak grove
#

🤔

timid loom
#

hum

#

attends

#

ah il faut utiliser nvm

slim anvil
#

Prend la 13

#

12*

#

oui nvm install node et npm

timid loom
slim anvil
#

Sinon

timid loom
weak grove
#

mh ca marche un peu mieu

#

mtn ya sa

slim anvil
#

npm i

#

Le package discord.js est pas install

#

look ton package.json

timid loom
#

il faut installer discord.js via npm

weak grove
#

Ah niiceee

#

sa marche

slim anvil
#

Si il est dans npm i

weak grove
#

mercii

slim anvil
#

De rien

hazy mirage
#
    console.log(args) // OUTPUT: [ '1', '2', '3', '4' ]
     
    let answer = args.splice(0, 1)
     
    console.log(answer) // OUTPUT: [ '1' ]
#

le args.splice(0,1) est pas censé retirer 1 element en partant de la position 0 du Array ?

#

wtf

#
console.log(args) // OUTPUT: [ '1', '2', '3', '4' ]

let answer = args.shift()

console.log(answer) // OUTPUT:  '1'
#

le .shift devrait pas retirer le premier élément ?

slim anvil
#

fais un args.slice(1)

hazy mirage
#

merci bg ❤️

slim anvil
#

ca devrait être bn

ember cloak
#

Bonjour j'ai besoin d'aide x)

queen ocean
#

C'est }

#

et pas {

#

et pareil pour tout ceux qui suivent enfaite

#

lignes 98, 99, 100, 101

slim anvil
#

{ t’ouvres la porte

#

Tu fermes la porte }

queen ocean
#

🚪

ember cloak
#

Ok merci bcp mais c'est normal que ça me met tjrs un problems ?

slim anvil
#

Il te manque un }

#

A en croire le msg d’erreur

queen ocean
#

pourquoi mettre une ) à la fin 🤔

#

fin en vrai peut-être qu'il faut

#

et comme on a pas le début je sais pas

slim anvil
#

On voit pas tout

#

Du coup complex

fallen tree
#

Salut, j'ai un soucis au niveau du BOT MEE6 : je souhaite faire en sorte qu'un grade sois donné aux nouveaux arrivants, mais ça m'indique quil ne peux pas faire ceci car le rôle ne marche pas, qu'il faut que je mette le rôle devant les autres... mais je ne vois pas où.

queen ocean
#

Dans les settings de ton serv, vérifie que le role de MEE6 est au dessus de celui du grade que tu veux donner

floral bolt
#

On peut faire une fonction globale sur discord.js ?

#

Comme en glua ?

timid loom
#

@floral bolt bien sûr qu'on peut exporter des fonctions, il faut utiliser module.exports (je te laisse google)

floral bolt
#

Parfait merci

tranquil moat
#

Bonjour, je galère énormément pour config l'addons prometheus discord roles quelqu'un pourrait m'aider svp ? C'est pour relier la boutique de mon serveur web a mon discord

plush lava
#

Euh.

tranquil moat
#

Enfaite il me dit qu'il faut mettre sa dans l'app du bot

#

http://<domain>:<server_port>/api/discord/callback

#

le domaine je voie se que c'est mais le port ? je ne sais pas ou le trouver sur mon serv web

#

@plush lava

marsh drift
#

générallement c'est 80 en http et 443 en https

#

si tu as une config spéciale il faut regarder la config de ton service http sur le serveur

tranquil moat
#

Mais en fait je suis bête il faut que j'aille voir sur Ionos ou j'ai acheté mon domaine je pense nan

marsh drift
#

oui ça peut aider

#

mais de base tu peut test sans le port

tranquil moat
#

Bah nan car après il me le re demande pour config les ranks

marsh drift
#

c'st seulement si il est spécifique que ça va poser problème

#

je ne connais pas promethéus, donc il l'exige peut être en effet

tranquil moat
#

Merci pour l'aide en tout cas je vais essayer de me débrouiller

marsh drift
#

pas de quoi 🙂

keen narwhal
#

Comment je peut faire que quand une commande exemple :

w!test avec mon bot est effectué sa va écrire dans un salon que j'aurais défini avec son identifiant : Commande test lancé

#

??

#

c bon g trouvé ^^

timid loom
#

Si d'autres ont le même problème :

guild.channels.get('idDuChannel').send('message');```
plush lava
#

Guild = message.guild sinon ça marche pas

slim anvil
#

ça peut marcher si avant il fait un const { guild } = message kappa

plush lava
#

Oui

#

C'est un peu ce que j'ai dit

#

Wait what

slim anvil
#

??

plush lava
#

C'est message.guild pas message tout seul 🤔

slim anvil
#

Bah nop pas avec les {}

west plover
#

D’ailleurs ça se nomme comment cette forme ? :
const { guild } = message

slim anvil
#

déstructuration

#

ES6

marsh drift
#

je me coucherais moins con ce soir

slim anvil
#

du coup pour l'exemple, ça permet de déclarer plusieurs variables d'un coup, dans l'exemple:
const { user, guild, author } = message

marsh drift
#

pareil que const [user, guild, author] = [message.user, message.guild, message.author] de l'époque

spring dock
#

en gros tu fait user et sa return meesage.user ?

slim anvil
#

yes

#

c'est un équivalent a const user = message.user

#

Mais si jamais ton user existe déjà, tu peux aussi faire const { user: myNewUser } = message

#

et du coup dans vos fonctions, vous pouvez directement dans vos params faire un function ({ user, x, x }) => {.... ca ira encore plus vite que de le faire en const la ligne du dessous

plush lava
#

Ouais mais

#

Enfaite rien

slim anvil
spring dock
#

oui mais @slim anvil ya une différence entre const user = message.user et const {user} = message

slim anvil
#

bah deja sa marche pas sur edge et sur ie kappa

plush lava
#

Alfou il a osé traité mon navigateur favori

spring dock
#

qui utilise edge/ie ?

slim anvil
#

@plush lava

spring dock
#

à part @plush lava

slim anvil
#

ah bah

#

c'est tout je crois PepeClown

plush lava
#

C'est très bien

spring dock
#

les seules personnes qui l'utilise l'utilise pour télécharger firefox/chrome/etc...

slim anvil
#

Non

#

moi j'ai utilisé safari pour sa kappa

spring dock
#

et sur ton windaube?

slim anvil
#

C'est vrai

#

#general

timid loom
#

La guild tu peux l'obtenir de plein de manières @plush lava

weak grove
#

Hello, j'aimerais faire en sorte que quand ont envois un message dans un channel et bah le bot mettent une réaction directement au message, comment faire j'ai cherchez un peu partout mais sa ne marche toujours pas

slim anvil
#

.react('🙂 ')

#

ou autre smiley

weak grove
#

oui mais du-coup quand un mec met un msg dans un channel précis comment faire ça

#

j'ai trouvez ça

#

if (message.content === '!react') {
message.react('😄');
}

slim anvil
#

yes

#

c'est sa

weak grove
#

mais a la place de la commande j'aimerais mettre dans un channel

#

genre par exemple

#

je met un msg dans un channel précis

#

Bonsoir

#

et le bot met une reaction direct

slim anvil
#

Yep mais que si sa vient d'un channel ?

weak grove
#

yep

slim anvil
#

Taink a envoyé sa pour get un channel guild.channels.get('idDuChannel')

weak grove
#

ah nice je vais test

#

j'ai mit ça

#

c'est bon ?

#

guild.channels.get('647804115593986060')
message.react('😄');

slim anvil
#

il faut que tu check si le guild channel et === au channel que tu souhaites par ex^^

weak grove
#

pas compris

slim anvil
#

Si tu veux que le bot react que si il est dans le channel "commands-bot" par exemple, il faut que tu regardes si le message.guild etc... et === a l'id du channel commands-bot

weak grove
#

ah donc ducoup je met ça if (message.content === 'id channel') {

timid loom
slim anvil
#

yes voila merci taink

weak grove
#

ahhh okk

slim anvil
#

je connaissais pas la clé

#

mais yes rytrak et ce sera good

weak grove
#

guild.channels.get('647804115593986060')
if (message.channel.id === '647804115593986060') {
message.react('😄');
}

ducoup j'ai mit ça

timid loom
#

nan

slim anvil
#

tu peux virer le guild channels du cp

weak grove
#

ah ok

slim anvil
#

si tu 'las direct dans le message

timid loom
#

pas besoin de guild.channels.get, en gros dès que tu reçois un message tu vas check si il a été envoyé dans un endroit et agir en fonction

weak grove
#

ok mais ducoup dés que je le lance ça met ça

slim anvil
#

bah tu l'as bien appellé message

#

ton params ?

weak grove
#

yep

humble storm
#

Montre tout ton code

slim anvil
#

yep ce sera plus simple

#

en screen

#

que ce soit lisible

weak grove
#

bah j'ai mit que ça et le truc pour le lancer

slim anvil
#

montre koumem

humble storm
#

"le truc pour le lancer" ?

timid loom
#

ah bah fatalement ça va pas marcher

weak grove
#

le rich presence et le client.on

humble storm
#

Donc, montre

timid loom
#

il faut que tu utilise l'event 'message'

client.on('message', msg => {
    if (msg.channel.id === 'id') {
        msg.react('😀');
    }
};```

par exemple
weak grove
slim anvil
#

oui voila

#

tu as pas mis la fonction du on.('message')

#

comme l'exemple de taink

humble storm
#

Voilà exactement pourquoi on demandait à voir tout le code 🤷

weak grove
#

ahhh

slim anvil
#

remonte ton code

#

tu as mal fermé une fonction

timid loom
#

ah j'ai oublié une parenthèse

weak grove
#

ah ok

slim anvil
#

ah ui rajoute un )

#

entre le } et ;

timid loom
#

tu peux la rajouter, elle est juste après l'accolade

humble storm
#

@timid loom t'es mauvais en tutos c/c kappa

timid loom
#

bah dsl de le faire de tête sur discord :(

slim anvil
#

on t'excuse mais que cette fois-ci

#

la prochaine fois t ban

timid loom
#

:o

humble storm
#

Tu dois penser à ceux qui font du c/c sans analyser !

weak grove
#

ici?

timid loom
#

nan

#

y a pas de ; d'ailleurs wtf

weak grove
#

ah

slim anvil
#

a la derniere accolade

#

entre le } et ;

weak grove
#

ahh oui j'suis con

timid loom
#

slim anvil
#

Mais non kappa

#

ah ok taink

weak grove
#

niquel ça marche 🙂

#

merci

timid loom
#

tkt je répondé a toa @slim anvil kappa

#

askip

weak grove
#

et du-coup si j'ai envie de mettre des emoji perso du serveur ont peux pas ?

slim anvil
#

!rule 1

ancient sonnetBOT
#

:one: Respectez les autres membres.
Le troll est autorisé mais de manière modéré et sans acharnement. Privilégie le channel #general pour les commentaires qui ne sont pas liés à l'entraide :scream:

slim anvil
#

pourtant c'est toi qui fait les bots taink tu devrais le savoir kappa

#

Sisi @weak grove

timid loom
#

c'est pas moi qui ai fait la commande !rule

slim anvil
#

Enfin je pense sa je sais pas demande a taink c le best

timid loom
#

haha

#

ouais

#

c'est possible

slim anvil
#

si tu mets le code dans le react surement

timid loom
slim anvil
#

bien vu

timid loom
#

l'emoji lua elle est à nous

slim anvil
#

react(':kappa:') genre sa

timid loom
#

att je vais revérifier sur la doc

weak grove
#

sa fait freeze tout

slim anvil
#

pour le custom j'ai trouvé sa: client.emojis.get("123123123123")

#

message.react(client.emojis.get("id-emoji?"))

timid loom
#
// React to a message with a custom emoji
message.react(message.guild.emojis.get('123456789012345678'))
  .then(console.log)
  .catch(console.error);```
c'est l'exemple du wiki
weak grove
#

nice jvais test

timid loom
#

franchement rytrak tu pourrais vérifier la doc hein on est pas les seuls à pouvoir le faire https://discord.js.org/#/docs/main/stable/class/Message?scrollTo=react

slim anvil
#

OUAIS

#

Après si ca peut t'éviter les erreurs de roles comme Zaros ( t le plus fort zaros dsl . )

weak grove
#

je conaissez pas trop la doc suefort

spring dock
#

et apprendre les bases du js avant de te lancer dans la création d'un bot aussi ça peux être pas mal

rough tide
#

Bonsoir , est-ce qu'il y'as un moyen de vérifier si un utilisateur a un role ?

Exemple : Si je définis une varibale Muted avec mon role muted , est-ce que je peut vérifier que l'utilisateur n'as pas le role muted ?
il existe une fonction genre muteuser.hasrole ?

#

j'ai trouvé , merci !

plush lava
#

De rien 👀

weak grove
#

Re, j'ai un autre problème c'est que mon bot ne trouve pas le message enfin sa me dit message is not defined quand je met un message dans mon channel

humble storm
#

msg.react

west plover
#

msg

humble storm
#

ça devrait mieux marcher

weak grove
#

ahh

ancient sonnetBOT
#
Citation de Bob le bricoleur#1293 posté dans #aide-bots

Cliquez sur 📄 pour accéder au message.

et apprendre les bases du js avant de te lancer dans la création d'un bot aussi ça peux être pas mal

weak grove
#

Oui je comprends mais c'est pas pour faire un bot compliqué ya juste deux trois truc deçus

timid loom
#

faut pas c/c bêtement non plus

slim anvil
#

🤔

rough tide
#

@weak grove a ce moment là prend toi une demi heure et regarde des tutos base du js

#

ensuite tu auras les bases et tu pourras mieux coder ton bot

compact sky
#

Euhh , j'ai une question est-ce que quelqu'un serait m'orienter , j'aimerais quand par exemple on me mentionne sur le discord bah sa supprime le message et que sa mette "TATATAT fais un ticket" , merciiii 😦

queen ocean
#

avec discord.js ?

compact sky
#

Euh , oui !

west plover
#

tu check la première mention, si l'utilisateur mentionné correspond à toi (donc check les id), tu supprimes le message (message.delete()), tu récupères le channel voulu (message.guild.channels.get( id )) et tu écris le contenu du message dans le channel récup avec le format souhaité (embed, etc)

compact sky
#

Okkkkkkkk , tu aurais lien l'expliquant ? 🤔

west plover
#

expliquant quoi ? thinking_hard

spring dock
#

il viens de t'expliquer la

hazy mirage
#

J’ai fait ça sur téléphone, c’est possible qu’il y est une erreur mais dans l’idée ça fait un truc comme ça ```JS
bot.on("message", message => {
let mention = message.mentions.members.first()

if (mention && mention.user.id === "tonid") {
message.reply("Merci de ne pas me mentionner et de faire un ticket");
message.delete();
}
})```

compact sky
#

@hazy mirage ty 😉

hazy mirage
#

^^

west plover
#

c’était pas trop dur de réfléchir à ce que je vois è_é

keen narwhal
#

Bonjour comment je peut faire pour afficher le nombre de membre de mon discord dans le setActivity de mon bot ?

west plover
#

client.guilds.get( "idDeTonDiscord" ).users.sizes

#

(je ne sais plus si c’est size ou sizes)

keen narwhal
#

c bon sa ?

#
client.on("ready", () => {

    console.log(` > MoonBot connecté en tant que -> ${client.user.tag} `);
        client.user.setActivity( `m!help - ${client.guilds.get( "640599155252920320" ).users.sizes}`),
          { type: "WATCHING" }
  });
#

je débute donc j'en sais rien

west plover
#

thinkingplayer

keen narwhal
#

je test

#

c'est ni size ni sizes

#

TypeError: Cannot read property 'size' of undefined

west plover
#

Donc on obtient pas une valeur correcte de la guild ou des users

#

Fais un console.log( client.guilds.get("id") )

keen narwhal
#

undefined

#

: /

west plover
#

lourd

keen narwhal
#

😂

west plover
#

Et console.log( client.guilds )

keen narwhal
#

Map(1) {_array: null, _keyArray: null}

#

: /

west plover
#

Ah donc c’est bon

#

Tu t’es pas gouré dans l’ID du serveur par hasard ?

keen narwhal
#

bah clic droit sur le logo de mon serv , copier l'identifiant

#

640599155252920320

west plover
keen narwhal
west plover
#

(il est nul cet emoji)

#

Et que contient ton Map(1) blabla ?

keen narwhal
#

Map(1) {_array: null, _keyArray: null} index.js:10 _array:null _keyArray:null [[Entries]]:Array(1) size:1 __proto__:Map {constructor: , set: , delete: , …}

west plover
#

Et l’array(1) ?

keen narwhal
#

ou

west plover
#

Cherche

keen narwhal
#

length:1
0:{"640599155252920320" => Guild} {key: "640599155252920320", value: Guild}

west plover
#

L’ID est le même 🤔

#

Réessaye console.log( client.guilds.get( "640599155252920320" ) )

keen narwhal
#

sa a marché ! mais sa me met undefined user size

#

pas ton code mais le mien

west plover
#

Comment ça ?

keen narwhal
#

bah engros g mis sa

#

"m!help" + ${client.user.size} membres,

#

et sa me met : UNDEFINED

west plover
#

wtf

#

C’est normal que ça te mette undefined

#

Mais c’est pas comme ça que tu vas récupérer le nombre de membres sur ton Discord

#

Je viens de lire le wiki

#

Apparemment users n’existe pas sur les Guilds

#

Donc remplace users dans mon code par members

keen narwhal
#

undefined

#

Vla l'code :

client.on("ready", () => {

   console.log(` > MoonBot connecté en tant que -> ${client.user.tag} `);
   client.user.setActivity(
       "m!help | " + client.guilds.get( "640599155252920320" ).members.sizes,
       { type: "WATCHING" }
   )
 });
#

au pire c pas important kappo

west plover
#

Si

#

client.guilds.get( "640599155252920320" ).memberCount

#

encore plus simple

#

(Et c’est size, je viens de verif)

slim anvil
#

t'as le schema de la collection members

weak grove
#

Bonsoir c'est possible de relier un webhook a un bot discord ? en gros pour que le bot discord met les message a la place du webhook, j'ai commencer par load mon json :

let Webhook = {};
LoadFromJSON( "webhook.json" )

puis j'ai créer un autre fichier webhook.json ou j'ai mit ça :

{"type": 1, "id": "ID de mon webhook", "name": "Vote vLife", "avatar": "8f0e0be51c6f223d41c7ea1bec57e877", "channel_id": "551775260689825808", "guild_id": "ggg", "token": "token de mon bot"}
#

et pour le moment rien se passe dans mon channel et aucune erreur

timid loom
#

tu crées un nouveau Webhook et t'envoies des trucs dessus

weak grove
#

ok

keen narwhal
#

Comment je peut faire pour mettre l'avatar du gars qui a rejoint mon discord juste comme le schéma ci dessous

#

le carré rouge : l'avatar
et après c'est le nom mais sa g réussi

west plover
#

member.displayAvatar je crois

keen narwhal
#

ok thx je test

west plover
#

ou member.avatarURL 🤔

keen narwhal
#

sa c bon ? :

.setTitle( member.user.username, member.displayAvatar )

west plover
#

je sais pas, test

keen narwhal
#

ok mais je sais pas si on peut mettre une virgule pour sa

west plover
#

oui

keen narwhal
#

marche po

#

ya pas un truc du style .setTumbnail

slim anvil
#

la doc

keen narwhal
#

je sais plus trop

slim anvil
#

LA DOC

keen narwhal
#

ELLE EST OU

west plover
#
keen narwhal
#

je vient de commencer les bot

#

thx

slim anvil
#

pour ce genre de chose y a tout sur la doc pour le coup

keen narwhal
#

je veut juste afficher son avatard pas son URL je souhaite la mettre juste avant le nom moi

slim anvil
#

Oui, mais tu test ?? au message fais un console.log(message.author) et regarde l'objet

#

tu vas trouver directement l'avatar

#

c'est pour mettre dans un embed ?

keen narwhal
#

ui

slim anvil
#

tu dois passer l'url

west plover
#

pour afficher son avatar, faut donner l'url vers son avatar hein

slim anvil
#

setAvatar je sais pas quoi

keen narwhal
#

quand quelu'un join le serveur

#

mais SA JE SAIS MAIS JE DOIS LE METTRE OUUUUU !!!!!!

slim anvil
#

.setAuthor()

#

sur ton objet embed

west plover
#

arrête de faire l'enfant deux secondes

#

et réfléchis

slim anvil
#

setAuthor(message.author.tag, message.author.displayAvatarUrl)

#

ça devrait se présenter sous ce format quoi

#

pas sur du nom des obj de tête, mais si tu log le paramètre que tu recois, tu vas trouver facilement

keen narwhal
#

mais c pas un message

#

c avec member

west plover
#

bah tu remplaces message.author par member.user

keen narwhal
#

pas sur du nom des obj de tête, mais si tu log le paramètre que tu recois, tu vas trouver facilement

sa sert a rien de me parler en Discordien je connais pas

slim anvil
#

bah tu logs ton paramètre que tu recois....

#

en js on invente pas, faut juste log ce que tu recois et ce sera + simple

keen narwhal
#

code :

client.on( "guildMemberRemove", member =>{
    let embed = new Discord.RichEmbed()
        .setTitle( " Notification De Départ " )
        .setThumbnail( member.user.avatarURL )
        .setDescription( member.user.username + " a quitté " + member.guild.name )
        .addField( "Membres Actuels : " + member.guild.memberCount )
        .setColor( 0xcf1b0e )
        .setFooter( "© MoonCity - 2019" )
        member.guild.channels.get( "647400093166600192" ).send(" ** Member Leaved : " + member.user.username + "**" )
        member.guild.channels.get( "640609713548951582" ).send(embed)
});

slim anvil
#

c'est displayAvatarURL

keen narwhal
#

sa marche quand même

#

le prob c a cause du addField

#

une idée ?

west plover
#

faut rajouter un deuxième argument au addField

keen narwhal
#

je met quoi

#

g pas envie moi

west plover
#

le message

slim anvil
#

Si

#

tu mets

west plover
#

bah tu mets pas de addField alors

slim anvil
#

addField('Membres actuels', member.guild.memberCount)

#

au lieu de concat

keen narwhal
#

ah ok thx

slim anvil
#

ça revient au meme

cold turtle
#

@slim anvil tu as oublié quelque chose

#

.addField('Membres actuels', `member.guild.memberCount`)

slim anvil
#

Non pas du tout

west plover
#

Là c faux

#

Manque ${}

slim anvil
#

Mais surtout sur la ca n’a aucune utilité

#

Tu passes en paramètre ta variable pas besoin de concat

spring dock
#

Il s'agirait d'apprendre les bases du js

floral bolt
#

Salut, je cherche a refresh un message

queen ocean
floral bolt
#

Yes

#

Merci

vivid swallow
#

Bonjour,
je voudrais juste savoir, il faut un hébergeur pour faire un bot discord ?

#

(et pour un bot twitch ?)

fringe wyvern
#

C est mieux de prendre un hebergeur pour un bot mais sinon tu peux le faire tourner sur ton pc

#

Mais un hebergeur bot peut tourner h24 sans probleme généralement, le prix est pas cher et il me semble que tu peux mettre plusieurs bots sur le même hébergement

vivid swallow
#

d'accord

#

merci

west plover
#

Généralement, tu dev le bot sur ton PC, parce que c’est plus rapide, et quand il est terminé, tu investis un peu pour le mettre on everytime

vivid swallow
#

d'accord

slim anvil
#

Mais faut prendre un serveur pas un hebergement web kaou

#

sur wizzarheberg tu as des solutions faites pour heberger des bots, et vraiment pas cher

#
vivid swallow
#

oui... j'y avais fait un tours

errant rampart
#

En plus avec le code promo GCA tu as 5% de réduction 😉

queen ocean
#

👌

hazy mirage
#

Hey

#

Discord me renvoie ça quand je fais message.reactions: Collection { '✅' => MessageReaction { message: Message { channel: [Object], deleted: false, id: '', type: 'DEFAULT', content: '', author: [Object], member: [Object], pinned: false, tts: false, nonce: undefined, system: false, embeds: [Array], attachments: Collection {}, createdTimestamp: 1575468941847, editedTimestamp: 1575468942337, reactions: [Circular], mentions: [Object], webhookID: null, hit: null, _edits: [] }, me: true, count: 2, users: Collection { '' => [Object] }, _emoji: ReactionEmoji { reaction: [Circular], name: '✅', id: null } }, '❌' => MessageReaction { message: Message { channel: [Object], deleted: false, id: '', type: 'DEFAULT', content: '', author: [Object], member: [Object], pinned: false, tts: false, nonce: undefined, system: false, embeds: [Array], attachments: Collection {}, createdTimestamp: 1575468941847, editedTimestamp: 1575468942337, reactions: [Circular], mentions: [Object], webhookID: null, hit: null, _edits: [] }, me: true, count: 2, users: Collection {}, _emoji: ReactionEmoji { reaction: [Circular], name: '❌', id: null } } }

queen ocean
#

jusque la tout va bien 👀

errant rampart
hazy mirage
#

Je voudrais savoir comment je peux acceder aux infos de la reaction ✅ et également aux infos de ❌ à partir de cette collection

west plover
#

message.reactions.get( "❌" ) 🤔

queen ocean
#

yep

hazy mirage
#

thx

west plover
#

deux reins

hazy mirage
#

euh

#

ça me donne plus accès à l'object users: du coup ça

west plover
#

bah si

errant rampart
#

Ta collection est vide

#

Essaie de récupérer celle du ✅

hazy mirage
#

c good enfait

west plover
#

Pilot qui invente des problèmes kappo

hazy mirage
#

je connais déjà la solution à mon probleme

#

||point faible: tro for kappa ||

west plover
#

sans aucun doute kappo

hazy mirage
#

ha

#

mais

#

enfait le raw sur les MessageReactions

#

ça me permet tj pas d'accèder aux users des reactions d'avant le reboot du bot

west plover
#

"tro for" qui disait kappo

hazy mirage
#

quelqu'un d'autre à une idée svp?

timid loom
#

fetchUsers

#

let users = await message.reactions.get( "❌" ).fetchUsers().catch(console.error);

#

si c'est toujours d'actualité 👀

#

ça donne une collection dans users

#

alternativement on peut faire js message.reactions.get( "❌" ).fetchUsers().then(users => { // ce que tu veux faire ici }.catch(console.error);

hazy mirage
#

Ok je testerai merci

silent iris
#

Bonsoir, j'ai un problème avec mon bot j'obtient cette erreur lorsque je décompose ma variable réaction dans un messageReactionAdd : Uncaught Promise Rejection TypeError: Cannot destructure property 'message' of 'reaction' as it is undefined.

Le code :

client.on('raw', async ({ t: eventName, d: data }) => {
    if (!events.hasOwnProperty(eventName)) return;
    console.log(eventName, data)
    const channel = client.channels.get(data.channel_id);

    if (channel.messages.has(data.message_id)) return;

    const user = client.users.get(data.user_id);
    const message = await channel.fetchMessage(data.message_id);
    const reaction = await message.reactions.get(data.emoji.id || data.emoji.name);
        console.log(user, message, reaction);
    client.emit(events[eventName], reaction, user); // Ligne 90
});

client.on('messageReactionAdd', (reaction, user) => {
    if(user.bot) return;
    const { message, emoji } = reaction; // Ligne 95

    if(emoji.id === '652542060494061589') {
        if(message.id === "652540512510803969") {
            if(message.guild.member(user).roles.has('652546593018478602')) return;
            message.guild.member(user).addRole('652546593018478602')
                .then(user.send(`> Tu as bien été inscrit pour la prochaine session RolePlay !`))
                .catch(console.error);
        }
    } 
});
slim anvil
#

Tu peux capture écran ton éditeur )? Ce sera plus visible please

silent iris
#

yes

slim anvil
#

Si tu logs réaction tu as quoi ?

silent iris
#

undefined

#

et pour message et user c'est bon j'ai les trucs

#

donc c'est au niveau du message.reactions.get(data.emoji.id || data.emoji.name); que ca cloche

#

j'ai essayé de mettre un await mais ca change pas

slim anvil
#

Je le vois pas ton message.reactions dans ton screen

#

Ah oui ok !

#

Sorry

#

Si tu log ta réponse au message.reactions.get tu reçois quoi ?

silent iris
#

dans le raw