#javascript-typescript
1 messages · Page 72 of 1
nan sur ton msg.delete()
en gros msg.delete() ça renvoie une promise
donc tu peux .then() dessus pour exécuter un code une fois qu'il a fini
L'embed envoyé après les 5 minutes c'est le même ou totalement rien à voir ?
d'ailleurs pourquoi ta fonction execute est en async? je vois pas de await
presque le meme
Il y a quoi qui change ?
on est d'accord qu'on peut que sur les promises en js on peut pas chain les .catch() mais que les .then() non?
normal le dellete role
bah tu peux mais ça n'a d'intérêt que si ton .catch peut lever des exceptions
ça peut servir dans certains cas tu penses?
oui tu peux je pense
en fait si tu te mets à chain des .catch et des .then tu devrais faire une fonction async
Alors on t'a mal compris mdrr
sauf que l'async utilise les promesses nan?
=/
yep en gros tu fais msg.delete().then()

yep justement les .then c'est pareil
Mais comment je mis prend ?
() et entre sa je met mon code
ouais tu fais pareil que pour les .then habituels
k merci
ah ouais clairement aucun souci là dessus mdr je sais pas pourquoi il a dit ça
Pour insérer une ligne de code sur discord tu peux faire comme le bot a montré
d'accord merci beaucoup je revien si sa fonctionne pas ou j'ai fait des connerie ( c'est sur que je vais en faire )
Pour envoyer un message avec un code il vous suffit d'entourer votre message de ceci : ```. Ainsi, pour poster votre code dans un message, vous devez faire comme ceci :
```langage
Votre code
```
Et par exemple pour un code en lua :
```lua
print("hello")
```
Le résultat sera le suivant :
Votre code
Et par exemple pour un code en lua :
print("hello")```
haha courage
tu devrais sauter des lignes par contre ton code va vite devenir illisible sinon
lang (php par exemple)
Ton code
je fais sa ?
@keen narwhal comme ça
bah dans ton embed tu le fais comme si t'étais sur discord
donc comme dans le message que le bot a envoyé
ok , je m'en doutait mais j'étais pas sur
Merci ^^
@timid loom jsuis pas si sur que sa fonctionne comme sa XD
les truc rouge c'est se que j'ai rajouté
t'as pas compris comment ça fonctionne les .then j'ai l'impression
X)
go lire ça le tuto est bien foutu https://developer.mozilla.org/fr/docs/Web/JavaScript/Guide/Using_promises
Une promesse est un objet (Promise) qui représente la complétion ou l'échec d'une opération asynchrone. La plupart du temps, on « consomme » des promesses et c'est donc ce que nous verrons dans la première partie de ce guide pour ensuite expliquer comment les créer.
Je suis sur tel mais en gros
message.channel.send(embed)
.then(() => {
// code a exec une fois que ton message a été envoyé
})
Donc tu mets juste ton autre embed dans le then
là c'est sur un message.delete() mais effectivement ça aura la même forme
Yep
et Taink si une promesse est fulfilled elle ne peut être rejeté c'est bien ça?
normalement oui
k
si il a réussi (et que t'atteris dans le .then) c'est que c'est bon
message.channel.send()
.then(() => {
message.channel.send('<@&812797512406007828>', {
embed: {
color: '#FE8800',
title: 'Statut serveur !',
description: 'Bonjour à tous, Vous avez reçu une mention car le serveur gmod AnonymasRP et ***en cours de redémarrage***.\n\n Merci de votre compréhension',
author: { name: 'Anonymas\'s Bot Annonces Gmod' },
timestamp: new Date(),
footer: { text: 'Système de mention By LulThy#0038' }
}
})
})```
c'est moche
yep le tuto est pas mal
ah rip
x)
c'est ok en vrai
tu peux faire via un async
si t'aime pas
et tu mets await devant ton message.delete
genre attends
pourquoi t'as pas mis d'args? (message.channel.send())
Bonne question x)
car dans ce cas autant ne pas faire de .then vu qu'aucun message n'est envoyé à la fin ça devrait même retourner une erreur je pense
T'es trop intelligent ptn
j'ai pas test mais je savais que sa n'allais pas fonctionner
inutile de me le rappeler 
@plain crystal il est fini l'ui du système ? 
non je fais les promesses en lua & j'arrive
Ok mdr
ça fonctionne du futur en +
Oula tu fais ça avec des timer
c'pour test ça
Viens dans lua mdr
bizarre lui, c'est normal de timer pour tester sa promise 🤔
voir si ca attend bien le x avant de resolve
C'est pas ça le problème
taink, tu me fait peur x)
taink il est mort sur son clavier
je crois oui avec mes connerie
En vrai vu que execute est une fonction async tu peux faire un truc de cette forme aussi.
Alors copie colle pas bêtement je vais expliquer le contenu.
// ...
async execute(client, message, args) {
const msgInitial = await message.channel.send('Statut du serveur');
// tu peux juste mettre un timeout dans les paramètres de ta fonction ici plutôt que passer via un setTimeout
// https://discord.js.org/#/docs/main/stable/class/Message?scrollTo=delete
await msgInitial.delete({ timeout: 5000 }) // delete après 5s
message.channel.send('Deuxième message un peu différent');
}
// ...
Dans une fonction async tu peux mettre le mot-clé await devant les fonctions qui retournent une Promise pour ne pas avoir besoin de faire un .then()
Ici du coup par exemple msgInitial contient le message du statut, parce que tu await le résultat du send pour le mettre dedans après.
Ensuite on await sur msgInitial.delete() pour être sûr que le message a été delete avant de continuer
Enfin on vient envoyer le deuxième message, pas besoin d'await dessus puisque c'est le dernier truc qu'on fait
css
cs c'est le jeu auquel tu joues
ah c'est cs en markdown?

