const Discord = require('discord.js');
const { prefix, token } = require('./config.json');
const { ServerResponse } = require('https');
const client = new Discord.Client();
client.commands = new Discord.Collection();
const commandFiles = fs.readdirSync('./commands').filter(file => file.endsWith('.js'));
for (const file of commandFiles) {
const command = require(`./commands/${file}`);//**<-c'est la commande qui ne marche pas**
client.commands.set(command.name, command);
}
client.on('ready', () => {
console.log('Le bot est connecté !')
client.user.setActivity('rajoute des commandes', {
type: 'WATCHING'
})
});
client.on('message', message => {
console.log(message.content);
if (!message.content.startsWith(prefix) || message.author.bot) return;
const args = message.content.slice(prefix.length).trim().split(/ +/);
const command = args.shift().toLowerCase();
if (!client.commands.has(command)) return;
try {
client.commands.get(command).execute(message, args);
} catch (error) {
console.error(error);
message.reply('Une erreur est présente');
}
});
client.login(token)```Je ne trouve pas la solution
J'ai cherché sur internet (rien trouvé)
j'ai cherché sur Discord.js Guilder(aucune réponse)
Pouvez vous m'aider?
#javascript-typescript
1 messages · Page 75 of 1
C'est quoi le problème @white sedge ?
ben la ligne de code const command = require(./commands/${file}); me met une erreur
ça le fais depuis que j'ai réinstallé ubuntu
@copper pagoda
ok et c'est quoi l'erreur ?
C'est le token qui va pas non ?
dsl mais je dois me coucher je ne peux pas t'aider ce soir
vraiment dsl
let interval = setInterval(() => {
if(chan.members.size < 1){
chan.delete();
ticket.delete();
voc['id'][message.author.id] = 0;
voc['mdp'][msg] = 0;
voc['ID'][msg] = 0;
voc['owner'][message.author.id] = 0;
voc['ticket'][message.author.id] =0;
Savevoc();
clearInterval(interval);
}
})
try
Non c'est bon j'ai essayé un truc et ça marche
oui
J'ai mis du temps à comprendre comme même le fonctionnement XD
node --v te dis quoi
je viens de verfifier sa version il est en 10.19.0
node ?
oui
je l'ai fais mais ubuntu m'indique qu'il n'a aucune mise a jour a faire
mais je viens de trouver comment installer la version 14 de node
k, fais le et ça devrait régler le soucis
ok merci
np
ça ne marche pas
check la version
14.17.0
bizarre, moi je fais comme ça pour mes bots, mais j'utilise commando après
ah
fs.readdir('./events/', (err, files) => {
if (err) return console.error(err);
console.log(`${files.length} évènement(s) chargé(s)`)
; files.forEach(file => {
const eventFunction = require(`./events/${file}`);
if (eventFunction.disabled) return;
const event = eventFunction.event || file.split('.')[0];
const emitter = (typeof eventFunction.emitter === 'string' ? client[eventFunction.emitter] : eventFunction.emitter) || client;
const once = eventFunction.once;
try {
emitter[once ? 'once' : 'on'](event, (...args) => eventFunction.run(...args));
} catch (error) {
console.error(error.stack);
}
});
});
( c'est pour les events mais c'est similaire )
je n'utilise pas commando c bien?
chacun fais comme il veut, commando c'est pratique
Hello à tous, quelqu'un sais pourquoi sur téléphone les images n'apparaissent pas ?, j'ai jamais eu de soucis de ce genre avant (screen 1 : PC / screen 2 : Téléphone)
ça doit juste être un bug d'affichage de discord
rien de bine grave
Bonjour
je souhaite ouvrir mon launcher et sa ne marche pas alors je regarde les logs et voici ce qui s'affiche
traduction Ce programme ne peut pas être exécuté en mode DOS.
c'est pas les logs ça x) t'a ouvert le programme avec un bloc-note
Oui mais en gros il s'ouvre pas
Bonsoir,
En gros j'ai un message sous forme d'embed que j'aimerai modifier en un message texte (donc supprimer l'embed).
Sauriez vous comment je peux faire ?
car quand je fais message.edit('le texte') ça conserve l'embed...
me mentionner dans la réponse svp
Salut, faut que tu rajoutes un embed vide dans le edit
(Je pense)
c'est impossible de faire un embed vide, ça me renvoie une erreur disant que embed.description est obligatoire.
Même si tu mets edit.(‘test’, embed:{})
Je suis pas sûr
non c la mm
Hey !
Toujours le même soucis, quelqu'un pourrait m'aider à ne pas prendre en compte un membre qui est dans un .json mais qui n'a pas un rôle ?
var dataSD = JSON.parse(fs.readFileSync('./pds_data/data_sd.json'))
Object.keys(dataSD).forEach(member => {
if (dataSD[member]) {
const embedTableau = new Discord.MessageEmbed();
.setColor('#36393f');
guild.members.fetch(member).then(members => {
if (dataSD[member].roles.cache.has(config.roleSd')) {
let serviceTotal = dataSD[member].service;
let value = 0;
serviceTotal.forEach(e => {
value += Number(e);
if (dataSD[member].timeRemoved) {
value = (value - dataSD[member].timeRemoved)
}
});
function totalValue(n) {
var hours = (n / 60);
var rhours = Math.floor(hours);
var minutes = (hours - rhours) * 60;
var rminutes = Math.round(minutes);
if (dataSD[member].timeRemoved) {
return rhours + "h" + rminutes + "min. (" + dataSD[member].timeRemoved + "min. de temps retiré)";
} else {
return rhours + "h" + rminutes + "min.";
}
}
embedTableau.setDescription(`${members}・Total: ${totalValue(value)}`);
message.channel.send(embedTableau);
}
})
}
});
J'ai fais un récap global, l'Object.keys est dans une condition avant (limite de texte donc je l'ai pas mise)
Erreur:
(node:24008) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'cache' of undefined
Hey ! j'ai un prb mon message de bienvenue marche plus alors qu'il marchais bien avant :/
client.on("guildMemberAdd", member => {
var channel = client.channels.cache.get(annoncechannel)
member.roles.add("844236313460473857");
let embed = new Discord.MessageEmbed()
.setTitle(member.user.username+ " vient de rejoindre le serveur !")
.setDescription("N'hésitez pas à lui souhaiter la bienvenue !")
.addField("Il y'a maintenant "+member.guild.memberCount+" membres sur le serveur", "")
.setColor("#26a7fa")
.setThumbnail(member.user.displayAvatarURL())
channel.send(embed)
});
Erreur ?
J'ai un long code d'erreur les gens
je sais pas quoi faire si quelqu'un peut m'aider
regard c'est le bon
le montre pas..
après je le re roll
supprime
reroll le et refous le
vas-y
C'est bon
j'ai re roll , je le mettrais après
Je vois pas où est le problème dans le code d'erreur
et dans mon code
client.on("guildMemberAdd", async (member) => {
await member.roles.add("844236313460473857");
let embed = new Discord.MessageEmbed()
.setColor(`#26a7fa`)
.setTitle(`${member?.user.username} vient de rejoindre le serveur !`)
.setDescription(`Il y a maintenant ${member.guild.memberCount} membres sur le serveur`)
.setThumbnail(member?.user.displayAvatarURL());
// etc
await member.guild.channels.cache.get("id_channe").send(embed);
})
@keen narwhal
fais voir tout ton code @tame shore
const Discord = require("discord.js")
const client = new Discord.Client();
client.on("ready", async => {
client.user.setStatus('online')
});
client.on("ready", async => {
client.user.setUsername('')
});
client.on('ready', () => {
console.log(`Logged in as ${client.user.tag}!`);
});
client.on('message', msg => {
if (msg.content === 'xx') {
msg.reply('xx');
}
});
client.on("ready", async => {
client.user.setActivity('Prenez vos rôles dans le salon roles-reaction !')
}); ```
il y a que sa
Merci gros bg
( je débute )
prends la base de la doc, à savoir :
const Discord = require('discord.js');
const client = new Discord.Client();
client.on('ready', () => {
console.log(`Logged in as ${client.user.tag}!`);
});
client.on('message', msg => {
if (msg.content === 'ping') {
msg.reply('Pong!');
}
});
client.login('token');
np
mm
comment ça ?
je recommence à partir d'ici ?
👌
t'avais mis 2x le même event à savoir que ça sert à rien, et l'exemple de la doc pour débuter est clair donc commence sur ça
Citation de Stanislas ☂6242 posté dans javascript
Cliquez sur [📝](#javascript-typescript message) pour accéder au message
Hey !
Toujours le même soucis, quelqu'un pourrait m'aider à ne pas prendre en compte un membre qui est dans un .json mais qui n'a pas un rôle ?
var dataSD = JSON.parse(fs.readFileSync('./pds_data/data_sd.json'))
Object.keys(dataSD).forEach(member => {
if (dataSD[member]) {
const embedTableau = new Discord.MessageEmbed();
.setColor('#36393f');
guild.members.fetch(member).then(members => {
if (dataSD[member].roles.cache.has(config.roleSd')) {
let serviceTotal = dataSD[member].service;
let value = 0;
serviceTotal.forEach(e => {
value += Number(e);
if (dataSD[member].timeRemoved) {
value = (value - dataSD[member].timeRemoved)
}
});
function totalValue(n) {
var hours = (n / 60);
var rhours = Math.floor(hours);
var minutes = (hours - rhours) * 60;
var rminutes = Math.round(minutes);
if (dataSD[member].timeRemoved) {
return rhours + "h" + rminutes + "min. (" + dataSD[member].timeRemoved + "min. de temps retiré)";
} else {
return rhours + "h" + rminutes + "min.";
}
}
embedTableau.setDescription(`${members}・Total: ${totalValue(value)}`);
message.channel.send(embedTableau);
}
})
}
});
Quote par Stanislas ☂#6242
·
🆙
tu devrais faire un .map sur ton Object.keys, ça te permettra d'avoir un tableau avec lequel tu pourras travailler plus facilement
petit exemple :
const JSON_DATA = JSON.parse(...); // je te laisse compléter ça
const fetchableMembers = Object.keys(JSON_DATA).map((memberID) => { // .map permet de recréer un tableau à partir des valeurs de retour de chaque élément quand ils passent dans cette fonction
if (!JSON_DATA[memberID]) return null;
return guild.members.fetch(memberID); // on a une promise ici en valeur de retour, c'est normal
}).filter((promise) => promise !== null); // on retire via un .filter les résultats invalides
const members = (await Promise.all(fetchableMembers)) // on récupère les membres
.filter((member) => member.roles.has(config.roleSd)); // et on enlève les gens qui ont pas le rôle via un .filter
members.forEach((member) => {
// fais ce que tu veux ici
});
toi le problème c'est que tu venais chercher le .roles sur un élément de l'objet dataSD, qui à priori n'a pas de GuildMember
y a un await dans mon exemple donc il faudrait que tu l'exécute dans un bloc asynchrone
si ça fonctionne pas (j'ai pas testé le code), tu peux mettre le .filter après le (await Promise.all(...))
normalement pas besoin mais bon il est tard on sait jamais je me trompe ptet
Salut je comprends pas pourquoi mon code ne fonctionne pas
async getGuildMember(name) {
let xhr = new XMLHttpRequest();
xhr.open("GET", "https://api.starcitizen-api.com" + "/macleapi" + "/v1/live/organization_members/PAMPA", true);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.send();
xhr.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
let members = JSON.parse(this.responseText);
members.data.forEach(member => {
if ( member.handle == name ) {
console.log(member);
return member;
}
});
}
};
}
Selon w3school ça renvoi une promise là
Quand j'appelle la fonction :
this.utils.getGuildMember(div.getAttribute("sc-name")).then((member) => {
console.log(member);
div.children[0].src = member.image;
});
Le console.log du dessus donne ça
tu devrais faire un .find() à la place de ton .forEach() premièrement, et t'as essayé de look au niveau de la doc comment ils l'utilisent ou de faire une requête sur postman ?
Postman ?
Sinon le console.log du premier bloc de code (que j'ai edit avec le .find) print bien
Je pense avoir compris, je fais le return dans la fonction du onreadystatechange et pas dans getGuildMember()
Et vu que c'est pas une fonction anonyme car on utilise son this ça foire tout et getGuildMember() ne renvoit rien

ça marche quand j'utilise un callback 
np
Client.on("message" , message => {
if(message.author.bot) return;
if(message.content == prefix + "roles")
message.channel.send("N'oubliez pas dallé prendre vos rôles dans le salon " + message.guild.channels.cache.get("843557138357944411") )```
sa me met sa
Oulq
En gros je suis pas sur pc
Mais c'est mal fait genre fait faire
message.guild.channels.cache.get("id").send("n'ounlieez pas...")```
ah
Un truc comme ça
ah ok ok
Normalement
vas-y je test sa maintenant
Toujours pas
Client.on("message" , message => {
if(message.author.bot) return;
if(message.content == prefix + "roles")
message.channel.send("N'oubliez pas dallé prendre vos rôles dans le salon " + message.guild.channels.cache.get("843557138357944411") )
j'ai mit sa
j'ai toujours la même chose
fais alors <#id>
Ta méthode channel.get vas juste te retourner une instance de Channel
Sa sert a rien dans ton cas
👌
Client.on("message" , message => {
if(message.author.bot) return;
if(message.content == prefix + "roles") message.guild.channels.cache.get("843557138357944411").send("N'oubliez pas dallé prendre vos rôles dans le salon")```
Tient

