#javascript-typescript

1 messages · Page 63 of 1

hazy mirage
#

tu utilise quelle version de discord js

peak cedar
#

idk 😂

oak turret
#

package.json

#

loik

#

look

peak cedar
#

@hazy mirage att sa va beug je vais sur mon bon ordi

hazy mirage
#

elle n'est pas compatible avec ta version de node c'est pour ça que ça plante car enzo à dit que la feature a été rajouté dans une version récente

#

donc djs doit utiliser une version + recente que ce qu'a toi

#

car l'erreur est dans les fichiers de djs

oak turret
#

ça parait pas mal

hazy mirage
#

supprime ton package-lock et node_modules

#

met la version 11 dans ton package .json de djs

#

on va voir si ça marche mieux avec la 11

oak turret
#

ah bah oui du coup il peut mĂȘme pas update node

hazy mirage
#

11.6.3

oak turret
#

Ă  moins qu’il dise Ă  l’hĂ©bergeur de l’update pour son panel

hazy mirage
#

c'est son propre hebergeur

#

donc a ce moment lĂ  je vais te filer ma nest ptero en mp qui utilise la v14 de node

slim anvil
#

C’est pas comme si je le disais depuis 30 minutes onche

oak turret
peak cedar
#

C’est pas comme si je le disais depuis 30 minutes onche
@slim anvil OE deso mais j'avais pas comprit 😭

#

je suis DEBILE

#

j'te jure mdrrr

cedar crest
#

Quelqu'un a une idée pour qu'un évÚnement se déclenche aprÚs un certain temps (pour un giveaway) ? En prenant compte que je ne peux pas laisser une fonction tourner sinon les tierces fonctions ne pourront se déclencher. En python

open night
#

j'ai un bug
quand je lance la commande !server ( qui me donne les info du serveur ), sa me met 5 fois le message
une erreur en mettant node index.js a chaque fois je pense

hybrid berry
#

@open night est-ce que tu as plusieurs instances de ton bot lancés ?

sudden onyx
#

Salut! Je voulais savoir si quelqu'un aurait une solution Ă  mon problĂšme đŸ€”
Enfaite je fais un embed, et j'essaie de mettre un Thumbnail, sauf que bah j'ai beau checker tous les liens internet d'exemple, mon embed s'affiche bien, mais j'ai pas le Thumbnail qui s'affiche 😐 (Je prĂ©cise que l'image est bien valide ^^')

Merci de votre aide ❀

timid loom
#

Salut! Je voulais savoir si quelqu'un aurait une solution Ă  mon problĂšme đŸ€”
Enfaite je fais un embed, et j'essaie de mettre un Thumbnail, sauf que bah j'ai beau checker tous les liens internet d'exemple, mon embed s'affiche bien, mais j'ai pas le Thumbnail qui s'affiche 😐 (Je prĂ©cise que l'image est bien valide ^^')

Merci de votre aide ❀
@sudden onyx tu as relancé ton bot depuis ta modif?

sudden onyx
#

Yes

#

Mais enfaite je crois c'est mon discord qui doit buggĂ©, car je n'arrive mĂȘme pas a supprimer un channel đŸ€”

timid loom
#

tu utilise quoi comme langage/librairie?

sudden onyx
#

Discord.js

timid loom
#

ok

sudden onyx
timid loom
#

tu devrais passer via un MessageEmbed

#

t'as moins de risque de te tromper

sudden onyx
#

Ok ok 😉 Merci de ton aide je vais test avec!

tribal perch
#

montre ton code @sudden onyx

sudden onyx
#

Enfaite mon Thumbnail s'affiche je viens de voir, mais dĂšs que j'envoie le message il ne s'affiche pas, il arrive au bout de quelques minutes đŸ€”

tribal perch
#

C juste ta co

#

pk tu fait pas un handler

#

c bcp mieux

#

c bcp mieux

sudden onyx
#

Ah bah d'accord x)
Tu as un exemple d'handler ?

tribal perch
#
#

@sudden onyx

#

c mieux tu le fasses par toi mĂȘme que du copiĂ© coller tu ne va jamais Ă©voluer sinon

timid loom
sudden onyx
#

Je cherche pas Ă  copiĂ© coller, juste des exemples d'utilisation ^^ Je te remercie de ton aide 🙂

tribal perch
#

getcodingknowledge@sudden onyx

#

ce ytb

#

explique trĂšs bien

sudden onyx
#

Je vais allez le check! Merci 👌

dapper coral
#

l'api était dans le coma pour les embed notamment hier donc sa doit etre pour ça que sa à mis du temps à s'afficher Nicoo

open night
idle ice
#

Bah tu les éteins ?

full scaffold
#

Yo, je cherche un moyen de remettre en mémoire un message dans le cache de mon bot
Pour un systÚme de vérification avec reaction

open night
#

@idle ice en effet j'ai remarquer sa en reboot mon pc 😂

hexed delta
#

Bonjour, es-que une personne connait un bot discord pour afficher le statut de son serveur gmod sous un emblem

outer raven
#

Ă  voir

#

aprĂšs tu peux aussi en faire un et utiliser gamedig, ou faire une API etc etc

hexed delta
#

ok merci a toi !

idle ice
#

Si tu parles d'afficher le "Joue Ă  ... [nom de ton serveur]", ce n'est plus possible

hexed delta
#

non de afficher si le serveur est on

#

et etc

idle ice
#

Dans ce cas, oui tu peux utiliser ce que Michel a préconisé

hexed delta
#

ok merci

idle ice
#

Car Discord et GMod ça fait un bail que ce n’est plus possible, je crois que c’est @west plover qui saura en dire plus

#

De mes souvenirs, Discord ont bloqué la RICH Présence avec GMod car il surchargeait

oak turret
#

tu peux toujours get le nom du serveur et le mettre dans le .setActivity() non ?

idle ice
#

Je parle du rich presence de l’utilisateur hein

#

Pas du bot

oak turret
#

il le voulait dans un embed lui ?

#

c'est sur son bot je crois

west plover
#

c surtout les webhooks qui ont Ă©tĂ©s bloquĂ©s (d’oĂč la fonction pour envoyer des messages de gnlib), je ne sais pas pour le rich presence

sand shore
#

Oui le rich presence est bloqué, le seul moyen est de faire download un dll au client

#

Sinon il me semble que @queen ocean avais réussi à en faire un pour Ultimate Survivor Life

queen ocean
open night
#

bonjour j'ai ||encore|| besoin d'aide, j'ai crée un fichier index.js.old mais celui la n'est pas compter comme un fichier javascript
seriez vous comment m'aider ?

slim anvil
#

index.old.js kappa

keen narwhal
#

@keen narwhal

full scaffold
boreal edge
#

Je penses

full scaffold
#

Ok bah j'vais check

peak cedar
#

HELP

#

ebugger attached.
Waiting for the debugger to disconnect...
internal/modules/cjs/loader.js:1175
throw err;
^

SyntaxError: c:\Users**\Desktop\discordbothugo\bdd.json: Unexpected end of JSON input
at parse (<anonymous>)
at Object.Module._extensions..json (internal/modules/cjs/loader.js:1172:22)
at Module.load (internal/modules/cjs/loader.js:986:32)
at Function.Module._load (internal/modules/cjs/loader.js:879:14)
at Module.require (internal/modules/cjs/loader.js:1026:19)
at require (internal/modules/cjs/helpers.js:72:18)
at Object.<anonymous> (c:\Users\Hugo\Desktop\discordbothugo\index.js:4:13)
at Module._compile (internal/modules/cjs/loader.js:1138:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1158:10)
at Module.load (internal/modules/cjs/loader.js:986:32)

slim anvil
#

T’as une erreur dans ton bdd.json

#

t’as mal du fermer une string ou ton objet

peak cedar
oak turret
#

{
"warn": {}
}

peak cedar
#

mrc

oak turret
#

suffit de regarder

slim anvil
#

Ouais franchement là c’est pas avoir besoin d’aide mais juste de regarder ton erreur

oak turret
#

client.guilds.users.cache.size ?

timid loom
#

c'est trĂšs bizarre le fonctionnement

#

moi-mĂȘme je suis un peu dans l'incomprĂ©hension

#

je crois que ça a un rapport avec les intents le souci c'est que l'article qui documente ce sujet n'est pas clair et que sur mes tests rien ne marche comme je le pense

peak cedar
#

slt

#

(node:2548) UnhandledPromiseRejectionWarning: DiscordAPIError: Unknown Message
at RequestHandler.execute (c:\Users\Hugo\node_modules\discord.js\src\rest\RequestHandler.js:154:13)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
at async RequestHandler.push (c:\Users\Hugo\node_modules\discord.js\src\rest\RequestHandler.js:39:14)
at async TextChannel.bulkDelete (c:\Users\Hugo\node_modules\discord.js\src\structures\interfaces\TextBasedChannel.js:333:9)
<node_internals>/internal/process/warning.js:32

#

j'ai cette erreur

#

const antiSpam = new AntiSpam({
warnThresshold: 3,
kickThresshold: 7,
banThresshold: 7,
maxIntervale: 2000,
warnMessage: '{@user}, STOP LE SPAM',
kickMessage: '{user-tag} a était WARN pour SPAM',
kickMessage: '{user-tag} a était BAN pour SPAM',
maxDuplicatesWarning: 7,
maxDuplicateskick: 7,
maxDuplicatesban: 7,
exemptPermission: [ 'ADMINISTRATOR' ],
ignoreBots: true,
verbose: true,
ingnoredUsers: []

});

peak cedar
#

peut on m'aider ?

slim anvil
#

Screen ton code a ce niveau

#

voir ce que tu fais exactement

peak cedar
#

