#javascript-typescript
1 messages · Page 76 of 1
si ça te fait plus
et ensuite y a toujours eu des bugs comme ça
ou ta moyenne était de 15.5 et elle est de 16
fin c'est bizarre mais c'est cool
sur ça oui xd
c'est quelque peu vrai mais dans mon cas ça m'arrange pas trop, m'enfin pas grave, mais du coup ma moyenne calculée est correcte?
je veux dire, est-ce que c'est la vrai moyenne que j'aurai du avoir?
bah je pense il doit y avoir un truc pour que ça te donne ça ils ne donneraient pas de points comme ça
c'est juste arrondi au supérieur
ouep c'est ça
probablement merci xd
au pire tu fais à l'ancienne
tu prends ta calculatrice et tu calcules 😂 si tu veux en être sûr
c'est parti xd
Oui hein @plain crystal ça se voit, ça serait improbable que tu aies des moyennes rondes dans toutes les matières, ils arrondissent à la valeur supérieure la plus proche entre 0.5 et 1
Oui 
alalala
Salut en ce momet j'essaye de faire une commande §ban (elle marche) mais je voudrais maintenant mettre les raisons et j'y arrive pas
Voici mon code
//Partie 1
const { Command } = require('discord.js-commando');
const Discord = require('discord.js');
module.exports = class BanCommand extends Command {
constructor(client) {
super(client, {
name: `ban`,
memberName: 'ban',
group: 'moderation',
description: 'ban un membre.',
clientPermissions: ['ADMINISTRATOR'],
userPermissions: ['BAN_MEMBERS'],
});
}
async run(client){
const user = client.mentions.users.first();
const embed = new Discord.MessageEmbed();
//Si nous avons un utilisateur mentionné
if (user) {
// Maintenant, nous obtenons le membre de l'utilisateur
const member = client.guild.members.resolve(user);
// Si le membre est dans la guilde
if (member) {
// plus d'aide:https://discord.js.org/#/docs/main/master/class/GuildMember?scrollTo=ban
member
//const reason = client.member.message
.ban()
//partie 2
.then(() => {
// informe le channel que le membre à été banni
embed
.setColor('GREEN')
.setAuthor(`${this.client.user.tag}`, `${this.client.user.displayAvatarURL()}`,)
.setTitle(`Bannissement d'un membre`)
.setDescription(`**${user.tag}** viens d'être banni par${client.author}pour ${client.reason} `)
return client.say(embed);
})
.catch(err => {
//Les erreurs
embed
.setColor('RED')
.setAuthor(`${this.client.user.tag}`, `${this.client.user.displayAvatarURL()}`,)
.setTitle('Bannissement échoué')
.setDescription(`${client.author} a essayé de ban ${user.tag} mais une erreur est suvenue`)
return client.say(embed);
//client.channel.send('Je ne peux pas ban ce membre !');
// affiche l'erreur dans les logs de la console
console.error(err);
client.say(err)
});
//Et la partie 3
} else {
// The mentioned user isn't in this guild
embed
.setColor('RED')
.setAuthor(`${this.client.user.tag}`, `${this.client.user.displayAvatarURL()}`,)
.setTitle('Erreur de serveur')
.setDescription(`Le membre selectionné n'est pas dans le serveur !`)
return client.say(embed);
//client.channel.send("Ce membre ne fais pas partie du serveur!");
}
} else {
// Otherwise, if no user was mentioned
embed
.setColor('RED')
.setAuthor(`${this.client.user.tag}`, `${this.client.user.displayAvatarURL()}`,)
.setTitle('erreur de mention')
.setDescription(`Une mention est requise pour ban un membre !`)
return client.say(embed);
//client.channel.send("Tu dois mettre une mention pour ban!");
}
}
};
Voici le fichier si vous voulez tous le code rassemblé
Si vous pouvez m'aider ce serai super 👍
Regarde sur mon profil et sur github, tu as un exemple @white sedge
Dr
Du coup vous avez pas de tempban
Bonjour je souhaite faire plusieurs easteregg dans mon bot, les noms et les mots clé sont dans un fichier JSON je suis arrivé a faire ce code mais je bloque après
const Discord = require('discord.js')
const config = require('easteregg_name.json')
const fs = require('fs')
module.exports = class EasterEgg extends Easteregg {
//readFile(easteregg_name)
async run(message){
fs.readFileSync('easteregg_name.json','utf-8')
var obj = JSON.parse('mot')
}
}
Mon but de ce fichier c'est qu'il revoie le nom du membre qui a trouvé un easteregg et qu'il bloque son utilisation
le json
{
"Easteregg":{
"Easteregg_souhieb":{
"mot": "souhieb",
"decouvert":"False"
},
"Easteregg_french":{
"mot":"french'",
"decouvert":"False"
},
"Easteregg_easteregg":{
"mot":"easteregg",
"decouvert":"False"
}
}
}
comment je peuxfaire ça ?
me mentionner
Bonjour,
Je m'excuse de poster un message alors qu'un autre utilisateur n'a toujours pas eu de réponse au dessus donc ne l'oubliez pas ->
Mais je recherche quelqu'un qui à déjà travaillé avc l'API Osu!,
car je voudrais l'intégrer à mon bot discord.
Le problème est que cette API me pose bien des soucis j'ai du mal à la comprendre.
(j'ai déjà toutes ls docs)
const Discord = require('discord.js')
const config = require('easteregg_name.json') // cette ligne parse déjà le fichier
// wtf? Easteregg c'est quoi? Pourquoi ça extend?
module.exports = class EasterEgg extends Easteregg {
async run(message) {
if (!config.eggs.some((easterEgg) => easterEgg.mot === message.content)) return // pas de mot d'easteregg trouvé
const foundEasterEgg = config.eggs.find((easterEgg) => easterEgg.mot === message.content)
return message.channel.send(`Easteregg trouvé: ${foundEasterEgg.mot}`)
}
}
Avec un JSON plutôt de cette forme
{
"eggs": [
{
"mot": "souhieb",
"decouvert": false
},
{
"mot": "french",
"decouvert": false
},
{
"mot": "easteregg",
"decouvert": false
}
]
}
Après tu peux faire autrement et j'ai pas tout compris j'ai l'impression
quel est le problème exactement?
ahhh ok merci beaucoup @timid loom
il y a juste un problème elle est au cette class Easteregg vu qu'il y a un extends
justement d'où mon commentaire
je comprends pas d'où elle sort
je l'ai laissée parce que peut-être que le fichier est pas complet mais bon
@timid loom pour toi j n'ai pas besoin de mettre "extends Easteregg"
oui
si tu as aucune class de ce nom tu supprimes parce que sinon tu auras une erreur
ok merci
@timid loom quand je lance mon bot ton code affiche une erreur
[11/06/2021, 18:11:19] - [WARN] - Attempting to register an invalid command object: class EasterEgg {
async run(message) {
if (!config.eggs.some((easterEgg) => easterEgg.mot === message.content)) return // pas de mot d'easteregg trouvé
const foundEasterEgg = config.eggs.find((easterEgg) => easterEgg.mot === message.content)
return message.channel.send(`Easteregg trouvé: ${foundEasterEgg.mot}`)
}
}; skipping.
c bon je l'ai reglé
@timid loom ça ne marche pas quand je tape un mot qui est dans le json
et au lancement du bot ça me met ça "Command info must be an Object."
et plus aucune commande ne marchent
il faut que tu fasse un constructeur
comme pour les autres commandes
le truc c'est que tu devrais pas le faire sous forme de commande
tu devrais juste le mettre dans ton event message
ah
Pour tester et comprendre l'API j'ai commencé par lire les docs et essayer de comprendre comment elle marche avec des codes mis en exemple :
const osuAPI = new osu.Api(config.osutoken, {
// baseUrl: sets the base api url (default: https://osu.ppy.sh/api)
notFoundAsError: true,
completeScores: false,
parseNumeric: false
});
osuAPI.getUserBest({ u: 'brussell98' }).then(scores => {
console.log(scores[0].score);
console.log(scores[0].beatmap.title);
console.log(scores[0].accuracy);
});
erreur:
(node:35412) UnhandledPromiseRejectionWarning: Error: [object Object]
at Api.apiCall (c:\Users\mateo\Desktop\🚀 ▪ Client Discord\Nawash\node_modules\node-osu\lib\Api.js:64:10)
J'ai aussi trouvé ça mais j'ai du mal à le comprendre (j'ai fais les cours de JS openclassrooms il n'y a pas longtemps donc je ne métrise pas encore le langage très)
async getUserBest(options) {
const resp = await this.apiCall('/get_user_best', options);
if (resp.length === 0)
return this.notFound(resp);
if (!this.completeScores)
return resp.map(sc => new Score(this.config, sc));
const scores = resp.map(sc => new Score(this.config, sc));
for (const score of scores)
score.beatmap = (await this.getBeatmaps({ b: score.beatmapId }))[0];
return scores;
}
github: https://github.com/brussell98/node-osu/blob/master/lib/Api.js
c quoi osu
Un jeu
dr
tu peux me montrer la classe dans laquelle est la méthode getUserBest stp?
Je n'ai fais aucune class je l'ai direct paste dans le code de mon fichier osu.js.
(je me trompe peut-être sur la définition de classe que tu veux me parler alors je te donnes tout:
encore dsl si j'ai du mal
ok nan c'est moi qui ai mal compris quelque chose
Tu peux tenter de contacter la personne qui l'a fait mais j'avoue qu'en effet je vois pas la cause de l'erreur là
tu peux juste essayer de rajouter ce code après la clause .then()
.catch(console.error)
et voir ce que ça t'affiche dans ta console mais je sais pas si ça sera très explicite
ok ok je vais essayer je ne penses pas que ça changera bcp de choses à l'erreur initial mais qui ne tente rien à rien
et puis leur API est encore en cour de dev mais là c'est moi qui ai du mal car meme si juste le debut marchait pas ça se serait
ouai j'ai ça
après dans le 2nd code envoyé on peut voir un Apicall() se qu'on retrouve dans l'erreur du premier code je sais pas si ça peut avoir un lien
const Discord = require('discord.js')
const config = require('../easteregg_name.json')
module.exports = {
run:(client)=>{
client.logger.log('info',`a écrit `)
if (!config.eggs.some((easterEgg) => easterEgg.mot === client.content)) return // pas de mot d'easteregg trouvé
const foundEasterEgg = config.eggs.find((easterEgg) => easterEgg.mot === client.content)
return client.channel.send(`Easteregg trouvé: ${foundEasterEgg.mot}`)
}
}
je l'ai mis dans l'event message mais rien ne ce passe
c'est pas l'event message ça
du genre je crois que c'est ça par exemple
<client/bot>.on('message', async(message) => {
//ton code
})
mais là tu l'exporte donc faut regarder donc ton fichier index
je crois normalement c'est ça*
Hello la compagnie !
J'ai besoin de vous pour un léger problème.
J'aimerais que quand je clique sur un bouton, ça m'ouvre une image en sorte de pop-up qui reste sur la même page et qui peut être fermé par la même occasion, vous pouvez m'aider sur ce sujet ?
Je vous remercie par avance de l'attention que vous portez à ce message ^^
Hey, a la limite ce que tu peut faire, tu fais une modal et dans cette modal tu met ton image 
Une modal ?
Une modal c'est une sorte de grosse popup dans ce style
'Based on the modal provided by @johncovv here https://tailwindcomponents.com/component/modal I made a few tweaks so as to have multiple modals on the same page.'
oui fin du coup Arthur tu réponds pas a son probleme, ça revient au meme, comment il crée sa modal du coup ? ^^
Tu vois, les boutons sont déjà fais. Les images aussi. Mais quand on clique sur le bouton, ça l'ouvre sur une autre page. Et en gros, ça serait bien de l'ouvrir sur la même page en plus grand et qu'on puisse la fermer de la même manière. Tu avais bien compris la problématique ? (C'est pour un site Web bien sûr)
Tu peux au lieu d'ouvrir une page choisir d'ouvrir une popup directement, si c'est ce que tu souhaites
Ou sinon avec du javascript tu peux venir ajouter du style a ton image pour la faire apparaitre sur ta page au onClick
Je pensais au onClick, mais je ne savais pas comment confectionner ça
<a href="http://kanishkkunal.com" target="popup" onclick="window.open('http://kanishkkunal.com','popup','width=600,height=600'); return false;"> Open Link in Popup </a>
par exemple pour faire une popup
Humm.. Ouais du coup vous n'avez pas vraiment compris 😅
Je vais essayer de trouver un site internet où il y a déjà se principe pour vous montrer
Bah dans ce cas là oui tu veux une modal avec ton image
Tu vois, des fois avec un hover (quand on passe la souris sur un bouton par exemple) Une image apparaît en grand, mais toujours sur la même page. Mais là, j'aimerais que ça soit quand on clique dessus. Tu vois un peu mieux ?
tu parles de ça ?
Du coup tu peux te faire en html et css une boxe blanche que tu mettras en opacity: 0 par exemple et lorsque tu cliques sur le bouton tu viens lui supprimer le opacity: 0 (dans un premier temps) pour créer l'ouverture
vaut mieux pas la display none ?
non si tu display: none tu auras pas d'animation c'est relou
le mieux c'est de
opacity: 0
pointer-events: none
comme ça elle est non cliquable et non visible
Et tu peux faire de vraies animations avec
Bonjour quelqu'un a t'il déjà rencontré le problème avec cli.js sur visual studio code ?
Mais du coup, il faut quand même un évènement onClick @slim anvil ?
oui pour activer ton script pour changer le style
Okay mais ça c'est l'événement pour l'ouvrir mais comment on fait pour la fermer ?
Bais tu fais un événement onClick sur le boutton fermer et tu change a l'inverse du style pour l'ouvrir
Salut les gens j'ai besoin de vous car j'arrive pas à use la nouvelle fonctionnalité de discord ( les boutons ) genre je sais pas pourquoi pourtant j'ai suivi ce que disait la doc mais ça ne veut pas
oups
mince y a un link
dans mon fichier j'ai ça : js let bouton = new disbut.MessageButton() .setStyle('blurple') .setLabel("Support") .setURL("test") .setID('click_to_function') .setDisabled();
dans mon index j'ai ça :
const disbut = require('discord-buttons')
disbut(client)
disbut.MessageButton();
disbut.MessageActionRow(); ```
et voici l'erreur :
TypeError: BOTH_URL_CUSTOM_ID: A custom id and url cannot both be specified
@blazing wadiSalut en faites c'est sois l'id soit l'url si tu veux que ton bouton soit un lien tu doit retirer l'id sinon tu retires l'url et tu laisses obligatoirement l'id
ok
disbut.MessageButton();
^
TypeError: Class constructor MessageButton cannot be invoked without 'new'
Mtn ça me met ça
mais du coup j'ai pensé à faire ça
ça tu dois le retirer de ton index parce que c'est inutile étant donner que tu n'utilises pas de boutons
nan mais je sais mais c'est parce que ça avait rien changé
bah j'ai réussi mais y a pas de btn 😂
tu dois mettre dans un message.channel.send regarde la doc tu verras il y a des exemples
c'est exactement ce que j'ai fais
Envoie ce que tu as fait stp
const disbut = require('discord-buttons')
disbut(client)
let bouton = new disbut.MessageButton()
.setStyle('blurple')
.setLabel("Support")
.setURL("https://www.google.com/")
.setDisabled();
message.channel.send(':error: Oops ! Une erreur est apparue. Rejoint le support ', bouton); ```
bah j'ai fais ça
rien de compliqué
Faut que tu mettes ça
message.channel.send(':error: Oops ! Une erreur est apparue. Rejoint le support ', {component: bouton});
Par contre tu es dans un autre fichier ou dans ton index ?
Tu peux direct faire ça pour import le module
const {MessageButton, MessageActionRow} = require('discord-buttons');
je sais haha
Et mettre
const disbut = require('discord-buttons');
disbut(client);
dans ton index.js
https://discord-buttons.js.org/examples @blazing wadi regarde des exemples tu en as
bah je sais
Ouais mais là vu comment tu as fait si tu fais un Collector de bouton ça marcheras pas
pour le module ça marchera pas
j'ai check la doc tqt pas je suis venu ici parce que j'avais plus de solution
Si
regarde bien la doc justement il y a pas
Y a eu une maj depuis et c'est comme ça je sais ce que je dis je suis en contact avec le développer
tout dépends de la version avec laquelle il est
Bah vu qu'il vient de commencer il est forcément avec la plus récente version
discord-buttons
discord-buttons
Oui bah il a la plus récente
si ça aurait été node pas étonnant
ouep fin là regarde
const {MessageButton, MessageActionRow} = require('discord-buttons')
let bouton = new MessageButton()
.setStyle('blurple')
.setLabel("Support")
.setURL("https://www.google.com/")
.setDisabled();
message.channel.send(':error~3: Oops ! Une erreur est apparue. Rejoint le support ', bouton);
Quoi ?
TypeError: BOTH_URL_CUSTOM_ID: A custom id and url cannot both be specified```
tu peux enlever le MessageActionRow il te sert à rien
avec ce code
enlève le style
Enfin si garde le mais
let button = new MessageButton()
.setLabel('Support').setStyle('url').setURL(`https://www.google.com/`)
Sinon ça marche pas fait comme ça
et oublie pas le setDisabled
Juste c'est normal que je ne puisse pas cliquer dessus?
Oui tu as mis setDisabled pour le désactiver
je vais pouvoir enfin faire quelque chose de styler avec ça
Je n'arrive pas vraiment à faire cette évènement onClick 😅
<style type="text/css">
.global-container {
background-image: url(https://ch.hh-content.com/pictures/design/dex_bg_pattern.png),linear-gradient(180deg ,#0f0b1d 0,#0d5c9d 90%,#0d5c9d 100%);
box-shadow: inset 0 0 40px 15px none;
}
</style>
<div onclick="Affis1()" style="display: inline-block; cursor: pointer;"><ga></ga></div>
<div style="z-index: 1; width: 650%; height: 85vh; margin-left: -275%; margin-top: -91vh; position: absolute; opacity: 0;" class="global-container" id="af1">
<img src="1-1600x.webp" style="position: relative; width: 99%; margin-top: 0.5%; margin-left: 0.5%; height: 82.5vh;">
</div>
<script type="text/javascript">
function Affis1() {
var Affiche1 = document.getElementById('af1');
Affiche1.style.opacity = '1';
Affiche1.style.pointer-events = 'none';
}
</script>
C'est pour faire quoi avec ton évènement onClick ?
Afficher une div ^^
ok
Autant utiliser un .addEventListener
Comment te dire que je suis entièrement perdu ..
J'ai essayé beaucoup de choses et les boutons ne marche pas ..
Non j'ai rien dit

J'ai mis le code dans mon IDE
et il a trouvé une erreur par rapport au style.pointer-events
C'est style.pointerEvents et non style.pointer-events
<style type="text/css">
.global-container {
background-image: url(https://ch.hh-content.com/pictures/design/dex_bg_pattern.png),linear-gradient(180deg ,#0f0b1d 0,#0d5c9d 90%,#0d5c9d 100%);
box-shadow: inset 0 0 40px 15px none;
}
</style>
<div onchange="Affis()" style="display: inline-block; cursor: pointer;" id="af1"><ga></ga></div>
<div style="z-index: 1; width: 650%; height: 85vh; margin-left: -275%; margin-top: -91vh; position: absolute; opacity: 0; pointer-events: all;" class="global-container" id="jtc1">
<img src="1-1600x.webp" style="position: relative; width: 99%; margin-top: 0.5%; margin-left: 0.5%; height: 82.5vh;">
</div>
<script type="text/javascript">
function Affis() {
const aff1 = document.getElementById("af1").value;
var Showaff1 = document.getElementById('jtc1');
Showaff1.style.opacity = '1';
Showaff1.style.pointer-events = 'none';
}
</script>```
C'est le nouveau code je ne sais pas si c'est mieux ..
<style>
.global-container {
background-image: url(https://ch.hh-content.com/pictures/design/dex_bg_pattern.png),linear-gradient(180deg ,#0f0b1d 0,#0d5c9d 90%,#0d5c9d 100%);
box-shadow: inset 0 0 40px 15px none;
}
</style>
<div onclick="Affis1()" style="display: inline-block; cursor: pointer;"><ga></ga></div>
<div style="z-index: 1; width: 650%; height: 85vh; margin-left: -275%; margin-top: -91vh; position: absolute; opacity: 0;" class="global-container" id="af1">
<img src="1-1600x.webp" style="position: relative; width: 99%; margin-top: 0.5%; margin-left: 0.5%; height: 82.5vh;">
</div>
<script>
function Affis1() {
var Affiche1 = document.getElementById('af1');
Affiche1.style.opacity = '1';
Affiche1.style.pointerEvents = 'none';
}
</script>
Essaye cela
Yep tout est bon, merci beaucoup !
J'ai remplacer le opacity par le Display parce que ça poss+ait problème ^^
Ok ok
bonjour en ce moment je suis sur les eastereggs de mon bot
Ce script devrait pouvoir créer un easteregg qu'il enregistre dans un json mais j'ai une erreur
const { User } = require('discord.js');
const { Command } = require('discord.js-commando');
const fs = require('fs');
const { loggers } = require('winston');
const obj = require('../../easteregg_name.json')
module.exports = class BanCommand extends Command {
constructor(client) {
super(client, {
name: 'cerise',
group: 'easteregg',
memberName: 'cerise',
description: 'créer un easteregg',
args: [
{
key: "mot",
type: "string",
prompt: "",
}
]
});
}
async run(message,{mot}) {
let obj = {
eggs: []
};
console.log('info',`Création d'un easteregg par ${User}`);
fs.readFile('easteregg_name.json', function readFileCallback(err, string){
if (err) {
console.log('error', error)
} else{
fs.writeFileSync(mot)
}
})
}
}
Mon json
{
"eggs": [
{
"mot": "souhieb",
"decouvert": false
},
{
"mot": "french",
"decouvert": false
},
{
"mot": "easteregg",
"decouvert": false
}
]
}
et l'erreur
[12/06/2021, 22:52:32] - [ERROR] - The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView. Received undefined
Bonjour, tout est dit dans l'erreur, le module est introuvable
Comment je fais ?
Voila
const fs = require('fs');
const Discord = require('discord.js');
const { prefix, token } = require('./config.json');
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}`);
client.commands.set(command.name, command);
}
client.once('ready', () => {
console.log('Ready!');
});
client.on('message', message => {
if (!message.content.startsWith(prefix) || message.author.bot) return;
const args = message.content.slice(prefix.length).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 s'est produite pendant l'exécution de la commande !");
}
})
client.login(token);```
Donc qu'en déduis-tu ?
Je ne sais pas je débute un peu
Mais je dirais que le fichier est mal relier
Non, tu n'as pas installé le module discord.js
Si tu débutes, je te conseille de regarder un tutoriel 😄
oui c'est ce que je fais
Comment je l'installe ?
t!search bot
@hazy mirage, nous avons rencontré une erreur...
@hazy mirage, nous avons rencontré une erreur...
tu dois avoir 2 instances de node
Par contre juste @azure belfry si tu pouvais éviter de me ghostping ce serait sympa
Je t'ai déjà dit si tu veux débuter tu regardes un tuto ( cf. le message ci dessus ) parcequ'on va pas non plus d'expliquer les bases des bases
Là t'as juste start ton bot 2 fois