Bah ouais c'est compliqué de règler une erreur sans la régler 
Alors c'est bon ?
Toujours pas
je fait un truc
après je m'en occuperais
😦
ah mais en fait c'est logique
client.on("message" , message => {
if(message.author.bot) return;
if(message.content == prefix + "roles") { message.guild.channels.cache.get("843557138357944411").send("N'oubliez pas dallé prendre vos rôles dans le salon")}
ça ça pourrait le faire
👌
merci beaucoup
Euh
la sa l'envoi dans le salon directement
et sa le tag pas
@keen narwhal
Ah
mais ce que je t'ai envoyé ça marche normalement
client.on("message" , message => {
if(message.author.bot) return;
if(message.content == prefix + "roles") { message.channel.send("N'oubliez pas dallé prendre vos rôles dans le salon [#843557138357944411](/guild/223070469148901376/channel/843557138357944411/)")} ```
tient
bah en fait déjà d'une c'était marqué Client au lieu de client
donc ...
mais oui ça marchait aussi

Ok ok , je vasi testé
J'avais rien compris enfaîte 🤣
on a bien vu 😂 😂
Bonjour j'aimerais savoir comment faire pour barré un texte une fois la checkBox checked or mon code ne le change pas en direct
bonjour, j'ai un problème mon code ne marche plus du jour au lendemain quelqu'un a une idée ? ```client.on("guildMemberAdd", member => {
let embedwelcome = new Discord.MessageEmbed()
.setColor('#0099ff')
.setTitle(`ReSk Community`)
.setAuthor('**Bienvenue à cette personne**', member.user.displayAvatarURL())
.setDescription(`${member.user.tag} vient de nous rejoindre !`)
.setThumbnail('https://i.imgur.com/FypRJ59.png')
.setTimestamp()
.setFooter('Glife', 'https://i.imgur.com/FypRJ59.png')
client.channels.cache.get('844209138497224705').send(embedwelcome)
member.roles.add('843915278995423282');
print("test")
})```
Merci pour toutes les petites infos ! Le code fonctionne cependant, lorsque je retire le rôle à un des membres, il faut attendre un restart du bot pour que le membre ne s'affiche plus (j'ai juste bidouillé qlq trucs dans le code que tu as envoyé comme le member.roles.has en member.roles.cache.has depuis je ne sais plus quelle version de discord.js)
plus besoin d'aide, mais comment je fais pour mettre le nombre de gens sur le serveur (par exemple : nous somme mtn 13 sur le serveur) qu'à chaque fois que un joueur join ça change ?
jamais fais de bot mais fait un compteur non ?
bah j'aimerais que à chaque fois que quelqu'un join ca fait dans mon embed nous somme 13 sur le serveur par exemple
yes c'était juste un oubli de ma part le .cache (c'est depuis la v12)
vu que c'est une histoire de cache pour que t'aies pas à restart à chaque fois il faut que tu trouve un moyen de refaire une requête vers les rôles du membre (ptêt en faisant un autre fetch du membre, ou en évitant d'utiliser le cache pour le récupérer?)
essaye en changeant la valeur de retour du .map dans le tableau fetchableMembers vers guild.members.fetch({ user: memberID, force: true }) par exemple, ptêt que ça permettra d'avoir les bonnes données
C'est réglé, merci beaucoup cyber bg @timid loom 🙂
EDIT: au final pas vraiment, je me retire le rôle, ça ne m'affiche plus, je retire le rôle à un membre ça ne fonctionne pas
J'ai eu espoir 
Je sais pas si c'est le .cache qu'ils ont rajouté qui a fait ça mais j'ai pas le souvenir qu'avant il y'avait besoin d'un restart pour un rôle en + :d
c'est lié aux changements de discord dans leur dernière version de la gateway
la v12 a été update en fonction de ces changements là mais effectivement avant y avait pas besoin de passer par ça
Je trouve po 😒
Hey, tu as mis ton code dans un événement ? Si non, c'est normal à moins que tu check toutes les x secondes
hello help me solve this I get an error every moment
Nice error but screenshot the error’s start too please
Bonsoir, je souhaite lier un observable à l'évènement push d'un string[], comment je peux faire ? (angular 11)
use gamedig, et tu fais ton query dans un setInterval et après tu look la doc et tu vas réussir sans soucis particulier
hello
j'ai un petit probleme
Le code marchait tres bien a son premier lancement pour un test et au deuxieme test il ne marche plus.
voici ce que ça me met
UnhandledPromiseRejectionWarning: ReferenceError: Client is not defined
at Object.run (/home/kettyp/Documents/Discord/Serveur/80%Gaming/Bots/commandbot/java2/events/ready.js:5:9)
at BotClient.<anonymous> (/home/kettyp/Documents/Discord/Serveur/80%Gaming/Bots/commandbot/java2/index.js:28:77)
at BotClient.emit (events.js:388:22)
at WebSocketManager.checkShardsReady (/home/kettyp/Documents/Discord/Serveur/80%Gaming/Bots/commandbot/java2/node_modules/discord.js/src/client/websocket/WebSocketManager.js:415:10)
at WebSocketShard.<anonymous> (/home/kettyp/Documents/Discord/Serveur/80%Gaming/Bots/commandbot/java2/node_modules/discord.js/src/client/websocket/WebSocketManager.js:197:14)
at WebSocketShard.emit (events.js:376:20)
@white sedge il nous faut aussi ton code 😉
oui oui
mon code
module.exports = {
run: () => {
Client.logger.log('info', `Logged in as ${client.user.tag}! (${client.user.id})`);
//client.setTimeout(() => console.log('Hey!'), 5000 * 60) // ce code ne sera exécuté que dans 5 minutes
//client.setInterval(() => console.log('ping!'), 5000 * 60) // toutes les 5 minutes, le message 'ping!' s'affichera dans la console du bot
//client.setInterval(() => {
// du code plus complexe a executer toutes les 5 minutes
// console.log('another ping!')
//}, 5000 * 60) // toutes les 5 minutes
}
};```
comment tu définis client? il vient d'où?
const path = require('path')
const fs = require('fs')
const dotenv = require('dotenv')
const envConfig = dotenv.parse(fs.readFileSync('config.env'))
for (const k in envConfig) {
process.env[k] = envConfig[k]
}
const client = new CommandoClient({
commandPrefix: process.env.BOT_PREFIX, // Préfixe des commandes (ex: ?help)
owner: process.env.BOT_OWNER_ID, // ID de l'owner du bot, peut également être un tableau d'id pour plusieurs owners, ex: ['ID1', 'ID2']
disableMentions: 'everyone' // Désactive, par sécurité, l'utilisation du everyone par le bot
});
fs.readdir('./events/', (err, files) => {
if (err) return console.error(err);
files.forEach((file) => {
const eventFunction = require(`./events/${file}`);
if (eventFunction.disabled) return;
const event = eventFunction.event || file.split('.')[0];
const emitter = (typeof eventFunction.emitter === 'string' ? client[eventFunction.emitter] : eventFunction.emitter) || client;
const { once } = eventFunction;
try {
emitter[once ? 'once' : 'on'](event, (...args) => eventFunction.run(client, ...args));
} catch (error) {
console.error(error.stack);
}
});
});
client.registry
.registerDefaultTypes()
.registerGroups([
['divers', 'Divers'],
['debug', 'Debug'],
['stats', 'Stats'],
['testbot', 'Testbot'],
])
.registerCommandsIn(path.join(__dirname, 'commands')) // on indique où seront les fichiers des commandes du bot
;
client.login(process.env.BOT_TOKEN);``` de la
bah manifestement non vu qu'il est pas importé ou require
tu devrais le récupérer via un Message que tu peux passer en paramètre de ton run
ou alors tu peux carrément le passer lui en paramètre
je viens de comprendre mon erreur
j'aurais dù mettre ça run: (client) => {
ça marche
par exemple
mais dans ce cas quand tu appelles ton run tu dois faire run(client) plutôt que juste run
super ! voilà c'était tout bête
c'est dérangeant ? pour le reste du dev
hmm? nan
ok cool merci
là tu le fais en faisant eventFunction.run(client, ...args) et c'est tout à fait normal
ok
par contre je comprends pas pourquoi tu fais ... sur args quand tu appelles ta fonction
var require: NodeRequire
(id: string) => any
File is a CommonJS module; it may be converted to an ES6 module.ts(80001)
ça c'est juste un message de vscode c'est pas important
parce que maintenant une nouvelle syntaxe existe mais t'es pas obligé de l'utiliser
vous savez comment on peut (dans les logs) afficher le nom d'utilisateur de qlq?
mon code
const Discord = require('discord.js');
module.exports = {
run: (client) => {
client.logger.log('info', ${Discord.User.name} a créé un channel [${Discord.NewsChannel.name}]);
}
};
ça me donne ça [20/05/2021, 01:24:59] - [INFO] - User a créé un channel [NewsChannel]
j'aimerais que 'user' soit remplacé pas le nom d'utilisateur
si je met .tag ou .username ça me met '[20/05/2021, 01:28:37] - [INFO] - undefined a créé un channel [NewsChannel]'
J'ai une question tres con, en Node JS, comment on faire pour permettre une entrée de texte (dans un CMD) et sauvgarder le résultat dans une variable ?
merci bcp j'ai creusé la piste des addlistener et ca marche 🙂
c'est vrai que j'y pensais plus a ca 😁
console.log(client.user.username)
}
else if(message.content.startsWith(prefix + "unmute")){
let mention = message.mentions.members.first();
if(mention == undefined){
message.reply("Membre non ou mal mentionné , veuillez réessayé.");
}
else{
mention.roles.remove("843570426198360166");
message.reply(mention.displayName + " a était unmute!");
}
}
}```
Unexepted end of input , j'ai vérifier tout mes crochets et je trouve pas ou est le problème
si quelqu'un peut m'aider s'il vous plaît
Sa va pas marcher
if(!mention) todo
plus simple
mais c'est pas ça
tes }} à la fin doit y en avoir un de trop ou un qui manque
vérif bien ton code
🆙
mais je t'avouerais que j'ai maitenant une autre erreur que j'arrive po a régler x)
Envoie la ici avec le code 
tu va surement te taillé les veines hein x)
Osef
j'enverrais ca plus tard car la j'ai un truc a faire ^^
Bonjour, j'ai un problème, je change le nom d'un salon discord avec un bot et le bot le rechange comme avant tout de suite après: voici un extrait
et voici mon code: js if(!channel.name.includes('🟢') || channel.name.includes('🔴')){ if(channel.name.includes(`🗡`)){ channel.setName(channel.name.replace(`🗡`,`🟢`)).then((newChannel) => { newChannel.send(`${configBot.notError} | Le salon \`${newChannel.name}\` est maintenant initialisé!`) }).catch(console.error); channel.setTopic(`Dernière mise à jour: ${moment(Date.now()).format("LLLL")}`) } }
Merci de me ping si quelqu'un me réponds @drowsy turtle
mais moi j'utilise logger.log
?
ton code là tu gères que les 2 emoji
fin de ce que je vois tu check si le nom inclus un émoji et si il n'inclut pas un autre
oui
tu veux faire quoi concrètement
en gros je veux changer le nom du salon 🗡 general 1 en 🟢 general 1
et je check si 🟢 est pas inclus et si 🗡️ est inclus et je change le 🗡️ par le 🟢
t'as qu'à faire un else alors
un else ou
bah à ta condition quoi
la quelle
mais ça ça sert juste a checker si \🟢 ou \🔴 est inclus
et si c pas inclus ça execute le code
@oak turret
mais ça va servir a rien de faire un else if, il faudra que je met mon code 2 fois alors que je peux le faire 1 fois
|| ça veut dire ou
mais tu me dis faire une condition pour check si y a un certain emoji
quand ça change ta condition et plus bonne, donc le début de ta condition sera pas bonne donc il rentrera pas dedans
donc pour check si y a pas d'autres émojis faut faire une autre condition
mais pas un autre if
un else if, et tu conclus par un else si tu veux à la fin check l'opposé
non mais genre si c'est le rond vert ou rond rouge, ça a pas besoin d'executer qqch
donc ça me servirais a rien de faire un else
bon, dis moi ce que tu aimerais faire que je te montre concrètement et te dire pourquoi ton truc serait pas bon
je veux check si le nom du channel inclus soit \🟢 ou \🔴 et si il n'inclus pas alors regrder si le nom du salon inclus \🗡 et si il est inclus alors changer le nom du channel remplacer \🗡 par \🟢
if ( ["🟢", "🔴"].includes(channel.name) ) {
// todo
}
else if ( !["🟢", "🔴"].includes(channel.name) && channel.name.includes("🗡") ) {
// todo
}
else {
// todo
}
tu comprends ou pas ?
oui, mais j'ai dit que si le vert ou le rouge est inclus, ça doit tirn faire
soit tu adaptes tes conditions pour faire en sorte que ça sois cet événement là qui ce passe dans le else dans ce cas-là tu return; sinon tu rajoutes un else if avec la condition que t'avais faites
jte dit si ça fonctionne dans 5 min puisque je suis rate limited
ça refait la même chose
ça change l'épée en vert et ça le rechange en épée
@oak turret
pas besoin de ping tqt
ok
mais tu le fais dans quelle circonstance ça ?
tu dois check tous les x temps ou c'est lorsque tu react ou autre ?
non, c'est lorse que le bot démarre et qu'il voit que il n'y a pas de rond vert
ouais donc c'est une fois
oui
donc il y passe dans la condition qu'une fois
si tu veux le faire s'actualiser, faut que tu le foutes dans une setInterval()
ben att, ça sera plus simple, je vais juste t'envoyer la fonction au complet
setInterval(() => {
if ( ["🟢", "🔴"].includes(channel.name) ) {
// todo
}
else if ( !["🟢", "🔴"].includes(channel.name) && channel.name.includes("🗡") ) {
// todo
}
else {
// todo
}
}, 60000)
ça va passer dedans toutes les minutes
il passe déjà dans un interval le code
la fonction passe dans un interval de 5 secondes
mh donc ton code est pas good
tu devrais faire déjà des conditions simple, pas des conditions avec des sous conditions dans ton cas c'pas utile
3 conditions imbriquées, autant faire une seule avec des || ou des &&
ça sera déjà plus lisible
bref, si personne t'aide jusqu'à demain je t'aiderais demain, j'repars bosser
ça c'est mon ancien code que j'avais envoyé, il est en /* pour pas qu'il s'execute
regarde ce qu'il fait
il le change et tout desuite après il le rechange
si quelqu.un a une solution ping moi
vous savez comment on peut créer un easteregg dans son bot discord
du genre un membre envoi un mot
qui declenche le programme
c'est plutotsimple
client.on("message", (message) => {
if(message.content == "ton mot"){
// code a executer
}
})
si tu a déjà un client.on message, fait juste mettre le if message.content
c'est toi qui sait
je souhaite faire un easter egg
je l'ai codé un peu grace a Tommy_QC mais çe code ne marche pas
client.on("message", (message) => {
if(message.content == `souhieb`){
message.send(`${this.memberName} a trouvé un EASTER EGG !`)
}
}) ```
ça me met
[20/05/2021, 21:41:49] - [ERROR] - message.send is not a function
@white sedge tu sais lire l'anglais?
oui un peu
tu sais pâs ce que le message dit?
ben commence par lire l'erreur pour voir ce qui va pas
Je n’utilise pas commando mais message.send me tracasse
message.channel.send
message.say marche
donc @oak turret
@feral abyss Finalement j'ai régler tous mes problèmes JS aujourd'hui ^^
j'ai juste créer l'élement html qui me faisais chier en dur grace au JS et puis plus de problème
Parfais
après mon code atm ressemble a une usine a gaz j'ai l'impression mais tant que ca marche x)
@oak turret tu veux toujours m'aider ou pas?
Hello, je voulais savoir pourquoi ça me met ça quand j'essaye de mettre un rôle auto quand une personne arrive :
module.exports = async (member) => {
const role = member.guild.roles.cache.find(r => r.id === '832306335164268554');
member.roles.add(role)
};```
Erreur : cmd TypeError: Cannot read property 'roles' of undefined
init le dans une variable pour pouvoir check la réponse après
fallait le préciser que t’étais en node ^^
sur quel site ou quel ytb choisir pour apprendre javascript
Bonjour, j'ai cette erreur qui apparaît quand j'essaye de faire un message de bienvenue et d'ajouter un rôle au membre : cmd Uncaught TypeError: Cannot read property 'roles' of undefined
Avec ce code ```js
const { MessageEmbed } = require("discord.js")
module.exports = {
event: "guildMemberAdd",
async execute(client, member) {
const role = client.guild.roles.cache.find(r => r.name === '🎈┃Membres')
const channel = client.guild.channels.cache.find(ch => ch.name === "🛬┃join")
const embed = new MessageEmbed()
.setColor(member.displayHexColor())
.setAuthor(member.username, member.displayAvatarURL())
.setTitle(`Bienvenue à toi ${member.username}`)
channel.send(embed)
member.roles.add(role)
}
}```
guildMemberAdd n'a qu'un argument
donc enlève client
met que member
et ça sera const role = member.guild.roles.cache.get("id")
Je viens de le faire et ça n'a pas changé
log member alors
ça n'a rien changé et ça m'a mis ça
Client {_events: {…}, _eventsCount: 10, _maxListeners: undefined, _timeouts: Set(1), _intervals: Set(2), …}```
j'ai l'impression que c'est client qui a la valeur que devrait avoir member, et inversement
je lui avais dis de laissé qu’un argument, member en l’occurrence comme nommé sur la doc mais yes du coup les deux sont inversés
Hello, j'ai besoin d'aide pour faire une commande pour ajouter un rôle aux gens mais j'ai essayer un code mais je n'arrive pas voici mon code :
module.exports = { name: 'add', description: 'Ajouter un rôle!', execute(client, message, args) { let role = message.guild.roles.cache.find(role => role.name === args.toStrings()); if (role) { if (message.member.roles.cache.has(role.id)) return message.channel.sen("T'as déjà ce rôle"); client.on('message' , message => { if (message.content === '-up en_test') { guildMember.roles.add([843039249544511498])
Déjà il y a une choses qui ne vont pas dans ton code
Commande
puis tu fais guildMember, soit dans ton code il est = undefined, .toStrings() n'existe pas non plus
c'est sans s, .toString()
guildMember.roles.add([843039249544511498]) ça non plus c'est pas good
tu as recopier ton code ,
?
Je me suis inspiré
Et surtout tu redéfinie la méthode exécutée pour l'event message, on ne fait jamais ça
parce que là à mon avis tu comprends pas
oui aussi bref, cherche à faire une structure simple pour débuter
pour prendre tes aises
Ok
Yes
Ce que tu dois faire au lieu de redéfinir la fonction de l'event message, c'est utiliser la propriété member présente dans l'objet message
Ok
si il utilise l'event message pour ajouter un rôle faut qu'il get le guildMember pour ajouter le rôle sinon ça fonctionnera pas de mémoire
donc
C'est exactement ce que je suis en train de lui dire, cette propriété est présente dans l'objet message (s'il est envoyé depuis une guilde).
message.member.roles.add("id");
en oubliant pas le .catch(console.error)
si il peut pas il le fera seul
Je vais essayer
oui mais c'est plus propre et dans certains programmes ça évite de mettre fin à la boucle d'exécution 🙂
J'ai recommencé le code, du coup je dois commencer par quoi en première ligne?
Le but c'est que tu comprennes ce que tu écris alors on si on te donnait ligne par ligne le code à écrire ce ne serait pas te rendre service.
Si tu veux le plus simple c'est de décomposer petit à petit ce que tu cherches à faire, tu cherches à assigner un rôle à un membre donc:
- récupérer le rôle à assigner
- récupérer le membre auquel assigner le rôle (si tu l'as déjà dans l'objet message tant mieux, tu n'as pas besoin de cette étape)
- assigner le rôle au membre
Donc, le 1 c'est déjà fait, le 2 je connais le membre mais après pour assigner le rôle avec une commande là j'ai le problème
Est-ce que cette commande c'est toi qui l'utilise pour assigner un rôle à quelqu'un ? ou est-ce que chaque membre peut utiliser la commande pour s'assigner un rôle ?
Pas tous les membres mais certain à partir d'un certain grade
Okay, on verra un peu plus tard pour les grades, pour que tu comprennes on va faire simple pour commencer
Jette un oeil à la classe Message https://discord.js.org/#/docs/main/stable/class/Message
et surtout la propriété member
Lorsque ton bot reçoit une commande (qui en réalité est un message), tu reçois l'objet message au complet, si le message est envoyé depuis un serveur Discord (pas en DM), la propriété member contient le membre du serveur qui a envoyé le message (donc la commande)
tu vois l'idée ?
Oui
ça inclut .roles
et les roles peuvent être ajoutés ou enlevés (.add("id "), ou .remove("id") )
Ok
Donc, le code doit ressembler à ça?
client.on('members' , message => { if (message.content === '-up (Le rôle) { message.member.add "(l'id)"
pas du tout :c
Ah
Là on peut pas t'aider plus sans te donner du code tout fait honnêtement l'ami :/
Je te conseille de relire ce qu'on t'a écrit, de bien te balader dans la doc Discord.js, tu cliques sur un objet qui t'intéresse, tu regardes ses méthodes + propriétés, tu cliques sur celles qui t'intéressent, ça t’emmènera vers d'autres objets etc etc
là ce que je vois c'est que tu ne comprends pas bien comment fonctionnent les objets Javascript et c'est essentiel pour pouvoir comprendre la doc et inversement
Mais commence par apprendre le js ^^
Ok
Hello à tous, si quelqu'un aurais une petite idée j'avoue que je ne suis pas trop là, j'étais en train d'éditer une commande, rien de plus banal, et lors du démarrage du bot, je ne sais pas pourquoi mais mon loadCommand, ne veux plus démarré, en gros il me marque une chose comme non défini, alors que juste avant je veux dire ça fonctionnais très bien
Si quelqu'un à une idée, ou une solution, je suis preneur, merci!
Fait un console.log de getFileName.help pour voir
(Avant l'erreur hein)
Je viens de la résoudre à l'instantanté, j'avais défini constant qui n'existais pas, donc forcément ça ne pouvais démarré! Merci tout de même!


Java, c'est pas ici mais #java-jvm @white sedge
hi je fais mon bot en javascript avec commando
Je voudrais faire en sorte que quand on tape la commande avec une phrase ou un mot qu'il revoie une video youtube dans le channel
Comme ça
§ytb video de chat
Le bot devrait renvoyer une video de chat "ça marche selon le titre de la video"
Merci pour l'aide qui me sera apporté
je ne trouve pas l'api de youtube
et je voudrais aussi le faire avec wikipedia
j'ai essayé avec ça mais ça ne marche pas const makeURL = (query) => https://www.mediawiki.org/wiki/Special:MyLanguage/API:Query=${encodeURIComponent(query)};
const makeURL = (query) => `https://www.mediawiki.org/wiki/Special:MyLanguage/API:Query=${encodeURIComponent(query)}`; ```
Pas sur que tu peut pour le coups
J'ai un soucis avec mon message react: J'ai un emoji custom pour faire mon react,
je msg.react("847373660389638174").then()
Avec l'id mais daans le
if (reaction.emoji.name === "847373660389638174" && react_user.id === id) {
}
Il ne se passe rien, comment faire
Déjà d'une il ne faut pas mettre que l'id de ton élite
Emote*
Faut genre mettre avec un \
Tu fais ça genre
:onset_cope:
Fin en gros ça te donne son id et son code
La j'ai ca et j'ai pris l'id
Ca met la bonne réaction mais quand tu appuie dessus ca fait r
Salut j'essaye de faire un condition pour que a partir de 15 heure jusqua 20 heure 30 ca me renvois true
le probleme c'est que si il est 15 heure 35 ca me renvois false
if (hour >= 15 && (hour <= 20 && minutes <= 30)) {
console.log("L'happy est bon jusqua 20h30")
} else { console.log("il est trop tard pour l'happy")}```
Bonjour, j'aimerais que mon bot discord envois un Dm à la personne de mon choix. Quelqu'un pourrait m'aider Svp (voici ce que j'ai fait mais ou ajouter le code pour les dm ?)
`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('Loxia le jeu', {
type: 'STREAMING'
})
})
client.login(config.token)`
il faut dissocier les heures pleine ( de 0 à 59 minutes) des heures incomplete
en gros tu lui demande là que l'heure soit compris entre 15 et 20 et que les minutes soit inférieur à 30
la chose à faire serait de demandé que l'heure soit entre 15 et 19 ou que l'heure soit égale à 20 et que les minutes soit inférieur à 30 soit
if((hour >= 15 && hour < 20) || (hour === 20 && minutes <= 30)){
//Ton code
}
```pour l'explication le fait de mettre des parenthèse autour du `hour <= 20 && minutes <= 30` ne sert à rien car il est associé avec le même opérateur et leur ordre n'est pas significatif
il faut que tu spécifie que dans le cas de l'heure égale à 20 il faut en plus que les minutes soit inférieur à 30
Ah dac merci beaucoup
Bonjour j'ai une question quand j'installe discord.js j'ai une erreur
npm ERR! syscall spawn git
npm ERR! path git
npm ERR! errno ENOENT
npm ERR! enoent Error while executing:
npm ERR! enoent undefined ls-remote -h -t ssh://git@github.com/discordjs/Commando.git
npm ERR! enoent
npm ERR! enoent
npm ERR! enoent spawn git ENOENT
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent```
bah normal tu as a fais minutes <= 30 x)
merde pas vue que on a rep déso du ping
Au lieu de faire if(roles.cache.has(role)) {, j'imagine que tu voulais faire if(member .roles.cache.has(role)) { ?
hi je fais mon bot en javascript avec commando
Je voudrais faire en sorte que quand on tape la commande avec une phrase ou un mot qu'il revoie une video youtube dans le channel
Comme ça
§ytb video de chat
Le bot devrait renvoyer une video de chat "ça marche selon le titre de la video"
Merci pour l'aide qui me sera apporté
je ne trouve pas l'api de youtube
et je voudrais aussi le faire avec wikipedia
[21:20]
j'ai essayé avec ça mais ça ne marche pas const makeURL = (query) => https://www.mediawiki.org/wiki/Special:MyLanguage/API:Query=${encodeURIComponent(query)};
[21:21]
const makeURL = (query) => https://www.mediawiki.org/wiki/Special:MyLanguage/API:Query=${encodeURIComponent(query)};
(modifié)
Bonjour je ne sais pas si c'est ici que je peux faire ce genrs de demande mai j'ai acheter une template à 40€ (vuexy) je veux passer mon Panel en vuejs ou react js mai je ne c'est pas comment faire je me débrouille bien en html css mai je n'e c'est pas comment installer c'est module.
Faut juste faire une requête à l’api YouTube t’as regardé comment elle fonctionne ?
Bah je comprend pas trop ta demande ton template est déjà prêt du coup t’as juste à ajouté ta data dessus
oui mai je ne sais pas faire et j'arrive pas à trouver même sur les vidéo youtube je test et ca marche pas enfin si tu peux voc dans la semaine ou ce weekend tien moi au courant je passerais comme ca je pourrais t'expliqué plus simplement
car il me mes plain d'error du genrs
C’est des warning, tu peux les fixer en mettant à jour certains package etc mais ça cause pas d’erreur
bas en tout cas rien ne marche bref je comprend rien à ce System mai c'est bien plus opti que l'html donc je le veux :/
Faut apprendre le VueJS
Si tu le veux vraiment
C’est pas en claquant des doigts malheureusement
je sais tkt mai pour l’installation je pensais que sa serrais plus simple que ca
bon du-coup j'ai commencer en HTML
Ah je le connais ce thème bon courage si t’as jamais fais de vue
ah
Il est complet mais c’est pas le plus simple y a 1 milliards de composants
ok ok bas je vien de le payer donc va bien falloir que je mi mette
mai merci pour les conseil
Bonjour, j'aimerais que mon bot discord envois un Dm à la personne de mon choix. Quelqu'un pourrait m'aider Svp (voici ce que j'ai fait mais ou ajouter le code pour les dm ?)
`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('Loxia le jeu', {
type: 'STREAMING'
})
})
client.login(config.token)`
Tu veux qu’il les dm à quel moment ? Au démarrage ? Quand tu exécutes une commande ? Quand il react ?
quand je le souhaite enfaite
Oui mais c’est à dire haha
quand je fait une commande
Du coup tu peux passer par l’évent message
Et récupérer lors de la commande l’utilisateur a mp + le contenu du message
Ok mais moi je débute en codage de bot alors je comprend pas vraiment
tu as des tutos sur le site si tu veux
Ok je vais aller regarder
Hello, quelqu'un aurait un tuto ou un lien pour apprendre, pour mettre en place une image personnalisée lorsqu'un nouvel utilisateur arrive sur un serveur discord, merci!
canvas
Oui merci mais je sais pas comment mettre en place 🤷♂️
Hello, j'ai un petit problème avec mon auto-rôle voici le code :
module.exports = async( messageReaction, user) => {
const message = messageReaction.message;
const member = message.guild.members.cache.get(user.id);
const emoji = messageReaction.emoji.name;
const memberRole = message.guild.roles.cache.get("847903271008075826");
if(member.user.bot) return;
if(['right'].includes(emoji)) {
switch (emoji) {
case "right" :
member.roles.add(memberRole);
break;
}
}
}``` et voici l'erreur :
```cmd
TypeError: Cannot read property 'guild' of undefined```
Alors je ne compreds pas ça marche mais j'ai une erreur xD
ça peux pas marcher si ta une erreur 
message est undefined effectivement
je l'ai fais ça m'affiche ça
undefined aussi
😢
Tu as régler ton soucis depuis ? @blazing wadi
Si il n'est pas revenu, je pense que oui. Sachant que je le connais il a du réussir

J'ai un problème voici mon code et mon erreur
TypeError: user.awaitMessages is not a function
ok et je cherche où ?
écrit awaitMessages dans la barre de recherche et tu verras sur quoi tu peux utiliser ça
donc les channels texte, les mp
et les channels de news
J'essaye avec que channel.awaitMessages
faut que channel soit défini
Je viens de voir ça XD
member.channel.awaitMessages marcherait ou pas ?
c'est censé être quoi member.channel?
member c'est l'auteur de l'event et .channel pour aller en mp
t'es sur que ça existe
non c'est pas ça ça me mets que awaitMessages n'est pas une fonction
log member.channel
je t'avait dit ça existe pas
essaye de faire member.user.createDM().awaitMessages(............)
j'ai réglé c'est bon j'ai mis :
member.createDM().then(async dmchannel => dmchannel.awaitMessages(filter, {max: 1, time: 60000}).then(async collected =>{
ah oui my bad
member.send() suffit mais why not
Hey, est-ce que c'est possible de s'avoir si deux strings sont égales alors qu'il y a des nombre différents dans c'est deux strings ?
il veux pas faire ça en fait mais tkt
mais il peut faire comme ça aussi je crois
Tu peux avec une regex remplacer toutes les caractères numériques
Puis tu compares le reste
string.replace(/[0-9]/g, '') en gros
Ah yes pas con merci beaucoup!
bah non ça n'a aucun rapport
C'est ce que j'ai fais, mais le bot ne ce m'est toubour pas en ligne
t'as fais dans ton index
const config = require('./config.json');
client.login(config.token);
?
si client = new Discord.Client()
non ce n'est pas ta faute
supprime index.js à la première ligne aussi ou met le en commentaire
Mais il n’a pas suivi le super tuto disponible sur le site!
t!search bot le code
super
!search le code
t!search bot
t!search discord

Merci
Oui
bonjour j'ai besoin d'aide pour la création d'un bot music
j'ai ce message d'erreur
merci
C serveur je me rappelle je l’avais join il y a 9 mois
???
Laisse
T'es commande elle marche quand tu les fais dans ton serveur psk perso ça marche même pas😂😭
oue tous marche sauf pause
Wi j'voit😭
J'ai voulu faire une commande pause mais elle ne marche pas
je sais pas pk mais quand je la fais rien ne se passe
Bonsoir ! Je me demandais c’est où les demande de développeur pour du js ?
#demande-de-dev ou sur le site de GCA
Super merci l’amie 🙂
Salut les gars qql sait comment faire un burger menu en responsive svp avec du JavaScript
J’ai repris un code que mon prof nous avait donner pour le faire et ça s’affiche pas sur mon site même en renommant les classes
montre le code
ah ok XD
dans le html j'ai pas vue l'appel du script
peut etre pour ca que ca marche pas aussi
au lieu de screen tu peux envoyé le code entier ?
du html / js / css
avec cette syntaxe pour le code js
Bonjour , J'ai un problème avec mon script c'est que je bloques complets avec le localstorage
détaille ton problème si tu peux
en gros j'arrive a store dans le local storage mes informations mais enfait apres dans ma todo list je ne peux plus supprimé / ou intervenir sur mes donées qui reste affiché apres le refresh de la page
J'ai un problème avec mon code
quand je veux mettre un message en mp ça éteint mon bot mais j'arrive pas à régler ce problème
Voici mon code :
client.on('message', message => {
if (message.type !== 'DEFAULT') return
const args = message.content.trim().split(/ +/g)
const commandName = args.shift().toLowerCase()
if(!commandName.startsWith(prefix['server-id'][message.guild.id])) return
const command = client.commands.get(commandName.slice(prefix['server-id'][message.guild.id].length))
if(!command) return
command.run(message, args, client)
console.log(`La commande ${commandName} a été exécuté par ${message.author.username} sur le serveur ${message.guild.name}!`)
})
Erreur : Cannot read property 'id' of null à la ligne 72 donc celle là :
if(!commandName.startsWith(prefix['server-id'][message.guild.id])) return
Quelqu’un a un code de bot qui affiche le nombre de joueurs sur son serveur Gmod ?
gamedig
?
Tu as le package gamedig pour le faire sur ton bot
Pas compris
@slim anvil
@hybrid berry
J'ai un problème avec mon code dans ma bdd ça me met ça
l'erreur est au niveau du delete donc la fonction mise0()
{
"choice": {}
} "706097355979489282": "pierre",
"482551411884818472": "pierre"
}
}
C'est bon c'est réglé !
Que ce soit clair on ne va pas te donner le code comme sa dans la bouche
@hybrid berry @fluid rose Please, je veux plus de ça ici, lexa si tu veux pas lui donner c'est ton droit, par contre tu peux aussi lui dire de manière plus sympa la première fois
No probem meme si après perso c'était pas dis méchament
Ok, en tout cas merci de ton aide @hybrid berry ...
bonjour , est-il possible qu'un bot discord s'affiche avec ce genre d'informations ? concernant un serveur gmod ?
c'est pas un bot ça
sur fivem oui mais pas sur gmod ( je crois )
possible sur fivem je voulais dire
pas sur gmod je crois
@floral bolt c'est cool les boutons
mais tu peux pas les supprimer kappa
cool sinon à faire tu peux faire pleins de trucs
Ah tu peut pas juste appeler une fonction ?
si tu edit ton message
ui j'ai vu depuis ahah
Non c'est pas possible enfin si mais faut faire installer un fichier dll au client gmod
ah ok car moi j'ai juste fait un dans mon bot la commande qui permet d'affiché le nobmres de joueurs etc
Ouais mais c'est différent
ça c'est à Garry's Mod de le faire
Mais ils le feront jamais
C'est clairement possible.
Le nom & les joueurs facilement récupérable, le nom RolePlay & le temps de jeu faudra faire des requêtes de ton serveur GMod à ton bot pour update régulièrement, mais pas besoin de dll ou quoi que ce soit, c'est assez simple en terme de code
bah en soit je le fait déjà de récupéré les infos je les affiches only avec une commandes
Il veut faire un rich présence je crois donc la c’est plus compliqué
Ah oki
Enfaite c’est possible mais le client doit obligatoirement télécharger le dll et malheureusement c’est pas encore possible :/
Re bonjour je voudrais savoir comment fait t'on pour affiché le départ d'une personne a la maniére de quand quelq'un rentre sur un serveur
canvas
oui le canvas j'y arrive pour les arrivés mais pas pour les départs
t'arrive pas a quoi ?
bah a récupéré le nom de la personne quand la personne leave
genre au moment du leave
hello les gars, je viens vous voir car j'ai une erreur qui est celle ci
client.commands.set(props.help.name, props.help);
^
TypeError: Cannot read property 'name' of undefined```
fs.readdirSync(`${process.cwd()}/Commands/`).forEach(dir => {
fs.readdir(`${process.cwd()}/Commands/${dir}/`, (err, files) => {
if (err) throw new Error(err);
console.log(chalk.green(`\n\n[Chargement] Chargement ${files.length} commandes du module ${dir} :\n\n`));
files.forEach(file => {
const props = require(`${process.cwd()}/Commands/${dir}/${file}`);
client.commands.set(props.help.name, props.help);
console.log(chalk.white('[Fin de chargement] Commandes chargées : ')+chalk.red(`${file}`));
});
});
});```
Et voilà le code
Hello les gars, savez-vous d'où ça peut venir ?
events.js:353 throw er; // Unhandled 'error' event ^ Error: read ECONNRESET at TCP.onStreamRead (internal/stream_base_commons.js:209:20) Emitted 'error' event on Connection instance at: at Connection._handleProtocolError (/home/flywan/bot/node_modules/mysql/lib/Connection.js:423:8)
at Protocol.emit (events.js:376:20)
at Protocol._delegateError (/home/flywan/bot/node_modules/mysql/lib/protocol/Protocol.js:398:10)
at Protocol.handleNetworkError (/home/flywan/bot/node_modules/mysql/lib/protocol/Protocol.js:371:10)
at Connection._handleNetworkError (/home/flywan/bot/node_modules/mysql/lib/Connection.js:418:18)
at Socket.emit (events.js:376:20)
at emitErrorNT (internal/streams/destroy.js:106:8)
at emitErrorCloseNT (internal/streams/destroy.js:74:3)
at processTicksAndRejections (internal/process/task_queues.js:82:21) {
errno: -104,
code: 'ECONNRESET',
syscall: 'read',
fatal: true
}```
( à part du module mysql hahaha)
montre nous ton code
@keen narwhalSi jamais tu n'as pas vus 🙂
Je vous montre ça demain là c'est pas possible xD
En fait c'est la bdd qui down après 8h d'inactivité
bonjour bonjour je voulais savoir obligé de manipulé de la bd etc quand on fait un ptit bot discord ?
tout dépend de ce que tu veux faire
tu peux stocker en data via fs aussi
t’as pas mal de façons de faire
Salut, je cherche a savoir comment check si il y a config dans le nom d'un channel
c'est pas has ou includes ?
includes
if ( message.channel.name.includes("config") )
tu peux check avec un array aussi si t’as plusieurs mots
Hello, j'ai une petite question de novice. J'aimerai afficher plusieurs status à mon BOT mais je dois avoir fait une erreur toute bête m’empêchant d'y arriver.
Avec ce code, j'ai les 2 status qui s'affiches mais il s'arrête sur le dernier (sans relancer la boucle quoi ..) une idée SVP ?
client.on('ready', async () => {
setInterval(() => {
client.user.setActivity("【 gta!vote 】📌", { type: "WATCHING" }).catch(console.error);
client.user.setActivity(client.users.cache.size + " Utilisateurs " + (client.users.cache.size === 1 ? "" : "🚀"), { type: "WATCHING" }).catch(console.error);
}, 10000);```
Merci pour votre aide.
PS : Je vois le message s'afficher une micro seconde avant de retourner au dernier message.
en gros la tu lui fait afficher deux truc en meme temps
Ouai, j'imagine que c'est ça qui bloque. Mais les sites que j'ai trouvé m'expliquent comment afficher des messages text aléatoire mais pas si il s'agit du nombre de users par exemple ..
J'ai prévenu, question de novice ahah
C'est le SetActivity le problème j'imagine ?
setInterval(() => {
const textArray = [
`Text 1`,
`Text 2`
]
client.user.setActivity(textArray[i], { type: "WATCHING" })
i++
if (i == 1) i = 0
}, 10000)```
en gros la toutes les 10 secondes 'i' augmente de 1
quand il est a 1 il revient a 0
Salut :)
Je voudrais que mon bot Envoi un msg quand je stream sur Twitch ou que je poste une vidéo YT.
savez comment faire ?
Merci de me mentionner
oui snox
top
Alors je te remercie énormément, pas d'erreur, mais seul le text 1 s'affiche, pas la suite
Text 2 etc ..
client.on('ready', async () => {
setInterval(() => {
const textArray = [
`Text 1`,
`Text 2`,
`Text 3`
]
client.user.setActivity(textArray[i], { type: "WATCHING" })
i++
if (i == 1) i = 0
}, 5000);```
for ( i = 0; i <= textArray.length-1;i++) {
setInterval(() => {
client.user.setActivity(textArray[i]);
}, 5000);
}
truc comme ça
je suis sur tel sorry j’ai du oublier quelques trucs
La pour le coup, il ce comporte n'importe comment, un coup text 1 puis le 3 puis le 2 puis le 1, lol. Mais merci de ton aide, je vais voir avec @floral bolt ce sera plus simple que pour toi sur téléphone. J'apprécie beaucoup, merci 🙂
Alors c'est impec, merci @floral bolt , mais que dois-je modifier pour que le Text 3 apparaisse correctement ? La il s'arrête au 2. Mais isnon niquel, j'ai réussi à ajouter les users etc ..
enlève le -1 alors
Erreur si j'enlève le -1 :B Mais va y écoute c'est pas grave, je vais afficher juste 1 commande en plus au lieu de 2, c'est déjà un gros progrès pour moi et maintenant je saurai faire.
Merci infiniment pour votre patience les gars,
ouais je m’y attendais
xd
c'est comme si je t'ecrivait
'salut 1' tu comprends pas ? et bien le bot non plus 🙂
tqt ahah
Juste un merci 🙂
Vous avez assurés, merci pour votre patience. C'est des trucs tout con mais comme je débute la dedans, faut bien que je pratique une fois pour comprendre ..
🙂
J'ai supprimé mon erreur avant que quelqu'un face un AVC face à cel
cela
ahah Bonne continuation et n'hesite pas 🙂
C'est gentil merci, au plaisir 🙂
bonne journée 😉
Yo le bg je bloque sur le code de mon bot
J'ai envie que mon bot quand quelqu'un envoi une commande sa viens dans 2salon
Par exemple !help
Ça apparaît dans le salon #salon ou #g plus d'idées
pourquoi pas le faire directement dans le salon ou la commande est faite
@grave lily
const my_input = document.getElementById("input_id");
console.log(my_input);
et tu auras le log de ton input
hi
je bloque sur ce code c pour mon bot en javascript
const Discord = require('discord.js');
const { Command } = require('discord.js-commando');
module.exports = {
run: (client) => {
const user = new Discord.NewsChannel();
const NewsChannel = new Discord.NewsChannel();
client.logger.log('info', `${user.tag} a créé un channel [${NewsChannel.name}]`);
}
};
ça me dit que client n'est pas defini
quand tu invoque ta fonction run() tu dois lui fournir un client en paramètre sinon ça fonctionnera pas
mais quand j’enlève les
const user = new Discord.NewsChannel();
const NewsChannel = new Discord.NewsChannel();
ça marche tres bien
[04/06/2021, 00:27:22] - [ERROR] - Cannot read property 'client' of undefined
@oak turret merci
Tu essayes de faire quoi ?
comment relier un script js a un bouton html
Bais tu utilise une balise script pour insérer du Javascript et puis tu fais ce que tu veut faire

<bouton class="ce que tu veux" script_js></bouton>
je sais pas comment faire
Tu peut interagir avec une classe, id
ok
en gros tu peux mettre un id a ton bouton que tu appeleras dans ton script js
salut j'ai besoin d'aide avec mon bot discord musique j'ai fait la commande pause mais je ne sais pk quand je la fait rien ne se passe
Tu es sûr que c'est StreamDispachter et pas StreamDispatcher?
je t'avait pas déjà aidé pour ça en plus
🤔
et donc du coup message.client.server.dispatcher i think
Hello tout le monde !
J'ai un petit soucis, je suis en train de tester les / commands de Discord.
J'ai tester avec le même body que la documentation de Discord ( https://discord.com/developers/docs/interactions/slash-commands#registering-a-command ) :
const fetch = require('node-fetch')
fetch("https://discord.com/api/v8/applications/mon_app_id/commands", {
method: 'POST',
headers: {
"Authorization": "Bot mon_token"
},
body : {
"name": "blep",
"description": "Send a random adorable animal photo",
"options": [
{
"name": "animal",
"description": "The type of animal",
"type": 3,
"required": true,
"choices": [
{
"name": "Dog",
"value": "animal_dog"
},
{
"name": "Cat",
"value": "animal_cat"
},
{
"name": "Penguin",
"value": "animal_penguin"
}
]
},
{
"name": "only_smol",
"description": "Whether to show only baby animals",
"type": 5,
"required": false
}
]
}
}).then( (res) => {
console.log(res);
}).catch( (err) => {
console.error(err);
})
ça me return "bad request", je ne comprends pas du tout pour ça
( j'ai déjà tester avec un JSON.stringify sans résultat )
Savez-vous pourquoi et comment y remédier ?
Merci 😉
Discord Developer Portal
Integrate your service with Discord — whether it's a bot or a game or whatever your wildest imagination can come up with.
essaie de l'envoyer via postman t'auras sûrement plus de détails
sur l'event de clic tu peux faire un document.querySelector(...) en sélectionnant tes inputs comme si tu le faisais en CSS
le querySelector ? tiens https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector
ok cool
Sa sebon mtn mais la c la commande resume
pareil vérifie que c'est bien défini
tu peux console.log(dispatcher) par exemple
comment ajouter une action js a un bouton
J'ai pas eu plus d'infos
La même erreur : Bad request
yo du coup le probleme vient de la ligne 7 : ta valeur par default se termine par un / or à la ligne 9 et 14 tu remet un / derriere ce qui veut dire qu'a ces lignes tu va tenter d'acceder au fichier (par expl) ./commands//path/to/file.js
ça fait donc un / de trop
donc enleve le, et aussi à la ligne 14 tu commence par ../ je connais pas la structure de ton fichier mais juste avant tu fais readdirSync('${dir}/${dirs}/')
ça me parait donc pas coherent
perso en modifiant ton code ça me donne ça
const { readdirSync } = require("fs");
const Discord = require("discord.js");
const client = new Discord.Client();
client.commands = new Discord.Collection();
const commandFiles = (client, dir = "./commands") => {
readdirSync(dir).forEach((dirs) => {
const commands = readdirSync(`${dir}/${dirs}/`).filter((files) =>
files.endsWith(".js")
);
for (const file of commands) {
const getFileName = require(`${dir}/${dirs}/${file}`);
client.commands.set(getFileName.help.name, getFileName);
console.log(`Commande chargée : ${getFileName.help.name}`);
console.log(client.commands);
}
});
};
commandFiles(client);
comment afficher une variable js en html avec la balise <p></p>
document.getElementById("idDeLaBaliseP").innerText = laVariable
en gros tu récup la balise soit via un getElementById soit par d'autre moyen
et tu utilise la propriété innerText pour change son contenu
aprés comment tu le met dans la balise
le innerText te permet de le mettre dans la balise
Yop, comment je fais un match "inversé" (en node.js) de façon optimisée ?
En gros, j'aimerai remplacer par du vide tous les caractères qui ne conviennent pas à mon regex
Sauf que j'ai pas trouvé de façon optimisée pour faire ça efficacement, quelqu'un a une idée ?
imagine que ton regex soit /[a-z]+/g et bah pour matcher tout ce qui ne correspond pas il suffit de rajouter un ^: /[^a-z]+/g donc text.replace(/[^a-z]+/g, '')
Okey merci, mon regex étant /^[\w-]{1,32}/
J'imagine que je retire juste le ^ au début?
Ah ouais bien vu pilot
J'comprend pas
tu peux me donner un exemple de ce qui est censé etre accepté et ce qui ne doit pas l'être stp
Je t'avoue que je ne sais pas ce qui doit l'être ou non, c'est l'API de Discord qui indique le regex à respecter
Sauf que quand j'essaye de remove les characters qui ne sont pas acceptés par le regex de discord
ça me fait de la merde
var test = "Ceci est 1 test : ²&&é&²²é&²:/E";
console.log("BEFORE REGEX :", test)
test = test.toLowerCase();
test = test.replace(/^[\w-]{1,32}/, "");
console.log("AFTER REGEX : ", test);
Ca me retourne ça ptdr je comprend pas
Et ca me retourne pareil même si je retire le ^ au début
J'dois juste être trop con parce que je connais pas les regex
Mais j'suis sûr que "Petit Poussin" est entrain d'écrire un roman pour m'aider 
ckoi
Ah pas mal
et la a priori la regex match tout les caractères jusqu'à ce qu'il y ait un espace
ptdr ça n'a aucun sens ce qu'il se passe
Ouais c'est l'espace qui cause problème
J'imagine que les commandes ne peuvent pas avoir d'espace logique
oui
Mais du coup moi mon but serait de retirer tout ce qu'il y a PAS de bon, sauf que là il me retire ce qu'il y a de bon, ce qui correspond au regex
Je sais pas si c'est possible
C'est bon j'ai trouvé 
Bon c'est juste chiant que ça soit dans une array
J'dois prendre l'id 0 tout le temps
Imaginons que...
je sais pas
un jour le regex change
le code marche plus 😮
j'étais entrain de le faire aussi xD
var test = "Ceci est 1 test : ²&&é&²²é&²:/E";
test = test.toLowerCase();
test = test.match(/^[\w-]{1,32}/g);
console.log(test);
Bon vas-y on va faire comme ça merce
👌
Bonsoir
j'aurais une question
Comment pourrais-je get la bannière d'un serveur discord ?
En URL
Ca parrait stupide, mais je n'ais jamais su comment
salut, mon quand je decode un json (json.parse) tout marche bien mais dans le cas ou par exemple l'api que j'utilise est down il m'indique une erreur et fait crash mon bot, vous penser qu'il est possible de ne pas le faire crash mais return l'erreur ?
undefined:1
<html>
^
SyntaxError: Unexpected token < in JSON at position 0
Envoie ton code
var obj = JSON.parse(body);
body = a le resultat de l'api mais comme l'api peut être down quelque fois dans la journée sa provoque un bug et ducoup il ne peu pas json.parse un code bugé
Tu try catch
Comme ça si l’api est down ça ira dans ton catch et donc pas de JSON.parse de ta réponse
d'accord merci 👍
Comment puis-je récupérer un message de l'API discord en tant qu'objet message ?
J'utilise les slash commands et c'est l'API qui s'occupe d'envoyer directement les messages via des embeds etc
Sauf que moi j'aimerai bien récupérer ce message pour pouvoir y ajouter des éléments/le modifier etc
Malgré moultes recherches, rien ne marche
hi je souhaite cree un sys de log comme mee6 pour mon bot
apres plusieurs recherches et test avec google ben rien ne marche j'ai utilisé le guide de discord.js g trouvé un script sur github mais aucun ne fonctionnent. je n'ai aucun code a donner
. Si pouvez m'aider ce serais super. Sinon bonne nuit
Hello ! Savez vous comment faire pour que le bot utilise un émoji perso ? genre qu'il puisse dire ça : "
" et pas comme ça : " : trello : "
Écrit \ juste devant l’emoji
Genre pour 
C’est !trello
Et du coup c’est ça quand tu met dans ton bot
Bonjour, j'aurais une question. Comment je peux récupérer le contenue d'un message par exemple : je veux faire !raison test et dans un salon ça me met le message était test
Salut les gars, quelqu'un serais me dire comment affiché la liste des rôles dans l'ordre ou ont été crée les rôles sur le serveur ? (car la sa apparaît aléatoirement) et éventuellement aussi, retiré l'affichage du rôle everyone dans ma liste ? (genre l'ignoré) Merci à vous!
log un de tes rôles voir si y a une date mais je crois pas
pour everyone, t’as qu’à check si le role.name === "everyone" et tu return;
Je vais check ça
Okay, merci à vous les gars, j'ai réussi à ajusté le bazar tout est nickel!
hi je souhaite cree un sys de log comme mee6 pour mon bot
apres plusieurs recherches et test avec google ben rien ne marche j'ai utilisé le guide de discord.js g trouvé un script sur github mais aucun ne fonctionnent. je n'ai aucun code a donner
. Si pouvez m'aider ce serais super. Sinon bonne nuit
comment on transforme en string une variable stp
ex:
test= test
string(test)
qque chose comme ça
Hello, j'ai une petite erreur que je ne sais comment régler sur mon BOT. Cette erreur empêche le démarrage .. Merci :
.setImage(raw[i]?.image)```
essayez de ne pas vomir : ```js
var liste=[1,2,3,4,5,6,7,8,9,10]
liste.sort(()=> Math.random() - 0.5);
const card = <div class='card' id='${liste}' onClick="reply_click(this.id)> <h1>${liste}</h1> </div>
const winner= task réussite
function reloadpage(){
location.reload();
}
var pree=0
function test(pre,current){
if(pre==(current-1)){
pree=current
if(current==10){
document.querySelector('body').innerHTML=winner;
//la requette + modale de task réussite
}
else{
return 1
}
}else{
return false
}
}
var a = 100
function reply_click(c_id){
var a = test(pree,c_id)
console.log(a)
if(a==true){
console.log('ok')
}else{
if(a==false){
reloadpage()
//on peut ajouter une modale avec la fonction reloadpage() sur le onclick
}
}
}
for (let i = 0; i < 10; i++) {
if (i<5){
const card = <div class='card' id='${liste[9-i]}' onClick="reply_click(this.id)"> <h5>${liste[9-i]}</h5> </div>
document.querySelector('.top').insertAdjacentHTML('afterbegin', card)
}else{
const card = <div class='card' id='${liste[9-i]}' onClick="reply_click(this.id)"> <h5>${liste[9-i]}</h5> </div>
document.querySelector('.bottom').insertAdjacentHTML('afterbegin', card)
}
}
qu'est-ce que c'est que cette merde
Ça trie aléatoirement une liste ça les affiches et ensuite ça regarde si tu cliques dessus dans l'ordre
Salut, args correspond bien à quelque chose ?
Oui @wild bramble
tu peux m'aider client.on('message', message => { if (message.content.startsWith('!close')) { let [raison] = args; let raisonclose = new Discord.MessageEmbed() .setColor('#0099ff') .setTitle(`Ticket Système`) .setAuthor('Fermeture du ticket') .setDescription(`**Le ticket a été fermé pour la raison suivante : ${raison}`) .setTimestamp() client.channels.cache.get('851392302265663498').send(raisonclose) } })
j'ai essayé comme sur le wiki mais marche pas
Quesce qui fonctionne pas ?
bah il me dise args is not defined
Normal
let raison = (args.splice(0).join(' ') || 'Aucune raison spécifiée');
Mais faut le définir ton args
Comme tu m'as envoyé ?
Oui
mais pk mettre Aucune raison spécifié ?
Ba si tu met pas d'argument, sa va mettre ça par défaut
mais moi je veux le rappeller dans mon embed je fais comment car je veux faire un systeme : !close ma raison et sa m'envoie Le ticket... pour la raison suivante : l'argument du gars
Ba sa fonctionne
ça marchera ?
Tu modifie par```js
let raison = args.splice(0).join(' ');
il me dise toujours args is not defined
Mais faut le définir ton args
bah comme on a fait en haut nn ?
Non rien à voir
ha
hi je souhaite cree un sys de log comme mee6 pour mon bot
apres des 10h de recherches et test avec google ben rien ne marche j'ai utilisé le guide de discord.js g trouvé un script sur github mais aucun ne fonctionnent. je n'ai aucun code a donner
. Si pouvez m'aider ce serais super.
Ba tuto youtube, google, github ect
Si tu trouves pas et/ou que sa ne fonctionne pas, tu ne sais pas configurer quoi 😂 @white sedge
Ah tu veux faire un système de logs
en gros c'est simple de ouff
tu check tous tes events
et après ton truc de logs
tient tous les events ici
comment afficher une variable javascript en html avec la balise <p>
tu peux créer un élément p et mettre ta valeur dedans
Ou mettre un id à ton élément si il existe déjà, le récupérer par l'id et ensuite faire un .innerText ou .innerHTML avec ta variable
je souhaite faire un sys de log qui apparaissent dans un salon
Bais tu récupère ton channel dans chaque event et puis tu envoie tous simplement ce que tu veut envoyer
Code de base dans ton event:
const guild = client.guilds.cache.get('id')
guild.send('ton text')
ahhh ok merci
Heyyy 😄 J'ai une petite question pour ceux qui utilisent Electron 🙂
En faite j'aimerais utiliser le module 'net' et je peux faire un require('net') que dans le main.js ou le preload.js, cependant j'ai besoin d'appeler une méthode qui se trouve dans le renderer.js
Je n'arrive pas à comprendre comment faire le lien entre les deux ... Si quelqu'un a une petite solution :p (J'utilise nodejs et j'ai bien ajouter net dans les dépendances + npm install)
nan pardon je voulais dire qu'en python on le met print("%s")%la_variable comme ça et en html je sais pas comment afficher une variable javascript
On ta répondu en haut pour afficher ta variable dans ton html en js
Hello, j'ai une petite erreur que je ne sais comment régler sur mon BOT. Cette erreur empêche le démarrage .. Merci 🙂
.setImage(raw[i]?.image)```
En fait l'image est celle détéctée par inscription.
En gros tu inscrit ton serveur, tu met une bannière de base, et le bot affiche aléatoirement ton serveur ou celui d'un autre
En gros l'image est relié aléatoirement à une disponibles parmi les inscrits
Mon bot fonctionne sous windows mais pas Linus :B
linux *
essaye de voir ce que te return raw[i].image
ta version de node est peut etre pas la même: essaye ça à la place: raw[i] ? raw[i].image : 'uneimagedebase'
ok @feral abyss mais comment la mettre en html ta variable
Bais tu faire une référence à ton élèment par l'id ou autres et puis tu fais un .innerHTML = ta variable
C'est ce que je te depuis le début ..
Bonjour comment je peux faire pour séparer mes commandes, les mettres dans des fichiers ?
Salut, par hasard des gens savent comment la moyenne Pronote est calculée?
Car j'ai des soucis avec elle...
Puis elle m'a l'air cassé sur certains points comme ici par exemple:
https://media.discordapp.net/attachments/801199674908213281/852188413024665600/unknown.png
(Les notes présentes ont toutes pour coefficient: 1)
Du coup j'ai établi une fonction me permettant de calculer la moyenne en prenant part des coefficients:
function sum(values) {
return values.reduce((p, c) => p + c, 0);
}
function weightedMean(factorsArray, weightsArray) {
return sum(factorsArray.map((factor, index) => factor * weightsArray[index])) / sum(weightsArray);
}
Et je l'ai donc testé avec ma moyenne d'espagnol:
https://media.discordapp.net/attachments/801199674908213281/852188622256865320/unknown.png
var x = weightedMean([12, 15, 15.5, 18, 14.5, 17], [4, 2, 1, 1, 1, 4]);
Donc après avoir imprimé cette variable j'ai obtenu: 14.923076923076923, en somme jusqu'ici "tout vas bien".
Mais avec ma moyenne de techno qui utilise des notes qui ne sont pas /20 et bien cela capote:
https://media.discordapp.net/attachments/801199674908213281/852188784224239636/unknown.png
J'ai évidemment fais une fonction pour remettre la note /20:
function scaleMark({ value, scale = 20 }) {
return 20 * (value / scale);
}
var x = weightedMean([
scaleMark({ value: 11, scale: 15 }),
scaleMark({ value: 10, scale: 10 }),
scaleMark({ value: 22, scale: 24 })
], [1, 0.5, 1]);
Et enfin avec ça j'obtiens: 17.2 alors que pronote, lui, affiche 17.5.
Si vous avez des idées je suis preneur :)