🙂

slim anvil
#

et l'erreur vient de se fichier ?

#

je sais pas comment fonction discord-anti-spam donc je pose la question, tu as bien checkés que ca se déclare comment ceci ?

peak cedar
#

oui

slim anvil
#

tu as la suite du code ? car dans la doc tu dois avoir ce truc au niveau de l'event message

#

pour antiSpam.message(message)

peak cedar
#

y'a que sa

#

je t'ai drop le fichier en mp

slim anvil
#

montre ton fichier ou tu es censé avoir ton client.on('message'....)

floral bolt
#

Salut, j'ai fait ca et ls personnes ne voit pas leurs channl reaction.message.guild.channels.create(`config-${user.username}`, { type: 'text', parent: '776545513335816202', permissionOverwrites: [ { id: reaction.message.guild.id, deny: ['VIEW_CHANNEL'] }, { id: user.id, allow: ['VIEW_CHANNEL', 'SEND_MESSAGES', 'ADD_REACTIONS', 'ATTACH_FILES'] } ]

idle ice
#

Visuellement ça me semble bon
Quand tu check les permissions, sont-elles créées ?

#

Quand tu print user.id ça te retourne le bon ID ?

floral bolt
#

oui tous est bon mais meme quand je regarde les perms je vois pas le joueurs :/

cedar crest
#

@floral bolt Essaye de print qqch aprĂšs l’attribution des permissions pour voir s’il est bien exĂ©cutĂ©, si ça n’est pas le cas alors il doit il y avoir une erreur dans cette ligne.

floral bolt
#

ca marche merci

kindred tartan
#

J'ai besoin d'aide

#

Mon code clear marche pas je sais pas pourquoi

#

Pingez moi si vous pouvez m'aider svp

#

Ou mp discord

keen narwhal
#

@kindred tartan Montre ton code et l'erreur

kindred tartan
#

Bah genre j'ai pas de error mais la commande passe pas 2 sec je te montre

keen narwhal
#

kk

kindred tartan
#

@keen narwhal

#

const Discord = require("discord.js");
const fs = require("fs");
const bot = new Discord.Client();
const config = require("./config.json");

bot.commands = new Discord.Collection();

bot.login(config.token);

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("Aucune commande trouver.")
    return;
}

jsfile.forEach((f, i) => {
    let props = require(`./commands/${f}`);
    console.log(`${f} PrĂȘt !`);
    bot.commands.set(props.help.name, props)
})

})

bot.on("ready", async () => {
console.log("El Trizo : En ligne !");
bot.user.setActivity("Bot de Wa#6666")
});

bot.on("message", async message => {
if(message.author.bot) return;
if(message.channel.type === 'dm') return;

let prefix = config.prefix;
let messageArray = message.content.split(" ");
let command = messageArray[0];
let args = messageArray.slice(1);

let commandFile = bot.commands.get(command.slice(prefix.length));
if(commandFile) commandFile.run(bot, message, args)

});

#

Si tu veux je peut faire un appel discord

#

Si besoin

#

Si tu arrives a trouver car genre je met la commande et il fais rien

keen narwhal
#

Tu peux pas genre mettre ça en bloc de code ?

kindred tartan
#

Comment on fait genre je connais pas la commande discord

keen narwhal
#

De chaque cÎté tu mets ça ```

#

Au début et à la fin

kindred tartan
#
const fs = require("fs");
const bot = new Discord.Client();
const config = require("./config.json");
 
bot.commands = new Discord.Collection();
 
bot.login(config.token);
 
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("Aucune commande trouver.")
        return;
    }
 
    jsfile.forEach((f, i) => {
        let props = require(`./commands/${f}`);
        console.log(`${f} PrĂȘt !`);
        bot.commands.set(props.help.name, props)
    })
})
 
bot.on("ready", async () => {
    console.log("El Trizo : En ligne !");
    bot.user.setActivity("Bot de Wa#6666")
});
 
 
bot.on("message", async message => {
    if(message.author.bot) return;
    if(message.channel.type === 'dm') return;
 
    let prefix = config.prefix;
    let messageArray = message.content.split(" ");
    let command = messageArray[0];
    let args = messageArray.slice(1);
 
    let commandFile = bot.commands.get(command.slice(prefix.length));
    if(commandFile) commandFile.run(bot, message, args)
 
});```
keen narwhal
#

Merci

kindred tartan
#

Pas de soucis

keen narwhal
#

Mais elle est oĂč ta commande de Clear ?

kindred tartan
#

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

    if(!message.member.hasPermission("MANAGE_MESSAGES"))
    return message.reply("Vous ne Pouvez pas utiliser cette commande ! Veuillez contacter le support pour plus d'aider");
    if(!args[0])
    return message.reply("Syntaxe: !clear <entrer le nombre Ă  supprimer>");

    message.channel.bulkDelete(args[0]).then(() => {

        message.channel.send(`***${args[0]} message(s) à/ont bien été(s) supprimé(s) !***`).then(sent => sent.delete({timeout: 5e3}))
    })
}

module.exports.help = {
    name: "clear"
}```
#

La

#

Dans un autre onglet

#

Si tu arrives a trouver

keen narwhal
#

Pourquoi tu mets un timeout ?

kindred tartan
#

Alors enfaite je m'y connais pas je débute et genre on m'as aider a le coder donc je sais pas vriament te dire pourquoi y en a un

#

Sans ça marcherais ?

keen narwhal
#

Bah test

kindred tartan
#

Faut que je retire quel ligne ?

keen narwhal
#

.then(sent => sent.delete({timeout: 5e3})

#

Oublie pas de save etretart

kindred tartan
#

j'attends qu'il ce mette off

#

le bot

#

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

    if(!message.member.hasPermission("MANAGE_MESSAGES"))
    return message.reply("Vous ne Pouvez pas utiliser cette commande ! Veuillez contacter le support pour plus d'aider");
    if(!args[0])
    return message.reply("Syntaxe: !clear <entrer le nombre Ă  supprimer>");

    message.channel.bulkDelete(args[0]).then(() => {

        message.channel.send(`***${args[0]} message(s) à/ont bien été(s) supprimé(s) !***`)
    })
}

module.exports.help = {
    name: "clear"
}```
#

Ducoup la le code est bon normalement ?

keen narwhal
#

jsp test

kindred tartan
#

Non il marche pas

keen narwhal
#

Pourquoi pour ĂȘtre sur de pas avoir d'erreur dans la verif des perms tu mets pas message.author ?

keen narwhal
kindred tartan
#

Non

keen narwhal
#

C'est pas lĂ  pour les erreurs

#

C'est dans terminal

kindred tartan
#

Dans le run

keen narwhal
#

Dans le terminal, tu as un erreur ou pas ?

kindred tartan
keen narwhal
kindred tartan
#

Il faut que je fasse quoi ?

keen narwhal
#

À la ligne 41 de ton main.js il devrait avoir un length

#

Il n'est pas définis..

idle ice
#

Mauvaise interprétation

#

"Cannot read property "length" of undefined"
En français : "Je ne peux pas lire la propriété "length" d'un objet indéfini"

keen narwhal
#

Ça s'peut

idle ice
#

En bref : il a mavariable.length, et mavariable == undefined

keen narwhal
#

J'suis un peu plus concentré à regardé One Piece, merci Fleoxi

idle ice
#

🙂

kindred tartan
#

Alors... Je suis vraiment débutant et le langage je commence a peine a le comprendre mais que partiellement, donc c'est compliquer de définir un lenght

#

Pour moi

idle ice
#

Et tu rĂ©ponds toi-mĂȘme Ă  la problĂ©matique 😛 Tu brĂ»les des Ă©tapes, faire un bot Discord quand on ne maĂźtrise pas Javascript, c'est pas boooon

kindred tartan
#

Bah moi on m'as dis que c'était surtout beaucoup de logique et que ça viendrait a force d'en faire

#

D'apprendre

idle ice
#

Donc moi je te conseille de regarder quelques vidéos sur le Javascript, et de suivre cette playlist : https://g-ca.fr/l/ynk11kq

#

Ouaip c'sûr, mais ca fonctionne surtout quand tu as déjà un langage de connu derriÚre, la tu pars de rien

#

Sur le lien que je t'ai donné, tu as 63 vidéos qui te feront découvrir pas à pas et dans un ordre logique

kindred tartan
#

Super merci, je voulais au moin réussir a le finir ce soir le bot mais je pense que c'est mort

keen narwhal
#

Je pense pas je devrais faire ça, mais bon si tu veux vraiment finir le bot ce soir... essaie ça

#
const prefix = "ton préfix";

bot.on("message", async message => {

    if (message.author.bot) return;
    if (message.channel.type === "dm") return;

    if (!message.content.startsWith(prefix)) return;

    const args = message.content.slice(prefix.length).trim().split(/ +/g);
    const commands = args.shift();

    const cmd = client.commands.get(commands);

    if (!cmd) return;

    cmd.run(client, message, args);
})
kindred tartan
#

Je le met dans mon clear ?

idle ice
#

Eh

#

Ca a rien Ă  voir o_O

#

C'est un Command Handler, lui il veut juste créer une commande de clear o_o

keen narwhal
#

Yep

#

Son clear n'a pas de problĂšme

#

Son préfix n'est pas définis donc il ne sait pas que c'est une commande le clear

#

Il a un problĂšme dans son main.js

kindred tartan
#

Donc ça je le rajoute a la suite du clear

#

Je le remplace pas

idle ice
#

Son prefix existe totalement

keen narwhal
#

Yep

#

Mais il obtient un erreur

kindred tartan
#

je vais le mettre a la suite du clear je verrais

idle ice
#

Tu as quoi dans ton config.json