Ah vrm sorry
Desolée
Et merci pour t'on aide
Excuse
t!search vue
@keen narwhal, nous avons rencontré une erreur...
t!search vue.js
@keen narwhal, nous avons rencontré une erreur...
il y a pas de tuto vuejs de toute façon @keen narwhal
remboursé
tu fais npm install discord.js
C'est pas des parenthèses c'est des accolades
Genre ./commands/${file}@azure belfry
Et vérifie que ton dossier soit bien écrit
Bien nommé
Ok mrc
T'as réussi ?
Oui nickel mrc a toi

Bonjour, quelqu'un peut me dire pk j'ai une erreur : role n'est pas définie. Mon code : let role = message.guild.roles.cache.find(role => role.name === "Membres"); member.roles.add(role.id);
j'ai toujours la même erreur
Sinon, tu console.log(role) @wild bramble
bah il me dise : 'roles' n'est pas défini
Ton code ?
member.roles.add(role);
console.log(role)```
Pourquoi tu le fais pas par ID ?
je fais comment ?
Tu le fais dans quoi ton code ?
je l'ai fait dans le index
nn dans un message ( client.on("message", (message, member) => { )
let role = message.guild.roles.cache.get("IDDUROLE");
let member = message.guild.member(message.author);
member.roles.add(role);
@wild bramble
member n'est pas dans message
Tu peux pas le faire
j'ai plus le problèmes comme quoi il ne trouve pas le roles mais une autre erreur est apparue et ne give pas le rôle
Cquoi l'erreur ? @wild bramble
et nn un système de verif pour mon serveur
Ton erreur est écrite
ha ok
Ouais mais vérif avec une réaction
Comme ça
Il fait comme il veut
Si il veut une commande, il fait avec une commande...
Pas besoin d'agresser je demande juste
c'est plus opti avec une réaction ?
👀
D'ou j'agresse ?
En vrai, c'est à toi de voir
lstb
Ducoups, sa fonctionne ? @wild bramble
ouaip marche nickel
carré
merci
bonne soirée à vous deux 😉
Nickel alors
WebStorm plus de màj que de code 😂
j'ai une question est-ce que mon nombre de membre s'actualise dans mon status si je fais comme ça : client.on("ready", member => { console.log("Bot lancé") const status = [ 'Slow Roleplay', `${client.users.cache.size} membres` ] let i = 0 setInterval(() => { client.user.setActivity(status[i], { type: 'WATCHING' }) i = ++i % status.length }, 1e4) })
try it?
dans ton cas non, il ne va pas s'actualiser vu que ta variable est en dehors de ton interval
soit tu déclares ton status directement dans ton Interval, soit tu rafraichis uniquement l'id lié (1 dans ton cas) mais bon si tu veux intégrer d'autres valeurs après ça va vite être chiant pour pas grand chose
je dois faire comme ça ? client.on("ready", member => { console.log("Bot lancé") setInterval(() => { const status = [ 'Slow Roleplay', `${client.users.cache.size} membres` ] let i = 0 client.user.setActivity(status[i], { type: 'WATCHING' }) i = ++i % status.length }, 60000) })
Ouais c'est l'idée, faudra juste indenter ton code et c'est parfait hihi
indenter ?
client.on("ready", member => {
console.log("Bot lancé")
const statusrandom = [
'Slow Roleplay',
`${client.users.cache.size} membres`
]
let status = statusrandom[Math.floor(Math.random() * statusrandom.length)];
setInterval(function() => {
client.user.setActivity(status, {
type: 'WATCHING'
})
}, 60000);
});```
@wild bramble sinon
ok merci je vais test
C'est pas member mais client dans ready 👀
C'est son code au lieu de dire des bêtises 👍
Ouep je sais
Je dis pas de bêtises. C'est clairement écrit sur la doc noir sur blanc
Tu cherches pour un rien toi, c'est dingue
Bah nan mais t'es dev debutant t'es censé corrigé un minimum quand même je sais pas fin c'est sur que ça marche pas après
Occupe toi de toi, pas de moi
Et je suis pas dév débutant, j'ai juste pas passer les examens pour passer plus haut

