#javascript-typescript
1 messages · Page 40 of 1
undefined
c'est la que je test de tout print et je recupère tout sauf la var reaction
mais c'est bizarre car ca marche que au bout de la seconde fois j'ai l'impresssion genre j'ai cette erreur seulement au lancement du bot lors de la premiere raction
yes je test ca
j'ai ca donc message reaction existe
Tu peux log juste message.reactions now ?
Yes mais voir ce qu’il y a dedans, et tu as vérifié que data.emoji existe aussi ? Ce que tu lui passes en params
comment ca ? la c'est le message.reactions dans le screen que j'ai log
yes je vais check ca
j'obtient ca pour le data.emoji donc c'est ok
{ name: 'blep', id: '652542060494061589' }
Et au final tu veux faire quoi d’ailleurs ?? Ça pourrait être plus simple de comprendre déjà 😅
lorsque qu'un user réagi à un message avec l'emoji donné il se fait set un role et lorsque qu'il delete sa reaction ca lui enlève
et avec le awaitReactions ça peut pas fonctionner ? Je connais pas la doc de discord je pensais que c’était plus un soucis JS, mais en regardant un peu c’est ce que j’ai trouvé 👀
bah le problème de ca c'est qu'il faut définir un temps et j'pense pas que définir un nombre très grand genre 1 semaine soit une bonne idée
puis si je reboot mon bot entre temps ca delete le await reaction
Hm là comme ça je connais pas assez bien discordjs pour te conseiller telle ou telle maniere, essaye de voir avec @timid loom ou Zaros ils sont bon là dedans 👀
Dacc ca marche pas de problème merci quand même ! J'vais attendre sa réponse
Du coup des gens auraient une idée pour mon problème ? 👆
🤔
De souvenir, il y a un autre moyen de récupérer les réactions d'un message sans await
Et quand le bot redémarrer fetchMessage etc..
Je pourrais pas te dire sur le moment sorry :/
Salut, quand mon bot reboot il verif pas les réaction :/
Alors euh j'avais un ancien code mais vraiment très ancien je sais pas si ça pourrait marcher car je sais que discord.js a beaucoup changé entre temps. Faut juste que je le retrouve
Pour vos problèmes
Hey
Quelqu'un s'y connais en sql ? Pour un bot discord en js/discord.js
const Discord = require("discord.js");
const utils = require("../../utils/utils.js");
module.exports.run = async (bot, message, args, bdd, functions) => {
bdd.query(`SELECT * FROM langue WHERE langage`, (err, clangage) => {
if (err) throw err;
if (clangage.langue == "en") return message.channel.send(`Anglais.`)
if (clangage.langue == "fr") return message.channel.send(`Français.`)
})
}
module.exports.help = {
name: "langue"
}```
J'ai ce code
Car j'ai ceci:
Je voudrais qu'avec le server_id, ça me dis le langage donc qui est fr
Ou sois, la langue est en
Merci d'avance
Le probleme est dans ta requête SELECT * FROM langue WHERE langage
Ca devrais déjà être mieux avec SELECT * FROM langue WHERE server_id=${message.guild.id}
Même avec ça
Sa me dis tjr anglais
Or que langage est mis sur fr dans ma bdd
Si tu as une autre solution @queen ocean
Pourquoi tu utilises des quotes ` ?
Pour ton problème non
Mais si tu utilisais un lint tu mangerais des erreurs
Sinon tu reçois quoi quand tu fais le truc de Agent ?
et dans la requete tu envoies bien l'id fr ?
Quel requête 🤔
bdd.query(SELECT * FROM langue WHERE langage, (err, clangage) dans ton select, quand tu fais le server_id=${message.guild.id} tu as bien vérifié que tu envoies bien l'id fr et pas toujours le en ?
Oui
D'ou ceci:
if (clangage.langue == "en") return message.channel.send(`Anglais.`)
if (clangage.langue == "fr") return message.channel.send(`Français.`)
tu peux log le message.guild.id ? avant ton bdd query et vérifier que tu send bien l'id fr
ou alors passe le en dur l'id fr voir si cette fois ci tu le reçois bien aussi
Comment on log le message.guild.id ?
Ok, je te fais ça
C'est bien la même id du discord
Il est bien sur fr
Mais il me met Anglais
et tu peux me log le clangage please ?
Avant ou après ?
après le if (err) throw err;
mhmm plus une erreur dans la sauvgarde nan ?
vu qu'on te vois changer la langue avant
Nan
Elle fais quoi ta commande ytb-config ?
Aucune erreur pour la sauvegarde
Bah c'est surtout
Elle met la langue en en ou en fr
que tu fais
clangage.langue
langage
yep
🤔
et pas .langue j'ai l'oeil 👀
🤔
Si vous avez des questions, hésitez pas 🙂
remontre ton bout de code pelase
const Discord = require("discord.js");
const utils = require("../../utils/utils.js");
module.exports.run = async (bot, message, args, bdd, functions) => {
console.log(message.guild.id)
bdd.query(`SELECT * FROM langue WHERE langage = 'fr' AND server_id = '${message.guild.id}'`, (err, clangage) => {
if (err) throw err;
console.log(clangage)
if (clangage.langage == "en") return message.channel.send(`Anglais.`)
if (clangage.langage == "fr") return message.channel.send(`Français.`)
}
module.exports.help = {
name: "langue"
}
et la tu reçois plus rien c'est ça ?
Tout à fais
ok tu peux console.log(err) à la place de throw err
et me montrer ce que tu recois pour les 2 logs (err et clangage)
Oui donc pas d'erreur
supprime ton console.log(err) et rajoute juste a la place de l'autre aussi console.log(JSON.stringify(clangage))
et montre
oui
clangage[0].langage 👀
Je test et je te dis mdr
yes mais tu peux pas juste recevoir un objet directement de ta query ?
le LIMIT = 1 te récupère quand meme un tableau avec 1 index ou un objet ? test pour voir ce serait plus propre que le [0]
Ducoups, pour ta solution @queen ocean , il me dis bien français
Mais si je met en anglais par exemple, le bot restart
Donc pas niquel mdr
ça te pète une erreur ?
ta une erreur ?
check avant que tu ai bien un [0] avant de faire [0].langage
Un if (clangage[0]) { ?
if (clangage[0] && clangage[0].langage)
car tu reçois un tableau vide
Quand c'est définis sur en
Quand c'est sur fr
ça me met niquel sur français
Je comprends pas pourquoi sa fonctionne pour un et pas pour l'autre mdr
Il s'est bien update en EN ?
Yep
tu logs quoi deja le clangage ?
console.log(JSON.stringify(clangage))
Bizarre que tu ne reçois rien 🤔
Ba ouais
Mon code:
const Discord = require("discord.js");
const utils = require("../../utils/utils.js");
module.exports.run = async (bot, message, args, bdd, functions) => {
console.log(message.guild.id)
bdd.query(`SELECT * FROM langue WHERE langage = 'fr' AND server_id = '${message.guild.id}'`, (err, clangage) => {
if (err) console.log(err)
console.log(JSON.stringify(clangage))
if (clangage[0] && clangage[0].langage) {
if (clangage[0].langage == "en") return message.channel.send(`Anglais.`)
if (clangage[0].langage == "fr") return message.channel.send(`Français.`)
}
})
}
module.exports.help = {
name: "langue"
}```
Ah ba si sûrement mdr
Car le reste est good la le problème c'est juste la requete en elle meme
maintenant essaye de clean un peu ton code
Att, je test sans le = 'fr'
yep
Ah ba nan
çe me dis plus rien
const Discord = require("discord.js");
const utils = require("../../utils/utils.js");
module.exports.run = async (bot, message, args, bdd, functions) => {
console.log(message.guild.id)
bdd.query(`SELECT * FROM langue WHERE langage AND server_id = '${message.guild.id}'`, (err, clangage) => {
if (err) console.log(err)
console.log(JSON.stringify(clangage))
if (clangage[0] && clangage[0].langage) {
if (clangage[0].langage == "en") return message.channel.send(`Anglais.`)
if (clangage[0].langage == "fr") return message.channel.send(`Français.`)
}
})
}
module.exports.help = {
name: "langue"
}```
enleve langage AND
Ok
tu es entrain de lui dire "Prend moi toutes les langues ou langage ET server_id = xxxxx"
sauf que ton langage != à ton server id ^^
pas de soucis, finalement tu n'as fais que des erreurs d'inattention hormis le JSON.stringify, fais juste + de relecture ^^
🙂
Rebonsoir 🙂
J'ai une petite question
Pour que je sois que l'owner de discord qui a le droit a une commande
C'est bien:
if (!message.guild.owner) {
message.channel.send("Vous devez être le propriétaire du serveur.")
}```
Yes je crois
il dois pas remove le ! ?
y a un problème dans ta condition 🤔
if ( !( message.guild.ownerID == message.member.id ) )
Bah sa condition est bonne finalement
Le message « vous devez être l’owner »
bah si 🤔
Ui effectivement
pour moi sa condition fait juste le check de si l'owner de la guild existe
mais ça n'a pas de sens
Non

bah oé
Donc il a raison si !message.guild.owner
Donc il return et sa fonction s’arrête là
et lui envoie le message d’erreur
dans son exemple je te parle
bah oé
Yes il a raison guthen
si
🤔
bah voilà
Mais arrêter 😦
J'vais ressortir mon vieux code rien a foutre
Je pensais que le guild.owner voulait dire "si je suis owner"
alos que non il renvoie juste le user qui est owner
donc la toi certu
sa condition va dire "si il y a pas de owner"
sauf que logiquement y en a tjrs un
voilà
ça n'a juste aucun sens comme je le disais
donc faut revoir ta condition et rajouter un return @dire latch
yep
le return est important mc pour sortir de ta fonction
mais sinon tu peux aussi je pense juste checher que le message.author a le role owner
Pk un return ?
Car si tu return pas
ça ne change rien
J'avais oublié qu'il fallait mettre un égal a quelque chose oupsi
aba si tu fais avec un else
En même temps quand tes parents te gueule dessus à chaque fois
Meme si tu fais un else
J'arrive pas a me concentrer stop la
tu return ^^
Yep
car si derrière tu as d'autres condition
et qu'il entre dedans c'est con
pas owner fin du code, pas besoin que le process continue
Nan tkt
@west plover gare du Nord maintenant
J'ai juste un else mdr
Trigone
Okep
J'ai créer un drama juste pour ça sinon ? Mdr
un drama d'aveugles, tqt
C'est guthen le drama 

Oe on est aveugle
Ah non
g toujours raison, croivez moi
sinon pourquoi tu fais pas un hasPermission('ADMINISTRATOR') direct
Car si jamais un jour tu recrutes un autre admin, faudrait qu'il ai les memes droits que toi nop ?
parce qu'il n'est pas forcément owner ? 
peut-être que c'est une commande à ne pas mettre à la disposition de tous ? 
pour ça que je demande dugland

kaslécouile Enzo 
Enchanté Guthen DuGland
@slim anvil Car c'est un bot qui est sur plusieurs discords 🤷♀️
Ah okay
339 pour être précis 🙂
Pardon ?
ça fait bokou
J'ai fait un énorme bide a l'époque, 40 serveurs bruh
Mon bot existe toujours d'ailleurs
Bon oblc
ah bah si tu fais des !message.guild.owner on est pas dans la merde hein @west plover 
Mdr
Abadakor
ça rend bien
Oé
🙂 Merci
Re bonsoir
J'ai une autre question
Sur le code plus haut (https://discordapp.com/channels/223070469148901376/617677968474636298/653984912310796290)
Cliquez sur 📄 pour accéder au message.
const Discord = require("discord.js");
const utils = require("../../utils/utils.js");
module.exports.run = async (bot, message, args, bdd, functions) => {
console.log(message.guild.id)
bdd.query(`SELECT * FROM langue WHERE langage AND server_id = '${message.guild.id}'`, (err, clangage) => {
if (err) console.log(err)
console.log(JSON.stringify(clangage))
if (clangage[0] && clangage[0].langage) {
if (clangage[0].langage == "en") return message.channel.send(`Anglais.`)
if (clangage[0].langage == "fr") return message.channel.send(`Français.`)
}
})
}
module.exports.help = {
name: "langue"
}```
Je met un if (!langage[0] && !clangage[0].langage) si aucun langage est défini ?
Je regarderai demain vos réponses 🙂
tu devrais changer tes conditions dans ce cas et avoir (sorry je suis sur tel donc rendu pas ouf)
if(clangage[0]) {
if(... ‘en’) etc..
} else {
// code block if no data
}
Il s'est endormi sur son clavier et c'est bon ça marche 
Oui mais autant finir avec un else que de redéfinir une condition... surtout que:
si !langage[0] il y aura forcément pas de !clangage[0].langage donc le deuxieme argument de la condtion est inutile
-__-
??
Nan rien tkt
J'ai un autre soucis
J'ai restart le vps
Et maintenant, j'ai cette erreur:
Or qu'avant, j'avais 0 erreur
Il est ou ton filter
de base tu étais en local c'est ça ? et la tu viens de le passer sur ton serv ?
Cliquez sur 📄 pour accéder au message.
J'ai restart le vps
Et mon filter est sur mon youtube.js
Faudrait lire 😦
par contre je veux bien t'aider mais les piques du genre c'est pas utile
Car tu peux très bien restart ton vps une fois l'avoir mis dessus, donc bon
C'est pas des piques 🤷♀️ C'est juste une réalité ce que j'ai dis ...
Car tu peux très bien restart ton vps une fois l'avoir mis dessus, donc bon
Si tu aurais vus mes screens d'aux dessus quand tu m'aidais, tu aurais vus que j'était sur un vps
Mais bref
Le soucis ne vient pas de ça
Et ton fichier youtube.js c'est celui que tu as envoyé + haut ?
ok merci
Essaye de log avant ton files que tu recois, car si tu peux pas filter c'est qu'il doit etre en undefined
rajoute juste une condition dans ce cas if (files && files.length)
Oui mais avant le restart vps, sa fonctionnais 😦
et tu as rien changé, ou modifié sur le nom de tes dossiers ?
car là 100% si tu logs le files que tu filter il est null ou undefined
j'avais eu le meme genre de soucis avec le readdir il doit pas trouver ton dossier le chemin doit etre bon mais parfois non, il vaut mieux utiliser le __dirname
- nom dossier/fichier
J'en ai trop pour faire comme ça 🤷♀️
ah non mais au lieu de ./.....etc tu mets juste __dirname
au moins t'es sur que si tu changes un jour le fichier de dossier etc ce sera géré logiquement
tu as plus d'infos ici: https://alligator.io/nodejs/how-to-use__dirname/
Ba ouais mais j'ai pas que ce bot quoi après
Puis je voudrais bien utiliser la méthode que j'utilise actuellement
Une solution svp 😦
J'ai que celle donné ^^ sorry
Jvais attendre les autres alors 🙂 Merci quand même
Mais sinon la bonne manière de faire est __dirname, la différence entre __dirname et ./ c'est que __dirname va chercher sur le répertoire actuel, alors que fsread + ./ va aller chercher directement sur la racine de ton vps, par ex /home/usr/ etc d'où le problème que tu rencontres
Ba pourquoi il fonctionnais avant 🤔
Je pourrais pas te dire, mais j'ai déjà eu le meme soucis j'ai du passé par __dirname car en local aucun soucis il me trouvait bien la bonne racine, mais pas sur le serveur
La bonne pratique est de use les chemins type ./ que dans les requires car de lui même il va aller chercher au bon endroit
Mais normalement ça ne devrait rien te changer au code, juste remplacer ton ./ par __dirname ça ne devrait rien impacter logiquement 🤔
Ici ? fs.readdir("__dirname", (err, files) => {
nop ça fonctionne différement
enfin c'est quasi ça, je crois que c'est :
fs.readdir(`${__dirname}/commands/channel`, (err, files...
Si c'est pas bon c'est que le chemin n'est pas le bon mais on sera pas loin
J'ai plusieurs BOT sur mon vps, j'ai décidé de restart le vps, et depuis le restart, j'ai cette erreur https://cdn.discordapp.com/attachments/617677968474636298/654260305529929768/unknown.png sur tout mes bots qui utilisent le filter
Et je ne comprends pas, car avant, tout fonctionnais nickel 🙂
si t'as plusieurs bots, c'est que t'as plusieurs dossiers à la racine de ton VPS, right ?
Dans chaque dossier séparer oui
et donc ./ te ramène à la racine du VPS ?
Non
mais le __dirname à fonctionner là nop ? je vois els fichiers chargé plus haut, l'erreur viens du jsfiles là
@west plover
car comme tu vois il a bien récupérer l'url là /home/YoutubeLife/youtube.js
là ou avant nop
avec le ./, ça faisais /home/commands/blabla et ça oubliait le YoutubeLife, no ?
donc la soluce d'Enzo est good du coup
Ba nan 🤔
Comme le youtube.js est dans /home/YouTubeLife
Il load dans ./commands/channel nan ?
le dossier commands est dans YouTubeLife ?
Oui
bon allez bon appp
t'as pas besoin de ./ alors 🤔
pour moi, la soluce d'Enzo à l'air correcte 🤷♀️
C'est aussi ce que j'avais fait ça avait marcher avec mon ancien VPS
Tu as mis quoi dans ton command handler pour ton chemin d'accès @dire latch ?
Re
Ducoups problème résolu
Enfête
Le soucis c'est ce que je faisais pm2 start /home/youtubelife/YouTube.js
Or qu'il fallait avant faire cd /home/youtubelife
Puis pm2 start YouTube.js
bon bah top
Yes
Rebonjour 🙂
J'ai un petit soucis 🙂
J'ai testé une commande de music (le play.js) et ça ne fonctionne pas même en suivant le tuto ...
const ytdl = require("ytdl-core");
module.exports.run = async (bot, message, args) => {
if (!message.member.voiceChannel) return message.channel.send("Connectez-vous à un salon vocal.");
if (message.guild.me.voiceChannel) return message.channel.send("Le bot est déjà connecté dans un salon vocal.");
if (!args[0]) return message.channel.send("Merci de mettre un lien Youtube.");
const validate = await ytdl.validateURL(args[0]);
if (!validate) return message.channel.send("Le lien n'est pas un lien Youtube.");
const info = await ytdl.getInfo(args[0]);
const connection = await message.member.voiceChannel.join();
const dispatcher = await connection.playStream(
ytdl(args[0], { filter : 'audioonly' })
);
message.channel.send(`Musique ajoutée: ${info.title}`);
};
module.exports.help = {
name: "play"
};```
Le code
L'erreur:
C'est pas un truc de Jor-s v-deo ?
Bonjour !
J'ai un problème avec la séparation de mon code
J'ai suivi un tutoriel utilisant fs mais quand j'éffectue ma commande ça ne fait absolument rien
si jamais , voilà mon code
index.js :
const discord = require("discord.js");
const fs = require('fs');
const Client = new discord.Client();
const warns = JSON.parse(fs.readFileSync('./warns.json'));
Client.commands = new discord.Collection();
fs.readdir('./commands/', (err, files) => {
if(err) console.log(err)
let jsfile = files.filter(f => f.split('.').pop() === 'js')
if(jsfile.length <= 0) {
console.log("Erreur ! Je ne trouve pas la commande !");
return;
}
jsfile.forEach((f, i) => {
let props = require(`./commands/${f}`)
Client.commands.set(props.help.name, props);
});
}
const PREFIX = "!";
const TOKEN = "token";
Client.on('message', async message => {
if (message.author.Client) return;
if (message.content.startsWith(PREFIX)) return;
let args = message.content.slice(PREFIX.length).trim().split(/ +/g);
let commands = args.shift().toLowerCase();
let commandfile = Client.commands.get(commands);
if(commandfile) commandfile.run(Client, message, args);
});
Le code d'une de mes commandes , commande help :
const discord = require("discord.js");
module.exports.run = async (Client, message,) => {
let HelpEmbed = new discord.RichEmbed()
.setColor("#00BFFF")
.setAuthor("Help | Commandes disponibles", Client.user.displayAvatarURL)
.setDescription("Prefix : " + PREFIX)
.addField("Help", "Affiche ce menu", true)
.addField("Modération", "kick, ban, clear, warn, unwarn, infractions, mute,", true)
.setFooter("MatixRP | MatixBot ")
message.channel.send(HelpEmbed)
}
module.exports.help = {
name: "help"
}
Merci d'avance pour vos réponses !
🤷♀️
@dire latch Je t'avais demandé si ton code en gros venait de github ou d'une personne nommé "joris vidéo"
Oui et non
Pourquoi ?
Parce que ton code me dit qlq chose
d'un code open source connu
@rough tide Je pense que cela vient de ceci :
let commands = args.shift().toLowerCase();
ah mais j'avais pas vu l'erreur
il trouve pas ffmpeg, tu es sûr d'avoir installé le module ?
ffmpeg-binaries
npm install ffmpeg-binaries```
Normalement, il était mis, jvais reinstaller et restart
Yes
C'était ça
Jcroyais l'avoir installé
Mais maintenant, j'ai une nouvelle erreur
Toujours le même code:
const ytdl = require("ytdl-core");
module.exports.run = async (bot, message, args) => {
if (!message.member.voiceChannel) return message.channel.send("Connectez-vous à un salon vocal.");
if (message.guild.me.voiceChannel) return message.channel.send("Le bot est déjà connecté dans un salon vocal.");
if (!args[0]) return message.channel.send("Merci de mettre un lien Youtube.");
const validate = await ytdl.validateURL(args[0]);
if (!validate) return message.channel.send("Le lien n'est pas un lien Youtube.");
const info = await ytdl.getInfo(args[0]);
const connection = await message.member.voiceChannel.join();
const dispatcher = await connection.playStream(
ytdl(args[0], { filter : 'audioonly' })
);
message.channel.send(`Musique ajoutée: ${info.title}`);
};
module.exports.help = {
name: "play"
};```
@plush lava c'est a dire ?
@dire latch 😂 faut que tu installe aussi un opus-engine regarde
Oo
En résumé
To get started, make sure you have:
FFmpeg - npm install ffmpeg-binaries
an opus encoder, choose one from below:
npm install opusscript
npm install node-opus
a good network connection
Il le dis pas dans son tuto 🤷♀️
@rough tide et bien, ce n'est pas tout à fait ça ta commande ne marchera pas comme ça ( flemme d'expliquer en détail j'suis concentré sur un autre truc )
avec le shift ça ne peut pas marcher pour executer une commande 👀
je vois pas le rapport avec le shift
donc je met quoi ?
ça sert juste a récupérer le premier élement d'un tableau
j'vois pas de tableau moi
bah args
uh
non
Bah tu shift sur un array Hella
Att j'vérifie
pas sur une string
let args = message.content.slice(PREFIX.length).trim().split(/ +/g);
C'est un string là non ?
oui :/
ui cé kwa trim ?
trim supprime deja les espaces
mais bon c'est pas très grave ça au pire
mais du coup je fais quoi ?
Enlève déjà .shift à args
Tu veux récuperer le premier élement de ta string ?
tu peux juste args[0] sur ta string
je crois qu'il va considérer ta string en array et donc récupérer le premier élement mais pas sur là
pour command je met quoi du coup ?
Ui cé ça Enzo
message.args[0] ?
sinon tu args.split(' ').shift()
bah ton args, voir si tu récupères bien le premier mot du coup
J'avais mis ça moi avant dans mon ancien code 👀
Bah ça marche tjr jcrois non ?
c'est redondant ton code du coup certu
surement mais il me semble que ça marchait pas
tu peux tout faire en une fois quoi
ui c'est du code open source c dla maird
Je sais mais j'y ai pas touché depuis quelques années 👀
abaoof
certurix ton code est bon ?
@dire latch Tu as un truc dans la console quand tu execute la commande et que le bot ne joue pas de musique ?
@rough tide Normalement oui, je lance mon bot pour voir 👀
Mon bot s'est bien allumé avec mon code actuel @rough tide donc ça marche bien
il ne s'allume pas si y'a un problème
enfaite mon bot s'allume , le pb n'est pas la
oé cé bon
il réagit juste pas a ma commande
@plush lava Tu as une solution 🤔
bon , j'ai mis un console.log a la fin de ma commande help
ici
et il ne s'affiche pas
donc le pb c'est juste que la commande ne se lance pas
Repost ton code stp
donc le bot ne comprend pas qu'il doit lancer cette commande
Y'a trop de messages 👀
Mdr
index.js + commande ?
Sinon les deux on fait ça en MP avec partage d'écran
ça évitera de spam et ce sera plus simple 👀
et puis vous avez des trucs bizarres hein
Faut que vous m'ajoutiez en ami 🙂
Je tes déjà invité 🙂
const discord = require("discord.js");
const fs = require('fs');
const Client = new discord.Client();
const warns = JSON.parse(fs.readFileSync('./warns.json'));
Client.commands = new discord.Collection();
fs.readdir('./commands/', (err, files) => {
if(err) console.log(err)
let jsfile = files.filter(f => f.split('.').pop() === 'js')
if(jsfile.length <= 0) {
console.log("Erreur ! Je ne trouve pas la commande !");
return;
}
jsfile.forEach((f, i) => {
let props = require(`./commands/${f}`)
Client.commands.set(props.help.name, props);
});
}
const PREFIX = "!";
const TOKEN = "token";
Client.on('message', async message => {
if (message.author.Client) return;
if (message.content.startsWith(PREFIX)) return;
let messageArray = message.content.split(" ");
let command = messageArray[0]
let args = messageArray.slice(1);
let commandfile = Client.commands.get(command);
if(commandfile) commandfile.run(Client, message, args);
});
ça c'est mon code index
On peut le faire via partage d'écran si tu le souhaite @rough tide
ce sera plus simple
👀
Ouep , je trouve aussi
accepte ma demande d'ami
Salut, je ne trouve pas de moyen d'intégrer une api pour indiquer le nombre de joueur connecté sur mon bot, j'ai essayé avec un peu tout mais impossible cela ne marche pas, aurais vous une solution ?
Bah ton serveur dispose d’une api pour get les infos ? Un peu comme MTX par exemple
Yep
C’est quoi ? Un serveur gmod ?
Si un serveur utilisant Steam, tu peux le faire en utilisant un module NodeJS, comme steam-server-status
Bonjour, je suis entrain de créer mon bot, et actuellement je fait une fonction pour clear le chat, donc sa clear bien le chat mais je voudrais que sa supprime ensuite le message qui à été mis
message.channel.send(`**${messages.size}** messages ont été supprimés !`)
message.delete();
J'ai fait sa mais sa m'affiche une erreur
Go envoyer l’erreur
(node:7864) UnhandledPromiseRejectionWarning: DiscordAPIError: Unknown Message
at c:\Users\claud\Desktop\bot_paradise\node_modules\discord.js\src\client\rest\RequestHandlers\Sequential.js:85:15
at c:\Users\claud\Desktop\bot_paradise\node_modules\snekfetch\src\index.js:215:21
at processTicksAndRejections (internal/process/task_queues.js:93:5)
warning.js:27
(node:7864) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
warning.js:27
(node:7864) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
x)
Et mon code clear.js c'est sa
module.exports.run = (client, message, args) => {
if (!message.guild.member(message.author).hasPermission('MANAGE_MESSAGES')) { return message.channel.send('Vous n\'avez pas les permissions !'); }
if (!args[0]) { return message.channel.send('Vous devez spécifier un nombre de messages à supprimer !'); }
else if (isNaN(args[0])) { return message.channel.send('Veuillez spécifier un nombre !'); }
message.channel.bulkDelete(args[0])
.then((messages) => {
message.channel.send(`**${messages.size}** messages ont été supprimés !`)
message.delete();
});
};```
Ok finalement c'est bon j'ai trouver merci quand même
Comment je pourrait faire pour relier mon bot a mon serveur pour obtenir des info tels que le nombre du joueurs, le status, le ping, la map etc etc
tu es chez mtx ?
enfin peu importe, mais tu peux juste faire des requetes sur une api pour get les infos souhaités
guthen a envoyé un package hier
Cliquez sur 📄 pour accéder au message.
Si un serveur utilisant Steam, tu peux le faire en utilisant un module NodeJS, comme steam-server-status
A merci vous gérer
@west plover moyen que tu trouve pk sa marche pas stp, psk la je suis perdu x(
const Discord = module.require("discord.js");
var steamServerStatus = require('steam-server-status');
steamServerStatus.getServerStatus(
'149.91.80.164', 27016, function(serverInfo) {
if (serverInfo.error) {
console.log(serverInfo.error);
} else {
let sicon = message.guild.iconURL;
let serverembed = new Discord.RichEmbed()
console.log("game: " + serverInfo.gameName);
console.log("server name: " + serverInfo.serverName);
console.log("players: " + serverInfo.numberOfPlayers + "/" + serverInfo.maxNumberOfPlayers)
.setDescription("Server Information")
.setColor("#15f153")
.addField("game: " + serverInfo.gameName)
.addField("server name: " + serverInfo.serverName)
.addField("players: " + serverInfo.numberOfPlayers + "/" + serverInfo.maxNumberOfPlayers);
message.channel.send(serverembed);
}
});
module.exports.help = {
name: "serverstatus"
}```
Bah tu l’exécute directement au lieu de l’ajouter dans ton système de commande 
AH pas bete je vais test
ReferenceError: message is not defined
at c:\Users\claud\Desktop\bot_paradise\index.js:56:25
at Socket.<anonymous> (c:\Users\claud\Desktop\bot_paradise\node_modules\steam-server-status\lib\steam-server-status.js:23:9)
at Socket.emit (events.js:210:5)
at UDP.onMessage [as onmessage] (dgram.js:861:8)
steamServerStatus.getServerStatus(
'149.91.80.164', 27016, function(serverInfo) {
if (serverInfo.error) {
console.log(serverInfo.error);
} else {
let sicon = message.guild.iconURL;
let serverembed = new Discord.RichEmbed()
.setDescription("Server Information")
.setColor("#15f153")
.addField("game: " + serverInfo.gameName)
.addField("server name: " + serverInfo.serverName)
.addField("players: " + serverInfo.numberOfPlayers + "/" + serverInfo.maxNumberOfPlayers);
message.channel.send(serverembed);
}
});
module.exports.help = {
name: "serverstatus"
}```
J'ai mis sa et sa m'affiche l'erreur juste au dessus
Je vient de débuter donc, je sais pas trop pk
SA vient sa
let sicon = message.guild.iconURL;
let serverembed = new Discord.RichEmbed()
déjà
Quand on débute on commence peut etre par avoir les bases en JS ce serait plus pratique je pense 🤔
ton erreur vient juste du fait que message est défini nul part
message is not defined
Ah oui merde j'avais pas vue la première ligne en faite c'est bon c'est régler
Hey
Il y a quelqu'un ? 🙂
J'ai un petit soucis
Quand je fais ceci:
bdd.query(`SELECT * FROM emojis WHERE user_id = '${message.author.id}'`, (err, lemojis) => {
if (!lemojis[0].emojis) {
Il me dis que emojis est est pas définis
Bonsoir , je suis actuellement entrain de coder une commande de bingo , en gros , on fait /bingo nombre maximal , le bot prend un nombre entre 1 et nombre maximal , si quelqu'un écris ce nombre , il gagne. Sauf que , quand je fais /bingo 100 , il ne se passe absolument rien. Quelqu'un pourrais m'aider ? Merci !
Client.on("message", message => {
if (message.content === PREFIX + "bingo") {
let messageArray = message.content.split(" ");
let args = messageArray.slice(1);
if (!message.member.hasPermission('ADMINISTRATOR')) return message.channel.send("❌ | Vous n'avez pas la permission d'effectuer cette commande")
let Bingo = args.join(" ")
if (!Bingo) return message.channel.send("Veuillez indiquez un nombre maximal");
let BingoNombre = Bingo[Math.floor(Math.random() * Bingo)]
if (BingoNombre) message.channel.send("Le bingo a été démarré !")
console.log(BingoNombre)
Client.on("message", message => {
if (message.content === BingoNombre) {
message.channel.send(`Bien joué à ${message.author} qui à trouvé le bon nombre ! C'était ${BingoNombre} !`);
}
})
}
})
À la place de message.content === PREFIX + "bingo" dans ta condition, essaye avec message.content.startsWith(PREFIX + 'bingo')
@rough tide
ça viens pas de la
psk quand je fais /bingo ca me dit "Veuillez indiquez un nombre maximal"
mais quand je l'indique , bh ca fais rien
Non mais @rough tide Taink a raison
Oui quand tu fais /bingo la commande fonctionne car ta condition est bonne
mais quand tu l'indique elle l'est plus
donc remplace par startsWith
Bonsoir !
Encore un soucis avec cette commande de bingo
module.exports.run = async (Client, message, args,) => {
if(!message.member.hasPermission('ADMINISTRATOR')) return message.channel.send(":x: Vous n'avez pas la permission d'effectuer cette commande")
let bingo = args.join(" ")
if (!bingo) return message.channel.send(":x: Veuillez indiquez un nombre maximal.")
let random = Math.floor(Math.random() *bingo)
message.channel.send(`:CheckOui: Le bingo viens d'être lancé par ${message.author.username}#${message.author.discriminator}. Trouvez un nombre entre **0 et ${bingo}**`).then(m => {
message.author.send(`:CheckOui: Le nombre choisi est : ${random}`)
console.log(`Le nombre choisi est ${random}`)
message.channel.awaitMessages(response => response.content === `${random}`, {
max: 1,
time: 3600000,
errors: ['time'],
}) .then((collected) => {
message.channel.send(`:CheckOui: ${message.author} à trouvé le bon nombre , qui était ${random} ! Bravo a lui !`)
}).catch(() => {
message.channel.send("Le temps imparti de 60 minutes est terminé, partie terminée")
}, 3600000);
})
}
Ici , message.channel.send(`:checkoui: **${message.author} **
message.author correspond a l'auteur de la commande /bingo , pas de la réponse
Je dois mettre quoi pour que ça soit celui de la réponse ?
response.author correspond a celui qui a envoyé la bonne réponse
Il me semble que j'ai essayer mais ça n'as pas marcher
console.log juste ton message, et regarde l'objet que tu recois
collected.Entries.first().value.author 🤔
fais un collected[0] en console.log pour vwèr
je test ça
toujours pas de solution svp ?
t'as testé ?
att jle refais
yes et montre ton log
T’as TV pour qu’on puisse tester rapidement quelques trucs ?
tv ?
TeamViewer
On voit pas grand chose sur discord la qualité est plutôt à chier
c'est mieux pour moi désolé, j'ai des fichiers vrmt persos sur mon pc xd
Je finis ma game et j’arrive
parfait merci
im here
go aide voc bots ?
Hey, je sais pas si c'est vraiment ici qu'il faut demander mais connaissais vous un bot de statut de serveur gmod , n'utilisant pas l'API mtxserv ?
Si tu veux le faire toi même, tu peux utiliser steam-server-status
Hello, j'ai un problème avec steam-server-status, j'aimerais envoyez les information du serveur dans un channel précis, sauf que quand je démarre le serveur il ne comrpends pas le "get"
steamServerStatus.getServerStatus(
'149.202.102.59', 27015, function(serverInfo) {
if (serverInfo.error) {
console.log(serverInfo.error);
} else {
console.channels.get("578904930757115914").send( "Jeu: " + serverInfo.gameName );
console.channels.get("578904930757115914").send( "Nom: " + serverInfo.serverName );
console.channels.get("578904930757115914").send( "Joueurs: " + serverInfo.numberOfPlayers + "/" + serverInfo.maxNumberOfPlayers );
}
});
console.channels oof
non du coup ça ne marche pas 🙂
client.channels.get
client c'est la variable que tu as assigné a ton new Discord.Client() dans ton fichier
ah ouais mais maintenant ça ne veux pas envoyez le send
root@3115 /home/vlife-bot # nodejs index.js
/home/vlife-bot/index.js:45
client.channels.get("578904930757115914").send( "Jeu: " + serverInfo.gameName );
^
TypeError: Cannot read property 'send' of undefined
at /home/vlife-bot/index.js:45:45
at Socket.<anonymous> (/home/vlife-bot/node_modules/steam-server-status/lib/steam-server-status.js:23:9)
at Socket.emit (events.js:210:5)
at UDP.onMessage [as onmessage] (dgram.js:861:8)
J'avais oublié ça wait
jregarde dans mon code ça ira plus vite flemme d'aller dans la doc
ok
mhhh
voici mon code
steamServerStatus.getServerStatus(
'149.202.102.59', 27015, function(serverInfo) {
if (serverInfo.error) {
console.log(serverInfo.error);
} else {
client.channels.find("578904930757115914").send( "Jeu: " + serverInfo.gameName );
client.channels.find("578904930757115914").send( "Nom: " + serverInfo.serverName );
client.channels.find("578904930757115914").send( "Joueurs: " + serverInfo.numberOfPlayers + "/" + serverInfo.maxNumberOfPlayers );
}
});
yes
client.channels.find("id","578904930757115914")
le send ne remarche :/
root@3115 /home/vlife-bot # nodejs index.js
configuration.json: loaded !
role_reactions.json: loaded !
/home/vlife-bot/index.js:45
client.channels.find("id","578904930757115914").send( "Jeu: " + serverInfo.gameName );
^
TypeError: Cannot read property 'send' of null
at /home/vlife-bot/index.js:45:51
at Socket.<anonymous> (/home/vlife-bot/node_modules/steam-server-status/lib/steam-server-status.js:23:9)
at Socket.emit (events.js:210:5)
at UDP.onMessage [as onmessage] (dgram.js:861:8)
oh l'suicide
C'est à cause des quotes ? 🤔
Je galère sur un truc facile ça prouve vraiment mon utilité ici
😂
root@3115 /home/vlife-bot # nodejs index.js
configuration.json: loaded !
role_reactions.json: loaded !
/home/vlife-bot/index.js:45
client.channels.find('id','578904930757115914').send( 'Jeu: ' + serverInfo.gameName );
^
TypeError: Cannot read property 'send' of null
at /home/vlife-bot/index.js:45:51
at Socket.<anonymous> (/home/vlife-bot/node_modules/steam-server-status/lib/steam-server-status.js:23:9)
at Socket.emit (events.js:210:5)
at UDP.onMessage [as onmessage] (dgram.js:861:8)
la même
ont peu pas remplacer le send par autre chose au pire ?
ah merde
nop
Ah bah aussi
et je pense d'ailleurs que sa vient de ça
mais du-coup je fait comment avec mon code
steamServerStatus.getServerStatus(
'149.202.102.59', 27015, function(serverInfo) {
if (serverInfo.error) {
console.log(serverInfo.error);
} else {
client.channels.find('id','578904930757115914').send( 'Jeu: ' + serverInfo.gameName );
client.channels.find('id','578904930757115914').send( 'Nom: ' + serverInfo.serverName );
client.channels.find('id','578904930757115914').send( 'Joueurs: ' + serverInfo.numberOfPlayers + '/' + serverInfo.maxNumberOfPlayers );
}
});
je ne peux pas mettre steamserrverstatus dans un event
A quel condition tu veux que ça s'envoi ?
quand le serveur s'allume
et après j'aimerais faire avec une commande mais je pense que ca va être simple :/
Quand le serveur s'allume ? Oula alors euh je pense pas que ce soit possible 🤔
Oui une commande c'est possible
client.on('message', message {
// Ton code
});
ca va marcher avec ça ?
steamServerStatus.getServerStatus(
non
Ah
Wait
Au pire tu veux pas venir mp ? Ce sera beaucoup plus simple pour moi de t'aider
yep
avec partage d'écran
mhhh intéressant, tu a fait la commande avec un embed ?
Sinon quelqu'un serais dispo pour m'aider ? J'ai un tt petit pb
??
Faudrait expliquer ton problème sinon on risque pas de t'aider
je l'ai reglé ^^ juste aprés , c'était débile
Salut est ce quelqu’un pourrais m’expliquer pour faire fonctionner un code svp
Sinon donne ton problème direct
Hey
J'aimerai que quand on fais une commande, sa ajoute 1 sur mon json
const Discord = require('discord.js');
const prefix = '!';
const low = require('lowdb')
const FileSync = require('lowdb/adapters/FileSync')
const adapter = new FileSync('./commands.json')
const db = low(adapter)
let cooldown = new Set();
db.defaults({
all: []
}).write()
module.exports = (client, message) => {
let messageArray = message.content.split(" ");
let args = messageArray.slice(1);
if (message.content.startsWith(prefix)) {
let cmd = messageArray[0];
let commandfile = client.commands.get(cmd.slice(prefix.length));
if (!commandfile) return;
commandfile.run(client, message, args);
if (db.get('all').find({
cmd: 1
}).value()) {
} else {
db.get('all').push({
cmd: 1
}).write()
db.get("all").value().push({cmd: +1})
db.get("all").value().push({cmd: "+1"})
db.get("all").push({cmd: +1}).value()
db.get("all").push({cmd: "+1"}).value()
console.log(db.get("all").value())
console.log(db.get("all").find("cmd").value())
}}
console.log(db.get("all").value())
}```
Le code
Le json
Bonsoir,
J'aimerais avoir des roles pour notifier des membres , or , cela veut dire que n'importe qui pourras ping ces roles.
J'ai donc penser a une commande /ping , qui débloquerais la permission mentionnable , mentionnerais le role puis rebloqueras la perm. Or , la permission n'existe pas. Il n'y a pas d'autre moyen de faire ça ?
https://discordapp.com/developers/docs/topics/permissions
Integrate your service with Discord — whether it's a bot or a game or whatever your wildest imagination can come up with.
@dire latch bh tu édit ton rajoute 1 a ton json pdt l'éxécution de la commande
en utilisant fs
ça me dis vachement comment faire 🤔
@rough tide il y a plus simple, tu le fait directement via le bot. Ce sera le bot qui va mentionner le rôle seulement si l'auteur de la commande est un staff
@plush lava je sais , sauf que du cp tt lmonde peut mentionner le role
Non, si tu ajoute une condition dans la commande qui dit que si l'auteur du message est un membre du staff ( tu peux le faire via soit un role soit une permission ) alors on execute la commande sinon on fait rien
bah suffit de désactiver pour les membres la permission pour mentionner le role
le bot peut le mentionner même si il n'a pas la permission 👀
Non @plush lava, le rôle est "pingable" par tout le monde si il est "pingable" par une personne : je dois faire un système similaire pour #gaming-news car autrement le rôle des jeux gratuits peut être ping par n'importe qui
faudrait que le bot get tous les users et les pings un par un dans un message puis l'éditer après pour enlever tous le superflus, mais ça pourrait dépasser la limite s'il y a trop de gens 
🤔
c'est pas qu'un physique @queen ocean je vous avais prévenu, il est redoutable.... cachez vos femelles, beau, intelligent, indulgent, malin
attendez j'vous montre un truc 👀
🤔
!ban @slim anvil
:(((((
bon bah j'vous montre pas mon bot est cassé j'ai la flemme de le réparer
comme Zaros l'a montré 🤷♀️
tu actives la possibilité de mentionner le role avant d'envoyer ton message et tu le désactives juste après
Cliquez sur 📄 pour accéder au message.
Hey
Il te la donne plus haut regarde fs
Ça m'aide pas sa solution mdr
Si je viens là, c'est que j'ai cherché 🤷♀️
Tu as cherches fs ?
Puis vous me proposez un truc que j'utilise pas
Et donc ? Ça s’installe
Et donc, c'est que je veux avec ceux que j'utilise 🤔
lowdb
Utilises fs et te fais pas chier si tu veux juste lire et écrire sur un json
tu auras juste un fs.readFileSync()
Pour récupérer ton json
Lowdb le fais, pourquoi je changerai
Stop proposer des choses que j'utilise pas 🤷♀️
Vous pouvez pas forcer les personnes avec vos manières hein
Car tu y arrives pas qu’on t’a proposé 3 fois fs car on utilise pas lowDb j’ai l’impression
Si tu acceptes pas nos conseils tu peux pas venir les demander 
Des conseils ?
Vous m'aidez pas en me disant d'installer fs
J'utilise lowdb, c'est tout
Si car on utilise fs donc on sera plus à même de t’aider là dessus
Si vous avez pas de solution, vous le dîtes. Pas en me disant d'installer d'autres choses.
si tu veux pas changer et que tu as pas de réponse relance pas 3 fois 
3 fois ? 🤔
Oui oui
Waouh bravo le veau
Sinon
// Increment count
db.update('count', n => n + 1)
.write()
Si tu veux juste incrémenter de 1
Essaye de passer par ça c’est sur leur doc
remplace par les bons champs
Ok
Oo
Et sinon si tu veux vraiment une db utilise mongo atlas
Au moins tu auras des saves
Ce sera plus safe que un json sur la durée
@slim anvil fs ne s'installe pas
en tt cas t'as pas besoin de l'installer , juste de l'inclure
@dire latch t'es grave toi par contre
tu nous demande de l'aide , on te donne de l'aide , puis tu nous engeule parceque on a pas utilisé lowdb ?
fs fait très bien le travail , tu a pas a l'installer , juste a faire
const fs = require("fs")
Bonjour je voudrait de l'aide pour crée un system de ticket merci a se qui m'aide
Me mentioner pour me contacter svp
Ah il est déjà installer de base dans le package sûrement fin bon du coup ça s’installe quand même si par défaut il y est pas
Bonsoir j'ai une bdd avec mon web mais comment je pourrais l'associé à mon bot par exemple pour mon système de warn j'utilise lowdb avec un fichier json.Mais j'aimerais que sa soit sur une bdd genre phpmyadmin.
Go me mp.
https://www.w3schools.com/nodejs/nodejs_mysql_insert.asp j'use pas PMA avec du JS, mais tu as ça comme info
Là tu as l'exemple local mais du coup a la place de local tu mets l'ip de ton PMA
Php my Admin
Possible et m aide
??
@slim anvil désolé de te déranger mais tu saurais comment vérifier si quelqu'un a un role ?
parceque dans la docu j'trouve pas
message.guild.roles
Je crois et dessus tu fais un .find
Ou un .some qui fonctionne de la même manière que le .find
message.member.roles.find(r => r.name === 'le_nom_de_ton_role_ici')
Ou sinon
message.member.roles.has(role.id)
c’est ce que je viens de dire no rassure moi koko
Ah j’ai confondus le member et guild
Bon après suffit de creuser un peu en regardant l’objet 
Un recherche, premier lien j'ai trouvé une réponse ... 😦
Oui same « discord JS user has role »
😂
Je cherche quelqu'un qui pourrait faire fonctionner la music sur mon bot qui est sur mon vps. Car en local, j'ai aucun soucis mais sur le VPS, la music ne se joue pas.
yo
alors , je sais que c'est ouf mais bon , si quelqu'un sais faire , j'aimerais lier steam et mon bot, c'est a dire que dés que quelqu'un rejoigne le serveur, ils doit lier son compte steam pour acceder au serveur. J'ai un nom de domaine , un site web , mais aucune connaissance en web , mais je suis pret a apprendre si il le faut
si quelqu'un aurais une vague idée de comment faire
sachant que sur notre site on a déja une vérification steam mais c'est pas moi qui la gère
C’est un peu bizarre de relier son discord à steam
C’est pas hyper compliqué au niveau du code mais plus au niveau de « comment tu check ? »
comment ils procèdent tu vois ?
Car toi tu peux partir du principe que tu as déjà son discord donc son e-mail, ça ok tu peux le stocker en db, du coup il te faudrait une autre entrée dans ta table users qui serait STEAM_ID
Donc tout se passerait sur discord ? Avec une commande par exemple ?
Nop
Il se connecte a steam , puis ensuite on nous dit oui ou non si il a déja été sur le serveur
si oui , on lui donne un grade
sinon , bah non et on lui envoie un ptit message d'erreur
Yep mais du coup faut que tu trouves comment savoir si il s’est déjà connecté au discord, car ça peut ne pas être le mail e-mail ?
car pour la connexion steam c’est pas très compliqué tu as déjà des trucs tout fait, mais c’est plus au niveau du check que tu vas avoir des complications, trouver le bon schéma de vérification
Faudrait que tu demandes le SteamID sur le Discord, et que sur le serveur, fasses un système qui envoie le SteamID du joueur à la connexion sur une DB ou autre, et le Bot check dans cette DB s’il est dessus
Bah oui mais du coup tu peux te faire passer pour qui tu veux ?
Une fois vérifié tu interdis le SteamID à être utilisé par quelqu’un d’autre
Oui mais à quel moment tu vérifies que c’est bien lui ?
vous avez pas compris
il arrive sur le discord -> On le redirige vers notre site -> connexion -> on vérifie si il s'est déja connecter sur le serveur gmod -> autorisation d'accés au serveur
Ah faut qu’il soit co au serveur Gmod ??
nop
Ah pour le faire ok je vois mais par contre gmod j’y connais rien faudrait voir si gmod stock l’historique des users quelque part (je pense que oui)
j'y connais rien a gmod aussi xd c'est pour le serv d'un pote
et aussi question hs , c'est possible de récuperer le pseudo de quelqu'un par son id ?
ouep
nan pour l'id je parle discord
genre
console.log(user.username)```
un truc comme ça
Tu as le fetchUser
quelqu'un dispo ? le soir de noe; c'est un peu con mais bon
attend demain ^^
?? Dis nous
enfaite j'ai une commande qui affiche touts les serveurs du bot
sauf que si le bot a 300serveurs, c'est un peu compliqué
donc j'aimerais pouvoir afficher les serveurs 3 par 3
et changer de 3 par 3 avec des reactions
genre comme ça :
serveur 1
serveur 2
serveur 3
var no = "0"
Client.guilds.map(guild => {
no++
var serv = new discord.RichEmbed()
.setColor("RANDOM")
.setTitle(`${no} - ${guild.name}`)
.addField("Membres :", `${guild.memberCount}`)
.addField("ID :", `${guild.id}`)
.setFooter("Hawaii | Bot")
message.channel.send(serv)
})
c'est mon code
Déjà on va remplacer le var par un let

Le client.guilds ce sont les serveurs ? Du coup tu peux juste slice ton array avant chaque boucle avec .slice(currentIndex, newIndex) par exemple mais vérifie avant si le newIndex est pas inférieur au current car sinon tu inverses ton slice logiquement
Un peu fatigué mais là de tête ça devrait être ça, si le client.guilds c’est bien le tableau de tes 300 serveurs
Bon après a toi juste de faire tes conditions pour les emojis si il veut avant ou après
j'ai pas compris le .slice
Ton client.guilds si tu le log c’est un tableau ?
Donc tu peux faire comme je t’ai dis le .slice(x, x)
x x ?
Les paramètres à passer sont les index
Si tu veux un tableau de l’index 8 à 11
Tu mettras slice(8, 11)
Bah tu mets tes variables
les quels mdr
Par défaut tu auras un let currentIndex = 0
Donc en premier tu vas forcément renvoyer 0, 3
donc enfaite dans ton slice tu auras toujours un .slice(currentIndex, currentIndex + 3) ou si tu veux afficher moins .slice(currentIndex - 3, currentIndex)
attend je comprend plus rien
On fait ça demain ? 😂
Il est 2h30 je suis sur tel c’est complex et me reste 7% c’est la hess
Pas de soucis relance moi demano
Good Night et bonne fêtes
J'aimerai faire un system de ticket , qu'elle qu'un aurai de la documentation ?
Bah faut que t as commande créer un salon
@keen narwhal comme pour ici le truc suggestion ?
@slim anvil non un truc pour report des gens via une commande
Ah comme quand ici tu mets le
?
Bah ou juste créer un channel de ticket pour parler au staff 🤔
Car report et ticket c’est pas la même chose ticket c’est plus besoin d’aide, tu peux faire une commande !ticket Description de mon problème bla-bla-bla, qui va juste dans un channel staff envoyer ce message avec ton nom la date la description et voilà
report un problème :smartguy:
On attend qu’il nous précise au moins on sera sur
hello dis nous
@slim anvil Je voudrait un system de ticket comme ça:
!ticket Il y a une erreur 404 au site internet
Et le message sa nous l'envoie dans le channel ticket pour que je puisse répondre.
Il y a un bot déjà qui fait ça je crois
@keen narwhal c'est simple a faire
Je ne sais pas , je suis débutant moi
Tu veux bien m'aider
quand la commande !ticket est effectuée , tu prend le contenu du message
donc message.content
ou message je sais plus
attend jte fais le code
OwO merci !
let report = message.content
message.delete()
let reportembed = new discord.richEmbed()
.setcolor("RANDOM")
.settitle(`Report de ${message.author.tag}`)
.setdescription(report)
message.guild.channels.get("id de ton channel").send(reportembed)
normalement ça marche , mais verifie si y'as des erreurs
j'suis un dev en carton donc xd
C’est pas en lui faisant le code, qu’il progressera
c'est vrai
Je vais essayer de le refaire après , sans le regarder sa va m'aider !
Essaye de le faire sans le code surtout
J'ai essayer mais sa ne marcher pas a chaque fois
Sinon je ne demanderai pas d'aide
Dans ce cas, demande de l’aide sur ton code
*/On commence par définir le contenu du message , ce qui doit etre report/*
let report = message.content
*/On supprime le message envoyé par le joueur*/
message.delete()
*/On créer l'embed , pour un message plus propre*/
let reportembed = new discord.richEmbed()
.setcolor("RANDOM")
.settitle(`Report de ${message.author.tag}`)
.setdescription(report)
*/On récupere le salon et envoie le message !*/
message.guild.channels.get("id de ton channel").send(reportembed)
c'est mieux comme ca
tranquille
si t'as besoin d'aide j'suis la , jsuis pas trop fort en js mais j'me débrouille
Mais si je veux le mettre dans mon code , je fait comment ?
Oui
pas ouf :/
je sais
jte conseil de séparer ton code pour commencer
jsuis nul
Si tu veux écoute
jtenvoie la vidéo
si tu comprend pas quelque chose reviens vers moi
ca utilise fs , c'est possible sans mais c'est le plus opti
@queen ocean c'est quoi les limites de l'API discord ? (quantités de channels que tu peux créer, etc..)
De base faut vraiment en abuser pour être ratelimited
Mais ça tu peux leur demander je pense
Perso je sais que tu peux faire seulement 1000 connexions de bot en 24h mais en channel 
tant que t'as pas de 429 continue 
429?