#

Mais non

#

Ca n'a rien Ă  voir avec ton clear Ă  proprement dit

#

RĂ©flĂ©chis lĂ©gĂšrement x) MĂȘme s'il est 2h30 du mat

keen narwhal
idle ice
#

oh et puis crotte, j'suis à moitié réveillé, j'suis pas dans le mood de faire comprendre à quelqu'un

kindred tartan
#

"Prefix": "!"

idle ice
#

Mais, Alex

kindred tartan
#

Dans le config

idle ice
#

BAH VOILA TON ERREUR

#

"prefix": "!"

#

Sinon config.Prefix

#

Si d'un cÎté t'écrit prefix et de l'autre Prefix

#

Bah faut pas chercher 20 ans

keen narwhal
#

J'ai donné réponse à la question avant qu'elle soit posé

kindred tartan
#

Super il marche merci

idle ice
#

ouais sauf que toi, tu veux le faire changer sa maniĂšre de "get les commandes"
la, j'lui fais juste corriger l'erreur de sa config

#

rien Ă  voir

#

@kindred tartan avec plaisir

keen narwhal
idle ice
#

Mais justement, lĂ  tu te compliquais dix fois la vie

keen narwhal
#

Pas fait grand chose Wa, mais de rien

idle ice
#

Pourquoi refaire la roue entiĂšre alors que t'as juste un cran qui merde ?

keen narwhal
#

J'aime bien me compliqué la vie

kindred tartan
#

Franchement merci je commencer a perdre espoir avec ce bot

#

Au moin ça me motive pour la suite

#
  • je regarderais al sĂ©rie de vidĂ©o
idle ice
#

Si on rĂ©flĂ©chis ainsi, le jour oĂč Instagram a des problĂšmes avec le fait d'envoyer des MP
"BON LES GARS, ON SAIT PLUS ENVOYER DE MESSAGES PRIVES, ON REFAIT TOUT LE SITE ET TOUTE L'APPLI"

keen narwhal
#

Et il serait compatible avec les ipads

floral bolt
#

``` if (reaction.emoji.name === '✅' && reaction.message.guild.channels.cache.find(channel => channel.name !== ✅-config-${user.username})) {

        chan.setName(`✅ ${chan.name}`)
        let ConfChan = client.channels.cache.get("780473975376707584")
        ConfChan.send(`Il y a une nouvelle demande ici 👉 <#${userCandi.get(user.id)}>`)

    }``` c'est bon ca?
dire latch
#

Une question toute bĂȘte, as-tu testĂ© ? 🙂 @floral bolt

floral bolt
#

oui

#

mais

slim anvil
#

c'est pas _emoji

floral bolt
#

ca march pas mdr

slim anvil
#

je sais plus trop mais je crois

#

y a peut etre les 2 tu me diras

floral bolt
#

bah enfaite j'essay de faire en sorte que le joueur ne puisse pas cliquer si ca a ce nom

#

mais j trouve pas comment faire

oak turret
keen narwhal
#

@floral bolt Tu as une erreur ?

floral bolt
#

aucunee

#

mais enfait je cherche surtout a check le nom du channel

keen narwhal
#

Tu devrais plus y aller par l'id

#

Genre

#

message.guild.channels.cache.find(c => c.id === "l'id")

timid loom
#

dans ce cas-là passer par un get(id) est plus indiqué

keen narwhal
#

ça marche aussi i guess

floral bolt
#

pas par l'id justement

dire latch
#

Hmm

#

J'ai eu le mĂȘme soucis

timid loom
#

je te conseille de te faire une fonction qui te le fait un peu automatiquement mais bon là je te présente un peu le fonctionnement de base

floral bolt
#

Salut, je cherche un moyen de supprimer un channel 24 heure apres si il n'y a pas de message

#

et j'ai fait let userCandi = new Map(); let userReact = new Map(); je voulais savoir commnt les recups dans d'autres fichier

slim anvil
keen narwhal
#

Commant, je peu commencer le a faire de bot

floral bolt
#

et comment je peux get le dernier message ?

keen narwhal
#

Bonsoir

#

J'ai une question :

#

Fichier : 1.js

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

module.exports = {
  name: 'test',
  description: 'test'
  execute(client, message, args) {
    if(message.channel.type === 'dm') return
    function messageSend(){
      message.channel.send('test')
    }
    setInterval(messageSend, 1)
  }
}
#

Fichier : 2.js

const { Client } = require('discord.js')
const client = new Client()

module.exports = {
      name: 'stop',
      description: 'Stop le spam des nitros en MP',
      execute(client, message, args) {
          clearInterval(jenesaispasquoimettre)
    }
}
#

J'aimerais pouvoir depuis la commande stop pouvoir supprimer les interval de 1.js serais-ce possible ?

ancient sonnetBOT
#

On dirait bien qu'une mise à jour a eu lieu cette nuit... désormais le channel #aide-bot devient le channel javascript, donc c'est ici que tu dois poster tes messages concernant un problÚme sur ce langage (et variantes type: jQuery, NodeJS, FrameworkJS, Bot discord etc..) devwithyourhead michel

slim anvil
dapper coral
slim anvil
#

a tester

uncut eagle
#

Salut, quelqu'un serait comme get lorsqu'un user change son nom et que ça l'envoie dans les logs ?

slim anvil
#

guildMemberUpdate

dapper coral
#

Tromper de channel non ? @uncut eagle

slim anvil
#

si tu parles de discordjs harold

dapper coral
#

Le terme "Joueur" me laisse perplexe sue

oak turret
#

dans les "logs", logs = ?, et faut préciser quoi...

#

t'utilises quoi ?

#

comment ?

#

code ?

#

bref

uncut eagle
#

non c'est bon

#

merci quand mĂȘme

#

en fait je veux faire en sorte que lorsqu'un joueur change de nom ( discord ) je puisse le mettre dans un salon logs

uncut eagle
dapper coral
#

Ah ok donc tu était bien dans le bon channel mais ducoup c'est résolue ?

uncut eagle
#

oe

dapper coral
#

ok nice

peak cedar
#

mettre en statut le nombre de joueur sur son serveur gMDO

#

c possible ?

#

sur un bot

slim anvil
#

oui

#

doit y en avoir d'autre mais en cherchant tu vas les trouver

peak cedar
#

oe mais la c pas le bot aussi c juste un package ?

slim anvil
#

bah tu l'installes le package

peak cedar
#

comment je met sur le vps ?

slim anvil
#

npm i gamedig

peak cedar
#

je vois vrm pas comment faire la suite 😭

magic epoch
#

Pas sur de moi mais genre je pense que tu pourrais tenter :

const Gamedig = require('gamedig');

Gamedig.query({
  type: 'garrysmod',
  host: '127.0.0.1',
  player: [{}],
  map: 'gm_construct',
  maxplayer: 64,
})

puis tu fais un set richpresence ou alors setActivity a

slim anvil
#

tu as tout sur la doc @peak cedar

#

lĂ  pour le coup suffit juste de la lire step by step

floral bolt
#

Salut, comme on m’a pas rĂ©pondu la derniĂšre fois je redemande . Comment on fait pour trouver le dernier message d’un Channel ?

boreal edge
#

Sinon tu peux faire une request avec le RCON

#

@floral bolt Quelle version de discordjs ?

floral bolt
#

La v12

#

La fonction first() n’est plus reconnu

hazy mirage
#

Cela devrait te convenir info_player_think

floral bolt
#

Je vais regarder merci

oak turret
#

client.channels.cache.get("id").lastMessage ( je crois )

floral bolt
#

ca marche merci et commet je peux faire une boucle pour trouver tous les channels qui commencent par "config" ?

jovial turret
#

Salut, je bloque sur un petit problĂšme. En fait ma boucle while n'attend pas que le for each de jquery se termine, du coup le contenu n'est pas exĂ©cute 😩

#

c'est un peu embĂȘtant...

west plover
#

utilise un await/async, no?

jovial turret
#

je ne connais pas :p

#

j'ai le niveau "google est mon ami" en js x)

west plover
#

ah beh google du coup

jovial turret
#

quelqu'un dans le tchat de mon stream m'avait dit de mettre .done

#

sauf que ça ne changeait rien au fait que le while allait trop vite

west plover
#

yes je pense que mettre ton code en asynchrone résoudra le problÚme

jovial turret
#

ok, je check ça alors 👍

jovial turret
#

aprÚs je l'ai sûrement mal fait (c'est trÚs probable xD)

oak turret
floral bolt
#

Merci c’est cool !

slim anvil
#

@floral bolt tu .filter sur tes channels avec un channel.name.starsWith()

floral bolt
#

Mais la boucle ?

slim anvil
#

??

#

Le .filter va te retourner un tableau avec que les éléments qui correspondent à ce que tu veux

floral bolt
#

Ah ! Ça marche merci !

idle ice
#

Par expĂ©rience, forEach ne permet pas d'ĂȘtre asynchrone

#

Donc j'fais du for i

jovial turret
#

est-ce que vous savez pourquoi cette erreur est provoquĂ©e? đŸ€”

#
$.get("https://dev.vbcms.net/manager/backTask.php?folderContent="+structureCurent+"&folderOnly",async function(data) {// Affiche uniquement les dossiers
    jQuery.each(JSON.parse(data),async function(index, val){ 
        console.log("test");});
});
slim anvil
#
$.get(`https://dev.vbcms.net/manager/backTask.php?folderContent=${structureCurent}&folderOnly`, (data) => {
      jQuery.each(JSON.parse(data), (index, val) => {
        console.log('test')
      })
    })

hmm j'ai 0 erreur dans mon lint

jovial turret
#