Puis, ne pas juger le level de quelqu'un à cause de son rôle sur un discord
Merci bien 👍
Bah c'est un peu le seul truc où je peux me fier.
Exemple tout con, Enzo n'as pas de rôle et pourtant, il est fort 🤷♀️
Il l'avait auparavant
Bon aller on va pas débattre comme des gamins haha. Je te souhaite une bonne soirée et bon dimanche ;)
J'ai un autre pb comment faire ?
Code ?
ta fonction doit etre précédé d'un async pour utiliser un await
salut j'ai un problème avec le dernier élément de mon tableau il ne s'affiche qu'après avoir actualisé
comment ça qu'apres avoir actualité ? tu les récupères d'ou tes datas ? d'un json ou d'une api ?
Parce que l'élément a l'air d'exister sinon ta boucle s'arrêterait directement à test3
tu peux me montrer ton hook useUser plz
ça n’a aucun impact, ce qui sera return derrière sera toujours pareil, c’est juste le nom de l’argument, tu peux l’appeler comme tu veux
c’est peut-être plus logique, mais ça changera strictement rien, tant qu’il se retrouve dans son code c’est le principal ^^
Oui mais bon c'est chaud d'appeler client member
je vois mal comment il peux se retrouver dans son code en mettant des noms de variable qui correspondent pas à ce que c'est réellement, après bon chacun fait comme il veux hein
C'est clair
je suis d’accord
mais ça changera rien
tant que lui s’y retrouve
c’est le principal :))
mais oui, y a un manque de logique
Certes mais du coup s'il est débutant il va rien comprendre
C’est sûr, c’est une mauvaise habitude à ne pas prendre 👌🏻
Oh putain
const message = new Discord.Client() 