essaie csharp
et rajoute des sauts de ligne
ah oui ca passe
met un \n après tes guillements retournés chelou là sinon essaye de le mettre avec la méthode .addField()
backtick mék
@timid loom,merci taink, je vais aussi lire l'article que tu ma donée
yes je vais lire
ça c'est un article qui passe par les await https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Operators/await
L'opérateur await permet d'attendre la résolution d'une promesse (Promise). Il ne peut être utilisé qu'au sein d'une fonction asynchrone (définie avec l'instruction async function).
mrc
@plain crystal ça s'appelle comment ça selon toi : & ? 
é 
esperluette
nnnn
alé a+
fallait po dire
bah je sais ça
Quel nom horrible
ampersand en anglais d'ailleurs
~ tild c'est pas mieux je trouve
toujours aussi horrible
on dirait qu'il manque la fin du mot
sa me fais sa :/
bah après Iteane je connais pas le c# mais faut juste écrire du code c# quoi
toto£
la j'écris en js mais bon voilà quoi
omg mais j'ai envie de mourir un peu là
il est pas magicien 
non mais le cs s'affiche pas normalement
merde j'ai oublié le lien @timid loom 
nan mais il faut sauter des lignes
dans le breadcrumb
et comment je fais sa ?
message.channel.send(`
Ceci
Est
Un code :
\`\`\`cs
Mon
code
\`\`\`
`)
Si j'dis pas de la merde
\n ou en passant par des backticks (`)
yep ça normalement ça fonctionne
ouais bah tu mets ça dans ta description
voilà
ok
sa marche
Niquel
a
Bonsoir Je voulais savoir qu’est ce qu’il fallais mettre pour que quand le bot crée un channel, grâce à une fonction, je veux qu’il y aient que ceux qui ont la perm admin qui peuvent voir le salon
bah
message.guild.channels.create("nom", {
type: "text",
parent: "id_categorie",
permissionsOverwrites: [
{
id: "id",
allow: [],
deny: []
}
]
});
Bonjour desoler de vous deranger qui si cnnait en discord.js
cc , j'ai une question , je veux faire en sorte que si la commande
Exemple :
cm
n'a pas été faite et bien l'on peut pas faire une autre commande du type :
cm2
(pour un bot)
oui ?
Je comprends pas bien ce que tu veux faire
Personnellement, je ferais comme ça :
Quand on fait cm, on stock l'information qu'elle a été faite par telle personne. Et quand on fait cm2 on check si la personne la déjà faite (là où on a stocké l'information).
Je ne sais pas si c'est la meilleure solution et si c'est la plus optimisée, mais j'aurais fait comme ça.
// commande 1
bot.action().then((member) => {
member.canUseCmd = true
})
// commande 2
bot.action2().then((member) => {
if (!member.canUseCmd) return;
// ta deuxieme commande
})
Le souci c'est que c'est save en cache donc si tu restart ton bot je crains que le système ne marche plus
Il faut voir si tu veux intégrer une permanence ou pas
Si oui tu fais ça via des fichiers data json
Ou via database
@half osprey Bonjour, j'aimerais cree des sous dossier pour mes commande car je me perd fortement. Mais je ne sais pas comment proceder. Voici le code si une personne peux maider ces supper cool
fs.readdir('./commands/', (err, files) => {
if (err) return console.error(err)
files.forEach(file => {
if (!file.endsWith('.js')) return
var props = require(`./commands/${file}`)
var commandName = file.split('.')[0]
console.log(`${file} Ok !`);
bot.commands.set(commandName, props)
})
})
Bah le code ne marche pas @dim stirrup ?
@lone flax si le code marche mais pas si je cree d'autre dossier. ce code marche seulement si je mes mes commande dans le dossir commands
mais dans le dossir commande je voudrais ajouuter des sous dossier (exemble generale, administration, musique...)
Ahhh
T'es chiant un peu 
Il faudrait faire un loader recursive mais malheureusement je suis sur téléphone je peux pas t'aider là
En gros l'idée c'est de lister tous les fichiers, les load, puis lister tous les dossiers, et refaire ce même processus mais en partant cette fois-ci de ce dossier. Ça va faire une boucle jusqu'à quand il n'y ai plus de dossiers à load.
ah
func(rootFolder) {
Boucle sur tous les fichiers
load(rootFolder + "/" + loopFile)
Fin de boucle
Boucle sur tous les dossiers
func(rootFolder + loopFolder);
Fin de boucle
}
Voici un schéma un peu nul de comment ça marcherait
bjr qqn est dispo apl
Bonjour est ce que quelqu’un a un code en js pour ban quelqu’un en discord.js avec raison du ban svp ?
heureusement
?
je sais mais je comprends pas
salut !
Comment je fais pour faire en sorte que lorsque une personne join et bien le bot lui give un role ? 👀
guild.members.ban('id')
member.roles.add(id)
sur la dernière version de discordjs
ok , mais c'est quoi la candition pour quand le membre join un vocal au pif ?
quand le joueur rejoint, tu as un event qui est genre guildMemberAdd je pense
Ah un vocal
Attends
client.on('guildMemberAdd', ...)
member.roles.add('id')
https://discord.js.org/#/docs/main/stable/class/Client?scrollTo=e-guildMemberAdd
https://discord.js.org/#/docs/main/stable/class/GuildMemberRoleManager?scrollTo=add
vocal c'est avec voicestateupdate
tu vérifie que le channel du nouveau voicestate ne soit pas null et que l'ancien le soit
@dim stirrup tu as réussi ?
et comment je cette une image en plein description ?
j'ai voulue test via sa :
if (msg.content == "test")
{
member.roles.add(829017123081814086)
}
Et sa me met rien :/
sa me fait rien *
il faut mettre l'id entre guillemets
et il faut définir member au cas où (donc message.member)
merci , sa marche ^^
comment je fais pour modifier ma variable dans une candition 😅
Genre j'ai fait une variable , mais j'a oublié comment je dois faire pour la modifier au fur et à mesure du code
let verif = false;
if ( ta condition ) {
verif = true;
}
si c'est ce que tu demandes
quelqu'un pourrai me transphormé ça en unban svp ?
if(message.content.startsWith("!ban")) {
let args = message.content.trim().split(/ +/g);
message.delete()
if (!message.member.hasPermission('BAN_MEMBERS')) return;
let utilisateur = message.mentions.members.first()
raison = args.slice(2).join(" ");
if (!utilisateur) return message.channel.send('**Vous devez mentionner un utilisateur.**').then(m => m.delete({timeout: 5000}));
if (!raison) return message.channel.send('**Vous devez indiquer une raison du ban.**').then(m => m.delete({timeout: 5000}));
if (utilisateur) {
const member = message.guild.member(utilisateur);
if (member) {
const banSucces = new Discord.MessageEmbed()
member.ban({
reason: raison,})
}}}```
genre ça donne ça
tu peux m'aider svp
tu connais pas le js j’imagine ?
non je viens de commencer
donc chaque chose en son temps
t’attaques pas à des choses que tu comprends pas
surtout que la commande ban j’imagine qu’elle vient pas de toi
?
ça m'étonnerait, sinon tu saurais faire l'unban
if(message.content.startsWith("!unban")) {
let args = message.content.trim().split(/ +/g);
if (!message.member.hasPermission('BAN_MEMBERS'))
let utilisateur = message.mentions.members.first()
if (utilisateur) {
const member = message.guild.member(utilisateur);
if (member) {
message.guild.members.unban(utilisateur.id);
}}}
j'en suis à la
et pourtant c'est quasi ça
ils viennent juste calculer le + haut taux de couleurs
t'as des libs si tu veux pour ça pour éviter de t'emmerder
bonjour vous ssavez pk je ne peux pas rtelecherger enmap
cc , j'ai une question
si une personne à un grade en particulier , le bot renvoie un méssage pour dire que l'user en question à eu ce role , comment je mis prend ?
bonjour desoler de vous deranger j'ai fais une commande de ping et en gros j'ai 2 embed le premier qui me met un chargelent et jaimerais que le deuxieme ce lance 5 seconde apres comment je peux faire
channel.send(embed).then( () => {
setTimeout(function() {
channel.send(second_embed)
}, 5000)
})
autant modifier le premier embed 🤔
donc c’est mieux puis t’as juste à mettre une fonction dans le .then et à faire tafonction.edit(second_embed) en reprenant l’exemple de Hugo
Yep, mais pour moi il voulait en send un deuxième
oui oui je sais
je lui dis juste que modifier le premier est mieux mais comme il veut
Yop, quelqu'un sais comment récupérer l'ID du Server Discord depuis l’événement ready ?
Dans client.guilds tu devrais trouver ce que tu veux
@boreal edge J'ai test pas mal de chose avec client.guilds mais nada je vais recheck
Essayes ça peut être
client.on('ready', () => {
console.log(client.guilds.cache);
})
Tu devrais déjà tomber sur un résultat
Ouais c'est good
@boreal edge Désolé de te ping mais tu sais comment faire pour prendre juste 1 des 2 ?
[0]
Ouais mais je veux que sa créer un truc spécifique pour l'un et l'autre
var test = client.guilds.cache.map(guild => guild.id);
var first = test[0];
var second = test[1];
Tu veux en prendre un au hasard?
On ne peux pas automatisé sa en fonction du nombre de serveur que je mettrais le bot ?
Bah tu boucles dessus
En gros si un bot rejoins un serv faut que sa le fasse auto
tu veux faire quoi concrètement ?
Des fichiers de config personnel pour chaque serveur car comme les ID's des channels et des rôles sont pas les mêmes j'ai pas envie de créer 20 bot
ah bah oui c'est sûr
@oak turret Thx xD
à chaque fois que ton bot arrive sur un serveur tu pourras chopper toutes ses infos dont son id
avec plaisir ahah
Après je viens de commencé et je connais pas tous les events donc bon
tqt on est là pour ça ^^
Mais je m'en sors pas mal pour un début xD
tous les events sont là https://discord.js.org/#/docs/main/stable/class/Client?scrollTo=e-guildCreate
Thx @timid loom
Hey ! j'ai un probleme sur mon bot en section privée ! quand il faut interagir a un react en DM ! voici l'erreur
UnhandledPromiseRejectionWarning: DiscordAPIError: Cannot execute action on a DM channel
Hey ! C'est quoi ton code ?
Tu essayes de modifier le nom d'un channel ou un truc du genre sur un salon, sauf que le salon là c'est une conversation privée, et tu ne peux pas modifier une conversation privée
c'est bon j'ai trouvé ^^ enfait je voulais faire en sort de suprimer la reaction une fois cliqué mais en privé c'est impossible, sa viens de la ^^
Hello, p'tit soucis avec mon code... j'ai implémenté GSAP dans mon projet afin d'y expérimenter un smooth scroll, sauf que désormais, lorsque que je "resize" ma fenêtre, ou que je change d'écran (et donc que je resize étant donné que mes 2 écrans ne sont pas tous deux de la même taille), ça me fait des gros espacements comme montré sur l'image ci-dessous...
Alors que c'est supposé ressembler à ça
et ça me le fait entre chaque section
import { gsap, TweenLite, TweenMax } from "gsap/all";
var html = document.documentElement;
var body = document.body;
var scroller = {
target: document.querySelector("#body_app"),
ease: 0.05,
endY: 0,
y: 0,
resizeRequest: 0,
scrollRequest: 0,
};
var requestId = null;
TweenLite.set(scroller.target, {
rotation: 0.01,
force3D: true
});
window.addEventListener("load", onLoad);
function onLoad() {
updateScroller();
window.focus();
window.addEventListener("resize", onResize);
document.addEventListener("scroll", onScroll);
}
function updateScroller() {
var resized = scroller.resizeRequest > 0;
if (resized) {
var height = scroller.target.clientHeight;
body.style.height = height + "px";
scroller.resizeRequest = 0;
}
var scrollY = window.pageYOffset || html.scrollTop || body.scrollTop || 0;
scroller.endY = scrollY;
scroller.y += (scrollY - scroller.y) * scroller.ease;
if (Math.abs(scrollY - scroller.y) < 0.05 || resized) {
scroller.y = scrollY;
scroller.scrollRequest = 0;
}
TweenLite.set(scroller.target, {
y: -scroller.y
});
requestId = scroller.scrollRequest > 0 ? requestAnimationFrame(updateScroller) : null;
}
function onScroll() {
scroller.scrollRequest++;
if (!requestId) {
requestId = requestAnimationFrame(updateScroller);
}
}
function onResize() {
scroller.resizeRequest++;
if (!requestId) {
requestId = requestAnimationFrame(updateScroller);
}
}```
Pour le smooth scroll tu as une propriété css
body {
scroll-behavior: smooth;
}
Je sais mais ce n'est pas tout à fait ce que je cherche à faire... j'aimerais que ça soit smooth TOUT LE TEMPS 😅 j'ai trouvé une alternative dont je ne suis pas fan qui est celle de idiotWu (smooth-scrollbar.js)
ok
Merci quand même pour ton aide
Bonjour je peux demander de l’aide Discord js ici ?
oui
Ok merci
Vous savez comment je peux récupérer le nombre de joueur sur mon serveur gmod et le mettre sur un embed ?
bonjour/bonsoir j'ai un problème avec mon program et que j'ai des erreurs d'on je n'arrive pas à resoudre si possible de me répondre le plus vite possible (Photo des problèmes si possible
tu dois mettre {
pour les paranthèses ?
--ton code
} ```
ok merci
je regarde en même temp je suis en voc avec lui tk @wild bramble
Ok
et si je peux dire un dernier truc je ne crois pas que ton {user} va marcher car il faut que tu fasse avec ça `
ok je vais essayer merci pour ton aide
si quelqu'un a la solution ping me
tkt
Utilise une api (comme gamedig ou gameid je sais plus)
je sais mais rien ne s'affiche
@half osprey
Tu as tout bien rempli ?
Ou ici
Ok je l'envoie ici
Donc index.js : client.config = ```config;
var nb = 1000
const updateChannel = async () => {
const channel = client.channels.cache.get(config.playerCountChannelID);
if (!channel) throw new Error("La salon spécifié dans la configuration n'existe pas !");
const stats = await Gamedig.query({
type: "garrysmod",
host: config.playerCountServerIP,
port: config.playerCountServerPort
});
if (stats.raw.numplayers != nb) {
channel.setName(`Joueurs : ${stats.raw.numplayers}`);
}
}
const config = require("./config.json");
const Gamedig = require("gamedig"); ```
config.json: "playerCountChannelID": "829728369188798535", "playerCountServerIP": "54.36.127.158", "playerCountServerPort": "27041", @half osprey
J’avoue que je ne comprend pas
Pourquoi tu const ta fonction ?
regarde bien comment ils l'ont fait ici
Et pourquoi tu const config et Gamedig après ?
Tu as des erreurs nan ?
nn aucune erreur
Et le reste ?
c'est tous
donc je met Gamedig.query({
type: 'minecraft',
host: 'mc.example.com'
}).then((state) => {
console.log(state);
}).catch((error) => {
console.log("Server is offline");
});
Et tu le mets dans une fonction que tu mets dans un Timeout (si tu veux que ça s'actualise)
setTimeout(() => {
query({
type: 'garrysmod',
host: '',
port: ''
}).then((state) => {
// ON
}).catch((error) => {
//OFF
})
statut();
}, 10000);
}
statut();```
bonjour j'ai un nouveau problème avec mon program je n'es aucune erreur mais pourtant sa me met Process exited with code 1 sans aucun message fin mon bot ne peut pas se mettre en ligne suite à ce problem qui persiste
si possible de m'aider
pourtant tout es opérationnel au niveau de mon program je ne comprend pas si possible de me dire
L’erreur est indiqué dans le terminal juste au dessus
si je veux le mettre dans un embed j'utilise state ?
Non rien ne s'affiche
Maintenant dans la debug console sa me met Ne Rebugger available, can not send `variables'
Sans rien
Me dit pas non c’est marqué dans la console sur ton screen
Ces marquer C:\Program Files\nodejs\node.exe .\index.js
Uncaught ReferenceError: Client is not defined
No debugger available, can not send 'variables'
Process exited with code 1
mais avant cettais marquer Uncaught ReferenceError: Client is not defined
No debugger available, can not send 'variables'
tout cours
enfaite je veut activer mob bot mais sa veut pas
Oui mais je sais pas trop ces quoi...
pour le bot.on('ready', function () {
console.log("im ready") je remplace bot.on par Client.on ?
Nan
Ces bon
J'ai compris merci
Merci sa marche
quelq'un peut m'aider ?
quand on refuse de donner les informations nécessaire, c'est compliqué. 
Bah on m'a dit qu'on en a pas besoin
Vous avez vus que mon embed fonctionne ?
Je connait mon code ou vous le connaissez mieux que moi ?
ligne 13.
il me faut votre api.
pour que l'embed puise se modifier
Je demande a un dev pour être sur
Pourquoi ? Je veux juste être sûr il n'y a rien de mal a cela
et je veux juste éviter de me faire arnaquer cela est compréhensible je pense 🙂
Tout à fait.
Donc si on me dit qu'il n'y a aucun risque vous pourrez le faire 🙂
Oui.
J'arrive pas à installer quick.db
c'est quoi ton erreur ?
@keen narwhal
et si tu es sur mac c'est pas le même processus d'installation
C'est un peu trop vague ta requête Weizer
Bonjour j'aurais besoin d'aide suite à une erreur qui c'est produite sur mon program et je souhaiterais la résoudre mais je ne sais pas comment si possible de m'aide sa met met : '}' expected.ts(1005) [55, 73] The parser expected to find a '}' to match the '{' token here. et sa un rapport avec mon token au parenthèse à parraement si possible de m'aider à fin de continuer mon program
tout marche sauf la commande de kick pouvez vous m'aider ?
const { Client } = require('discord.js')
const config = require('./config.json')
const client = new Client({
partials: ['GUILD_MEMBER', 'CHANNEL', 'USER', 'REACTION']
})
client.on('ready', () => {
console.log('Le bot est connecté !')
client.user.setActivity('se faire coder', {
type: 'STREAMING'
})
})
const kick = require("../commands/kick")
module.exports = (client, message) => {
if (message.content.startsWith("!kick")) {
return kick(message)
}
}
client.on('message', (message) => {
if (message.content === 'ping') {
message.reply('pong !')
.catch(console.error)
}
})
client.login(config.token)
et le script pour kick
module.exports = message => {
const member = message.mentions.members.first()
if (!member) {
return message.reply(Utilisateur pas trouvé ou pas spécifié)
}
if (!member.kickable) {
return message.reply(L'utilisateur n'est pas kickable)
}
return member
.kick()
.then(() => message.reply(L'utilisateur ${member.user.tag} a été kicked))
.catch(error => message.reply(Une erreur s'est produite))
}
Hum
Ah
bonjour comment faire pour que le bot detecte que si le message commence par une des lettres de l'alphabet alors il renvoi le contenu du message ? j'ai fais
if(message.content.startsWith( ?? )) { var str = message.content.substring(prefix.length) await message.channel.send(str)
en gros: tu peux utiliser message.content.match() (https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/String/match) pour récupérer le contenu ; si le résultat est null c'est que ça ne correspond pas
La méthode match() permet d'obtenir le tableau des correspondances entre la chaîne courante et une expression rationnelle.
ma regex c'est /^[a-z].*/i mais c'est possible de faire plus élaboré j'imagine
je viens de commencer la creation de mon bot discord et je voudrai faire un systme de kick/ban pourrait on m'aider
je ne trouve rien d'interessant sur internet
tu veux savoir quoi ?
comment on fais un systeme de commande kick/ban
ça y est sur la doc de discord.js
ok merci
Salut, je suis débutant dans le milieux du dev, et c'est mon premier bot...mais la je rencontre quelque petit soucis et j'aimerais comprendre qu'elle erreur j'ai fais, merci pour les renseignement
ahh un autre sur ubuntu
je suis pas le seul*
salut je reviens demander de l'aide car toutes les commandes de mon bot marche sauf celle pour kick un membre
Voici le code kick et le code index
Tu n'as pas d'erreurs dans ton cmd ?
meme en trouvant des script sur le web ça ne marche pas. je rappel que je suis un debutant dans le dev de bot
c bon g trouvé mais il est lent a kick
bonjour c'est encore moi
j'ai crée ce bout de script pour dire a la personne de ne pas mentionner pour rien et le bot le fait en boucle
CODE:
if (!message.content.roles) {
message.channel.send (${message.author.username} Il ne faut mentionner tout le monde ici!)
};
pouvez vous m'aider
Hello, je suis en train de faire un système complètement nouveau pour moi ( vous allez sûrement me prendre pour un con 😆 ) Savez vous comment je peux faire en sorte qu'en faisant une commande avec un id genre !verify ID ça me dit si l'id est dans la bdd json ' User est ici ' ou si il est pas dedans ' User pas là ' en gros. Je peux utiliser quoi ?
.find() ?
après il faut que ton json soit de ce type
[
{
}
]
et tu ferais un tonjson.find(element => element.key === tavaleur);
après de mémoire, si il trouve rien il sera undefined, donc tu pourras juste tester si y a quelque chose genre if (!tata) {}
okk thx
Tu savais pas faire un .find() @keen narwhal ? 
Si j'avais juste pas d'idées de comment m'organiser et j'y avais pas pensé 
?
Bonsoir,
J'ai un problème au niveau de ma bdd sql, voilà ma commande pour inserer une ligne :
bot.db.query(`INSERT INTO warns (id, id_w, motif, date_w) VALUES ('${mbr.id}', '${id_warn}', '${raison}', '${moment.utc(message.createdTimestamp).format('YYYY-MM-DD')}')`);
le problème c'est que dès que je met une ' dans ma raison, ça fais bugger la bdd et me renvois une erreur de syntaxe, en soit c'est assez logique vu que j'ai '${raison}', mais dcp je ne sais pas trop comment faire pour régler ce problème.
Je ne peux pas mettre "${raison}", ça ne semble pas marcher et sa repousse le problème autre part. De même pour les ``.
Quelqu'un saurai comment faire svp ?
(me mentionner dans la réponse merci)
J'allais poser exactement la même question x)
J'en ai aussi besoin car sinon ça ne fait pas très beau dans l'embed.
Après, tu peux très bien faire un reason.replace("'", ' '); mais bon c'est pas fou.
un pote m'a conseillé ça et ça marche de ouf :
.replace(/['`"]/g, (a) => `\\${a}`)
t'as pas besoin de supp les \ c'est automatique
Niquel ,merci beaucoupp !!
const text = 'Ceci est un test avec un ! ta vu, c\'est beau !'
console.log(text);
connection.query("CREATE TABLE IF NOT EXISTS test (test TEXT)");
connection.query(`INSERT INTO test (test) VALUES('${text.replace(/['`"]/g, (a) => `\\${a}`)}'`);
Perso j'ai fais ça, et j'ai toujours l'erreur 🤔
strange, moi ça marche très bien pourtant
Vous pouvez me donner un site que la plupart des gens trouvent bien sur l'apprentissage du Javascript s'il vous plaît ?
résultat : du .replace : Ceci est un test avec un ! ta vu, c\'est beau !
Ah mais non mais qu'elle con
Je sais
Merci beaucoup Pierre !
bonjour
J’ai fais une condition : si après avoir exécuté +devinette, si le mot du message commence par une des lettres de l’alphabet, il répond le message que j’ai envoyé. Comment mettre une limit d'envoi du message dedié à cet condition ?
var unmessage = new Discord.MessageEmbed()
.setTitle(`Une nouvelle devinette vient d'être crée par ${message.author.username}`)
.setDescription(`||INDICE >>> ${message.content}||`)
var channel = client.channels.cache.get("824402577193041981")
channel.send(unmessage)
var reponse = new Discord.MessageEmbed()
.setTitle("Quel est la réponse de la devinette ?")
.setDescription("Merci de donner une réponse à cette devinette !")
message.channel.send(reponse)
}
open classroom c'est un must en vrai
C'est sur quoi je fais mais tout le temps ça me dit qu'il y a mieux c'est pour ça
Bonjour
Sur un tuto je suis tombé sur ceci afin de get le nombre de personne sur chaque serveur où se trouve mon bot. Mais je ne comprend se qu'est acc. Quelqu'un peut il m'expliquer ?
console.log(client.guilds.cache.reduce((acc, guild) => acc + guild.memberCount, 0))
acc c'est un accumulateur
elle correspond à la dernière valeur obtenue par le callback (ici acc + guild.memberCount) ou la valeur initiale si c'est la première fois que le callback est exécuté (ici 0)
Je t'invite à lire la doc : https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce
La méthode reduce() applique une fonction qui est un « accumulateur » et qui traite chaque valeur d'une liste (de la gauche vers la droite) afin de la réduire à une seule valeur.
Je viens d'avoir eu une erreur quand j'ai voulu redémarrer mon bot mais je ne comprend pas pourquoi
Ah c'est pour çaaaa, merci de ton aide, je suis juste aveugle lolll.
Quel est la différence entre la constante "client" et la constante "bot" ? @pure raven
ça change rien c'est juste toi comment tu l'appelle
si tu fait const client = ........
bah tu fera client.on ......
et si tu fait const bot = .....
bah tu fera bot.on .......
Si tu veux tu peux aussi l'appeler trottinette ça changera rien
Salut les gars j'aimerais faire un bloqueur de pub donc je me suis dit je vais utiliser le msg.content ('') mais le probleme c'est que je ne sais pas quoi mettre entre les parentèse pour que ca soit que les lien est ce que vous savez
bloqueur de pubs sur ?
bah
mais je sais pas comment faire pour qu'il prenne en compte les liens
if ( ["https", "http"].includes(message.content) {
message.delete();
}
ah merciiii
np
il a qu'à remplacé par ce qu'il veut roh 
Tu sais pourquoi ?
Le fetch ne fonctionne pas correctement parce qu'il ne trouve pas l'addresse ENOTFOUND
Ah oui je viens de voir les 2 if
les deux derniers
ça t'aidera pour débuter
à mon avis tu ne connais pas le js
pas bien du moins
Salut!
Je récupère une HTMLCollection grâce à document.getElementsByClassName(category)
Voici son log:
HTMLCollection [] 0: div.item.processeurs 1: div.item.processeurs
Et quand je fais variable.item(0) ou variable[0] par exemple pour récupèrer le premier élement, cela me retourne null.
Je dois mal m'y prendre quelque part mais j'avoue ne pas comprendre 🤔
Est-ce que quelqu'un aurait la solution à mon problème s'il vous plaît ?
🔼 Problème résolu, enfait il fallait décaler l'execution du code 
window.addEventListener("load", function(event) {
// your code ....
})
Tu recup l'id de l'emoji
Comment ?
Et non le nom
Étape 1 : Tu met ton discord en developer dans les settings
Étape 2 : Tu envoie l'émoji dans un channel
Étape 3 : Tu clique sur l'émoji et copier l'id
Étape 4 : Tu le met dans ton code, en rajoutant ce qu'il faut pour que sa marche avec l'id
d'accord meci
merci
les emogie c'est bien <id> ou y'a un truc avant
comment pour les mentions
ou salons
sinon
ça dépend
:emoji:
Si ils sont publiques :emoji:
:emoji:
Si ils sont privées <:name:id>
message.guild.emojis.cache.get("id");
apres le msg react ?
.
bah non
à l'intérieur
genre
await <message>.react(<message>.guild.emojis.cache.get("id"));
erreur ?
j'ai pas de client.on
const { MessageEmbed } = require("discord.js");
module.exports = async (client, message) => {
const user = message.author;
if (user.bot) return;
const DevlogsMessage = await new MessageEmbed()
.setColor("BLACK")
.setTitle(`**Voici le nouveau devlogs du serveur**`)
.setDescription('Ce message liste les éléments qui ont été **ajoutés**, **modifiés** ,**reglés** ou **supprimé** du serveur aujourd\'hui.')
.addField('**Liste de ce qui a été effectuer :**', message.content)
.setFooter('Si vous avez des questions sur la liste ci-dessus, n\'hésitez pas à nous contacter.', client.user.avatarURL({ format: 'png', dynamic: true, size: 1024 }))
message.delete();
client.channels.cache.get('830858042806632489').send(DevlogsMessage)
.then(function (message){
message.react("✅")
}).catch(function(){
});
};```
what
pourquoi tu message.delete() avant l'envoie
aucun sens
delete le après tes vérifs qui sont ok
et ton .then
.then(async (message) ) {
await message.react("tonemoji");
}
voilà
alors
.then(async (message) ) {
await message.react(message.guild.emojis.cache.get("831309917440311347"));
}
il faut qu'il sois sur ton serveur discord par contre
il y'est
bah ça devrait work
oui j'suis con
.then(async (message) => {
await message.react(message.guild.emojis.cache.get("831309917440311347"));
})
Effectivement j'ai pas cherché a comprendre
my bad ahah
et ton await devant la déclaration de ton embed c'useless
fait le quand tu l'envoies à la limite
ok
Je comprend rien à leurs erreur
let emoji = message.guild.emojis.cache.get("id");
et dans ton .react(emoji)
bah leurs erreurs sont compréhensibles
pas pcq la ligne est correcte que ça va marcher
c'est la syntaxe qui est correcte
pas le code
nuance
Ducoup la il dit quoi ?
au pire
chepa 
Ha
jpense avoir compris
work ?
ptdr wtf
atrt
att
j'test
moi ça marche
ptetre ton emoji qui bug
genre le nom
appelle le juste ok1
fonctionne pas même avec le nom animé
mon bot il vien de chez wish
comme son proprio

pas possible
t’as une couille dans le paté
envoie juste un message et react après pour voir
il l’envoie ton embed?
yep
j'ai tout tester
x)
rien ne fonctionne jsuis rester avec un truc genre ✅
c'est bien aussi
mdrr
Quelqu'un serait comment je pourrait faire pour que l'embed 2 ne se créer pas mais plutôt se rajoute sur l'embed 1 ?
Le problème c'est que je boucle pour tous et l'edit ne marche pas x)
et ouais mais non alors tout simple
tu créer l'embed hors de ta boucle
et quand tu boucles dessus, tu ajoutes un field par exemple
et après tu l'envoies
et pour modifier ton embed
tu get ton embed via l'id
et tu fais juste un coup de <message>.edit(newvalue)
Problème régler les bg
J'ai exactement fait se que ta dit avant même que tu le disent mdr
Bonjour messieurs dames, j'aimerais un petit coup de pouce !
Alors voilà, j'ai créé une fonction pour gagner du temps, là voici
Ce que je voudrais : toReplace soit un objet de la forme { "String", ValeurAremplacer }
Et que replaced soit égal à la value de mon objet toReplace
Vous l'avez compris c'est pour utiliser la méthode replace pour n'importe quel valeur à remplacer.
Et je me suis trompé c'est js replaced = Object.values(toReplace[value])
J'ai pas trop compris ce que tu veux faire
Merde, attends je rajoute quelque chose
Que imaginons un string : "Je suis GCA", si on mets dans l'array ["suis", "GCA"] et que replaced on mets x, ça return Je x x ?
Il n'y a pas d'array
C'est un objet
En gros "Je suis mauvais", mauvais va être remplacé par la value de l'objet toReplace
Okayyy
Oui mais je veux que ça soit une fonction
Pour que ça puisse s'appliquer à n'importe quelle valeur
bah .replace() peut s'appliquer partout ?
Oui mais.
Après je n'aurais plus qu'à faire js replace(welcomeMessage.replace(toReplace, replaced)
function replace(text, replaceObject) {
if (!text || !replaceObject) return;
for (word in replaceObject) {
text = text.replace(word, replaceObject[word]);
}
return text;
}
console.log(replace("Je suis mauvais", {"mauvais" : "gentil"}));
Avec ce que j'ai fais, ça return "Je suis gentil"
C'est ce que tu veux faire ?
@bold sparrow
C'est en gros ce que je veux faire oui, je vais tester dans mon cas, j'te redis
Merci déjà pour ça
Update @boreal edge Et bien écoute ça fonctionne super bien, j'ai du me compliquer la vie pour rien
ça marche 😉
J'te remercie !!
Pas d'soucis !
Yop !
J'ai un p'itt .png que j'aimerai pouvoir send dans un embed sans devoir l'upload quelque part.
Est ce que vous avez une idée de comment je pourrait faire ?
Merci 😉
avec discord.js le setImage prend uniquement des URL il me semble
Yep
C'est pour ça que je me demandais si il n'y avait pas une autre solution plutot que de devoir l'upload sur un truc avant de la send
.attatchFiles()
ou .attachFile() avec ou sans le s
et après
.setImage("attachement://nomdelimage.png")
tu fais
let tata = new Discord.MessageAttachement("tonimage.png","nom-image.png");
et après tu fais ce que je t'ai dis
et ça sera ok
Hola
on peux m'aider pour cette erreur
svp
(node:22) UnhandledPromiseRejectionWarning: TypeError: event.bind is not a function
at /home/container/modules/functions.js:39:53
at Array.forEach (<anonymous>)
at Client.client.loadEvents (/home/container/modules/functions.js:35:17)
(node:22) 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(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:22) [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.
Bonsoir @keen narwhal c'est que un de tes events n'a pas de fonctions qui est exporter
Bonsoir, cela fait un petit moment que je cherche mais je me souviens plus du nom du module qui permet d'exporter très simplement un fichier par exemple @models/User je crois que je peux le faire avec babel mais je me souviens plus exactement si c'est ça ou si c'est un plugin de babel merci bien bonne soirée à vous
mentionner moi pour si vous avez une idée
yes, merci je l'ai reglé
Oui c’est babel
enfin tu peux faire des chemins absolu avec babel aussi
oui mais comment c'est ça aussi je sais plus si faut un plugin ou pas j'ai un gros trou là
Normalement non c’est juste dans ta config tu fous des alias
Euh si pardon c’est resolver
plugin resolver ou module resolver de babel et du coup dans la config de ce plugin tu fous tes alias
super merci je vais aller chercher ça tu me sauves la mise là
Hello tout le monde ! J'ai un soucis, je fais un bot discord sur avec Discord JS v12, j'ai testé ma commande sauf que rien ne se passe...
voilà mon code :
const { MessageEmbed } = require("discord.js");
module.exports.run = (client, message, args) => {
const roleNotifStream = message.guild.roles.cache.get("804297729761214484");
const roleNotifInfo = message.guild.roles.cache.get("798935551272288296");
const emojiNotifStream = message.guild.emojis.cache.get("824614483649101854");
const emojiNotifInfo = message.guild.emojis.cache.get("824614484055293992");
const embed = new MessageEmbed()
.setTitle("Choisi tes notifications")
.setDescription("Cliquez sur les réactions pour choisir tes notifications!")
.setColor("#dc143c")
.addField(
"Les notifications qui peuvent t'intérrésser:",
`
${emojiNotifStream} - ${roleNotifStream.toString()}
${emojiNotifInfo} - ${roleNotifInfo.toString()}
`
);
message.channel.send(embed).then(async msg => {
await msg.react(emojiNotifStream);
await msg.react(emojiNotifInfo);
})
};
module.exports.help = {
name: "allroles",
aliases: ['allroles'],
category: 'reactions',
description: "Renvoi un message avec des réactions",
cooldown: 10,
usage: '',
persmissions: true,
isUserAdmin: false,
args: false
};
aucune erreur rien
Voilà mon arborescence :
Bonsoir, savez comment faire un systeme genre, on envoi un mp au bot, et le bot envoi le contenue du message en mp dans un salon, ensuite on peux repondre sur le salon et le bot le renvoi dans les mps de l'utilsateur concerné ?
appelé aussi modmail
Je vous remercie 😉
du genre
je suis trop beau ( en mp ) au bot
ça envoie je suis trop beau dans un salon ?
@keen narwhal
suffit de faire
pour un message
if ( message.channel.type === "dm" && message.content ) {
<client>.guilds.cache.get("id").channels.cache.get("id").send(`${message.author} a envoyé ${message.content} en mp !`);
}
si c'juste ça
sinon faut que tu awaitMessage
genre message.author.dmChannel.awaitMessages() etc
je vais esayer de je te remercie
np
dans le premier id et le 2 eme on met les meme id des channel ?
okay merci j'avais pas bien lu effectivement
pas de soucis
le premier c’bien celui de ton serveur ?
ui
comment tu fais tes commandes ?
dans un dossier appart
tu utilises commando?
nan
juste un console.log quoi
oki
après si faut ton système ne marche pas bien mais je saurais pas te le dire je n’utilise que commando
ligne 35 y'a rien
tu dois pas le mettre avant ton execute par hasard ?
je connais pas ce type de système mais 🤔
Nan, enfin chepa
C'est utilisé à quelle échelle React ?
J'veux dire, à quel point c'est utilisé dans le monde du frontend ?
L'appli sur la quelle tu écris ce message c'est du React
C'est le framework front JS le plus utilisé React
Tu peux déjà te dire que une partie de Facebook aujourd'hui est sur React, idem pour Instagram et Whatsapp (React Native inclus)
Des netflix l"utilisent aussi, enfin voilà tu peux y aller les yeux fermés mdr
Ok
Bah c'est incroyablement insane
Le mec qui a crée React il faisait du full OCaml avant
Et JS ça lui pétait les couilles parce que bon c'est un langage de merdse
Et du coup il a utilisé OCaml pour faire Reason
SAH
insane
OCaml >>>>>>>> all
faites du ocaml
non
Si !
Hey, comme je l'ai dit dans #general :
En gros, j'aimerais faire un dashboard pour mon bot, mais j'ai vraiment 0 bases, et je ne sais pas du tout par où commencer. On m'a dit de faire une API, mais je ne sais pas comment faire non plus, est-ce que quelqu'un pourrait m'aider ?
Tu peux te faire une petite API en utilisant express
c'est assez simple tu verras, et pour stocker tes datas j'utiliserai du noSql pour être en accord niveau data avec discord
Okay, et tu as des conseils ou des tutos ?
Mon bot possède déjà une db mysql :/
bonjour, petite demande asses bête mais c'est à propos du bot. Comment fait-on pour lui mettre un statut ?
Ah bah continue en sql c'est pas bien grave
ce tuto est sympa
il est bien conçu pour débuter sur express
https://g-ca.fr/tutoriels/tutoriel/creer-un-bot-discord-le-code tu as un exemple de code ici aussi
Yes
basique mais oui
typiquement quand tu déclares
app.get("/faq", (req, res) => {
// la réponse
})
comme indiqué sur le tuto, lorsque tu vas appelés https://api.orion.fr/faq tu vas arriver dans ce code
merci !
Bah si tu le fais bien oui pas de raison
Bah la tout se passe bien mais y'a marqué :
Uncaught ReferenceError: Bot is not defined | No debugger available, can not send 'variables'
j'ai changé mais le problème survient encore
Ouais mais ça a pas work quand je l'ai fait
¯_(ツ)_/¯
je restart mon intelij grrr
ok c'est bon, je sais pas pourquoi ça m'a fait ça mais ça work
donc j'ai r dit mdr
#java-jvm 😉
OH OUI
J'ai réussi à co la db
bravo
bravo
xd
@slim anvil et si par exemple je veux que ça me donne l'id du mec, avec l'0auth2, je peux faire comment ?
dans ta requete tu envoies le Authorization
Ah tu veux l'id du mec
si il est connecté tu peux l'avoir dans le req.body.user
Après je vais pas tout t'expliquer essaye de regarder des tutos pour commencer
yep
J'ai une dernière question
à quoi sert le fichier .env ?
J'ai pas compris, je le vois partout
un .env peut te servir a stocker par exemples des API_KEY, ton NODE_ENV aussi
ce genre de chose
ok donc en gros c'est du stockage
🤔
la config dont va avoir besoin ton app
Ah oui d'accord ! Je viens de comprendre
typiquement tu utilises google places, bah tu vas venir mettre la google api key dans ton .env
et y accéder par process.env.GOOGLE_API_KEY
ok ok j'ai tout compris merci
@slim anvil j'ai réussi mdr, merci pour m'avoir mis sur le chemin !
Hello tout le monde ! J'ai un soucis, je fais un bot discord sur avec Discord JS v12, j'ai testé ma commande sauf que rien ne se passe...
voilà mon code :
const { MessageEmbed } = require("discord.js");
module.exports.run = (client, message, args) => {
const roleNotifStream = message.guild.roles.cache.get("804297729761214484");
const roleNotifInfo = message.guild.roles.cache.get("798935551272288296");
const emojiNotifStream = message.guild.emojis.cache.get("824614483649101854");
const emojiNotifInfo = message.guild.emojis.cache.get("824614484055293992");
const embed = new MessageEmbed()
.setTitle("Choisi tes notifications")
.setDescription("Cliquez sur les réactions pour choisir tes notifications!")
.setColor("#dc143c")
.addField(
"Les notifications qui peuvent t'intérrésser:",
`
${emojiNotifStream} - ${roleNotifStream.toString()}
${emojiNotifInfo} - ${roleNotifInfo.toString()}
`
);
message.channel.send(embed).then(async msg => {
await msg.react(emojiNotifStream);
await msg.react(emojiNotifInfo);
})
};
module.exports.help = {
name: "allroles",
aliases: ['allroles'],
category: 'reactions',
description: "Renvoi un message avec des réactions",
cooldown: 10,
usage: '',
persmissions: true,
isUserAdmin: false,
args: false
};
aucune erreur rien
Voilà mon arborescence :
Tente de mettre un petit console.log('ici') au début de ta commande pour voir si ça work déjà
je n'ai aucun "ici" dans mon terminal
j'ai fais tester la commande à un ami sur son bot, et lui ca marche
Ah ! Dans ce cas la commande n'est pas détectée, il faut trouver pourquoi
Un problème sur le handler sûrement, je peux voir ton message.js pls ?
module.exports = {
name: 'message',
execute(message) {
console.log(`${message.author.tag} dans #${message.channel.name} a envoyé: ${message.content}`);
},
};
yep
en entier ?
j'ai jamais vu ça de ma vie ptdr
xD, ca marche pourtant les autres commandes mdr
Faudrait que je change quoi selon toi ?
J'en sais strictement rien, j'ai jamais vu ça de ma vie
Désolé
fait voir ton main pls
const Discord = require('discord.js');
const fs = require('fs');
const client = new Discord.Client();
const eventFiles = fs.readdirSync('./events').filter(file => file.endsWith('.js'));
const commandFiles = fs.readdirSync("./commands").filter(file => file.endsWith(".js"));
client.commands = new Discord.Collection();
const {
prefix,
token,
} = require('./config.json');
const welcome = require('./events/welcome')
const FirstMessage = require('./commands/first-message')
client.once('ready', () => {
console.log('Drixibot a démmarré !');
welcome(client)
});
for (const file of eventFiles) {
const event = require(`./events/${file}`);
if (event.once) {
client.once(event.name, (...args) => event.execute(...args, client));
} else {
client.on(event.name, (...args) => event.execute(...args, client));
}
}
for (const file of commandFiles) {
const command = require(`./commands/${file}`);
client.commands.set(command.name, command);
console.log(client.commands);
}
client.on('message', (message) => {
if (message.author.bot) return;
const args = message.content.slice(prefix.length).trim().split(/ +/);
const command = args.shift().toLowerCase();
if (message.content.toLowerCase() === 'salut') {
message.reply('Salut 👋')
.catch(console.error)
}
if (message.content.toLowerCase() === 'drixizerp') {
message.reply('***DrixizeRP*** est le meilleur serveur au monde selon une étude très serieuse 🤓')
.catch(console.error)
}
if (!client.commands.has(command)) return;
client.commands.get(command).execute(message, args);
console.log('reception message test')
});
client.login(token);
AAAAAAAH
Bah voilà
Le voilà ton event message
Mais alors pourquoi est-ce que tu as un fichier message.js, et un client.on dans ton main ?
Je vois que tu console log ton client.commands, il y a ta commande qui pose problème dedans ?
Ah non mais laisse tomber !
J'ai trouvé ton problème
je bidouille des trucs, ça marche, c'est cool, ça marche pas, j'essai de comprendre pourquoi
Ton fichier allroles n'est pas dans commands
Mais dans un dossier reactions qui est dans commands
et ton handler ne permet pas ça
je me doutais que ca venait de là, c'est pour ça que j'ai screen les fichiers xD
ah.
Donc je le sors du fichier ?
Oui sincèrement désolé je n'ai pas regardé les fichiers, pour moi ça venait pas de ça
Tkt 🙂
Il faut le mettre dans le dossier commands oui ^^
Et là 100% ça work
Pardon ?
t'as restart le bot ? 
montre tes fichiers encore
att, je test un truc
mmh ok
echec xD
Mdr
et ta commande clear fonctionne ?
YEP
t'as laissé ton console log ?
ah bah voilà
je l'ai enlevé
donc le problème viens de ta commande maintenant
et ca marche....
pas
const { MessageEmbed } = require("discord.js");
module.exports.run = (client, message, args) => {
const roleNotifStream = message.guild.roles.cache.get("804297729761214484");
const roleNotifInfo = message.guild.roles.cache.get("798935551272288296");
const emojiNotifStream = message.guild.emojis.cache.get("824614483649101854");
const emojiNotifInfo = message.guild.emojis.cache.get("824614484055293992");
const embed = new MessageEmbed()
.setTitle("Choisi tes notifications")
.setDescription("Cliquez sur les réactions pour choisir tes notifications!")
.setColor("#dc143c")
.addField(
"Les notifications qui peuvent t'intérrésser:",
`
${emojiNotifStream} - ${roleNotifStream.toString()}
${emojiNotifInfo} - ${roleNotifInfo.toString()}
`
);
message.channel.send(embed).then(async msg => {
await msg.react(emojiNotifStream);
await msg.react(emojiNotifInfo);
})
};
module.exports.help = {
name: "allroles",
aliases: ['allroles'],
category: 'reactions',
description: "Renvoi un message avec des réactions",
cooldown: 10,
usage: '',
persmissions: true,
isUserAdmin: false,
args: false
};
Pour rappel
tu devrais faire un truc plus simple
réact avec plusieurs émojis
et switch les réacts dans l'event messageReactionAdd
C'est pour faire un embed de reaction role
moi non plus
Tu peux direct reac avec l'id
C'est des emoji custom
fais ce que j'ai marqué beaucoup mieux
yep
et l'embed object, mais je peux pas t'en vouloir si tu débutes
Ouai c'est comme ca que j'ai eu l'ID des emoji
puis tu get ton message dans l'event mesageReactionAdd, tu switch et en fonction des case, tu ajoutes le grade
tout simple
Tu m'as perdu avec ton react xD
tu mets tes émojis quoi
ton embed...
message.channel.send(tonembed).then(async message => {
await message.react("ton emoji");
....
})
Attends mais @misty pulsar est-ce que l'embed s'envoie déjà ?
puis
event : messageReactionAdd
if ( reaction.message.channel.id === "channel_id" && reaction.message.id === "message_id" ) {
switch ( reaction.emoji.name ) {
case "emoji": {
user.roles.add("id_role");
break;
}
....
}
}
normal
ton addField est pas bon
mets juste tes `
et non " + `
marche pas
const { MessageEmbed } = require("discord.js");
module.exports.run = (client, message, args) => {
const roleNotifStream = message.guild.roles.cache.get("804297729761214484");
const roleNotifInfo = message.guild.roles.cache.get("798935551272288296");
const emojiNotifStream = message.guild.emojis.cache.get("824614483649101854");
const emojiNotifInfo = message.guild.emojis.cache.get("824614484055293992");
const embed = new MessageEmbed()
.setTitle("Choisi tes notifications")
.setDescription("Cliquez sur les réactions pour choisir tes notifications!")
.setColor("#dc143c")
.addField(
`Les notifications qui peuvent t'intérrésser:`,
`
${emojiNotifStream} - ${roleNotifStream.toString()}
${emojiNotifInfo} - ${roleNotifInfo.toString()}
`
);
message.channel.send(embed).then(async msg => {
await message.react(emojiNotifStream);
await message.react(emojiNotifInfo);
})
};
module.exports.help = {
name: "allroles",
aliases: ['allroles'],
category: 'reactions',
description: "Renvoi un message avec des réactions",
cooldown: 10,
usage: '',
persmissions: true,
isUserAdmin: false,
args: false
};
Aucune erreur
ok
Ouai
Mais attends
ok je vois
Y'a un problème avec ton field