oui c'est bizarre, ton bout de code ne fonctionne pas non plus d'ailleurs 😩

slim anvil
#

t'as pas autre chose qui est mal fermé avant ou aprÚs ?

jovial turret
#

je vais regarder mais si je fais juste un console.log() ça marche

slim anvil
#

ah mais c'est dans ton json que tu as un soucis

#

dans data

#

avant de boucler dessus, log le pour voir ce que tu reçois dĂ©jĂ  peut-ĂȘtre

jovial turret
#

ok

#

en fait c'est mon répertoire qui est erroné

#

thx 👍

jovial turret
#

js me rend fou x)
j'ai cherchĂ© comment faire un async&await mais ça ne semble pas trop marcher 😩

#

le await est Ă  placer oĂč ?

slim anvil
#

on fait pas un await d’un console log en mĂȘme temps...

jovial turret
#

oui x)

slim anvil
#

Regarde comment ça fonctionne et dans quel contexte

jovial turret
#

mais ils mettent ça pour un console log dans les exemples du coup je me suit diiit.. x)

plain crystal
#

Salut wavey
comment je pourrai obtenir la guild de mon object Client ?

// Exemple:
client.guild.id

Merci danse

slim anvil
jovial turret
#

merci 👍

#

j'ai mis async au tout début de ma fonction et await devant le $.get et ça marche

slim anvil
#

@obtuse cipher logiquement oui, rejoindre le vocal pas de soucis, et pour le stream a voir mais ça doit se faire oui

obtuse cipher
#

Oh cool et donc je pourrais créer un not Netflix ?

#

@slim anvil tu pense que pour une personne qualifié ces compliquée de faire sa ?

slim anvil
#

A vĂ©rifier quand mĂȘme avant si il peut stream, j’ai plus de doute lĂ  dessus

obtuse cipher
#

Ah mince

jovial turret
#

comparable au son de la ps1 kappa

slim anvil
#

Dommage c’est en jQuery KappaRetard

jovial turret
#

pas tellement finalement

#

j'ai retiré la fonction each de jQuery pour mettre un for

slim anvil
#

A partir du moment oĂč tu l’import

#

c’est dommage KappaRetard

jovial turret
#

en mĂȘme vu mon niveau exĂ©crable en js, c'est un exploit d'avoir terminĂ© cet explorateur de fichier

slim anvil
#

tu déclares ta let points_to_add avant

#

et tu l'édites dans ton foreach

jovial turret
#

ça consiste en quoi une lfi? 😂

timid loom
#

A file inclusion vulnerability is a type of web vulnerability that is most commonly found to affect web applications that rely on a scripting run time. This issue is caused when an application builds a path to executable code using an attacker-controlled variable in a way that allows the attacker to control which file is executed at run time. A...

jovial turret
#

en gros c'est le fait de mettre en clair le répertoire

#

j'ai hésite à modifier le truc en fait, et puis je me suis dit "à quoi ça servirai lolwhatthink "

glass gate
#

c'est-Ă -dire ?

timid loom
#

globalement c'est le fait de représenter sur le site le répertoire local de ton site donc ça permet d'exécuter du code arbitrairement

jovial turret
#

ouai j'ai vu

glass gate
#

pas d'exécuter du code, mais de lire les fichiers

timid loom
#

ouais @glass gate mais potentiellement tu peux exécuter du code aprÚs derriÚre

jovial turret
#

en fait là c'est fait de sorte à ce que ça aille fouiller dans un autre dossier parent, sauf que j'ai mis le chemin d'accÚs en clair

#

il faut que je cache le "basePath"

timid loom
#

bah Ă  part si c'est du statique ça devrait pas ĂȘtre accessible

jovial turret
#

et de préférence ne pas le mettre en js thinking_hard

#

lĂ  si je termine mon truc tu peux littĂ©ralement supprimer le site 😂

glass gate
#

bah logiquement non @timid loom , a part si c'est une RCE et pas LFI

timid loom
jovial turret
timid loom
#

c'est pour ça que c'est seulement bon si c'est du statique

jovial turret
#

oui

timid loom
#

bah en fait tu peux le faire en js mais tu dois passer par du node, sur un truc genre express

jovial turret
#

je pense que je vais ajouter une passerelle en php qui me permettra de ne pas divulguer le répertoire complet

#

un peu comme mon code qui récupÚre la liste des fichiers & dossiers

timid loom
#

si t'es plus Ă  l'aise en php ok

jovial turret
#

oui largement

vagrant shadow
#

Bonsoir, j'ai besoin d'une information s'il vous plait,
je crée une page web en ce moment et,
je souhaite cliquer sur un bouton, quand je clique dessus ca crée un input et label , quand je re clique dessus ca en recrée un et ainsi de suite, on utilise de JS ?

slim anvil
#

Oui tu peux

oak turret
#

yep en js

#

avec un .createElement() je crois

#

renseigne toi sur ça

vagrant shadow
#

merci je vais regarder avec ce que tu viens de me dire
Merci également Enzo ^^

#

Attention au yeux premier js

function premiercode() {
  var projet = document.createElement("INPUT");
  projet.setAttribute("type", "text");
  projet.setAttribute("value", "Projet");
  document.body.appendChild(projet);
}

ca serait good ?

oak turret
#

alors input en miniscule, et ça m'a l'air pas mal

vagrant shadow
#

daccord, imagine je souhaite que les inputs soit alignée de haut vers la bas je l'ajout dans le JS ?

queen ivy
#

tu peut gérer du css quand tu créer ton element, exemple:
projet.classList.add('Nom de la classe Ă  ajouter');

sinon sur ta div mĂšre, si tu utilise bootstrap tu lui met un row, ou en css manuellement

compact fable
#

Salut, j'aurais besoin d'aide pour un bot discord, Merci d'avance Ă  ceux qui m'aiderons
(Si vous me rĂ©pondez, pensez Ă  me ping 😉 )

Comment faire pour que quand quelqu'un écris un message prédéfinie, le bot le supprime directement ?
En l'occurrence :

Quand j'écris %ticket, le message sois supprimer du channel, histoire de garder ça propre, merci à vous pour votre aide.

slim anvil
#

if (message.content.startsWith(‘%ticket’)) { message.delete() }

compact fable
#

❀ @slim anvil

slim anvil
#

Sois startsWith sois juste === je sais pas si tu as un paramĂštre derriĂšre ou non

compact fable
#

Non, juste %ticket pour que ca ouvre un ticket

slim anvil
#

ah bah tu peux juste dans ta condition:
message.content === ‘%ticket’

compact fable
#

Alors, vraiment, merci pour ton aide, mais je suis vraiment nul en Js, je sais pas ce que sais une condition ^^)

slim anvil
#

Ah 😌

spring dock
#

go apprendre

slim anvil
#

Mais en soit garde l’autre car si il met un espace ça fonctionnera pas sur le ===

#

Mais yes globalement essaye de regarder ce que c’est qu’une condition

compact fable
#

Je m'y intéresse pas vraiment avérai dire, c'est juste occasionnel

#

Merci pour ton aide en tout cas 😉

#

On sais jamais avec moi, je met bien ça dans le index js

if (message.content.startsWith(‘%ticket’)) { message.delete() }

slim anvil
compact fable
#

Ouais ça j'avais bien compris c'est assez simple, mais les variables, virgules ect je saurais pas les placer, je sais pas dev quoi

slim anvil
#

Yes pas de soucis 👌

compact fable
#

Je drop ça dans le index js du coup ?

slim anvil
#

tu as dĂ©jĂ  un code qui s’occupe du ticket ?

compact fable
#

Oui

slim anvil
#

Tu me le screen ? Le début du code

#

Car finalement la condition doit déjà exister

#

Tu pourrais simplement add le message.delete() au bon endroit

compact fable
slim anvil
#

Ah bah yes nickel

#

tu peux juste aprĂšs le run: async etc.. la ligne en dessous mettre un message.delete()

compact fable
spring dock
#