const message = new client.Client()



Suicide suicide suicide
bizou

🤔
oui
module.exports = {
name: 'play',
description: 'Play requested sound.',
execute(message) {
if (!message.guild) return;
if (message.member.voice.channel) {
const connection = await message.member.voice.channel.join();
const dispatcher = connection.play('/home/discord/audio.mp3', {
volume: 0.5,
});
}
else {
message.reply('You need to join a voice channel first!');
}
}
};
Merci mec 
module.exports = {
name: 'play',
description: 'Play requested sound.',
execute(message) {
if (!message.guild) return;
if (message.member.voice.channel) {
const connection = message.member.voice.channel.join();
const dispatcher = connection.play('/home/discord/audio.mp3', {
volume: 0.5,
});
}
else {
message.reply('You need to join a voice channel first!');
}
}
};```
@azure belfry

Vous vérifiez jamais ce que vous recevez la plus part du temps, si voice n'existe plus pour une quelconque raison ça va crash cannot read channel of undefined
Effectivement
surtout dans des sous objets comme celui ci ça coute rien de rajouter un petit ?.
Avec plaisir 😂
hey, en fait je fais un bot discord, et j'aimerais trouver l' "average color" d'une image
Problème, je trouve des modules sur npm mais y'a toujours une erreur parceque c'est prévu pour le js " web "
donc j'ai besoin d'aide pour savoir comment faire pour trier mes recherches et avoir un module qui fonctionne avec le " js normal "
j'ai des erreurs de ce type
Ta essayé lui https://www.npmjs.com/package/image-average-color ?
je suis en train justement
mdr
j'allais tester
Je pense qu'il va work
j'ai regardé le repo github un peu
au moins ça crash pas 
Mais c’est sûr que ça fonctionnera pas…..
pourquoi ?
Sur le tiens il fait appel au document, et en nodes js bah…. Tu as pas de document 
Oui c'est pour ça 
en fonction de comment c’est fait mais trouves en un nodeJS
Mais celui que j'ai module ne fais pas ça
Bah normalement https://www.npmjs.com/package/image-average-color lui c'est good
Mais il work juste pas
au moins il crash pas
mais bon je sais pas si il aime les URL ..
Nan y'a qu'un mec qui veut mettre des promise
Je vais tenter en mettant l'image en local
BRUH ça marche qu'avec des images en local 
Sinon tu l’as save, tu regardes puis tu supprimes
Ouais mais c'est pas ouf
à chaque fois que je fais un user info ou un server info je save une image mdr

Aie aie aie
tu veux faire comme discord c’est ça ?
En vrai attend…. Ils vont sûrement le renvoyer aussi quand ce sera public
Ouais possible
Mais la vitesse n'attends pas 
En vrai c'est bon j'ai la fonction
j'ai juste à trouver un moyen de lire une URL
Pour t’aider avec un mot clé: buffer
tu peux fetch l’url de ton image et en récupérer un buffer
Ça devrait fonctionner avec ça pour ta fonction i think
calculé côté front
donc ils renvoient pas
c'est ça non
oh les relous
tu penses qu'avec ce module je peux faire avec une URL ? https://www.npmjs.com/package/readimage
essaye
et même s'ils le feraient, bah pas besoin d'attendre que ce soit public car ils la renverraient déjà actuellement
Je sais pas je l’ai pas créé
mdr
@slim anvil ça va paraiître con, je pense que j'ai presque réussi, mais je ne comprends pas ce que je dois mettre dans " callback "
si je met rien ça fait une erreur
apparement ça doit être une fonction
.Je dois mettre ca ?
Bah oui un callback c’est une fonction
c’est une fonction qui est appelle quand c’est terminé
Tu récupères souvent une réponse etc dedans
Là je suis sur téléphone mais je crois pas
C’est censé être ta base 64
Pas l’url
D’où la requête avant sur l’url
Yes je crois regarde simplement sur la doc de la method Buffer bg
yes mais je comprends r
Bon je vais continuer de chercher
bah apparement ça fonctionne
c'est ça que je trouve bizarre
putain la doc du module est explosée
Ne sais pas si ton module fonctionne sur un buffer moi c’est une hypothèse
Je t’ai dis regarde les issues git et tape buffer par exemple
La doc c'est juste ça genre
y'en a qu'une seule et ça concerne pas ça
c'est ça la seule issue
AAAAAH
Je vais devenir fou
dès que je règle le précédent problème y'en a un autre
@slim anvil j'ai enfin réussi
mais j'ai un mini problème
en gros look :
require('readimage')(Buffer.from((await axios.get(avatarURL, {responseType: 'arraybuffer'})).data, "utf-8"), AverageColor)
Donc je fais comme ça pour lire l'image et donc ça lance le callback " AverageColor " qui calcule la average color
mais en fait ce que je veux c'est ça :
async function getAverageColor(avatarURL) {
require('readimage')(Buffer.from((await axios.get(avatarURL, {responseType: 'arraybuffer'})).data, "utf-8"), AverageColor)
function AverageColor(err, image) {}
}
et quand j'exécute la fonction getAverageColor() j'aimerais pouvoir récuperer le RGB
Sauf qu'en fait à la fin du require, bah ça exécute AverageColor, mais je sais pas comment faire pour faire ça
Un array RGBA
[ r, g, b, a ]
avec ma pdp j'obtient #d67503
ok donc toi tu veux juste en faire une fonction ? C’est quoi le soucis ? Fais toi une promise que tu resolve dans ton callback comme ça tu récupéreras le tableau
mais c'est possible ?
ça work mais je sors pas du callback

OH OUI
CA A MARCHÉ
Merci Enzo
Je répond pas à ça 
mdr nan du coup je sais que ça l'est
j'ai beaucoup galéré aujourd'hui
mais j'ai aussi beaucoup appris
Et ça c’est beau
sympa l’embed
mais pas la couleur
ça va pas du tout
MDR Toi ça fait du gris
bon en vrai ça va c'est pas mal y'a juste quelques petits problèmes
c’est vrai qu’il est cool
merci mdr
en tout cas merci Enzo pour ton aide 👍
JE ME SUIS TROMPE DEPUIS LE DEBUT
C'était pas average mais dominant !


bonjour commant puis-je ecrire du json poour mon bot discord je cherche sur la toile et je fais des essais sauf que ça rate toujours mon code:
const { User } = require('discord.js');
const { Command } = require('discord.js-commando');
const fs = require('fs');
const { loggers } = require('winston');
const obj = require('../../easteregg_name.json')
const disbut = require('discord-buttons')
module.exports = class BanCommand extends Command {
constructor(client) {
super(client, {
name: 'cerise',
group: 'easteregg',
memberName: 'cerise',
description: 'créer un easteregg',
args: [
{
key: "mot",
type: "string",
prompt: "",
}
]
});
}
async run(message,{mot}) {
let obj = {
eggs: []
};
console.log('info',`Création d'un easteregg par ${User}`);
fs.readFile('easteregg_name.json', function readFileCallback(err, string){
if (err) {
console.log('error', error)
} else{
fs.writeFileSync(mot , string)
}
})
}
}
merci de memmention
écrire du json ? comment ça ?
enfin pour faire quoi c'est un peu vague car si tu cherche juste à récup du json dans un fichier externe bah import juste le fichier et puis voila...
@white sedge
@slim anvil dsl pour le retard voici mon fichier qui récupère les données. J'utilise une api est oui je doit actualise ma page pour que le nom s'affiche correctement
Yey du TypeScript
Vivix il est content il voit du ts 
tu peux log ce que tu recois lors de l'appel de ton hook ?
Pour voir si c'est un soucis au get ou au moment ou tu renvoies la data à ton component
mdr
Je te donne ça ce soir je suis au travail
Enfait je voudrais utiliser json comme bdd pour des easteregg
Et avec une certaine commande le bot crée l’easteregg dans json en écrivant le mot clé mais comment je peux écrire dans json
(Dsl pour le manque de précision g écrit ce msg en cours, je donnerai + de précisions ce soir)
@slim anvil
@white sedge eh ben ça dépend si tu veux un nouvel attribut dans ton Json ou que tu veux mettre une valeur dans un tableau / objet
Le JavaScript Object Notation (JSON) est un format standard utilisé pour représenter des données structurées de façon semblable aux objets Javascript. Il est habituellement utilisé pour structurer et transmettre des données sur des sites web (par exemple, envoyer des données depuis un serveur vers un client afin de les afficher sur une page web ...
Bon vu que c’est encore un peu vague voilà en attendant
Yop, pour demander de l'aide en TS c'est ici ou #autres-sujets-dev-tech ?
c'est ici du coup
et toi tu affiches le .channels quand tu boucles c'est ça ?
car j'ai plus ton ancien code y a eu bcp de message entre temps
Okay super, j'ai une erreur toute conne, TS me dit qu'il ne trouve pas discord.js x)
t'as l'erreur exact pls
Ah bah c'est bon
J'ai recommencé depuis le début et maintenant ça fonctionne
Chaque fois que je demande de l'aide, le problème se corrige tout seul
C'est chiant à force

