#javascript-typescript
1 messages · Page 110 of 1
montre tes condition
Bonjour, je suis entrain de codé une commande d'avis qui ressemble à
- .avis 1-2-3-4 ou 5 Un super avis.
Est je souhaiterai qu'à la place des chiffre (1-2-3-4 ou 5) se sois des étoiles ⭐
Est ce que quelqu'un peux m'aider ?
Bonjour ma requete sql ne renvoie pas mon prefix stocker en base de donnée pourtant la requete fonctionne tres bien, pourrait-on m'aiguiller svp ? 😅
let guildId = message.guild.id
let dbPrefix = db.query('SELECT prefix FROM server WHERE guildId = ?', [guildId])
Tu as essayé de debug ?
Normalement avec ton debugger tu verra que tu as une promise non résolu
Suffit de l'await donc
Du coup c'est un soucis d'async/await
ah oui, je le met apres le = est ce bien cela ? 😅
le await mais le async je sais pas 😅
console.log(dbPrefix) et montre le résultat stp
oui ^^
Query {_events: {…}, _eventsCount: 4, _maxListeners: undefined, _callback: undefined, _callSite: Error
at Protocol._enqueue (f:\atium\nod…sql\lib\protocol\Protocol.js:144:48)
at…, …}
_callback:
undefined
_callSite:
null
_connection:
Connection {_events: {…}, _eventsCount: 0, _maxListeners: undefined, config: ConnectionConfig, _socket: Socket, …}
_ended:
true
_events:
{error: ƒ, packet: ƒ, timeout: ƒ, end: ƒ}
_eventsCount:
4
_fields:
(0) []
_index:
1
_loadError:
null
_maxListeners:
undefined
_results:
(0) []
_resultSet:
null
_timeout:
undefined
_timer:
Timer {_object: Query, _timeout: null}
_object:
Query {_events: {…}, _eventsCount: 4, _maxListeners: undefined, _callback: undefined, _callSite: null, …}
_timeout:
null
je commence a utilser les handler alors je vois pas ou mettre le async et await 😅
Les handlers ...?
const dbPrefix = await...
par exemple
je vais essayer merci ^^
mais sa me dit que await na aucun effet sur ce type d'expressions ^^
Il me semble que le package mysql de base n'a pas l'async/await, c'est pour ça que je t'avais conseillé de passer au mysql2, dans ton cas utilise l'args pour le callback
je vais voir pour passer a mariaDB mais j'ai pas trouver comment 😅
Tu peux rester sur mysql, mais utilise au moins le package mysql2 plutôt que celui de base
Car c'est une catastrophe ce package
Il est même plus maintenu je crois en plus
npm i mysql2 ?
Yes
des modif a faire sur ma connexion ou autre ? ^^
ceci const mysql = require('mysql') devient ceci const mysql = require('mysql2') ?
Yes
Et non je pense pas de modifie hormis le async/await
et je passe ou le async du coup ? 😅
mon commandHandler ressemble a ca 😅
module.exports = {
name: 'messageCreate',
execute(message, bot){
let guildId = message.guild.id
let dbPrefix = db.query('SELECT prefix FROM server WHERE guildId = ?', [guildId])
let prefix = dbPrefix
console.log(prefix)
if (message.author.bot) return;
if (message.channel.type === "dm") return;
let messageArray = message.content.split(" ");
let cmd = messageArray[0];
let args = messageArray.slice(1);
if(!cmd.startsWith(prefix)) return;
let commandFile = bot.commands.get(cmd.slice(prefix.length));
if(commandFile) commandFile.run(bot, message, args);
}
}
Je comprend ou placer le await mais pas le async 😅
Là où tu déclares ta fonction
je te conseille de check la gestion de l'async en JS c'est hyper important dans ce langage
parce que j'utilise un async dans mon prefix.js et ping.js qui sont 2 commandes 😅
je vais me renseigner merci
Tu vas vite comprendre, c'est important mais pas compliqué
Merci je vais arréter pour aujourd'hui j'y regarderais demain 😅
Bonjour, je suis entrain de codé une commande d'avis qui ressemble à
- .avis 1-2-3-4 ou 5 Un super avis.
Est je souhaiterai qu'à la place des chiffre (1-2-3-4 ou 5) se sois des étoiles star
Est ce que quelqu'un peux m'aider ?
Tu fais une condition si la réponse est 1 alors tu envoies "⭐" si 2 alors "⭐⭐",ect..
non pas forcément
tu peux en fonction de la valeur faire un .= pour convertir la valeur en emoji
const starN = 4
const star = "⭐️"
console.log(star.repeat(starN))```
aussi
tu aurais un exemple ? je vois pas de quoi tu parles 🤔
yes, je rentre je te montre
mais l’idée c’est une boucle qui convertis i par des stars, mais repeat est mieux
Donc la si je met 4 sa renvoie ⭐
ça renvoie 4 étoiles
je connaissais pas repeat, ça m'aurait été plus simple
et c'était pas .=, c'est en php .=
Ok c’est ce qu’il me semblait 
me suis trompé 
D'accord mercii
salut ! j'ai un petit problème que j'arrive pas à résoudre vous-pouvez m'aider svp
C'est laquellle ta ligne 14 ?
Ok c'est l'écoute de ton event
L'erreur parle d'elle même :
message.on()
🥴
Tu t'es pas trompé sur ton client ?
j'ai mis client.on c'est bon mais le menu de sélection de ne mais pas sur mon discord
Tu peux débug ton code
c'est bon j'ai trouver xD 
comment je fais pour placer un autres Holder
Regarde la doc 😇
Hey, comment ça un autre placeholder ? Il ne peut y en avoir qu'un seul
un truck comme ca
ils disent pas
T'es sûr ? 😄
Tu as même un guide : https://discordjs.guide/interactions/select-menus.html
Ah ! Donc plusieurs select menus
J'ai compris qu'il voulait remplacer le placeholder actuel
Mais peut-être mal compris
Dans ton new action row tu peux add components
Et tu sépare simplement par une virgule
new MessageSelectMenu()
.blah(),
new MessageSelectMenu()
.blahblah()
j'ai deja regarde tkt haha
je vais test
j'ai deja ca moi
Tu peux ajouter plusieurs components à ton row
ça me met des erreurs*
Quand tu send le message, tu as une propriété components qui prend un tableau de components
🥴
Tu le fais pas 
Mdr
😐
Bonjour, c'est possible de recuperer le nom d'une categorie depuis son id ?
je recupere l'id de la categorie et j'aimerais que celui me ressorte le nom de la categorie
Fetch la catégorie t'as essayé ?
nop je vais essayer merci
tu travaille
tu buy
😂
Bonjour, Il me dit que guild n'existe pas et quand je rajoute guild en parametre il me dit que guild ne peut pas etre null, il est sencer insérer l'id du serveur
module.exports = {
name: 'guildDelete',
once: true,
execute(bot){
db.query('DELETE from server WHERE guildId = ?', [guild.id])
db.query('DELETE from ticket WHERE guildId = ?', [guild.id])
}
}
Quelqu'un saurais pk ?
Bah tu le passe pas en params :x
oui je m'en suis rendu compte apres xd
desoler mdrrr, je l'avais mit en deuxieme et j'ai pas fait gaffe xd
Hello, quelqu'un pourrait m'aider à faire une intégration sur mon app web ?
Bonsoir est ce que qqn sait comment faire en sorte que son bot discord mette le système de message de bienvenue de discord dans un salon spécifique
😄
Documentation suggestion for @misty parcel:
:method: TextChannel#send()
Sends a message to this channel.
:event: (event) Client#guildMemberAdd
Emitted whenever a user joins a guild.
et tu envoies le message
Salut quelqu'un si connais en three js ?
Bonjour, bonsoir.
Je suis en train de développer un bot discord avec une certaine fonctionnalité mais ça fait deux jours que je suis bloqué sur un problème du type qu'il ne connaît pas la fonction add pour ajouter un rôle à un membre.
J'ai essayé toutes les possibilités et combinaisons possibles je ne comprends toujours pas d'où vient l'erreur alors qu'elle me paraît si simple..
L'erreur en question :
usermention.roles.add(Blame1Role)
^
TypeError: Cannot read properties of undefined (reading 'add')
at Object.run (C:\Users\laeti\Desktop\Bot NightRp\NightRp v2\commands\blame.js:30:32)
at Client.<anonymous> (C:\Users\laeti\Desktop\Bot NightRp\NightRp v2\index.js:73:28)
at Client.emit (node:events:527:28)
at InteractionCreateAction.handle (C:\Users\laeti\Desktop\Bot NightRp\NightRp v2\node_modules\discord.js\src\client\actions\InteractionCreate.js:83:12)
at Object.module.exports [as INTERACTION_CREATE] (C:\Users\laeti\Desktop\Bot NightRp\NightRp v2\node_modules\discord.js\src\client\websocket\handlers\INTERACTION_CREATE.js:4:36)
at WebSocketManager.handlePacket (C:\Users\laeti\Desktop\Bot NightRp\NightRp v2\node_modules\discord.js\src\client\websocket\WebSocketManager.js:351:31)
at WebSocketShard.onPacket (C:\Users\laeti\Desktop\Bot NightRp\NightRp v2\node_modules\discord.js\src\client\websocket\WebSocketShard.js:444:22)
at WebSocketShard.onMessage (C:\Users\laeti\Desktop\Bot NightRp\NightRp v2\node_modules\discord.js\src\client\websocket\WebSocketShard.js:301:10)
at WebSocket.onMessage (C:\Users\laeti\Desktop\Bot NightRp\NightRp v2\node_modules\ws\lib\event-target.js:199:18)
at WebSocket.emit (node:events:527:28) ```
Le code :
getUser renvoi un user. Et sur discord un User n'a pas de role contrairement à un Member
Du coup faut soit utiliser getMember a la place de getUser soit passer par son id et le chercher dans la guild
Mais je get déjà l'id dans le code il me semble
oui mais a partir de cet id faut récupérer le member
je te conseil de le fetch via <Guild>.members.fetch(<id>)
Ok je vais essayer
Je crois qu'il aime pas trop le <Guild>.member
Oui faut remplacer par la vraie variable
le code qui est entre <> tu dois le changer
sa dépends pourquoi faire 😅 mais expose ton problème on sais jamais 🤔
Je vois mais j'ai pas de variable pour la Guild
Elle est déclarée dans mon index
passes par interaction.guild
Toujours la même erreur ..
.
Fais voir le nouveau code
Donc await membreee.roles.add(Blame1Role)?
Où au dessus ?
Car je pense pas que ce soir n'importe où
Je l'utilise pas souvent et je découvre encore le js désolé ..
La ligne avec la fonction fetch tu mets le await apres le =
Mille merci tout fonctionne enfin ..
Le je comprend pas ...
Comment puis-je faire ?
Maintenant il m'affiche channel ...
A c'est bon
Il correspond a quoi exactement le if (!channel) return;
salut les gars j'aimerai savoir comment on fait un système de On / off en JS merci a vous bonne soiréé ^^
En principe ça veut dire que si channel est false ou n'existe pas, il return.
tu peux expliquer plus en détails ? On off type bouton ?
Yes exactement type bouton ^^
Par exemple sur un anti spam ou un anti bot fin bref tu m'a compris un système de On /Off ^^
Bas ducoup techniquement ses pas possible de taper une commande dans un Channel qui n'existe pas
techniquement mais ça peut prévenir d'une erreur et empêcher un stop de ton script
je le verrais plus comme une prévention
Que je puis selectionné on ou off pour désactivé ou activé le système ^^
bah un on off ça peut être n'importe quoi tant que tu écoute l'évènement que tu veux dessus (click, focus, blur, etc). Activé ou désactivé quel système ?
Système anti spam anti bot ect fin des commande d'anti-raid
bah comme je t'ai dit : tant que tu écoute l'évènement que tu veux sur l'élement que tu veux (click, focus, blur, etc) tu fais ce que tu veux derrière comme commande
j'ai importer un fichier gltf avec le modules sauf que le fond est noir je voudrais qu'il soit transparent ou blanc
tu l'as importé avec quoi ? Filament ?
oui
ça me dit rien pour le coup, y a rien dans la doc ?
D'accord mais si je ne l'ai pas sa ne pose pas de problème ?
tant que tu n'as pas d'erreur ça ne posera pas pb
en soit il a pas tort, ça veut dire que la variable channel n'existe pas dans ta fonction et du coup qu'il ne peut pas faire de verif. Il faudrait au moins que channel soit vide ou null pour éviuter cette erreur
Ok
Mais étant donner que le Channel ne servira qu'une fois et ne sera plus visible par les membres sa ne me pose aucun problème
c'est sa que tu as envie de faire ? https://stackoverflow.com/questions/20495302/transparent-background-with-three-js
sinon pas compris deso
Bonjour, Bonsoir
Je développe un bot discord et j'aurai une question à ce sujet.
Je sais comment delete des rôles sur un membre mais il y a t'il une commande pour delete tout ses rôles au lieu de les faire un par un ?
Tu peux faire un member.roles.set([])
https://discord.js.org/#/docs/main/stable/class/GuildMemberRoleManager
Merci je vais regarder
Donc si l'user en question à par exemple le rôle
Bleu
Rouge
Vert
Et que je veux lui laisser juste le bleu
Je fais la fonction que tu m'as dis avec l'id du rôle bleu et ça lui enlèvera tout le reste ?
Oui
Okay
quelqu'un pour m'aider ?
non c'est good merci
dr
Salut , j'ai un petit problème avec mon bot discord , lors de l'envoie d'une commande du bot , cela ce passe :
le message ne contient rien
message.channel.send({ embeds: [embed] });
Comment on met une size a une balise select tout en gardant l'effet de barre déroulente
hello ! je viens de réaliser le code pour l'xp dans messageCreate : ```js
db.query(SELECT * FROM user WHERE userID = ${message.author.id}, async (err, req) => {
if(req.length < 1) {
let sql = `INSERT INTO user (userID, xp, level) VALUES (${message.author.id}, '0', '0')`
db.query(sql, function(err) {
if(err) throw err;
})
} else {
if(!message.content.startsWith(prefix)) {
let xp = Math.floor(Math.random() * 24) + 1;
let need = (parseInt(req[0].level) + 1) * 1000;
db.query(`UPDATE user SET xp = '${parseInt(req[0].xp) + xp}' WHERE userID = ${message.author.id}`)
if(parseInt(req[0].xp) >= need) {
db.query(`UPDATE user SET level = '${parseInt(req[0].level) + 1}' WHERE userID = ${message.author.id}`)
db.query(`UPDATE user SET xp = '${parseInt(req[0].xp) - need}' WHERE userID = ${message.author.id}`)
message.channel.send(`Bravo ${message.author}, tu es passé niveau \`${parseInt(req[0].level) + 1}\``)
}
if(parseInt(req[0].xp) < 0) {
db.query(`UPDATE user SET level = '${parseInt(req[0].level) - 1}' WHERE userID = ${message.author.id}`)
db.query(`UPDATE user SET xp = '${(parseInt(req[0].level) * 1000) + parseInt(req[0].xp)}' WHERE userID = ${message.author.id}`)
message.channel.send(`Dommage ${message.author}, tu es redescendu niveau \`${parseInt(req[0].level) - 1}\``)
}
}
}
})```
Sauf que l'xp monte mais pas le niveau dans la db
@idle tide possible de m'envoyer ton event pour le messageCreate ?
c'est à dire mon event ?
je m'y connais pas trop mdrr désolé
ton messageCreate
entier ?
const Discord = require("discord.js");
const Event = require("../../Structure/Event");
const sql = require("mysql") ;
module.exports = new Event("messageCreate", async (bot, message) => {
const db = bot.db;
db.query(`SELECT * FROM serveur WHERE guildID = ${message.guild.id}`, async(err, req) => {
if (req && req.length < 1) {
let sql = `INSERT INTO serveur (guildID, prefix) VALUES (${message.guild.id}, '!')`;
db.query(sql, function(err) {
if(err) throw err;
})
return message.reply("Attendez que le bot enregistre votre serveur !")
}
let prefix = req[0].prefix;
let messageArray = message.content.split(" ");
let command = messageArray[0];
let args = messageArray.slice(1);
let commandFile = bot.commands.get(command.slice(prefix.length));```
La suite c'est ça
yep
quick db ?
?
tu use quickdb pour la bdd ?
xampp
mais ton module npm c'est bien quickdb ?
eeuh, ça me dit rien
bonjour,
Je ne sais pas pour quoi mais j'ai un event "guilMemberAdd" qui ne veux pas s'exécuter.
L'event ce chage correctement avec les autres mais il ne fait rien quand j'ai un nouveau membre sur le discord ou le bot ce trouve.
Même le consol.log que j'ai mis pour tester ne fait rien.
Merci d'avance de votre réponse.
Salut, as-tu pensé à activer l’intent GuildMember sur le Portail Développeur de Discord ?
merci, j'avait complètement oublier
personne ne peut m’aider du coup ??
bonjour,
Je ne sais pas pour quoi mais j'ai un event "messagecreate" qui ne veux pas s'exécuter ( probleme avec l'event ou directement la commande.
L'event ce chage correctement avec les autres mais il ne fait rien et crash quand je fait une commande.
Merci d'avance de votre réponse.

Avec le message d'erreur c'est encore mieux
bonjour,
pour mon site internet je voudrais à partir de mon skin Minecraft avoir uniquement la tête (bien sûr je veux récupérer la tête des joueurs qui vont se connecter sur mon site également).
je veux que le traitement soir faire depuis mon serveur car je veux pas dépendre de autre api.
je veux faire tout cela avec node JS la technologie utilisée pour mon site.
si vous pouvez m'aider sur ma recherche ça serait extrêmement sympathique de votre part merci par avance
https://media.discordapp.net/attachments/953927837356818492/989032677925584916/ac3de5b50fb6174da51032677ead046295486bf682b3ea73e0617a210c4b4f46.png
voici les deux modèles de tête que j'aimerais récupérer également
https://media.discordapp.net/attachments/953927837356818492/989033508435558460/luuxis_1.png
https://media.discordapp.net/attachments/953927837356818492/989033508213227580/luuxis.png
Salut j'ai un problème, j'ai fais un tableau de salons et j'essaye depuis ce matin de les assigner à des catégories, le problème c'est que tous les salons vont dans la meme catégorie : (
Voici le code
const tblChannels = [
{
name: "📜〢règlement",
type: "GUILD_TEXT",
parent: serverCategory.id
}, {
name: "📢〢annonces",
type: "GUILD_TEXT",
parent: serverCategory.id
}, {
name: "📊〢sondages",
type: "GUILD_TEXT",
parent: serverCategory.id
},{
name: "🗞〢roles-facultatifs",
type: "GUILD_TEXT",
parent: serverCategory.id
},{
name: "🎫〢ouvrir-un-ticket ",
type: "GUILD_TEXT",
parent: serverCategory.id
},{
name: "⭐〢actu-brawl-stars",
type: "GUILD_TEXT",
parent: serverCategory.id
},{
name: "🏓〢demander-a-jouer",
type: "GUILD_TEXT",
parent: serverCategory.id
},{
name: "🏓〢jouer",
type: "GUILD_TEXT",
parent: serverCategory.id
},{
name: "💬〢general",
type: "GUILD_TEXT",
parent: chatCategory.id
},
]
const newChannels = []
for (let i = 0; i < tblChannels.length; i++) {
const channelConfig = tblChannels[i]
const newChannel = await guild.channels.create(channelConfig.name, {
type: `${tblChannels[0].type}`,
parent: `${tblChannels[0].parent}`,
topic: `${tblChannels[0].topic}`
})
chatCategory et serverCategory existent bien
et d'ailleurs les salons qui devraient etre vocaux sont textuel
Bonjour excuser moi j'envisage de me mettre sérieusement au js et j'ai les bases et aimerais utiliser un framework, j'aimerais me refaire un portfolio sans php en full js et j'aimerais utiliser React, celui ci ne posera pas de probleme si je le couple a d'autre librairie type ajax ? 😅
ajax n'est pas une libraire
ton problème est le tblChannels[0] qui fait que tu reprends le même élément.
a moins que sa soit volontaire
tu dois utiliser channelConfig à la place de tblChannels[0]
ho merci les copains ça marche maintenant
comment je peut rajouter un cdn avec react svp ? 😅
je le rajoute dans le html que j'import ou ya moyen de directement dinstaller la dependance dans le node module ? 😅
Bonjour bonsoir
Je rencontre un petit problème lors de l'affectation d'une action sur un bouton d'un embed.
Je n'arrive tout simplement pas à lui affecter des actions hormis un console.log..
J'ai voulu construire mon code différemment de d'habitude et c'est pour cela je pense que je n'y arrive pas..
Pour toutes questions, je suis en vocal au cas où
dites moi vous avez pas un truc qui recup les user id et username des mecs du serveur discord par une database en sql ?
J'aimerai mettre sa dans mon il récup les infos des membres ( username + user id )
Qui peut m'aider, sa ne veut pas m'ajouter mais rôle svp
Bonjour, j'utilise typewritter et react, et j'aimerais que lorsque ma page s'actualise le texte recommence, car actuellement sa m'ecrit le texte de base du h1 et pas celui du js de typewriter 😅
Code?
Tu peux envoyer le code ici avec la mise en forme
Parceque je zzom et c'est dégueulasse x)
Pourquoi tu utilises un module.exports ici ?
là tu as juste besoin de mettre les deux lignes qui sont dans ta fonction runInteraction
C'est tout ?
interaction.member.roles.add("id du roles")```
oui, pourquoi tu veux mettre un module.exports?
c'est déjà ce qu'il a fait
Bah non, il add juste la valeur de l'interaction
oui et la valeur de l'intéraction si tu regardes le select menu au dessus c'est l'id des rôles
donc ça marche
Possible, j'arrive pas à zoom sur son screen
il a envoyé le code juste ici...
ah oui x)
svp qui peux maider jsp c la combientieme fois mais comment on connecte notre bot les conseil marche pas les tuto pareil
Ton code peut-être ?
Ça serait déjà pas mal pour t’aider 😅
Bonjour est ce possible de donner a un bouton une ligne permettant d'ajouter un rôle a un membre du serveur ?
Oui
Comment je peux faire ?
Car je n'arrive pas à l'implémenter dedans
Ah ok, merci quand même 😭
if (interaction.isButton()) {
switch (interaction.customId) {
default:
break;
case "button1":
interaction.member.roles.add("376471586217263105");
interaction.reply({
content: "Vos rôles ont été mis à jour !",
ephemeral: true,
});
}
}```
Quelque chose comme ça
Okay merci j'essaie sa demain soir
Et je rentre ou la custom iD
Bah enfaite quand tu fais ton bouton tu set un customId
Oui mais dans le programme que tu as envoyer je le récupère ou
Ses j'ai bien suivi ses a la place du case ?
Bonjour, une personne pourrais me dire pourquoi j'ai cette erreur ?
un/plusieurs intents que t'as mis dans ton new Client({Intents: [...]}) ne sont pas activés sur le https://discord.com/developers/applications de ton bot
Integrate your service with Discord — whether it's a bot or a game or whatever your wildest imagination can come up with.
pour les activés c'est ici https://i.imgur.com/PcO4NGd.png
Je dois tous activé ?
Message, sup message
Active que le Message intent alors
C'est un bot qui donne un code de 3 a 6 chiffres tous les jours a 6H
Tu serais disponible vocal pour me dire quoi activé ?
Donc tu n'as pas besoin d'avoir le reste
Active juste le Message et tu pourras facilement envoyer/recevoir des messages
Ouai
Si tu veux pouvoir recevoir et lire les messages
après si tu veux juste faire une clock qui envoie un message t'as besoin de rien de spécial
juste enlever les trucs inutile de ton new Client()
Tu as une ligne ou tu fais un bail du genre const client = new Discord.Client({})
Nop
Je eux te donné le code en mp pour que tu regarde ?
vasy
Une personne serais me dire pourquoi ma commande ne fonctionne pas
client.on('messageCreate', msg => { if (msg.content == "/genCode") genCode(); });
Parce que c'est pas comme ça qu'on fait des slash commands
Comment ?
Tu peux te referrer à la documentation de Discord
J'imagine que c'est pour un bot discord ?
Je ne suis pas du tout expert, mais d'après les bruits de couloir je pense que se serrait bien que tu prennes un VPS, ça t'offre plus de possibilité
svp c quoi la faute
`const Discord = require("discord.js");
const { SlashCommandBuilder } = require("@discord.js/builders");
const Client = new Discord.Client({
intents: [
Discord.Intents.FLAGS.GUILDS,
Discord.Intents.FLAGS.GUILD_MESSAGES
]
});const data = new SlashCommandBuilder()
.setName("help")
.setDescription("C'est pour avoir toute les commandes !");const prefix = "!";
Client.on("ready", () => {
//Client.application.commands.create(data); Client.guilds.cache.get("979710239907672095").commands.create(data); console.log("bot opérationnel");});
Client.on("messageCreate", message => {
if (message.author.bot) return;if(message.content === prefix + "Test"){ message.reply("Test codé par @torn sun"); } else if(message.content === prefix + "help"){ const embed = new Discord.MessageEmbed() .setColor("GREEN") .setTitle("Liste des commandes") .setURL("https://aylanbot1.odoo.com/") .setAuthor("Bot disord.js", "https://i.imgur.com/AFfp7pu.png", "https://aylanbot1.odoo.com/") .setDescription("C'est le site que j'ai utiliser pour coder ce bot") .setThumbnail("https://discord.js.org/") .addField("**!help**", "Affiche la liste des commandes !") .addField("**!Test**", "C'est une commande de test !") .setImage("https://i.imgur.com/AFfp7pu.png") .setTimestamp() .setFooter("Ce bot appartient à Aylan", "https://i.imgur.com/AFfp7pu.png"); message.channel.send({ embeds: [embed]}); }})
Client.login("mon token");`
je sais il est un peu long
svp
T’a un message d’erreur ?
Bizarre
jsp pk
Moi non plus
Si tu veux un VPS chez Inovaperf, je peux te recommander.
Ou sinon ya @past nimbus qui fais du free hosting de vps ^^ || sorry for the ping btw||
Fin pas vraiment
mais qui connais un hosting de free vps
Je fais des free pterodactyl oui
Je connais un hosting de free vps ?
C'est ce que dis ton status en tout cas ^^
Bah j'host moi même quoi ^^
Daccus
Il cherchais un VPS puis vu que c'est pour un petit bot je pense, et que j'ai vu ton statut
Au lieu de le faire payé je t'ai mention
Okok !
Hey
Quelqu'un saurait comment récupérer uniquement le rôle le plus élevé d'un user ?
Hormis peut-être en utilisant un Array
Oui tu peux en regardant le rôle du membre le plus haut, highest
<member>.roles.highest
ça te return le role le plus haut qu’il a
Une personne serais disponible pour m'aider sur 3 bots
Explication:
Bot-1
*Problème sur une petit commande pour qui me donne un message.
*
Bot-2
Le bot ne veux pas me dire combien de personne est connecté sur le serveur. (Le bot est déjà créer)
bot-3
Ne veux pas démarré. (Mal config)
Je recherche une personne qui serais me faire n'importe quelle bot-discord bien sûr la personne sera rémunéré.
Merci de me contacté en MP
svp c quoi lerreur
const Discord = require("discord.js");
const { SlashCommandBuilder } = require("@discord.js/builders");
const Client = new Discord.Client({
intents: [
Discord.Intents.FLAGS.GUILDS,
Discord.Intents.FLAGS.GUILD_MESSAGES
]
});
const prefix = "!";
Client.on("ready", () => {
console.log("bot opérationnel");
});
Client.on("messageCreate", message => {
if (message.author.bot) return;
if(message.content === prefix + "Test"){
message.reply("Test codé par @torn sun");
}
else if(message.content === prefix + "help"){
const embed = new Discord.MessageEmbed()
.setColor("GREEN")
.setTitle("Liste des commandes")
.setURL("https://aylanbot1.odoo.com/")
.setAuthor("Bot disord.js", "https://i.imgur.com/AFfp7pu.png", "https://aylanbot1.odoo.com/")
.setDescription("C'est le site que j'ai utiliser pour coder ce bot")
.setThumbnail("https://discord.js.org/")
.addField("**!help**", "Affiche la liste des commandes !")
.addField("**!Test**", "C'est une commande de test !")
.setImage("https://i.imgur.com/AFfp7pu.png")
.setTimestamp()
.setFooter("Ce bot appartient à Aylan", "https://i.imgur.com/AFfp7pu.png");
message.channel.send({ embeds: [embed]});
}
})
Client.login("mon token");
Pour envoyer du code sur Discord c'est très simple !
||Il vous faut d'abord du code... Et deux cubes de Kubor !
||
En vrai, il faut utiliser les blocs de code de Discord :
Pour cela entoure ton code de ceci : ```
Par exemple :
```js
console.log("Salut Creators Area !")
```
Le résultat sera le suivant :
console.log("Salut Creators Area !")
```*Si tu es sur téléphone, tu ne verras pas le bloc de code*
> *TIPS: Si ton code est trop long, tu peux le coller sur [pastebin.com](https://pastebin.com/) et envoyer le lien par message.*
@torn sun Envoie ton code comme le dis le help stp
Et il nous faudra l'erreur si il y en a une éventuellement
Pour envoyer du code sur Discord c'est très simple !
||Il vous faut d'abord du code... Et deux cubes de Kubor !
||
En vrai, il faut utiliser les blocs de code de Discord :
Pour cela entoure ton code de ceci : ```
Par exemple :
```js
console.log("Salut Creators Area !")
```
Le résultat sera le suivant :
console.log("Salut Creators Area !")
```*Si tu es sur téléphone, tu ne verras pas le bloc de code*
> *TIPS: Si ton code est trop long, tu peux le coller sur [pastebin.com](https://pastebin.com/) et envoyer le lien par message.*
const Discord = require("discord.js");
const { SlashCommandBuilder } = require("@discord.js/builders");
const Client = new Discord.Client({
intents: [
Discord.Intents.FLAGS.GUILDS,
Discord.Intents.FLAGS.GUILD_MESSAGES
]
});
const prefix = "!";
Client.on("ready", () => {
console.log("bot opérationnel");
});
Client.on("messageCreate", message => {
if (message.author.bot) return;
if(message.content === prefix + "Test"){
message.reply("Test codé par @Aylan#7630");
}
else if(message.content === prefix + "help"){
const embed = new Discord.MessageEmbed()
.setColor("GREEN")
.setTitle("Liste des commandes")
.setURL("https://aylanbot1.odoo.com/")
.setAuthor("Bot disord.js", "https://i.imgur.com/AFfp7pu.png", "https://aylanbot1.odoo.com/")
.setDescription("C'est le site que j'ai utiliser pour coder ce bot")
.setThumbnail("https://discord.js.org/")
.addField("**!help**", "Affiche la liste des commandes !")
.addField("**!Test**", "C'est une commande de test !")
.setImage("https://i.imgur.com/AFfp7pu.png")
.setTimestamp()
.setFooter("Ce bot appartient à Aylan", "https://i.imgur.com/AFfp7pu.png");
message.channel.send({ embeds: [embed]});
}
})
Client.login("montoken");```
just e
comment on creer un truc pastebin
stp
@keen narwhal
@keen narwhal
j'ai trouver
J'étais occupé au taff deso
Yo @dry stump !
@torn sun cherche de l'aide concernant une de tes vidéos !
Bonjour je voudrai savoir pour l'episode 3 creer un bot vous avez tout retirer pour faire le slash ?
@keen narwhal J'ai besoin d'aide avec mon bot ||
||
Quel est ton problème ?
J et m
Merci
Oui
@torn sun Hey, pour le coup j'ai juste enlevé le programme fait dans la vidéo précédente afin de se concentrer sur le sujet de la vidéo, après tu as juste à intégrer les éléments que je présente dans ton programme
Bonjour je cherche un dev mods mcp qui a pas de projet pour le moment me mp urgent
yoo
non
pour un bot discord j'aimerais obstruer mon code, or il y a plusieurs dizaines de commandes, au lieu de faire chaque fichier un par un, ne connaiseriez-vous pas un site permettant de faire obstruer du code dans tout les fichier javascript d'un dossier ?
"obstruer" ?
JavaScript Obfuscator is a free online tool that obfuscates your source code, preventing it from being stolen and used without permission.
Obfusquer ?
Le mieux à faire dans ton cas c'est de build et ensuite obfusquer le build (y aura qu'un seul fichier du coup)
Après, l'obfuscation c'est pas une solution de sécurité si jamais
Niveau performance ça change rien l'obfuscation?
C'est un peu plus lent vu qu'il faut convertir du texte mais globalement c'est pas une grosse diff vu que c'est pas ça qui va créer de la latence mais plutôt les appels API, un code mal opti, etc
Après je dois avouer que je comprends pas trop l'intérêt d'obfusquer du code vu que c'est facile à remettre en place normalement (tout dépend du degré d'obfuscation)
Ouais je vois, après manifestement si tu arrives a un degrés assez élevé les performances sont reduites
Ouais genre sur de la manipulation où le CPU a du mal mais je vois pas vraiment un scénario de ce genre sur un bot Discord à priori
Fin je veux dire ça me paraît vraiment pas utile sur un bot Discord vu que c'est dur à copier ce code là
ouais mais quand je veux faire les commandes "/" sa marche pas. merci d'avance
J'avais pas vu ton message x)
J'ai trouvé après un peu de recherche ^^
Mais merci quand même haha
Sinon
Bonjour à vous
Ça fait déjà quelques semaines que j'ai début de JavaScript et j'aimerai "optimiser mon code" de manière à ce que par exemple tous les channels / rôles que je veux utiliser, soit défini dans un fichier .JSON au lieu de toujours définir ceux-ci par des const à rallonge...
Problème, c'est que je n'ai jamais réellement fait ça auparavant et je ne comprends pas trop les explications sur les différents sites internet..
Il y aurait-il quelqu'un pour m'expliquer ?
Je peux également être en voc pour ceux qui le souhaitent
Il suffit de call ton json avec un require
Et ensuite t'a const qui contient ton require devient un objet qui contient le json
const json = require('./fichier.json')
Euh
Oui mais
Ce que je ne comprend pas
C'est
Imagine dans le code de ma commande j'ai ca :
const ModeratorRole = interaction.guild.roles.cache.find(r => r.id === "RoleId");
Je dois pas mettre çà dans mon .JSON .. si ?
Je cherche à faire qqlq que chose dans ce genre afin de ne pas etre obliqué de définir à chaque commande ce role
Bah non vu que tu ne peux pas mettre de code dans le json
À part des informations par exemple des id
Non faut que tu stocke l'id
Ookok merci bien
Peut-on stocker des embeds ?
euh jamais essayé mais normalement oui
Bonsoir
Je souhaite savoir si par exemple,
role1 est inférieure à role2.
Le soucis étant que quand je joue avec les id de ces rôles, le résultat se trouve fausser car l'opérateur < compare le chiffre de lid..
Quelqu'un aurait une idée ?
Tu cherches quoi ?
Inferieur à la place dans les roles
Oui par exemple
Je cherche à savoir si
ModoRole < AdminRole
Mais en jouant avec les id ça marche pas
Très simple !
Il ne faut pas jouer avec les id, tu compares le nombre des id pas la place.
Hoo merci
Mais du coup j'ai pas d'opérateur à donner ?
Oui je l'ai compris du coup haha
Hein ?
À quoi ça sert le > 0 si on compare déjà les deux rôles ?
Je comprend pas
Il compare le role des users
alors le system est un peu modifié, faudra juste un peu modifié.
Oui j'ai trouvé et modifié ça fonctionne merci bien en tout cas ! 😆
Bonjour petite question, j'essaye de creer un bot multiserveur et j'aimerais savoir ce qui est le mieux, est ce de creer une table par serveur discord ou le bot est present ou alors de creer une ligne par bot dans une table existente ? 😅
Jamais une table pas serveur
Tu casses l'utilité du SQL sinon
Bah c'est surtout que je vois pas comment tu vas faire tes requêtes du style "la liste des serveurs avec plus de 300 membres" ou ne serait-ce qu'une simple requête "sur combien de serveurs je suis présent"
Go faire une table serveur et tu ajoute une ligne quand tu en rejoins un
bonjour, j'ai un problème et donc j'aurais besoin de votre aide. J'ai suivi à peu près le tuto javascript de From Scratch voici le lien de sa vidéo : https://www.youtube.com/watch?v=9OJLxDxyNg4&list=PLV-4KEXYty-ezR7eIwCo1qADStxmbk57t
🌱 La 2ème partie est dispo ici : https://youtu.be/6q-zt0aQ74U
💪 Prérequis :
- Cours HTML → https://youtu.be/qsbkZ7gIKnc
- Cours CSS → https://youtu.be/HDobHQfbRbo
0:00 - Intro
2:41 - Qu'est-ce que Javascript
10:28 - Les outils pour coder le JS
14:30 - Où s'écrit le Javascript
33:59 - Les commentaires
35:14 - La syntaxe
38:37 - Les varia...
et donc j'ai un problème concernant mon javascript, mon navigateur , google chrome, n'arrive pas à trouver le fichier index.js. Je mets quelques captures d'écran pour plus de précisions car cela n'est pas très clair, désolé :
Mon programme est assez simple : sur mon navigateur, un bouton "appuyez" est en haut au centre de la page et quand j'appuie sur le bouton, il faut qu'une image apparaissent en bas du bouton "appuyez" puis si je reclique sur ce bouton la, la photo devrait disparaitre
Salut les copains je m'attaque à un truc nouveau truc pour moi => Les databases
J'ai décider d'utiliser mongodb et j'ai envoyer un joli "Hello World" dans la database
Maintenant moi ce que je veux c'est récupérer cette data
Alors j'ai essayer des trucs comme database.message[0 et tout mais j'y arrive pas
j'arrive pas a envoyer un message de bienvenue lorsque un membre rejoins le serveur, j'utilise les handler quelqu'un pourrait m'aider ? 😅
module.exports = {
name: 'guildMemberAdd',
once: true,
async execute(member){
await db.query(`SELECT * FROM accueil WHERE guildId = ?`, [member.guild.id], (err, req) => {
const activat = req[0].activate
const channel = req[0].channel
const roles = req[0].roles
if(activat == 1){
const join = new Discord.MessageEmbed()
.setColor("FAC003")
.setTitle('Bienvenue sur Xenium RP')
.setAuthor({ name: 'XeniumBot', iconURL: '', url: '' })
.setDescription(`Bonjour, Bienvenue a toi sur Xenium RP ${member.user.username}, si tu souhaite jouer sur le serveur, tu doit lire le réglement, et te rendre en attente visa, un douanier te prendra en charge `)
.setTimestamp()
.setFooter({ text: 'XeniumBot', iconURL: '' });
member.send({embeds: [join]})
const welcome = new Discord.MessageEmbed()
.setColor('6d6ee8')
.setDescription(`Bienvenue ${member.user.username} sur le serveur ${member.guild.name}`)
.setFooter({ text: 'Xenium RP', iconURL: ''})
.setTimestamp();
member.channel.cache.get(channel).send({embeds: [welcome]}) <------
}
})
}
}
``` J'ai fait ce code et c'est cette ligne qui me pose pb 😅
Cc, member.channel sa existe pas je pense que tu veux plutôt faire client.channels.cache.fetch("id du channel").send({embeds: [welcome]})
je vais essayer merci x)
Comment puis-je conditionner "si le membre a le role[...] alors , Comment puis je faire s'il vous plait ?
Tu récupères les rôles du membre avec member.roles
Puis tu vérifies si la liste contient le role que tu veux avec la fonction pour les Collection has
je doit passer par un tableau avec les roles du coup ?
C’est déjà un tableau
comme c'est lors de l'envoie d'unecommande !annonce ^^
d'accord juste message.member.roles.has ?
Yes
je vais essayer merci j'avais essayer mais sa me disait que c'etait pas une fonction 😅
Après je crois tu dois rajouter un .cache devant le .has maintenant avec les nouvelles versions de discordjs
Les nouvelles versions intègrent un nouveau système de cache et donc tu dois spécifier member.roles.cache.has
La je suis sur tel donc je peux pas vérifier sorry
Hello comment je peut vérifié si on peut supprimé un message ou non car avant ct if(message.deleted) pour vérifier si il était supprimé
mais sa y est plus
:property: Message#deletable
Whether the message is deletable by the client user
@thick gate
je l'ai vu cette propriété mais je ne c pas comment elle marche
j'ai pas ocmrpsi
compris
il ne faut pas mettre once à true. Sinon l'évènement ne sera déclenché qu'une seule fois et pas à chaque fois qu'un membre rejoint
Bonjour
J'ai des soucis avec une base de données reliées à un bot discord... Je connais le problème mais je n'arrive pas à le régler ..
La table :
l'erreur :
throw er; // Unhandled 'error' event
^
Error: Field 'reanimations/semaine' doesn't have a default value
at Packet.asError (/home/container/node_modules/mysql2/lib/packets/packet.js:728:17)
at Query.execute (/home/container/node_modules/mysql2/lib/commands/command.js:29:26)
at Connection.handlePacket (/home/container/node_modules/mysql2/lib/connection.js:456:32)
at PacketParser.onPacket (/home/container/node_modules/mysql2/lib/connection.js:85:12)
at PacketParser.executeStart (/home/container/node_modules/mysql2/lib/packet_parser.js:75:16)
at Socket.<anonymous> (/home/container/node_modules/mysql2/lib/connection.js:92:25)
at Socket.emit (node:events:527:28)
at addChunk (node:internal/streams/readable:324:12)
at readableAddChunk (node:internal/streams/readable:297:9)
at Socket.Readable.push (node:internal/streams/readable:234:10)
Emitted 'error' event on Query instance at:
at Query.execute (/home/container/node_modules/mysql2/lib/commands/command.js:39:14)
at Connection.handlePacket (/home/container/node_modules/mysql2/lib/connection.js:456:32)
[... lines matching original stack trace ...]
at Socket.Readable.push (node:internal/streams/readable:234:10)
at TCP.onStreamRead (node:internal/stream_base_commons:190:23) {
code: 'ER_NO_DEFAULT_FOR_FIELD',
errno: 1364,
sqlState: 'HY000',
sqlMessage: "Field 'reanimations/semaine' doesn't have a default value",
sql: "INSERT INTO Effectifs (employeId) VALUES ('356160558296334352')"
}```
le code :
J'ai trouvé
Il fallait que ce soit en Null et de base, la valeur par défaut est AUCUNE
C'est l'erreur x)
Oui merci quand même ^^
Salut je suis à la recherche d'un développeur discord.js
Re-Bonjour
J'ai de nouveau un problème avec ma base de donnée qui est la suivante :
La requête que j'essaie de faire en javascript se présente de cette manière :
connection.query(`INSERT INTO Effectifs (x1,x2,x3,x4,x5) VALUES ('${parseInt(y1)}','${parseInt(y2)}','${parseInt(y3)}','${parseInt(y4)}','${parseInt(y5)}')`)
Je ne vois pas ou ai'je mal écris la commande mais j'ai tout de même une erreur de syntax
Or, quand j'effctue cette commande de la sorte, tout va bien :
connection.query(INSERT INTO Effectifs (employeId) VALUES ('${userid}'))
Tu recherches ou tu es un développeur, graphiste, modélisateur, ou tout autre créateur de contenu ?
Tu es au bon endroit ! Tu peux désormais poster une annonce ou même proposer tes services très facilement !
Qu'attends-tu ? Rejoins-nous dès maintenant !
Quelle est l'erreur exacte ?
Tient
throw er; // Unhandled 'error' event
^
Error: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''employeId') VALUES (356160558296334352)' at line 1
at Packet.asError (/home/container/node_modules/mysql2/lib/packets/packet.js:728:17)
at Query.execute (/home/container/node_modules/mysql2/lib/commands/command.js:29:26)
at Connection.handlePacket (/home/container/node_modules/mysql2/lib/connection.js:456:32)
at PacketParser.onPacket (/home/container/node_modules/mysql2/lib/connection.js:85:12)
at PacketParser.executeStart (/home/container/node_modules/mysql2/lib/packet_parser.js:75:16)
at Socket.<anonymous> (/home/container/node_modules/mysql2/lib/connection.js:92:25)
at Socket.emit (node:events:527:28)
at addChunk (node:internal/streams/readable:324:12)
at readableAddChunk (node:internal/streams/readable:297:9)
at Socket.Readable.push (node:internal/streams/readable:234:10)
Emitted 'error' event on Query instance at:
at Query.execute (/home/container/node_modules/mysql2/lib/commands/command.js:39:14)
at Connection.handlePacket (/home/container/node_modules/mysql2/lib/connection.js:456:32)
[... lines matching original stack trace ...]
at Socket.Readable.push (node:internal/streams/readable:234:10)
at TCP.onStreamRead (node:internal/stream_base_commons:190:23) {
code: 'ER_PARSE_ERROR',
errno: 1064,
sqlState: '42000',
sqlMessage: "You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''employeId') VALUES (356160558296334352)' at line 1",
sql: "INSERT INTO Effectifs ('employeId') VALUES (356160558296334352)"
}```
connection.query(`INSERT INTO Effectifs (reanimations/semaine,grandsoins/semaine,petitsoins/semaine,kitsvendus/semaine,bandagesvendus/semaine) VALUES ('${parseInt(reanimations)}','${parseInt(grandsoins)}','${parseInt(petitsoins)}','${parseInt(kitsvendus)}','${parseInt(bandagesvendus)}')`)
celle là ?
oui
d'ailleurs j'aurais du tilté sur celui là
ah nan
pardon
hmmm
pourquoi la requete ici c'est "INSERT INTO Effectifs ('employeId') VALUES (356160558296334352)" ?
ligne 169
je t'avoue je peux pas voir les lignes~
ha att
comment tu envoie comme ca
sql request
connection.query(`INSERT INTO Effectifs (employeId) VALUES ('${userid}')`)
jcomprends mieux x)
Oui désolé x)
En gros
connection.query(`SELECT * FROM Effectifs WHERE employeId = "${userid}"`,
function(err, results, fields) {
if(results[0]){
console.log("Exist");
modal.reply("L'employé est dans la base de données")
connection.query(`INSERT INTO Effectifs (reanimations/semaine,grandsoins/semaine,petitsoins/semaine,kitsvendus/semaine,bandagesvendus/semaine) VALUES ('${parseInt(reanimations)}','${parseInt(grandsoins)}','${parseInt(petitsoins)}','${parseInt(kitsvendus)}','${parseInt(bandagesvendus)}')`)
}else{
console.log("Do not Exist");
connection.query(`INSERT INTO Effectifs (employeId) VALUES ('${userid}')`) //('employeId') VALUES ('userid')') //('employeId','reanimations/semaine','grandsoins/semaine','petitsoins/semaine','kitsvendus/semaine','bandagesvendus/semaine') VALUES ('${userid}','${parseInt(reanimations)}','${parseInt(grandsoins)}','${parseInt(petitsoins)}','${parseInt(kitsvendus)}','${parseInt(bandagesvendus)}')`)
modal.reply("L'employé a été dans la base de données")
}
}
); ```
Je vérifie si l'user qui submit un modal par une commande est deja dans la bdd.
Si il y est
On envoie juste le coontenu du modal
Si il n'y est pas
On envoie sont id et le contenue
mmh
Par contre quand j'essaie juste d'envoyer l'id donc ${userid} ça fonctionne
C'est quand je commence à rajouter des valeurs pour récupérer le contenu du modal que ça ne fonctionne pas et ça me dit une erreur de syntaxe alors que j'ai essayé toutes les syntaxe possible
je t'avoue que je ne connais pas mariadb, et que j'ai pas,trop le temps actuellement
si le problème n'a pas été réglé d'ici là j'essayerai de m'y pencher plus en détail 😅
Je vais essayer de faire ça à partir de plusieurs requêtes au pire
Pourquoi tu mets des '' si c'est des INTEGER
Je pense pas que ça soit le problème mais les '' tu les mets que si c'est un string
Oui c'était cela
Bonsoir
Quelqu'un saurait comment récupérer le résultat d'un SELECT SUM en javascript ?
J'essaie depuis tout à l'heure mais je n'obtient pas le résultat exact..
Je veux juste obtenir le chiffre mais pas moyen
reatotales['SUM(reanimations)']
Dieu merci grâce à toi je vais pouvoir enfin partir dormir 😭
c'est la key x)
Oui mais je débute dans le js donc tout n'est pas encore si évident pour moi haha
Je sens que dans trois minutes je vais être plomber à nouveau quand je vais test un truc
pas de soucis ahah 👀
En gros je veux sum plusieurs colonnes
Séparément
Donc si j'ai 5 colonnes, je dois fais 5 requêtes différentes ?
sum séparément?
Bonjour j'aimerais que mon bot envoie un message dans le channel qui est stocker en base de donnée, mais celui ci me met une erreur pourriez vous m'aider ? voici mon code (Lorsque je console.log channel et role il me renvoie bien les 2 id)
module.exports = {
name: 'guildMemberAdd',
once: true,
async execute(member, bot){
await db.query(`SELECT * FROM accueil WHERE guildId = ?`, [member.guild.id], (err, req) => {
const activat = req[0].activate
const channel = req[0].channel
const roles = req[0].roles
if(activat == 1){
const join = new Discord.MessageEmbed()
.setColor("FAC003")
.setTitle('Bienvenue sur Xenium RP')
.setAuthor({ name: 'XeniumBot', iconURL: '', url: '' })
.setDescription(`Bonjour, Bienvenue a toi ${member.user.username} sur ${member.guild.name} `)
.setTimestamp()
.setFooter({ text: 'Xenium RP', iconURL: '' });
member.send({embeds: [join]});
const welcome = new Discord.MessageEmbed()
.setColor('6d6ee8')
.setDescription(`Bienvenue ${member.user.username} sur le serveur ${member.guild.name}`)
.setFooter({ text: 'Xenium RP', iconURL: ''})
.setTimestamp();
bot.channels.cache.get(channel).send({embeds: [welcome]});
member.roles.add(roles);
}
});
}
}
Et l'erreur ? aha
PS: si jamais tu as le package mysql2 qui gère les promises
Et pense à gérer ton retour d'erreur dans ta requête sql
l'erreur que sa me met c'est que .send n'existe pas xd
desoler je penser l'avoir mise ^^
et mysql2 je veut essayer
j'ai cette erreur ^^
/home/container/node_modules/mysql/lib/protocol/Parser.js:437
throw err; // Rethrow non-MySQL errors
^
TypeError: Cannot read properties of undefined (reading 'send')
Tu ne passes pas les bons args
je doit passer lesquel ?
Bah là, l'erreur te dis que member n'est pas définit par exemple
pourtant si car si je met uniquement la premiere partie sa mp bien le membre en ecrivant son pseudo ^^
et en plus la requete sql fonctionne
my bad j'avais pas vu le second send
bot.channels.cache.get(channel)
ahh oui c'est sur le deuxieme desoler j'aurais du preciser ^^
mais du coup tu sais c'est quoi le probleme avec le send ? ^^
Il trouve jsute pas ton chanel dans le cache donc il faut le fetch
je vais essayer mais fetch ma dit que cette methode n'exister pas ^^
bot.channels.fetch
par contre une question si je met juste ma variable channel sa fonctionne ou il faut qu'il y'est les apostophe au debut et a la fin ?^^
J'ai pas compris x)
bah quand on prend juste l'id d'un channel on fait un truc du style bot.channels.cache.get("id") ^^
mais comme c'est une variable bd que moi je met je n'ai pas mit les "" dans le .get est ce qu'il les faut ou pas ^^
Bah non c'est une variable, "" sert à déclarer une chaine de caractères
d'accord merci j'avais un doute x)
parceque il me met sa avec fetch ^^
bot.channels.fetch(...).send is not a function
Il faut l'await
Bonjour
J'ai développé une commande avec une option de mention, exemple /kick @mention.
J'aimerais dans mon main.js récupérer cette option en question. Comment suis censé faire si juste cette option ne se trouve dans le même fichier ?
Avec un require()
C'est fait ^^
Bonsoir
J'ai un problème du genre j'ai une commande qui reply un embed avec un bouton dans un fichier help.js
À l'inverse, mon InteractionCreate permettant de détecter l'action du bouton se trouve dans mon main.js
J'aimerai qu'après avec appuyé sur le bouton, le embed qui est reply soit delete mais je n'arrive pas à faire ceci..
Quelqu'un peut-il m'aider ?
<interaction>.reply({
embeds: [embed]
}).then((x) => setTimeout(() => x.delete(), 5000)); // 5000 = 5 secondes en ms
@exotic spoke
je compte recommencer un Bot Discord, quelqu'un sait ce qui est mieux entre un command handler et un gros fichier avec toutes les commandes incluses ?
command handler pour le plaisir des yeux et pour moins étouffer ton bot car tout dans un même fichier certains point chargerons inutilement donc sur-conso inutile
d'acc, merci
Je veux pas de setTimeout
Car le message doit rester jusqu'à ce que le bouton soit pressé
Ah mb j’avais mal compris
Pas de soucis
je recommence tout demain.
Je vais profiter des vacances pour me concentrer dedans.
faudrait déjà me faire un command handler
Crois moi un code ça devient vite imposant et franchement, un commandHandler se retrouve large plus agréable à lire et à comprendre
En gros dans ton interactionCreate, quand tu récupères les informations du bouton, il va te donner en même temps les informations du message où le bouton est situé (dont l’identifiant).
De ce fait, tu fetch le message depuis et tu le supprime 😉
Surtout si tu fais comme moi c'est à dire relire ton code après une nuit blanche xD
Euhh je vais essayer cela mais je garantis rien ;-;
je vois bien de quoi tu parle, j'avais un gros fichier avec tout dedans, même moi je galérais à relire mon code,
malheureusement, je sais plus faire grand chose, il va falloir check les docs, à nouveau

sutout qu’on est sur la 13.7 ou 8
Pas bien de copier coller, préfèrez les documentations c’est les meilleurs amis des développeurs
Je propose juste pour un gain de temps ^^
il va plus en perdre qu’autre chose crois-moi
car il va essayer de comprendre un code qui n’a pas produit
🤔
C’est un conseil, mais mieux faut faire sa propre structure au moins tu est sûr de ce que tu fait autrement si tu prend une structure toute faite tu va prendre largement plus de temps à la comprendre
👌
En gros là j'ai fais
If (interaction.isButton) {
if (interaction.customId === name {
Et après ? Je suis censé faire faire ?
isButton c’est une fonction pour commencer
Oui j'ai oublié de les écrire
Je suis. Sur tel
Je dois tout écrire à la main car discord sur mon pc bug
Qu’est-ce que tu log dans la console pour obtenir toute les données ?
Rien pour le moment
Je sais même pas si je peux log qqch étant donné que le bouton se trouve dans un autre ficher que le main.js
Oui mais un event sert à sa, recevoir des informations lors d’une action/événement
Bon, tu dois log interaction -> console.log(interaction)
Je vois
Donc en soit après j'essaie de faire un interaction.id que je définis par une variable pour en suite faire un message.delete sur la variable donc ?
À partir de là, tu va obtenir tout plein d’informations :
- Informations sur le
Client()de ton bot - Informations sur le serveur où l’event a été déclenché
- Informations sur le salon où l’event a été déclenché
- Informations sur le message qui a permis le déclenchement de l’event
- Information sur le bouton qui a été cliqué par le membre
et j’en passe.. et c’est à partir de là où tu va donc pouvoir récupérer les informations que tu souhaites et pouvoir les manipuler : en l’occurrence dans ton cas tu souhaite supprimer un message lorsque le bouton est cliqué, il te suffit juste d’obtenir l’identifiant du message à l’aide de la méthode fetch() comme expliqué, une fois obtenue, supprimer le message.
Non, relis bien la documentation et surtout log moi interaction tu va comprendre par toi même les clés qui sont attribuées.
Why ? Aucun interet de fetch le message puis de le supprimer, car c'est déjà contenu dans <ButtonInteraction>.message.delete();
je suis resté bloqué sur mon idée d’avant mais oui effectivement cela pourrait fonctionner
Je vois
Je viens de faire ça :
if (interaction.isButton()) {
if (interaction.customId === "PayeEffectuée") {
const salon = interaction.channels.cache.get(interaction.channelId);
const messageId = interaction.id
}
}```
comme à dit Hareng du coup pas besoin de récupérer l’identifiant du message, puis c’est pas interaction.id pour récupérer l’identifiant du message mais interaction.message.id
Sauf que si je fais comme Hareng ça va me dire que message n'est pas défini
Bah non?
Ha non effectivement
Mais
Pourtant j'avais essayé là tout à l'heure et ça m'avait mit un undefined
Je suis confus xD
message est une clé de interaction qui elle possède d’autres clé avec les informations sur le message qui à déclenché l’événement donc dans tout les cas il trouvera ton message si il arrive à exécuter ton code.
if(interaction.isButton()){
if(interaction.customId === "custom_id"){
interaction.message.delete();
};
};```
en gros ça donne sa
J'ai fais ça decoup ça marche oui
Mais juste tout à l'heure j'avais fait ça
Ou je crois avoir fait ça
Et ça n'a pas marché
Tu as dû te tromper quelque part
J'ai commencé il y a deux semaines le js et j'ai l'impression de pas savoir des trucs tout cons comme ça :/
Ton problème actuellement je pense c’est la compréhension du fonctionnement d’un object et la manipulation des données qui lui sont attribués
voilà un cours si tu veux
Je faisais juste du..
Python
dans ce cas tu devrais avant de te lancer dans le développement d'un bot, en apprendre un peu plus sur le js et node.js en réalisant par exemple des petits projets
J'allais dire que c'était un petit projet ce que je fais là mais bon ... Vu tout ce que mon bot faut déjà avec aussi un lien avec la base de données ( qui d'ailleurs fonctionne nickel ), je pense pas que l'on peut dire petit projet
D'ailleurs merci pour l'autre jour !
J'avais remarqué que c'était des array mais j'aurai jamais pensé à manipuler les indices comme ça enfin ... C'est surtout que vu comment le contenu se présentait, on aurait dit des dictionnaires
J'étais là en mode
Des tableau de dictionnaire dans une bdd ?
Quand je dis petits projets je parle d'utiliser du natif pour réaliser des ptits trucs qui t'apprennent à manipuler et te font comprendre les différentes notions, ici c'est un peu plus compliqué
Oui c'est pour ça que je dis que c'est pas un petit projet x)
Ahah x) , néanmoins sache qu'il n'y a pas ces éléments dans ta base données, c'est uniquement le résultat de ta request qui est passé par la lib de connexion par ailleurs
Oui j'ai compris après que tu m'ai donné la réponse haha
Soit je trouve pas
Soit je trouve 3000 ans après et je me dis " purée c'était vraiment tout con "
ouais, mais c'est avec ça qu'on progresse
Ho euh
J'aurai une autre question sur le bouton
Oui ! ^^
Et j'aime constater que je progresse
je t'écoute
En gros j'ai remarqué avec certains bot que quand t'as pas la Perm d'interagir avec un bouton, il arrête de charger, ça fait rien mais ça ne renvoie pas " échec de l'interaction"
J'ai essayé dans mon if else de dire que si la personne n'as pas la Perm ça return;mais je pense que que ce soit ça
deferUpdate()
:method: ButtonInteraction#deferUpdate()
Defers an update to the message to which the component was attached.
Defer ?
C'est utilisé pour plein d'autre cas aussi non ?
Oui
mais pour ce cas en gros, si tu deferReply ça va t'envoyer le "nom du bot réfléchit"
ce qui n'est pas l'objectif
donc un deferUpdate fonctionne
Je vois je vois
Ho une question qui vient de me venir
Si le message que je veux delete reste + de 14 jours dans le salon, le message va quand même pouvoir être supprimé ? Ou je pourrais que le supprimé à la main ?
Ha je pensais que c'était pour le delete aussi
D'accord d'accord
Bah merci pour tout ^^
@keen narwhal également
Je rectifie de trois petites choses et je vais m'empresser de lire le cours que tu m'as envoyé ^^
Hm
J'ai juste un problème avec une vérification avec ma bdd..
Je pensais que c'était bon et au final ça ne marche pas
connection.query(`SELECT SUM(reanimations) FROM Effectifs WHERE employeId = '${userid}'`,function(errr, results0) {
connection.query(`SELECT SUM(grandsoins) FROM Effectifs WHERE employeId = '${userid}'`,function(errr, results1) {
connection.query(`SELECT SUM(petitsoins) FROM Effectifs WHERE employeId = '${userid}'`,function(errr, results2) {
connection.query(`SELECT SUM(kitsvendus) FROM Effectifs WHERE employeId = '${userid}'`,function(errr, results3) {
connection.query(`SELECT SUM(bandagesvendus) FROM Effectifs WHERE employeId = '${userid}'`,function(errr, results4) {
var reatotales = results0[0]['SUM(reanimations)']
var gsoinstotales = results1[0]['SUM(grandsoins)']
var psoinstotales = results2[0]['SUM(petitsoins)']
var kvendustotales = results3[0]['SUM(kitsvendus)']
var bvendustotales = results4[0]['SUM(bandagesvendus)']
if(!reatotales && gsoinstotales && psoinstotales && kvendustotales && bvendustotales === "null") {
Si c'est pas = null
Ça passe à la suite
Sinon
Ça envoie un truc en mode " valeur null "
Problème c'est que.. ya des valeur dans la bdd mais ça dit que c'est null
En précisant que les valeurs par défaut dans ma bdd sont bien initialisées à NULL
mmh
c'est pas possible d'utiliser await plutot que des callback ?
car c'est vraiment illisble
j'ai trouvé ..
J'ai trop l'habitude du python
En python on peut faire
if x && y && z === a
Aloes qu'en JavaScript ça va être
if x === a && y === a && z === a
Tu peux le faire en javascript aussi mais c'est un peu moins pratique (et moins efficace il me semble)
if ([x, y, z].every(function(v) { return v === a; }))
Tant que tu peux et que cela n'est pas nuisible pour ton code, préfère les conditions de base 🙂
Bah c'est vrai que c'est moi pratique quand même
Mais c'est surtout que si on traduis en français, on a tendance à le dire comme on peut le lire sur python soit " si x,y,z sont égaux à a " au lieu du JS ou ça va être " si x est égal à a, si y est égal à y, si z est égal à a "
Oui après c'est une question d'habitude, moi personnellement je trouve ça moins intuitif parce que if x && y ça me fait plutôt penser à est-ce que x == true et y == true et donc on pourrait croire que ta condition est if x === true && y === true && z === a alors que ce n'est pas le cas
C'est vrai
D'ailleurs comment tu ferais en python pour vérifier ça si tu veux que x et y soient true et que z soit == à 4 par exemple ?
Il y a un moyen de contourner ?
ouais mais tu check pas que x ou y soit égal à true là par exemple
tu check juste que les 2 soient égaux
mais ils peuvent être tous les 2 égal à false
C'est vrai
Il doit y avoir un truc par rapport à ça
Ou alors
Je me trompe
C'est possible
Bah non
J'aurai une question
Est-ce que le manque d'autocomplétion de certains rôles sur un serveur discord est un problème venant de eux ou du paramétrage du serveur en question ?
Salut, je suis en train d'apprendre le React.js pour avoir un site dynamique et j'avais un exercice a faire seulement voici la correction
const plantList = [
{
name: 'monstera',
category: 'classique',
id: '1ed'
},
{
name: 'ficus lyrata',
category: 'classique',
id: '2ab'
},
{
name: 'pothos argenté',
category: 'classique',
id: '3sd'
},
{
name: 'yucca',
category: 'classique',
id: '4kk'
},
{
name: 'olivier',
category: 'extérieur',
id: '5pl'
},
{
name: 'géranium',
category: 'extérieur',
id: '6uo'
},
{
name: 'basilique',
category: 'extérieur',
id: '7ie'
},
{
name: 'aloe',
category: 'plante grasse',
id: '8fp'
},
{
name: 'succulente',
category: 'plante grasse',
id: '9vn'
}
]
function Test() {
const categories:string[] = plantList.reduce(
(acc, plant) =>
acc.includes(plant.category) ? acc : acc.concat(plant.category),
[]
)
return (
<div>
<ul>
{categories.map((cat) => (
<li key={cat}>{cat}</li>
))}
</ul>
<ul>
{JeuxVideo.map((jeu) => (
<li key={jeu.id}>{jeu.name}</li>
))}
</ul>
</div>
);
}
export default Test;
seulement le (plant.category) me dit qu'il y a une erreur
never[]
J'ai chercher sur internet et le never[] veux dire qu'il sais pas si sa doit être strings ou int... mais j'ai rajouter un strings au const sa ne marche toujours pas
plantList.map pas .reduce plutôt non ?
Avec .map c'est .inclure, .catégory, .concat qui affiches une erreur
Je comprend pas ton objectif
J'essaye d'apprendre le react et l'exercice sert à comprendre l'importance du key
C'est bon le bloc ne servais à rien à part faire bug mon programme
Et toutes façons c'était du Typescript le bloc là
Salut les amis, ça veut dire quoi MISC ? Je vois ça souvent sur des templates de bot discord sur GitHub
Autres?
🤷♂️
Ça veut dire divers
quelqu'un a des bonnes docs pour la création d'un command handler (en discord.js) ?
🤔
J'ai une question aussi, comment on fix l'erreur
Binding element 'chlidren' implicitly has an 'any' type
Désoler @blissful hemlock je ne sais pas
pas grave
Salut quelqu’un sait faire des bot discord ?
voui
poses direct ta question si tu en as une
Faut typer ton élément
Jle type directement dans les paramètres ?
Tu codes en Typescript, donc tu dois typer directement dans ton code tes éléments
Bas sur mon élément quand je le survole sa me met que c'est en strings et quand je l'utilise il est plus reconnu
C'est quoi le contexte de ton code ?
J'ai créé un fichier JeuxList.tsx ou j'ai mis la liste des jeux si ils ont été aimer...
Puis je le récupérer sur un fichier JeuxItem pour lui assigner le nombre d'étoile (en svg) suivant leur chiffre assigner (en chiffre) et quand je met nom et like en paramètre il me met une erreur
😐
Et sur le CareScale sa me met la même avec les paramètres
Et quand je type avec :strings pour nom par exemple sa me renvoie encore une erreur
Là ton component n'a pas de sens pour du reactTS
type Props = {
textContent: string;
}
const Footer: React.FC<Props> = ({ textContent }) => {
return (
<div>{textContent}</div>
);
};
export default Footer;
Si tu fais du ts mais que tu déclares un component sans le typé ça n'a pas d'intérêt, le but de ts c'est de te dire quand tu fais une connerie, mais pour ça faut lui donner quelques infos quand même
Et utilise les state pour stocker tes valeurs entre les render
Je comprend plus
deja jai essayer ce que tu as dit en deffinisant le type
seulement sa le considerer pas genre je lai mis devant la fonction mais r changer
ensuite jai chercher plus sur internet
et ils disais de mettre en false le parametre no...Any, mais sa resou pas le problème sa le masque
du coup j'ai suivis le chemin que jai fait et dans mon fichier JeuxList tout les parametres sont bon
mais quand je passe sur JeuxItem il y a une erreur
et j'ai essayer d'importer le fichier JeuxList mais r change
je suis perdu
Faudrait que tu définisse un type Jeu:
export type Jeu = {
nom: string,
stars: number,
like: number
}```
Ensuite tu type ton array:
```export const JeuxVideo: Jeu[] = [{ …}]
Et pour ta fonction tu fais soit ({nom,stars,like}: Jeu) soit (data: Jeu) mais dans ce deuxième cas tu dois remplacer le contenu de ta fonction par data.nom, data.stars
Deja merci beaucoup ta reussi a regler 50% du probleme
maintenant
je ne comprend pas ce que je doit faire pour le regler
la ce ne sont pas des variable que j'ai fait
et dans le corriger de mon exercice elle a la meme que moi et pourtant jai tester elle a pas derreur
elle a pas defini elle non plus ses parametre mais na pas d'erreur
ah oui jsx != tsx
après tu peux foutre noImplicitAny dans ton ts config si tu veux pas typer tes paramètres, mais c'est pas l'idéal car dans typescript y'a type 
mdr
bah pour le coup il faut proceder de la meme manière que ce que je t'avais dis pour les Jeu, créer un type, typer ton paramètre
Je peux le faire au dessus de la fonction ?
oui dans le meme fichier si tu veux
Genre je fait
......... : strings,
...........: number
}```
ui, après tu peux l'exporter pour t'en resservir et typer la ou tu utilise ta fonction
type MachinType = {
value: number;
machinValue: 'lis' | 'la' | 'doc';
}
function machin({value, machinValue} :MachinType)
{
..........
}
Oe ok
Comment?
Je met export devant type?
est ce que tu en a besoin autre part ?
Je pense je pourrais en reavoir besoin oe
dans ce cas la oui
je peux te rajouter un truc a ton exercice ?
Evidement
type le retour de fonction
Je crois que je l'ai déjà fait sans le vouloir dans la liste des jeux
Quand j'ai typer sa a changer le export default
cest du react ?
Oui
si tu veux être plus précis tu as des type fournis par l'api react
type MachinType = {
value: number;
machinValue: 'lis' | 'la' | 'doc';
}
const SomeComponent: React.FC<MachinType> = ({value, machinValue}) => {
return (
...
)
}
la on sait que SomeComponent et un react functional component qui a en props MachinType
C quoi la différence entre mettre React.fc<machin> et ({value, machikvalue}: Machin)
lis mon dernier message plus haut
dans ton code actuelle on deduis que cest un composant react
Et avec la deuxième syntaxe sa le fait pas?
tandis que dans mon code on le sait
A ok
C pour que ce sois plus simple à lire
EN tout cas mrc pour vos deux aides sa ma beaucoup aider😁👍👍
Comment on pourrai faire pour que quand on check une check box sa face tel chose? Genre j'ai regarder avec Java c .checked mais il y a pas en react
Je sais pas trop quoi mettre du coup
En JavaScript tu veux dire j'imagine
Bas quand je fait une fonction que je fait document.getElementById(bidule) ya pas .checked
Bonjour
Problème assez simple je pense, j'aimerai récupérer de nickname d'un user qui effectue une commande..
J'ai essayé interaction.member.guild.nickname mais cela me revoie undefined
Je parle bien du nickaname et non de l'username
interaction.member.nickname
Ha bon ? je pensais que c'eait avec quild car c'est un pseudo personnalisé uniquement dans la guild en question
Member c'est l'abbreviation de GuildMember donc Membre de Guild a contrario de user qui renvoie le simple user discord
Hello, je me retrouve bloquer sans comprendre pourquoi mon code s'exécute dans un sens assez aléatoire il faut le dire. En gros, il s'éxécute toujours une première fois correctement mais lorsque je l'exécute une deuxième fois, j'obtiens l'erreur TypeError: Cannot read properties of undefined (reading 'msgid'): j'en ai déduis que le code s'exécutait dans le désordre lors de la deuxième éxécution (le fichier est dans un premier temps edit puis on revient au messages.fetch). Auriez-vous une solution à m'apporter ? J'ai essayer de bidouiller un peu dans tous les sens mais rien n'y fait.
var suggestions = JSON.parse(fs.readFileSync('./utils/suggestions.json'))
bot.channels.cache.get(config.channel_suggestion).messages.fetch(suggestions[id].msgid).then(m => {
m.delete();
})
const embedCancel = new MessageEmbed()
.setColor('#BB0B0B')
.setDescription(`:INVALID:**・Suggestion refusée !**`) // revoir mise en forme
bot.channels.cache.get(config.channel_suggestion).send({embeds: [embedCancel]}).then(async (i) => {
delete suggestions[id];
fs.writeFile('./utils/suggestions.json', JSON.stringify(suggestions, null, 4), err => {
if (err) console.log(err);
});
})
quand tu console.log suggestions sa affiche quoi?
Mon json normalement mais je vais essayer
Yep, mon json, lors de la deuxième tentative aussi avant que le bot ne crash.
ouai mais montre
je pense que sa vient de la
genre sa se trouve ta juste mal écrit un truc
Pourtant ça a toujours fonctionné, c'est pas la première que je fetch puis delete fois je trouve ça assez étonnant.
ha mais c peut-être normal aussi
tu delete des truc dans ton json mais tu en add jamais
tu a peut-être plus rien dans ton json
Utilises l’événement click
ou change comme tu préfères
Non non, il y'a toujours du contenu, c'est juste l'exécution qui foire mais je comprends pas comment régler ce petit soucis :d
Y'aurait il un moyen de forcer la lecture dans un seul et unique sens ?
Salut les copains, dans la doucmentation de discord.js il y à marquer que tu peux mettre un maximum de 5 boutons, piurtant le bot Orion il arrive à faire ça
Est ce que qqn sait comment il fait
Moi du coup 
Tu peux faire plusieurs lignes différentes avec des actions row
Personnellement je n'utilise pas les constructors mais voici un exemple
Pour des raisons de controle technique je dois vérifier le code source d'Orion silvouplait 
Non plus serieusement j'ai trouver entre temps mais j'ai oublier de le dire ici
Ah ok
euh juste par curiosité tu utilises quoi à la place ?
Du json directement
Bonjour quelqu'un pourrait me dire comment afficher le nombre de membres présent sur un serveur discord en activité du bot ?
client.guilds.cache.get("IDDUSERVEUR")?.memberCount
j'essaye sa je te remercie beaucoup ! ^^
Hey ! Je souhaites pouvoir faire en sorte de créer (Non pas send) un webhook dans un salon précis pour l'envoyer directement. https://discordjs.guide/popular-topics/webhooks.html#creating-webhooks-with-discord-js
Il faudrait que mon bot créer à chaque action un webhook pour l'envoyer afin que je puisse y mettre des boutons !
Enfaite, je souhaite ajouter des boutons au webhook. Il faut que le webhook ai été créé par le bot mais, je ne vois nul part comment le faire pour ensuite le send
Ca je sais pas si c'est possible
Je regarde
Dans ton send :
webhookClient.send({
content: 'Webhook test',
username: 'some-username',
avatarURL: 'https://i.imgur.com/AfFp7pu.png',
embeds: [embed],
});
Tu pourrais rajouter un components [] à mon avis
J'avais déjà essayer mais, ça ne fonctionne pas 
Bonjour j'aimerai que quand je fais +warn dans mon message il me dis ( maintenant il a 1 warn ) encore un +warn ( maintenant il a 2 warn etc )
Suffit de récupérer le nombre de warn dans ta base de données
Ou à l'endroit où tu stockes le tout
dans une db je fais sa
C'est quoi la db que tu utilises ?
php 🥲
fin mysql
Au moment d'envoyer le message, tu récupère le nombre de warn dans ta base et tu affiches le nombre en retour de ton bot
Ca va dépendre de la structure de ta base de données mais tu peux probablement utiliser COUNT
stv j'aimerai que sa ( var warn = 0 ) ajoute +1 à chaque fois 🙂
car si je met 0 bah en soit sa fais 0 warn
hey @cyan iron re
alors, aujourd'hui j'ai buter sur un problème, imaginons que tu as ça (c'est Orion du coup je t'en parle)
Ensuite imainons qu'il y ait l'émoji ❌ en plus, et que quand on appuie sur cet emoji le message se supprime
et bah je sais pas comment faire 😦
j'ai essayer un deleteReply mais ça marche pas
delete tout court aussi mais non plus
if (interaction.isButton()) {
if (interaction.customId === "CUSTOM_ID") {
interaction.deleteReply
}
}```
c'est ce que j'ai fais
Une erreur ?

comment je dis en js "si l'animation est en cours: blablabla" ?
Yo, webhook n'est pas défini 🙂
😂
Hello, quelqu'un de dispo pour un blocage js? je fais un actuellement un site en front dans le cadre pédagogique, j'ai tout fini mais je me retrouve à passer des heures sur des beugs incohérents.. merci
Salut, hésite pas à exposer ton problème directement plutôt que de demander si quelqu'un pourra le résoudre 🙂
Et puis on verra qui pourra t'aider
Je n’arrive pas à déclencher les fonctionnalités à partir de mes fichiers js.. pourtant ça avait bien fonctionné, tout est bien lié etc
J’ai un message d’erreur lié au CORS qui bloquerait tout, j’ai cherché ce que c’était mais en vain
Quel est ce message d'erreur ?
Je ne sais pas t'aider malheureusement là-dessus, mais quelqu'un d'autre pourra sûrement t'aider
Ok
Merci
Essaye de l’await. Je pense que tu te prend une promesse dans les dents en retour, d’où le undefined pour token
Utilise le module cors
Quelqu'un pourrait me donner des exemples de code Java
Parce que moi j'y arrive pas avec monbot
Si tu souhaites des tutos, tu as @dry stump qui a fait une mini-série dev pour dev un bot en JS trouvable a ce lien : https://www.youtube.com/watch?v=saVuaJ72btM&list=PLPabEEBAtXd3tGhqW-KIFT6hpINf3ESMx
Premier épisode d'une série visant à vous apprendre à créer un bot discord avec la dernière version de discord js (v13) sous Node JS
Ici nous allons voir les prérequis pour programmer votre bot et comment le mettre en ligne
----- Serveur partenaire -----
Game Creators Area : https://discord.gg/K3qyS4jDwc
------- Mon serveur discord ------
htt...
Mais su tu veut du pre-made open source : https://github.com/topics/discord-js-bot#:~:text=Discord.,tidier and easier to comprehend.
Java ou Javascript parce que c'est deux language différent
Merci pour ton retour, t’as la doc?
Regarde sur le site de npm et cherche cors
C'est normal~
C'est à dire ?
C'est comme ça que fonctionne la fonction eval
Ah, je ne savais pas
Je viens de le mettre dans un event messageCreate est toujours undefined
Yop
J'ai pousser un peut plus le react et japprend les router mais route ne fonctionne pas
fin
quand je vais sur / ou /Survey sa marche pas
PS: la ya pas le deuxieme <Route path='/Survey'> mais je lai fait
et genre quand je le start ya r genre page blache pourtant dans Home et Survey jai mis des titre pour test
Bonjour, je crée un bot discord relié a l'api vinted mais il me dit token invalid alors qu'il n'y en a pas seriez vous m'aider ?
Ping me
Justement, s'il te dit "Token Invalid" alors qu'il n'y en a pas, c'est parce qu'il en a besoin..
RTFM 🙂
Ya pas de documentation
Effectivement, et ça ne parle pas de clé API
Ca sent les changements en cours dans l'API Vinted 🤔
Ou bien, le "Token" dont il parle
C'est lié à une session quand tu te connectes
Bonjour, avec l'erreur complète c'est aussi bien 🙂
hein
Deux... Tu nous donne une erreur, mais elle est pas complète, y a encore du texte plus haut
AHH
...
Sur l'api vinted sur github ligne 134 de l'index.js ya le catch
Avec cette erreur
Mais jsp comment faire pour changer sa
Et le passer
Je n'ai pas utilisé l'API Vinted, qui a l'air très mal foutue et non documentée
Tout ce que je peux dire, c'est GOOD LUCK
J'ai été gost🥲
Jamais fais de React donc je ne saurai te répondre ^^
Tkt 🙂
Tes routes sont pas complets
Quelqu’un sait ce que c’est svp? Ça fait 2j j suis dessus😭
C'est à dire 'ils sont pas complet'
il a l'air pas mal ce nouveau framework
avant de regarder ya de lavancement
avec le site : https://reactrouter.com/docs/en/v6/getting-started/overview
j'ai reussi a un peux l'améliorer maintenant le Home s’affiche mais pas Survey
de ouf sa a l'air trop style
Juste pour le fait qu'il ressemble pas à Vue et Angular je l'aime déjà :3
Merci. Ils expliquent ce que c’est mais pas ce qu’il faut faire
Alors t’as mal lu
Yo j'ai un problème avec quick.db voici l'erreur
Uncaught TypeError TypeError: db.get is not a function
at <anonymous> (d:\Ce PC\Bureau\Discord\KosukeBot\index.js:278:26)
La ligne 278 qui créer l'erreur :
var y = await db.get(`allenabled_${message.guild.id}`);
Merci de m'aider ceux qui savent
Avec tout ton code ça sera plus simple de t'aider, par exemple montre la ligne ou tu crées db
var db = require('quick.db');
Regarde cet exemple https://github.com/plexidev/quick.db#example
An easy, open-source, Node.js database designed for complete beginners getting into the concept of coding. - GitHub - plexidev/quick.db: An easy, open-source, Node.js database designed for complete...
Bonjour c'est possible d'update l'activité de mon bot tout les 1 ou 5 minutes ?
actuellement il a ecrit le nombre de membres présent sur le discord comme status d'activité et j'aimerais que ce nombre s'update sans avoir besoin de toujours redemarrer le bot 😅
Il update tout seul normalement
tout les combien de temps ?
au bout d'un moment il arréte juste d'afficher son activité 😅
Déjà vu
Aucune idée
Non ça s'update pas tout seul il faut le faire toi même. Une fois que ton bot est lancé (dans ton ready) lance un intervalle de par exemple 5 minutes, et dans cet intervalle tu update l'activité du bot
bah tout est marqué, toi tu importes le module et tu veux directement get, avant il faut créer ta bdd
je met un event updateActivity avec un timeout de 5min ? je pourrait pas juste faire une boucle qui ce repete tout le temps ?
pourquoi un event ? non dans ton ready tu mets
setInterval(() => { client.user.setActivity(`${guild.memberCount} membres.`) }, 1000 * 60 * 5 )
Hello, prend l'habitude de plutôt faire une cron plutôt qu'un setTimeout pour des trucs permanents dans ce style
C'est quoi ? 🤔
Comme une tâche planifiée pour windows par exemple
comme cela ?
module.exports = {
name: 'ready',
once: true,
execute(bot){
console.log("Bot en ligne : ✔️");
setInterval(() => { client.user.setActivity({ activities: [{ name: `${bot.guilds.cache.get("945989311210323978")?.memberCount} membres`, type: "WATCHING"}}, 1000 * 60 * 5 )
}
}
Reste à gérer les cas d'erreurs et l'async
il te manque des parenthèses & crochet
aie je vais regarder ^^
setInterval(() => { client.user.setActivity({ activities: [{ name: `${bot.guilds.cache.get("945989311210323978")?.memberCount} membres`, type: "WATCHING"}]})}, 1000 * 60 * 5 )
``` Il n'en manque plu ? 😅
Ton IDE est censé te le dire...
je vais essayer
C'est pas le loto hein x)
oui je sais mdrr mais c'est le coup de l'async je savais pas trop ou le mettre xd
ya pas d'erreur mais ya pas d'activité non plu xd
Je vois pas de gestion de l'async dans ton code là
async avant d'xecute et await dans la fonction ? 😅
je m'en sort jamais avec les async et les await xd
Si au moins une de tes fonctions enfants est une fonction a await, alors la fonction parente est async, toujours en pair async/await
oui mais a chaque fois await me dit que ya pas d'effet cette fonction 😅
la tu as pas besoins de async/await si tu veux pas attendre le résultat de la fonction
Bah faut pas await n'importe quoi non plus aha
et c'est normal que ca affiche rien au début car un setInverval commence que après le temps qui lui est donné donc quand tu lances le programme ca attend 5 mins avant de lancer la boucle
ahhh d'accord merci beaucoup !