tu ajoute une ligne entre celle du run: async ....
et celle du if (Object.values....
et tu met dans cette ligne que t'ajoute: message.delete()

slim anvil
#

Yes exactement

compact fable
#

D'acc merci

#

Je teste ça

#

Nickel merci a vous 🙂

#

Bonne journée

slim anvil
#

A toi aussi!

vagrant shadow
#

Bonjour, je souhaite voir le résultat de mon formulaire en direct (sans avoir besoin de cliquer sur envoyer) j'ai donc mis du ajax, mais j'ai l'impression que mon idée est un peux con en therme de raisonnement puisque rafraichir une page automatiquement ne fait pas l'action de validé un choix.

Vous pouvez éclairé ma lanterne ?

slim anvil
#

Tu veux juste avoir le formulaire sans que lui le valide c'est ça ?

minor kelp
dire latch
#

Quel est le plus opti ? đŸ€”

#

Ou ya pas de différence

glass gate
#

Mais qu'est-ce que tu vas bien pouvoir faire grùce à ses 0.00000000001 secondes de temps d'exécution gagné ?

dire latch
#

Pour ça qu'il faut me lire 🙂

#

Et répondre à ma question

glass gate
#

J'ai lu, et pour pouvoir répondre en toute fidélité et de maniÚre tout à fait impartial à ta question, je me dois d'obtenir des précisions sur l'utilité dont tu tires à gagner tout ce précieux temps

dire latch
#

Tu peux juste pas répondre à ma question ?

#

C'est dingue sa

timid loom
#

Tu compares deux choses qui ont rien Ă  voir lĂ  en tout cas

glass gate
#

Bon bah vu que tu as du mal, je vais te le demander plus clairement,
Est-ce que tu vas faire une application oĂč chaque nanosecondes comptent, par exemple :

  • Serveur web d'un site avec 200 000 000+ d'utilisateurs
  • Entrainement d'un rĂ©seau neuronal avec 50+ nodes

ou tout autre application demandant autant de ressources

dire latch
#

C'est pour un bot discord avec potentiellement un dashboard, donc je demande quel façon est la plus opti ou si il n'y a pas de différence de faire d'una façon ou de l'autre

glass gate
#

Alors on s'en branle

timid loom
#

Pour tout te dire le truc avec seulement la fonction async run sera un peu plus rapide mais bon ça a peu d'impact à part dans un contexte vraiment hard comme le dit maks

dire latch
#

Ok merci 🙂

dull ingot
#

Salut

glass gate
#

Wesh

dull ingot
#

Ça va

glass gate
#

grave et toi

dull ingot
#

Oklm on est la

#

Tu cours ou ?

glass gate
#

Je cours oĂč ? Bah Ă  cĂŽtĂ© de chez moi y'a une forĂȘt donc par lĂ , mais je vois pas exactement le rapport avec le JS

dire latch
#

Ducoups, tu as dût mal faire quelques choses @dull ingot

#

Car normalement, si tu fais PREFIX + CMD, sa devrait fonctionner

dull ingot
#

Ouai je pense que j’ai du mal Ă©crire quelque chose

#

Tu peux m’aider ou pas ?

dire latch
#

Oui 🙂

#

Le salon est fais pour ça

dull ingot
#

@glass gate il y est en pzs

dire latch
#

Montre moi ton message.js

dull ingot
#

Merci bcp @dire latch

#

Il y en a pas

#

C peut ĂȘtre pour ça

dire latch
#

Ba voilĂ  pourquoi sa fonctionne pas @dull ingot mdrr

dull ingot
#

Je suis trop teubé

dire latch
#

😉

glass gate
#

👏

dull ingot
#

Merci merci ,

#

Du coup le Java c dur ou pas ?

dire latch
#

JavaScript tu veux dire

spring dock
dull ingot
#

Oui

#

Le js en gros

dire latch
#

Comme tout, ya des trucs durs et des trucs moins durs đŸ€·â€â™€ïž

dull ingot
#

Merci

dapper coral
#

Bonjour, quelqu'un d'entre vous utilise le module Enmap ? (https://enmap.evie.dev/install) car quand je l'heberge depuis mon PC sous windows le modules Enmap est bien détecter mais lorsque que je l'heberge sous Linux (Ubuntu) le modules n'est pas détecter je me dit que cela doit certainement venir des pré-requis à savoir:
npm i -g --add-python-to-path --vs2015 --production windows-build-tools *sous windows*
et
sudo apt-get install build-essential *sous linux*

Je pense qu'il faut taper la commande linux à un endroit précis vu que mon bot est héberger sur mon panel Pterodactyl (https://pterodactyl.io/) j'espÚre que vous pouvez m'aider sa fait un moment que je galÚre dessus.
mais si c'est le cas je ne sait pas comment l'installer Ă  cette endroit prĂ©cis et surtout ou đŸ€”

boreal edge
#

@dapper coral

dapper coral
#

C'est pas NMAP mais Enmap sue

boreal edge
#

Ah fuck

#

Sorry x)

dapper coral
#

np, merci quand meme

boreal edge
#

Mais

#

Pourquoi tu veux utiliser enmap ?

#

Car si c'est pour de l'hébergement de bots, tu peux trÚs bien utiliser pm2 (npm script)

dapper coral
#

Non sa n'a rien Ă  voir

#

j'heberge mon bot sur un VPS enmap ne sert pas à ça

boreal edge
#

on déjà heberger un bot avec Enmap ?

#

J'ai pas compris alors désolé x)

dapper coral
#

Ouai heberger un bot avec le modules Enmap je voulais dire mdrr

dire latch
#

Pourquoi tu veux l'hĂ©berger avec le module enmap ? @dapper coral đŸ€”

slim anvil
#

du coup @vagrant shadow tu peux trigger des events des que la valeur de ton input change donc récupérer aussi la valeur des autres par la meme occasion

vagrant shadow
#

ca marche je regarde comment on fait

dapper coral
#

enfaite je veut utiliser le modules est enmap n'est pas pour heberger le bot juste au cas ou

dire latch
#

C'est ce que tu Ă©cris pourtant 😅

dapper coral
#

mais non

#

je sait pas comment le dire bordel

#

😂

dire latch
#

Tu veux faire quoi exactement avec Enmap ? @dapper coral

dapper coral
#

C'est pas ça la quesiton sa j'y suis arrivé sa marche niquel le soucis c'est que le modules n'est pas détecté quand je l'heberge sur mon VPS

dire latch
#

Ah ba voilĂ 

#

C'est mieux dit 😅

#

Sinon

#

Tu as bien fais npm init -y ?

#

Node & npm sont Ă  jour ?

vagrant shadow
#

je n'ai pas trouver tu aurais un liens qui explique Enzo stp ?

slim anvil
#

L’évent change

#
vagrant shadow
#

Merci tu gĂšre grave, par hasard tu accepte de faire des demande de Dev ?

slim anvil
#

Ça dĂ©pend la demande

vagrant shadow
#

j'ai un micro projet mais un gros à qui je proposerai que à des personne 100% expérimenté si tu veux je te parle des deux en MP ?

slim anvil
#

Euh oui vas-y si tu veux je te promet rien je suis déjà pas mal pris avec le taff et GCA sur le temps perso mais on sait jamais danse

dapper coral
dire latch
#

Ba normalement, c'est npm i enmap @dapper coral

odd gust
#

Bonjour,

Je rencontre un problÚme durant le développement de mon bot.

Voici la ligne concerné:

let role = message.guild.roles.resolve("Support") || message.guild.roles.cache.find(findRole => findRole.name == "Support")

Voici l'erreur:
Uncaught Promise Error: TypeError: Cannot read property 'roles' of undefined

Merci d'avance

oak turret
#
let role = message.guild.roles.cache.find(role => role.id === "id");

ceci suffit

slim anvil
#
Cannot read property 'roles' of undefined

généralement quand tu as ce genre d'erreur c'est que soit message ou guild n'éxiste pas

#

Mais je partirai plus sur le fait que ton message est pas définit à ce niveau

oak turret
#

si ce que je lui ai donné ne fonctionne pas, je rejoins Enzo

slim anvil
#

Mais c'est sur que ca ne fonctionnera pas l'erreur est pas sur le .find ou autre

oak turret
#

sure

odd gust
#

Sa fonctionne toujours pas :/

Voici un peu plus du code si sa peu vous aider Ă  m'aider

async run (client, message, args) {
  let role = message.guild.roles.resolve("Support") || message.guild.roles.cache.find(findRole => findRole.name == "Support")

  if (!role) {
    message.channel.send('Une erreur s\'est produite. Veuillez la reporter aux administrateurs.', message)
    return
  }

L'erreur est toujours la mĂȘme

slim anvil
#

Mais je partirai plus sur le fait que ton message est pas définit à ce niveau

#

console.log message et regarde ce que tu as dedans

dapper coral
dire latch
#

Mdrr

odd gust
upbeat adder
#

hey,
je voulais ajouter une licence a mon projet et j'ai donc lu la documentation de npm a ce sujet mas je n'ai pas bien compris
Je veux mettre une licence MIT mais il parlait d'ajouter un SPDX, mais je n'ai pas bien compris ce que c'étais, pouvez vous m'éclairer sur le sujet?

minor kelp
slim anvil
#

tu déclares une let au dessus (let response;) et dans ton subscribe tu fais un response = data

vagrant shadow
#

Enzo pour le code qu'on Ă  parler

Pour voir "en direct" l'impact de la modification du formulaire sur le rĂ©sultat qui ce trouve sur la mĂȘme page.
Ca c'est correcte ?
sachent que je cherche Ă  faire plus simple

<script type="text/javascript">

jQuery(function() {
  jQuery('#choix1').change(function() {
      this.form.submit();
  });
});
</script>```
slim anvil
#

Avant de faire du Jquery, apprend le javascript vanilla ce te sera bcp plus utile pour ton apprentissage

#

Mais en gros tu dois mettre un event name sur les éléments avec une class par exemple, et venir récupérer sa valeur tout simplement

#

pour savoir quel est le champ cibler, lors du change tu viens récupérer event.target.name

#

car au préalable tu auras set un <input name="test" />

#

je sais pas si c'est clair

vagrant shadow
#

disons que je viens de lire du chinois sinplifier x)

#

je viens de décrypter ca y'est

slim anvil
#

nickel bon courage

vagrant shadow
#

Merci

keen narwhal
#

Salut tout le monde !
Je suis actuellement sur un petit projet de bot discord via discord.js (d'oĂč le channel javascript)
Mais je bloque sur un problĂšme : je n'arrive pas Ă  refresh mon leaderboard.
J'ai fais une commande qui post un leaderboard et le but est de ne plus le toucher mais que chaque jour il se reload avec les donnés d'une API.
Voici lĂ  oĂč je coince : j'ai essayĂ© de mettre la function SetInterval dans le client.on('ready'). Mais comme j'utilise "await" pour rĂ©cupĂ©rer le contenu de l'API une erreur me dit que je ne peux pas utiliser de await quand la fonction n'est pas async (logique, je le savais dĂ©jĂ , mais j'ai beau chercher partout je ne trouve pas de moyens qui marchent pour que mon problĂšme soit rĂ©solu)
Merci Ă  ceux qui m'aideront

idle ice
#

Il te suffit de rajouter async devant la déclaration de ta fonction @keen narwhal

keen narwhal
#

DĂ©jĂ  essayĂ© mais j'ai lu sur pas mal de fofo que les fonctions SetInterval ne peuvent pas ĂȘtre asyn si facilement.

setInterval(async function(){
// code 
})
idle ice
#

Je me met sur mon ordinateur et je te le fais

keen narwhal
#

D'acc ! Bizarre que se soit aussi simple mais merci

idle ice
#
async function taFonctionAsync() {
  // Ton code
}

setInterval(() => {
  taFonctionAsync()
}, 60000)
#

C'est ainsi que je fais avec mon bot de statistiques et ça marche nickel

keen narwhal
#

J'essaye ce que tu m'as envoyĂ© et je reviens vers toi dans tous les cas 😉

idle ice
#

😉

slim anvil
#

beh en soit juste

#
setInterval(async () => {
// code 
})
keen narwhal
#
async function RefreshLeaderboard(){
      let leaderboard_toedit = client.guilds.cache.get('id_server').channels.cache.get('id_channel').edit('id_message').then(r => {
        const { body } = await get('API');

        Ici c'est l'embed ^^

        La c'est le sort pour trier la DB et récupérer que les 10 premiers.
        
      });
    }

    setInterval(() => {
      RefreshLeaderboard()
    }, 10000);
slim anvil
#

la mettre en asynchrone comme ca devrait etre good aussi

keen narwhal
#

Ca ne marche pas

idle ice
#

Je l'ai fait en deux fichier perso car j'en avais besoin, mais a marche

keen narwhal
#

Tu es bien dans le client.on('ready') ou tu es ailleurs ?

idle ice
#

Oui

keen narwhal
#

J'ai le meme erreur Ă  chaque fois, incroyable : SyntaxError: await is only valid in async function

slim anvil
#

c'est un peu le bordel dans ta fonction Spoozeer

idle ice
#

Mais

#

C'est logique alors

slim anvil
#

c'est dans le .then

idle ice
#
async function RefreshLeaderboard(){
    let leaderboard_toedit = client.guilds.cache.get('id_server').channels.cache.get('id_channel').edit('id_message').then(async r => {
    const { body } = await get('API');

    Ici c'est l'embed ^^

    La c'est le sort pour trier la DB et récupérer que les 10 premiers.

    });
}

setInterval(() => {
  RefreshLeaderboard()
}, 10000);
slim anvil
#

qu'il faut mettre async

keen narwhal
#

Ah oui tu trouves mdr @slim anvil

slim anvil
#

oui voila

idle ice
#

Tu fais un await dans ton .then, donc c'lĂ  que tu dois aller le mettre

keen narwhal
#

Putain quelle erreur

#

Excuse moi de t'avoir gonflé avec mon soucis pour un truc si con

keen narwhal
#

Merci ducoup 😉

idle ice
#

Nan t'inquiÚte on est là pour ça aha

jovial turret
#

cc, vous savez comment je peux attribuer un paramĂštre Ă  ma fonction clique droit sans trigger l'event? đŸ€”

#

si je ne met pas de paramÚtre ça marche en cliquant

#

mais si je met un paramÚtre sans event ça trigger dÚs que je survole la div

slim anvil
#

l'event tu le récup§res dans ton event mouseenter

#

donc tu as juste a le passer ensuite a rightClick

jovial turret
#

oui justement je l'ai mis en paramÚtre, mais le truc c'est que ça me pop le clic droit chaque fois que je survole l'item

#

si je fais comme ça ça fonctionne correctement (clic droit sur l'item voulu, ça apparait)

slim anvil
#

Ah bah oui car tu call la fonction des que tu le mouseEnter

#

Pourquoi tu trigger juste pas l'event clique droit ? đŸ€”

jovial turret
#

car je souhaite récupérer l'id de l'élément survolé

#

ceci dit ce n'est sûrement pas la bonne maniÚre de faire

slim anvil
#

De l'élément sur lequel il clique droit finalement ?

jovial turret
#

oui

#

comme ça je peux effectuer des actions dessus

slim anvil
#

Bah donc c'est bien ça, tu trigger l'event au clique droit de l'élément, tu pourras aussi récupérer l'élément sur lequel l'action a eu lieu finalement

jovial turret
#

ça trigger mĂȘme quand je ne fais pas de clic droit, c'est ça le truc

slim anvil
#

donc dans ton code actuel si tu log ton e que tu recois dans ta fonction rightClick il est a null ou undefined ?

jovial turret
#

ça ne trigger que si je clic droit

slim anvil
#

bah c'est pas ça que tu veux ? đŸ€”

#

je comprend pas, tu veux que quand tu hover ca te montre le clique droit

jovial turret
#

si

slim anvil
#

ou que quand tu cliques droit ?

jovial turret
#

mais là c'est parce-que j'ai enlevé les paramÚtres

slim anvil
#

Oui mais le log MouseEvent il sort d'ou

jovial turret
slim anvil
#

de ta fonction right click ?

jovial turret
#

oui

slim anvil
#

Non car Ă  partir du moment ou tu vas mettre les parenthĂšses ca va appeler la fonction

jovial turret
#

aah d'accord

slim anvil
#

Bah du coup dans ton log du right click

#

tu as pas l'élément sur lequel ca a click ? ThinKappa

#

e.target

jovial turret
#

ah je ne connaisais pas

#

att je check

#

c'est magique, merci!

minor kelp
#

Bonjour @slim anvil Merci de la réponse J'ai fais ce que tu m'as dis mais j'ai un undefined (Déso du ping de trop mauvais screen)

slim anvil
#

Parce que il doit log ton response avant qu’il soit reçu

#

Mais pourquoi tu mets juste pas ton code dans ton suscribe?

minor kelp
#

parce que je veux return

#

sauf que je peux pas dans un subscribe

slim anvil
#

pourquoi tu pourrais pas return?

minor kelp
#

Fonctionne pas x) J'ai test de return true dedans et en dehors dedans ne fonctionne pas

slim anvil
#

Mais attend j’avais pas vu mais c’est quoi .subscribe sur le http?

#

Normalement tu as un callback en 2eme paramĂštre je crois

#

http.get(‘url’, res => { console.log(res) })

jovial turret
#

salut, est-ce que vous savez pourquoi ma fonction n'est exécutée qu'au premier clic?

#

c'est sur ce menu, je l'affiche au clic droit

<!-- context menu -->
<div id="contextMenu" class="context-menu" style="display:none"> 
    <ul>
        <li><a id="explorerDetail" href="#"><i class="fas fa-info"></i> Détails</a></li>
        <li><a id="explorerRename" href="#"><i class="fas fa-pencil-alt"></i> Renommer</a></li>
        <li><a id="explorerMove" href="#"><i class="fas fa-external-link-alt"></i> Déplacer ou copier</a></li>
        <li><a id="explorerDelete" href="#"><i class="fas fa-trash"></i> Supprimer</a></li>
    </ul>
</div>
#

quoique des fois ça ne marche mĂȘme pas au premier clic đŸ€”

slim anvil
#

Ton context menu il se ferme quand tu cliques ailleurs ?

jovial turret
#

oui

slim anvil
#

Il se ferme aussi quand tu cliques sur un item ?

jovial turret
#

oui

slim anvil
#

Alors je suis pas sĂ»r, mais essaye de faire en sorte qu’il ne se ferme jamais, voir si au click tu as tout tes logs

#

J’ai pas regardĂ© ton code, mais possible qu’il se ferme avant du coup de trigger le click

jovial turret
#

ah pas faux

#

mais il se ferme uniquement au travers d'un display none, je ne supprime rien

#
// ICI C'EST LE CLIQUE DROIT
document.onclick = hideMenu; 
$("#galleryContent").on("mouseenter", ".galleryItem", function() {
    document.oncontextmenu = rightClick; // Permet de remplacer le context menu par le miens

    if ($(this).attr("type") == "folder") {
        //console.log("c'est un dossier :D");
    } else if ($(this).attr("type") == "file") {
        //console.log("c'est un fichier :D");
    } else if ($(this).attr("type") == "image") {
        //console.log("c'est une image :D");
    }            
});

$("#galleryContent").on("mouseleave", ".galleryItem", function() {
    document.oncontextmenu = ""; //Remet le context menu par défaut
});

function hideMenu() { 
    document.getElementById("contextMenu").style.display = "none" 
} 

function rightClick(e) { 
    e.preventDefault(); 
    if ($(e.target).attr("path")!=null) {
        console.log("le chemin d'accĂšs est  - "+$(e.target).attr("path"));
    } else {
        console.log("le chemin d'accĂšs est  - "+$(e.target).parent().attr("path"));
    }

    if (document.getElementById("contextMenu").style.display == "block")hideMenu(); 
    else { 
        var menu = document.getElementById("contextMenu") 
        menu.style.display = 'block'; 
        menu.style.left = e.pageX + "px"; 
        menu.style.top = e.pageY + "px";
    } 
} 

// EVENTS
$("#explorerDetail").click(function() {
    console.log("tu as cliqué sur détails");
});
#

donc 'théoriquement' il reste sur la page

slim anvil
#

Oui mais si tu display none il a plus l'élément pour trigger le click non plus

#

Donc essaye juste de le laisser tout le temps ouvert, et vois si tes click fonctionne mieux, si oui tu dois résoudre ce soucis, si non on pourra commencer a regarder le code

jovial turret
#

ah ça marche comme ça sue

#

ok je test

slim anvil
#

Yes donc du coup tu dois t'orienter vers ce soucis de close

jovial turret
#

ça peut marcher du premier coup comme lors du 2nd

slim anvil
#

Aussi: vérifie l'espace que prend la balise <a></a> comme ton click se base sur l'id de cet élément, ca se trouve la partie blanche c'est le <li> et peut etre que le <a> ce n'est que le texte

jovial turret
#

en plus je viens de voir que j'ai un autre bug avec les chemin d'accùs 😂

slim anvil
#

donc tu dois cliquer sur le texte et non sur le li

jovial turret
#

100% ça x)

#

en plus j'chui nul j'avais oublié que c'était le li que je surlignait

slim anvil
#

voili voilou

boreal edge
#

Hello
Lorsque l'on souhaite récupérer un channel ou un message par exemple, est ce qu'il faut mettre des await ? Car ça fonctionne sans comme avec donc je sais pas trop
Merci !

oak turret
#

bah tu as rĂ©pondu toi mĂȘme 🙂

#

await c’est pour attendre l’exĂ©cution d’une promise

boreal edge
#

Ok merci 😉

drifting kettle
boreal edge
#

Car tu n'as pas installer npm

#

Fais un node -v

#

Stp

drifting kettle
#

oui

boreal edge
#

( Tu fais node -v dans ta cmd )

drifting kettle
#

C'est pareil

boreal edge
#

Ok

drifting kettle
#

Ah merde il c'etait desinstaller

#

Je relance Visual ?

boreal edge
#

Non pas besoin

drifting kettle
#

Ok c'est bon

boreal edge
#

Il faut juste que tu l'installes, et normalement tout fonctionnera trùs bien et bien mieux surtout 😉

drifting kettle
#

Sa marche pas 😱

boreal edge
#

Tu as bien suivi toutes les instructions installation ?

drifting kettle
#

Bas oui

boreal edge
#

Ok, alors recherche dans ta barre de recherche windows Node et dis-moi ce que tu vois

drifting kettle
#

L'appli et les commandes

boreal edge
#

Ok

#

Alors tente de redĂ©marrer ton VSCode alors 😂

drifting kettle
#

ok

#

C'est bon nice merci mec t'es trop cool

boreal edge
#

Pas de soucis 😉

keen narwhal
#

Yoo, pouvez-vous m'aider,
je vous explique ce que je veux :

Quand un membre du serveur écris un texte prédéfini (à savoir : "sPencil") dans un channel défini ça lui retire tout les grades qu'il à & ça lui ajoute le grade "Membre".

oak turret
#

bah if message.content tatata et tu get les roles de l’user avec une boucle tu les retires avec .roles.remove() et .roles.add() pour en ajouter un je te montre ça demain je l’ai dĂ©jĂ  fait

keen narwhal
slim anvil
violet halo
#

Salut ! Quelqu'un a une idée comment je peux récupérer le nombre de membres sur mon discord pour le mettre sur mon site web ?
Merci
||Je ne savais pas trop oĂč poser ma question donc je la pose ici||

fathom jay
#

yop, avec un webhook il me semble

slim anvil
#

tu peux faire une requete directement en utilisant l'api de discord

violet halo
#

Thank's guys

floral bolt
#

salut comment je peux get rapidemet ca svp ? {"Days to Christmas":21}

#

enfin get le jour

dapper coral
#

Ce tutoriel devrais t'ĂȘtre utile

oak turret
#

fait par exemple une const tata = require('ton fichier .json');

#

mais mets des _ au lieu d'espace

#

donc ça te ferait tatata.days_to_christmas // output 21

slim anvil
#

tu veux juste faire un j-2 avant noel par ex ?

#

fais le juste avec le timestamp

#

1608854400 le timestamp du 25/12/20 Ă  00:00:00

#

et tu compares avec ton timestamp actuel

floral bolt
#

merci

#

j'ai un autre soucis

#

jutilise const humans = message.guild.members.cache.filter(m => !m.user.bot) il me renvois 5 alors qu'il y a 1200 personne sur le serveur

slim anvil
#

peut etre que 5 dans le cache

floral bolt
#

et comment je recup les autres ?

slim anvil
#

tu peux pas juste guild.memberCount ?

floral bolt
#

bah apres je fait un foreach en récupérant le nom de chaque personne

boreal edge
slim anvil
#

ah bah yes surement j'avoue que j'ai pas du tt touché a v12 , mais ca parait logique pour mettre le cache à jour

floral bolt
#

genre comme ca ? ```js

const humans = message.guild.members.fetch()

    humans.forEach(async (member) => {
       //code
    });```
floral bolt
#

rien ne marche ....

boreal edge
#

Tu veux récupérer la liste de tout les membres on est d'accord ?

floral bolt
#

oui

#

enfin tous les noms

boreal edge
#
    const humans = await message.guild.members.fetch();

    humans.forEach( (member) => {

        console.log(member.user.username);
    })

@floral bolt

floral bolt
#

ca nne me renvois rien

boreal edge
#

Tu es en quel version de discordjs ?

#

@floral bolt

floral bolt
#

v12

boreal edge
#

Envoie le reste de ton code alors 👀

#

Car perso ça fonctionne trÚs bien

floral bolt
#

ya rien enfaite 😄

#

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

        message.delete()

        const humans = message.guild.members.fetch();

        humans.forEach((member) => {
            console.log(member.user.username);
        })

    },
    aliases: [],
    description: ''
}
boreal edge
#

message.delete()

    const humans = message.guild
#

Tu delete le message

#

Et aprÚs tu récupÚres sa guild

#

Faut le delete Ă  la fin @floral bolt

floral bolt
#

ah daccord !

boreal edge
#

Tqt 😉

floral bolt
#

mais ca marche quannd meme pas 😄

boreal edge
#

Rajoute un petit await aprĂšs le const humans =

floral bolt
#

ouais c'est ce que j'ai fait mais ca n'envois rien

boreal edge
#

Ok

#

Renvoie tout ce que tu as fait

floral bolt
#
    run: async (client, message, args) => {

        const humans = await message.guild.members.fetch();
        humans.forEach((member) => {
            console.log(member.user.username);
        })

    },
    aliases: [],
    description: ''
}
boreal edge
#

Wtf

#

Moi ça fonctionne

#

Check de faire un console.log("...") avant le const humans = voir si le code est bien éxecuter

floral bolt
#

ouais ca marche bien

#

je vais tester autre chose

boreal edge
#

Parce que moi ça fonctionne suefort

module.exports.callback = async function(client, message, args) {
    
    const humans = await message.guild.members.fetch();
    humans.forEach((member) => {
        console.log(member.user.username);
    })

}
floral bolt
#

je vais tous refaire c'est pas grave 😄

floral bolt
floral bolt
#

il y a un blocage sur le fetch ? Genre si on dépasse les 1000 membres ?

#

j'ai trouver

#

merci a vous !

night crane
#

Ah super merci

#

Je te dit ça marche

#

Fonctionne*

night crane
keen narwhal
#

Envoie toute l'erreur stp @night crane

#

On voit pas tout

keen narwhal
#

Merci

night crane
#

C'est bon @keen narwhal

keen narwhal
#

Envoie tout le code mtn

#

@night crane

night crane
#

@keen narwhal

keen narwhal
#

Euhh

#

Tu as créé le fichier par pur hasard mĂȘme si je pense que oui

#

Tu l'as mis dans un autre fichier ?

#

Des trucs tout con mais bon

night crane
#

J'ai le fichier index.js ou il y a ce code et une autre fichier bdd.json je doit mettre je dois mettre le code dans le bdd ?

keen narwhal
#

Et tu cherches Ă  faire quoi ?

night crane
#

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬╣ Description ╠▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

Bonjour Ă  tous,
Aujourd'hui on se retrouve pour le quatriÚme épisode de la série sur la création d'un bot Discord. Aujourd'hui on va faire en sorte de stocker un message de bienvenue et le définir avec une commande ! Si vous trouvez un défaut a cette vidéo, faites le moi parvenir. Vous pouvez...

▶ Play video
#

j'ai besoin de cet épisode pour les wars et tout

#

@keen narwhal

keen narwhal
#

D'accord

#

Je regarde

night crane
#

ok

keen narwhal
#

Tu as mis la ligne const bdd = require('./bdd.json')

night crane
keen narwhal
#

C'est compliqué je suis pas sur ordi

#

Tu l'as mis dans bot.on('message', message {}) @night crane

#

Tu as quoi dans ta bdd.json dans le fichier

night crane
#

Rien encors

keen narwhal
#

C'est pour ça

#

Il faut mettre des {}

#

Met ça : {}

night crane
#

ATT

#

enfaite j'ai toute les erreus qui sont partit

#

car le

#

const { fstat } = require ('fs')| Fallais pas le mettre mais j'en ai une autre mtn

keen narwhal
#

Bah envoie ^^

night crane
keen narwhal
#

{}

#

Dans bdd.jsonb

night crane
keen narwhal
#

J'essaye juste de t'aider

#

^^

#

Mais merci

#

:)

#

Si problĂšme ping @night crane

night crane
#

NP

night crane
#

@keen narwhal ?

keen narwhal
#

Yep

#

@night crane

night crane
slim anvil
#

C’est juste que tu dĂ©finies member nul part

#

rien Ă  voir avec tes quotes

night crane
slim anvil
#

Tu peux utiliser user, c’est le paramùtre que tu reçois

keen narwhal
#

Yep dsl de pas avoir répondu

slim anvil
#

Tu dois renommer les paramùtres par rapport à ton tuto et tu t’y perds je pense

night crane
#

Oui mais quand je créer le ticket j'aimerais bien que ça me mettes Ton ticket a bien été envoyer @night crane

cyan iron
#

@night crane, il ne suffit pas de suivre un tuto, essaye de comprendre ce que tu fais 😉

night crane
#

Ducoup comment je fait pour ça m'identifie ?

cyan iron
#
night crane
#

Merci

night crane
timid loom
#

tu l'as mis dans un event message ?

#

parce que là message est pas défini

night crane
timid loom
#

essaie de suivre ça

#

et de lire la doc en mĂȘme temps

night crane
#

Oui mais Quelle doc mdr je recherhais tout a l'heure rien trouver

timid loom
#

client c'est le nom qu'ils mettent pour bot

#

tu devrais mettre client toi aussi

night crane
#

merciiiiiiiiiiiiiiiiiiiii

#

DerniĂšre question ! @timid loom je peut pas faire de retours a la ligne je dois utiliser quoi pour pouvoir le faire ',`,", ?

#

\n nan ?

timid loom
#

ouais

night crane
oak turret
#

Tout simple

#

ah bah

#

t'as du comprendre

#

t'étais sorti du "

night crane
#

Oui mdr

#

désolé du ping

oak turret
#

n'oublie pas que t'as pas besoin de ping pour répondre :), y a pas mal de personnes qui peuvent te répondre

night crane
#

Ah bah désolé .

low dagger
#

bonsoir, vous savez comment envoyé un message privée quand quelqu'un rejoins le serveur ?

boreal edge
#

guildMemberAdd

#

et createDM

#

Et penses à bien changer les paramùtres dans ton portal de bot 👀

oak turret
boreal edge
#

@oak turret On peut faire member.send maintenant ? On est plus obliger de faire createDM ?

oak turret
#

Alors oui depuis longtemps

low dagger
#

ok merci

low dagger
#

ah ça ne fonctionne pas '-'

keen narwhal
#

Faut le mettre dans l'index

#

Envoie le code et l'erreur

#

Mais y'a les intents a activer

low dagger
#

oui je l'ai mit

#

et ça met aucun code d'erreur :/

#

(me ping)

keen narwhal
#

T’as activer l’intent ? @low dagger

cyan iron
#

Oh Coucou 👀

keen narwhal
low dagger
#

heu non

#

c'est quoi suspicious_blob

keen narwhal
# low dagger c'est quoi <a:suspicious_blob:784204278273277972>

Un truc Ă  activer dans les paramĂštres de ton bot sur le portail discord developper

En gros, t'en as besoin pour accéder à différents types d'informations comme le status des membres, etc

Ptetre que ton problĂšme est dĂ» au fait que tu n'ai activĂ© aucun intent ÂŻ\_(ツ)_/ÂŻ

low dagger
#

oki merci je vais voir :p

keen narwhal
#

Tu as trouvé @low dagger ?

low dagger
#

oui c'est bon je test çe soir

keen narwhal
#

Ok

floral bolt
#

Salut quand je fait <@${member.id}> et bien au lieu de me donner le nom il me le marque comme ca : @potent stream vous savez d'ou ca peut venir ?

keen narwhal
#

Le membre existe pas sûrement

envois la partie du code qui gĂšre member

floral bolt
#

si c'est sur que ca existe

#

la c'est un exemple

#

car je l'utilise partout

slim anvil
#

au cas oĂč l'identification dans un titre d'embed ne fonctionne pas si jamais

keen narwhal
#

Les authors et les footers non plus jcrois

idle ice
#

C’est pas <@ID> ??

keen narwhal
#

Si

#

Ou <@!id>

crystal briar
#

svp comment faire pour que quand on essaie de mettre un reply message sur notre bot pourqu'il ping pas l'utilisateur

cyan iron
#

Tu ne reply pas

#

Lmao

#

Le reply consiste Ă  ping la personne

crystal briar
#

genre je mets juste message

#

ok mrc psq genre je débute mrc en tout cas

cyan iron
#

Regarde un tuto c'est mieux 😉

#

C'est la base des bases

dire latch
#

message.channel.send --> Sans ping
message.reply --> Avec ping

crystal briar
#

merci

dire latch
#

SInon, tu remplaces message par msg si tu utilises de cet maniùre 🙂

cyan iron
#

Oui mais il vaut mieux qu'il regarde un tuto, histoire d'avoir les bases

crystal briar
#

j'ai été sur le tuto de gca là je pratique

crystal briar
#

svp possible de m'aider dans mon terminal sa m'affiche sa

#

SyntaxError: Identifier 'client' has already been declared

#

quand j'essaye de co mon bot

keen narwhal
#

T'as définis deux fois client

crystal briar
#

merci

oak turret
#

suffit de lire ?

fringe wyvern
#

Facile Ă  dire quand on sait lire KappaRetard

keen narwhal
crystal briar
#

j'ai juste pas compris l'endroit dans lequel il se trouvait

keen narwhal
#

envois ton erreur

crystal briar
#

c bon là c réglé

#

ct juste pour répondre à Lartaxx

keen narwhal
#

ho

dark folio
#

Hi, I have a question !
C'est pour un bot discord : comment puis-je faire un systĂšme de tirage au sort similaire Ă  celui de GCA ? En gros que avec la commande par exemple : !roll <messageID> ça me sorte un joueur au hasard qui Ă  rĂ©agi avec \🎉.

J'ai essayĂ© il y a un petit moment et lĂ  j'y ai repassĂ© 2 petites heures mais je n'y arrive vraiment pas, ça parait pourtant tellement simple 😬

Merci à celui (ou ceux) qui pourra (pourront) m'aider ! 😄

boreal edge
#

Il me semble que ta une fonction .Random()

#

Donc tu récupÚres la liste des gens qui ont réagis et tu random dessus

oak turret
#

oauip exact

#

avec l'id du message tu peux récup tout ça et get la liste des réactions et des noms dessus

boreal edge
#

avec le .resolve

#

Je crois

dark folio
#

Ouep justement mais Ă  chaque fois j'ai une erreur "users" ou "user" not define ou un truc du genre

boreal edge
#

message.reactions.resolve(EMOJI).fetch().Random()

#

Je penses

oak turret
#

nop

boreal edge
#

J'ai jamais essayé mais à mon avis tu dois faire commeça

#

Ah

oak turret
#

normalement t'es censé avec un truc "reactions" avec l'émoji dedans et les noms dedans à voir mais log le et montre le moi, je te dirais

dark folio
#

En gros j'avais un truc comme ça, je sais plus si c'était exactement ça mais je viens de le renoté :

message.reactions.cache.get("🎉").users

Et ça me mets cette erreur :

#

Mon code :

client.channels.cache.get("776414285088686090").messages.fetch(messageID).then(message => { 
     console.log(message.reactions.cache.get("🎉").users)
});
#

Et le message ID c'est avec un arguments du coup

oak turret
#

enlĂšve le .users et voit

#

normalement c’est censĂ© ĂȘtre un tableau genre users: [ "id": tata ], ["id": tata]

dark folio
#

Ça me print undefined

oak turret
#

juste message.reactions

cedar crest
#

Tu as des users qui ont mis la réaction ou pas ?

dark folio
#

Ouep

#

Moi 😂

#

Et le bot

oak turret
#

ok donc message.cache.users pour voir

dark folio
#

Sans le "reactions" ?

keen narwhal
#

si on suit la logique si tu enleves le "reactions" ça va chercher un message et non une réaction

dark folio
#

Ça me mets une erreur^^

keen narwhal
#

prévisible

timid loom
#

essaie plutît messsage.reactions.cache.find(r => r.emoji.name == '🎉');

#

L'id c'est l'identifier donc ça marche pas

dark folio
#

undefined 😬

timid loom
#

aprĂšs tu peux get les user en faisant un truc genre

let reaction = message.reactions.cache.find(r => r.emoji.name === '🎉');
console.log(reaction.users);

par contre c'est quasi sûr qu'il fonctionnera pas si c'est pas dans le cache donc vérifie déjà que ça ça fonctionne sur des réactions que t'as en cache et aprÚs essaie de le faire fonctionner pour tout

cyan iron
#

Y'a un .random() i' me semble

keen narwhal
#

Hmmmm

timid loom
#

aprÚs c'est assez limité comme moyen de faire du tirage au sort

dire latch
#

Sinon, ta un module đŸ€·â€â™€ïž

timid loom
#

ça reste plus intéressant de voir comment ça fonctionne

keen narwhal
#

salut, excusez moi pour ma question, mais pourriez-vous me dire quelle est la fonction de discord.js pour ajouter un rÎle s'il vous plaßt ? j'ai regardé la documentation et j'ai appliqué ce qu'elle indiquait mais on me dit que ce n'est pas une fonction :/

#

<member>.roles.add('ID du rĂŽle')

#

Cannot read property 'add' of undefined

#

J'ai testé avec la commande eval

Demande
message.member.roles.add("785170784997212210")

Résultats
Promise { <pending> }

et ca fonctionne,
đŸ€”

#

On est d'accord que t'as remplacé <member> hein ?

#

oui

#

je suis pas bĂȘte Ă  ce point đŸ€Ł

timid loom
#

quelle version?

keen narwhal
#

12.5.1

#

lmao on sait jamais, y'a des mecs qui sont capables de tout '-'

candid turret
#

petite question, je m'incruste juste, qq'un aurais un réponse pr moi dans #autres-sujets-dev-tech ??

keen narwhal
#

nan sry

candid turret
#

okok

timid loom
keen narwhal
#

message.author.roles.add('id')

#

et non

#

tu peux pas

oak turret
#

message. member.roles.add

#

je grois

#

crois

keen narwhal
#

les rÎles sont une information placée dans la partie .member

pas la .user

dark folio
keen narwhal
#

donc oui, faut que tu changes .author par .member

#

ah ouais ok merci j'vais test

timid loom
dark folio
#

Ouep

timid loom
#

et du coup t'es sûr que c'est en cache?

keen narwhal
#

yes erreur d'API le bot a pas la perm alors qu'il a la perm administrateur 😐

timid loom
#

bah yes haha