Ah attends @slim anvil Ca me l'a pas dit en live mais quand je compile, tient l'erreur : ```js
Cannot find module 'discord.js'. Did you mean to set the 'moduleResolution' option to 'node', or to add aliases to the 'paths' option?
1 import { Client } from "discord.js";```
t'as un fichier tsconfig.json ?
ton compilerOptions.modules tu le met à "commonjs" pour voir
et tant qu'à faire met ton target à es2017
"modules" ou "module" ?
module pardon
Alors, ça me dit que je ne peux pas spécifier de outDir à cause du changement de module
Ensuite, voici l'erreur : Cannot find module 'discord.js' or its corresponding type declarations.
allowSyntheticDefaultImports essaye de rajouter ça alors pour voir à true
sinon tu peux import discord de cette manière si tu le met pas
import * as Discord from 'discord.js' (par ex), mais si tu allow le default imports tu pourras import l'autre manière
Sauf que ça va tout m'importer, moi je veux importer les classes qui m'intéressent
Au max je serais à DAPIerror, client et collection quoi
du coup ajoute le allow
C'est fait, et j'ai toujours l'erreur ...
ou alors, pour la compilation j'utilise ça tsc --module commonjs --outDir "./dist" --watch src/index.ts Peut-être que si j'ajoute ce que tu m'as dit dedans, ça peut changer la donne ?
ah mais t'es pas obligé de tout retaper à partir du moment ou tu le met dans le tsconfig.compilerOptions 🤔
Ah j'peux juste watch le fichier ?
{
"compilerOptions": {
"module": "commonjs",
"allowSyntheticDefaultImports": true,
"target": "es2017",
"outDir": "./dist",
}
}
Par exemple
ui
la meme: Cannot find module 'discord.js' or its corresponding type declarations. ?
Yes ...
D'acc
J'ai essayé par désespoir de le faire avec un fichier TYPEDEF, pareil, même erreur
C'est fou
@enzo oui c'est ça
Salut je viens demander de l'aide pour une chose. Je veux faire en sorte qu'une div (qui comprend les 3 logos ici) se mettent à remonter automatiquement quand on arrive sur la page. Je faisais ça avant en PHP mais ça fait moche et il fallait que la souris soit orientée sur le body. Je suis pas très fort en js alors j'essaie de suivre des exemples, je tombe sur les observeurs, et jme dis que ça pourrait marcher, mais je ne comprends pas bien comment ça marche
.prm étant relié au div qui entoure les 3 logos
Vous avez des idées?
maintenant que j'y pense, on peut simplifier un peu le css en mettant tout ce qu'il y a dans .prm dans .slide-in et slide-in.appear, et changer le margin-top à 0% dans slide-in.appear
Hello les gens, j'ai un petit problème avec ma db ça m'affiche ça quand j'essaye de me connecter à elle avec le bot en le démarrant :
Client does not support authentication protocol requested by server; consider upgrading MariaDB client
Quelqu'un sait comment règler ça ?
Mysql?
yes fin mariadb
Montre ton code ducoups
const mysql = require('mysql')
let con = mysql.createConnection({
host: "localhost",
user: "root",
password: "",
database: "flywan"
});
con.connect(err => {
if (err) throw err;
console.log("✅ Connecté a la database !")
});```
La connexio,
T'es en local ?
Ta enlevés le mdp?
bah j'ai jamais mis de mdp
Il t'en faut un
Sinon tu créer un user avec un nom/mdp
Nan dans phpmyadmin
Quand tu te connectes
Tu dois mettre root en user
Et le mdp
bah j'ai jamais mis de mdp xD
c'est la 10.5.10
Hmm
ça fait 2h que je suis dessus ça commence à me chauffer cette histoire
Moi j'ai pas d'erreur de ce genre pourtant mdrr
yes rien y fait
Chelou 😂
en fait même pas il veut me mettre les perms
mais genre quand je me co avec root
genre j'ai mon mdp de vps pour me co
mais ça veut pas
je comprends pas
bah moi si
Ah ok
Yes
et plus facile
Peut être la version sur ubuntu est pas à jour 🤔
j'ai fais un apt-get upagrade
apt-get upgrade && apt-get update
ouep xD mais je peux essaye
sinon tiens https://doc.ubuntu-fr.org/phpmyadmin (j'ai rien suivi mais t'as l'air de vouloir phpmyadmin sur ubuntu)
rien y fait
Au moins on est fixés moi et la db ça fait deux 
bonjour Je souhaite qu'un mot soit écrit dans un fichier json (la commande marche très bien)sauf que rien ne s'écrit dedans ma commande
const { User } = require('discord.js');
const { Command } = require('discord.js-commando');
const fs = require('fs');
const { info } = require('winston');
const winston = require('winston')
const contentEasteregg = require('../../easteregg_name.json')
const disbut = require('discord-buttons')
module.exports = class BanCommand extends Command {
constructor(client) {
super(client, {
name: 'cerise',
group: 'easteregg',
memberName: 'cerise',
description: 'créer un easteregg',
args: [
{
key: "mot",
type: "string",
prompt: "",
}
]
})
}
async run(message,{mot}) {
//let obj = {
// eggs: []
//};
// ajoute le nouveau mot dans le tableau
var contentEasteregg = [];
contentEasteregg.push({
mot,
decouvert: false
});
// ré écrie le nouveau tableau dans le fichier
fs.writeFile(
"../../easteregg_name.json",
// convertit le JSON en texte pour l'écrire dans le fichier
JSON.stringify(contentEasteregg),
function(err) {
if(err) {
return console.log(err);
}
console.log(`Un easteregg viens d'être créé avec comme mot clé "**${mot}**"`);
});
}
}
et voici mon json
[
{
"mot": "souhieb",
"decouvert": false
},
{
"mot": "french",
"decouvert": false
},
{
"mot": "easteregg",
"decouvert": false
}
]
Hello les gens, j'ai cette erreur : ``` DiscordAPIError: Cannot send an empty message
J'utilise discord.js-pagination
const member = message.author;
const util = new MessageEmbed()
.setColor(color)
.setAuthor(client.user.username, client.user.displayAvatarURL())
.setThumbnail(client.user.displayAvatarURL())
.setDescription("Toutes les commandes sont utilisables avec le prefix `a/`")
.setImage("https://cdn.discordapp.com/attachments/851829340253323282/854357014545432626/IMG_0478.jpg")
.addFields(
{name: "leader xp/btc", value: "Cette commande permet de voir ton rank sur un serveur.", inline: false},
{name: "meteo [city]", value: "Cette commande permet de voir la météo d'une villeur.", inline: false},
{name:"npm [name]", value :"Cette commande permet de consulter un module npm.", inline: false},
{name: "ping", value: "Cette commande permet de voir le ping du bot.", inline: false},
{name: "uptime", value: "Cette commande permet de voir l'uptime du bot.", inline: false}
)
.setTimestamp()
.setFooter(member.tag, member.displayAvatarURL({ dynamic: true}))
const xp = new MessageEmbed()
.setColor(color)
.setAuthor(client.user.username, client.user.displayAvatarURL())
.setThumbnail(client.user.displayAvatarURL())
.setDescription("Toutes les commandes sont utilisables avec le prefix `a/`")
.setImage("https://cdn.discordapp.com/attachments/851829340253323282/854357014545432626/IMG_0478.jpg")
.addFields(
{name: "xp", value: "Cette commande permet de consulter votre niveau d'xp.", inline: false},
)
.setTimestamp()
.setFooter(member.tag, member.displayAvatarURL({ dynamic: true}))
const pages = [
xp,
util
]
const emojiList = [
"⏪",
"⏩"
]
const timeout = "120000"
pagination(message, pages, emojiList, timeout)```
le code
Je pense qu'il faut que tu rajoutes String quelques part mais je sais pas où
Sinon c'est possible ça vient du module
bonjour bonjour, je ne sais pas si c'est normal, mais quand j'essaye de f'utilisé la commande npm sur visual studio code ça me met cette erreur la, j'ai déjà réessayer de le désinstaller et réinstaller ça ne fonctionne pas
Salut, l'erreur est écrite juste en dessous haha, mais tu as installé node.js ?
Bien oui je l'ai installer, et j'arrive pas comprendre l'erreur justement
fait node -v et envoie un screen @versed topaz
Node n'est pas installé
Ah bon ? pourtant je l'ai bien installer, et je l'avais même réinstaller
ça doit te return ça de base :
Hmmm, je vais réessayer de l'installer du coup :/ merci
tient prend ça
et normalement si tu fais node -v
ça doit t'afficher 14.17.1
D'accord la ça fonctionne merci ! j'étais pourtant sur de l'avoir bien installer
nickel
Bonjour,
Je suis un gros débutant en dév de bots discords,
J'ai regardé une vidéo de dév de bots dsicord qui m'a beaucoup aidé. Mais j'aimerais savoir comment je fais pour ajouter une commande ?
J'aimerais que lorsque un joueur tape une commande, ça envoie simplement un message dans le channel puis sa supprime le message quelques secondes après (y compris la commande du joueur) ?
Merci d'avance
Merci de ta réponse!
Aurais-tu une vidéo à me suggérer ?
@keen narwhal, comment tu as mis ce format de codage sur discord avec les couleurs pour montrer ton codage ?
Car j'ai une erreur, j'aimerais la montrer mais je ne sais pas comment tu fais ^^'
const Discord = require('discord.js')
module.exports = {
run: message => {
message.channel.send(new Discord.MessageEmbed()
.setTitle('Développé par AKIL#0001') },
name: 'creator'
}
Super merci,
Alors voici mon code, et d'après eux j'ai une erreur
(ouais ça fait un peu miskine le mec qui mets son nom dans le bot, mais c'est juste pour tester, je vais changer le titre après mdrr)
Okkkkkk je vais essayer, merci @keen narwhal !
const pagination = require('discord.js-pagination');
const Discord = require('discord.js');
let config = require('../config.json');
module.exports = {
name: 'help',
description: 'help Command',
execute(message, args){
const Fivem = new Discord.MessageEmbed()
.setTitle('DivercityLand')
.setColor('#ffaa17')
.addField(`${config.PREFIX}status`, 'Voir le status du serveur')
.addField(`${config.PREFIX}playerlist`, 'Voir les joueurs connectés au serveur')
.addField(`${config.PREFIX}suggest`, 'Faire une suggestion au serveur ')
.addField(`${config.PREFIX}bugs`, 'Faire un report de bugs')
.addField(`Pour vous connecter: <#${config.CHANNELS_ID.CONNEXION}>`);
.setTimestamp()
const utility = new Discord.MessageEmbed()
.setTitle('Autres')
.setColor('#9500f2')
.addField(`${config.PREFIX}ping`, 'afficher le ping du bot')
.addField(`${config.PREFIX}clear <1-99>`, 'Clear le chat')
.setTimestamp()
const pages = [
Fivem,
utility
]
const emojiList = [":rewind:", ":fast_forward:"];
const timeout = '120000';
pagination(message, pages, emojiList, timeout)
}
}
Bonjour,
Avec mon code ci-dessous, Visual détecte des erreurs mais je ne comprends pas laquelle...
J'ai voulu rajouter dans mon embed un petit texte collé à un salon cliquable
te manque une } à la fin si je dis pas de conneries
tu fermes ton exports
mais pas ton execute
Tout à la fin ?
oui
et pareil
à ton .addField() le dernier enlève la ;, elle doit être au dernier donc ton .setTimestamp()
donc :
const pagination = require('discord.js-pagination');
const Discord = require('discord.js');
let config = require('../config.json');
module.exports = {
name: 'help',
description: 'help Command',
execute(message, args){
const Fivem = new Discord.MessageEmbed()
.setTitle('DivercityLand')
.setColor('#ffaa17')
.addField(`${config.PREFIX}status`, 'Voir le status du serveur')
.addField(`${config.PREFIX}playerlist`, 'Voir les joueurs connectés au serveur')
.addField(`${config.PREFIX}suggest`, 'Faire une suggestion au serveur ')
.addField(`${config.PREFIX}bugs`, 'Faire un report de bugs')
.addField(`Pour vous connecter: <#${config.CHANNELS_ID.CONNEXION}>`);
.setTimestamp()
const utility = new Discord.MessageEmbed()
.setTitle('Autres')
.setColor('#9500f2')
.addField(`${config.PREFIX}ping`, 'afficher le ping du bot')
.addField(`${config.PREFIX}clear <1-99>`, 'Clear le chat')
.setTimestamp()
const pages = [
Fivem,
utility
]
const emojiList = [":rewind:", ":fast_forward:"];
const timeout = '120000';
pagination(message, pages, emojiList, timeout)
}
}
@oak turret Comme ceci?
Pas de soucis!
Salut les beaux gosses
const pagination = require('discord.js-pagination');
const Discord = require('discord.js');
let config = require('../config.json');
module.exports = {
name: 'help',
description: 'help Command',
execute(message, args){
const Fivem = new Discord.MessageEmbed()
.setTitle('DivercityLand')
.setColor('#ffaa17')
.addField(`${config.PREFIX}status`, 'Voir le status du serveur')
.addField(`${config.PREFIX}playerlist`, 'Voir les joueurs connectés au serveur')
.addField(`${config.PREFIX}suggest`, 'Faire une suggestion au serveur ')
.addField(`${config.PREFIX}bugs`, 'Faire un report de bugs')
.addField(`Pour vous connecter: <#${config.CHANNELS_ID.CONNEXION}>`)
.setTimestamp();
const utility = new Discord.MessageEmbed()
.setTitle('Autres')
.setColor('#9500f2')
.addField(`${config.PREFIX}ping`, 'afficher le ping du bot')
.addField(`${config.PREFIX}clear <1-99>`, 'Clear le chat')
.setTimestamp();
const pages = [
Fivem,
utility
]
const emojiList = ["⏪", "⏭️"];
const timeout = '120000';
pagination(message, pages, emojiList, timeout)
}
}
xd
je me suis rendu compte que je me suis trompé de channel ups
Tu sais qu'en faisant ça ça me donne ça
Moi perso
Mais je ne vois pas pourquoi vous utilisez un module pour ça
moi ça marche, je viens de tester lol
Bah je vais finir par faire collector
ahah, np
Parce que c'est trop chiant il me dit que mon message est vide alors que pas du tout
Par contre, tu as une idée pourquoi ça n'a pas mentionné le salon ?
Parce que c'est le title
AH

or tu ne peux rien mentionner dans un titre
- Tu l'as fait personnellement, et t'es fier de ta création
- Tu prends du skill
.addField(`Pour vous connecter: <#${config.CHANNELS_ID.CONNEXION}>`,'En cas de soucis, contactez un staff')
change pour ça :
.addField(`Pour vous connecter:`, "<#id>")
AH
Je me doute alors je vais essayer xD
Mais je vais faire aussi un truc avec les commandes séparément
np ^^
Check si Les réactions marchent
On sait jamais
Dis-toi que depuis ce matin je code quelque chose que je n'ai jamais fais et que je comprends pas un mot ! donc voir qu'on m'aide, ça fait vraiment plaisir !
Ouaip ça marche :d
ahah tqt on est là pour ça

et toi mathis

test si ton embed marche sans la pagination
car il se peut qu'il ait un pb sur les images envoyées et donc ton embed est vide
Mon embed marché
🤔
Ouep
essaye d'en faire deux tout simple
Bizzare
et test
Je suis en game.vzlo la ptdr
ah mddr
Demande si tu galères

hello, c'est possible de select des infos sql de plusieurs tables dans la même fonction pour discord.js ?
Comment ça ? @grim bronze
Hello, comment vous feriez un console.log() d'une table pour chaque élément un par un avec une intervalle ?
Par exemple :
const table = ["Hello", "World"]
le bot envoie "Hello" puis 10 secondes plus tard "World"
J'avais pensé à un Map mais je n'arrive pas à voir comment je pourrais faire exactement
Tu peux juste faire un setTimeout un console log
Avec une variable qui sera incrémenté à chaque appel
Pour faire array[i] par exemple
je sais pas trop comment l'expliquer
mais en gros je fais un select pour renvoyer des infos sur un embed comme ça :
db.query(`SELECT * FROM users WHERE discord_id = '${message.author.id}'`, async (err, req) => {
mais genre j'aimerais pouvoir renvoyer des infos de discord_id mais de tables différentes dans le même embed
Genre comme ça ? @grim bronze
db.query(`SELECT * FROM bdd1 WHERE discord_id = '${message.author.id}'`, async (err, req) => {
db.query(`SELECT * FROM bdd2 WHERE discord_id = '${message.author.id}'`, async (err, reqs) => {
const embed = new MessageEmbed()
.setColor("RANDOM")
.setAuthor(`Test`)
.addField('**》 Test:**', `${req[0]}.table`, true)
.addField('**》 Test1:**', `${reqs[0]}.table1`, true)
message.channel.send(embed);
});
});```
yep je vais test, mais du coup si je veux request la colone wallet par exemple de la table 1 je fais comment
req[0].wallet
Oui comme tu viens de faire 🙂
Tu me conseilles setTimeout plutôt que setInterval ? J'ai essayé la boucle avec un array[i] mais avec setInterval je t'avoue que tout s'est envoyé 1 par 1 mais sans délai
okay thanks
Pas de soucis, si tu as un soucis, tu me mention 🙂
Euh pardon Interval
Je suis allé trop vite
(Tous envoyés d'un coup)
Oui car tu interval toute ta boucle enlève la
Tu fais juste un i++ dans ton interval après avoir envoyer le message
Et tu clear ton interval quand il a envoyé tout les messages
Quelque chose comme ça ?
const messageChannel = client.channels.cache.find(channel => channel.id === "855136058697363743");
const messages = [
"Hello", "How", "Are", "You", "?"
]
let i = 0;
setInterval(() => {
messageChannel.send(messages[i]);
i++
if(i >= messages.length) {
clearInterval()
}
}, 10000);
@slim anvil
Ah mais oui effectivement
Juste le clearInterval je suis pas sûr
Essaye 🙂
J'ai une jolie erreur sur le moment du clearInterval x)
Laquel ?
Je vais aller voir comment ça fonctionne ;)
Dac
(node:3060) UnhandledPromiseRejectionWarning: DiscordAPIError: Cannot send an empty message
Hmm j'ai essayé quelque chose comme ça :
const messages = [
"Hello",
"How",
"Are",
"You",
"?"
]
let i = 0;
const sendMessagesAtInterval = () => {
messageChannel.send(messages[i]);
i++
}
setInterval(() => {
sendMessagesAtInterval()
if(i >= messages.length) {
clearInterval(sendMessagesAtInterval)
console.log("Il n'y a plus aucun message à envoyer")
i = 0
}
}, 5000);
Je n'ai plus d'erreur mais du coup il repart du premier message. Je n'ai aucune idée de comment arrêter totalement la commande une fois arrivé au bout, aurais-tu une piste @dire latch (ou quelqu'un d'autre) ?
Aucune idée 😦 Sorry
Np ! Merci quand même
Dr
merci, ça fonctionne top !
d'ailleurs tu saurais comment faire pour mettre le discord_id que je sélectionne dans le bdd en argument sur la commande ?
db.query(`SELECT * FROM darkrp_player WHERE discord_id = '${message.author.id}'`, async (err, req) => {
en gros quand on met par exemple ?commande <discord_id>, que ce soit l'argument correspond au discord_id et pas le message.author.id
j'ai activé les arguements, mis ça et remplacé le ${message.author.id} par ${discordid}
mais ça met cette erreur: TypeError: Cannot read property '0' of undefined
Faut que tu met en dessous
if(!discordid) return;```
ça me fait toujours la même erreur
Tu as bien modifié au moins ?
Et tu as bien ta table dans ta base de donnée ?
Normalement, tu as ceci:
db.query(`SELECT * FROM darkrp_player WHERE discord_id = '${message.author.id}'`, async (err, req) => {
if (!req[0]) return message.reply(`ERROR`);
let discordid = req[0].discord_id;
message.channel.send(`discordid`);
});```
Mais ici, ça renvoit du message.author.id nan ?
Ba après, tu modifie avec ce que tu veux avoir
mais genre je comprend pas comment faire, pour que ça renvoit les infos du discord_id que l'on met en args dans la commande et non les infos de l'auteur du msg
Ah en gros, tu met une id genre la mienne, et sa met les infos avec mon id ?
on peut pas utiliser un args.join(" ") et le contenu de l'intérieur en truc comme ça
yep c'est ça
const membre = message.mentions.members.first();
if(!membre) return;
db.query(`SELECT * FROM darkrp_player WHERE discord_id = '${membre.id}'`, async (err, req) => {
if (!req[0]) return message.reply(`ERROR`);
let discordid = req[0].discord_id;
message.channel.send(`discordid`);
});
Là tu fais avec la mention
C'est plus simple
Hum ouais, mais en gros j'aimerais bien pouvoir consultés les infos de tous ceux qui sont sur la bdd, pour les warns, sanctions etc, donc y compris les membres bans et les gens qui ont quittés
donc je pourrai pas les mentionnés c'est pour ça que je voudrais utilisé l'id en argument
Je cherche juste comment faire en sorte qu'une fois que l'interval est clear la commande s'arrête @slim anvil
Yo @jolly kernel !
Tu utilises mal la méthode clearInterval, il faut lui passer directement la variable contenant ton appel à la méthode setInterval :
const messages = [
"Hello",
"How",
"Are",
"You",
"?"
]
let i = 0;
const sendMessagesAtInterval = () => {
messageChannel.send(messages[i]);
i++
}
const interval = setInterval(() => {
sendMessagesAtInterval()
if (i >= messages.length) {
clearInterval(interval)
console.log("Il n'y a plus aucun message à envoyer")
i = 0
}
}, 5000)
hello dites moi, vous auriez une manière assez sympa de savoir le nombre de messages envoyés par un utilisateur x par minute ?
J'ai pensé à un truc mais ça me parait pas super, vous auriez des idées ?
AAAH super ! C'est exactement ce qu'il me fallait, merci beaucoup @hazy mirage !!
Désolé Lartaxx aucune idée
👋 quelle est la solution à laquelle tu as pensée ?
Je pensais à get tous les messages de tous les channels et voir ceux de l'utilisateur x pour du coup avoir le nombre de messages
mais ça me parait pas ouf du tout
t'enregistre un compteur par minute que tu reset toutes les minutes au pire 
ouais mais je suis même pas sûr de pouvoir get tous les messages de tous les channels pour check ceux de l'user etc etc
du coup je cherche autre chose
oui oui mais je voulais voir si je pouvais faire autrement juste x)
mais discord offre pas déjà cette fonctionnalité ?
vu que il y a un mode lent on peut pas récup les données des messages envoyé sur un certain laps de temps ?
🤔 sur ce coup je sais pas
bonsoir, je code un bot discord actuellement quand je lance le bot j'ai cette erreur qui vient d'un module mais jsp il faut faire quoi x)
n'hésitez pas à me ping
Réinstalle tes modules pour voir @keen narwhal
En faisant bien npm init - y
Et installer les modules 1 par 1 sans que ya de bug
Car je vois pas de fichier package.json sur ton screen
mrc
Dr et sa a fonctionner ? @keen narwhal
Supprime ton dossier node modules
Dans la racine du dossier
Tu ouvres un cmd
Puis npm init -y
Et lance ton bot pour qu'il affiche chaque module à installé
Et tu installes
ou se trouve la racine?
Où se trouve ton bot.js
ouep
comment ? 😂
cmd
Dans ton dossier
genre dans mes fichiers
oe
C'est le dossier de ton bot ?
oé
Tu fais npm install discord.js
Tu as bien installé node ?
oui
Essaye d'installer la dernière version
c laquelle?
j'aurais pas besoin de tt refaire?
Yes c'est ça
vazy j'te dis quand j'ai installé
Installe bien les builds tools
ok
je quitte vsc ?
Nan pas besoin
Yep
Mdrr oui
c finis @dire latch
Refais npm i discord.js
je le dem
Et sa va te mettre si il manque des modules
Cquoi ta ligne 4 sur index.js ?
Console?
nn c bon enft
Oui
c pr un setchannel et d'autre truc
en com?
comment ça?
Tu met // devant
ou?
ça se trouve ou mdr?
De ?
Au début de la ligne
dans quel fichier
vzy
Yes
ou d'autre ?
Tout ce qui utilise lowdb
genre meme le "const db = new filesync ("bdd.json")" ?
Oui
c bon
Dans le code aussi ?
nn
dans le code du lowbd ?
Dans ton code plus bas 😅
ha


