#javascript-typescript

1 messages · Page 110 of 1

iron elm
#

Yo dite moi vous savez pourquoi mon formulaire de contact fonctionne sur firefox mes pas sur chrôme ?
Je les fait en html /JS
Enfaite ces les condition qui ne fonctionne pas . (Le JS )
Mes ces la premiere que sa m'arrive ce genre d'incident la x))

#

Le code est bon je pense pas que se soit le soucis ..

#

(Fin je pense)

normal lichen
#

montre tes condition

vernal sluice
#

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 ?
normal lichen
#

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])
past nimbus
#

Suffit de l'await donc

normal lichen
#

en console oui

#

le resultat est un tableau vide

past nimbus
#

Du coup c'est un soucis d'async/await

normal lichen
#

ah oui, je le met apres le = est ce bien cela ? 😅

#

le await mais le async je sais pas 😅

past nimbus
#

console.log(dbPrefix) et montre le résultat stp

normal lichen
#

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 😅

past nimbus
#

par exemple

normal lichen
#

je vais essayer merci ^^

#

mais sa me dit que await na aucun effet sur ce type d'expressions ^^

past nimbus
#

Tu utilises quelle lib ?

#

pour ta db

normal lichen
#

mysql ^^

#

je vais passer a mariadb je pense ^^

past nimbus
#

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

normal lichen
#

je vais voir pour passer a mariaDB mais j'ai pas trouver comment 😅

past nimbus
#

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

normal lichen
#

npm i mysql2 ?

past nimbus
#

Yes

normal lichen
#

des modif a faire sur ma connexion ou autre ? ^^

#

ceci const mysql = require('mysql') devient ceci const mysql = require('mysql2') ?

past nimbus
#

Yes
Et non je pense pas de modifie hormis le async/await

normal lichen
#

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 😅

past nimbus
#

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

normal lichen
#

parce que j'utilise un async dans mon prefix.js et ping.js qui sont 2 commandes 😅

#

je vais me renseigner merci

past nimbus
#

Tu vas vite comprendre, c'est important mais pas compliqué

normal lichen
#

Merci je vais arréter pour aujourd'hui j'y regarderais demain 😅

vernal sluice
#

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 ?
sullen kelp
#

Tu fais une condition si la réponse est 1 alors tu envoies "⭐" si 2 alors "⭐⭐",ect..

oak turret
#

non pas forcément

#

tu peux en fonction de la valeur faire un .= pour convertir la valeur en emoji

hazy mirage
#
const starN = 4
const star = "⭐️"

console.log(star.repeat(starN))```
oak turret
#

aussi

hazy mirage
oak turret
#

yes, je rentre je te montre

#

mais l’idée c’est une boucle qui convertis i par des stars, mais repeat est mieux

vernal sluice
oak turret
#

ça renvoie 4 étoiles

oak turret
#

et c'était pas .=, c'est en php .=

hazy mirage
oak turret
#

me suis trompé kappa

vernal sluice
brittle orbit
#

salut ! j'ai un petit problème que j'arrive pas à résoudre vous-pouvez m'aider svp

ashen rapids
#

C'est laquellle ta ligne 14 ?

#

Ok c'est l'écoute de ton event

#

L'erreur parle d'elle même :

#

message.on()

brittle orbit
#

🥴

ashen rapids
#

Tu t'es pas trompé sur ton client ?

brittle orbit
#

j'ai mis client.on c'est bon mais le menu de sélection de ne mais pas sur mon discord

ashen rapids
#

C'est déjà mieux

#

T'as plus de détails ? 😇

brittle orbit
#

non

ashen rapids
#

Tu peux débug ton code

brittle orbit
#

c'est bon j'ai trouver xD bongoTap

brittle orbit
#

comment je fais pour placer un autres Holder

ashen rapids
#

Regarde la doc 😇

cyan iron
brittle orbit
ashen rapids
#

T'es sûr ? 😄

cyan iron
ashen rapids
#

J'ai compris qu'il voulait remplacer le placeholder actuel

#

Mais peut-être mal compris

cyan iron
#

Dans ton new action row tu peux add components
Et tu sépare simplement par une virgule

new MessageSelectMenu()
       .blah(),
new MessageSelectMenu()
       .blahblah()
brittle orbit
brittle orbit
#

j'ai deja ca moi

ashen rapids
#

Tu peux ajouter plusieurs components à ton row

brittle orbit
#

je vois pas ou je dois le rajouter

#

sa me mais des erreur

cyan iron
#

ça me met des erreurs*

ashen rapids
#

Quand tu send le message, tu as une propriété components qui prend un tableau de components

brittle orbit
floral walrus
#

Comment on fais un générateur de code nitro bot discord js ?

#

Me ping

cyan iron
#

Tu le fais pas KaPOP

floral walrus
#

Mdr

past nimbus
#

😐

torn fog
#

Comment on fait de l'argent ?.

#

Me ping svp

normal lichen
#

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

past nimbus
#

Fetch la catégorie t'as essayé ?

normal lichen
#

nop je vais essayer merci

unborn knot
#

tu buy

floral walrus
#

Msr

#

Non mais c'est pour des potes

unborn knot
#

😂

normal lichen
#

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 ?

frank sparrow
normal lichen
#

je vais essayer

#

sa me met encore guild is not defined

past nimbus
#

Bah tu le passe pas en params :x

normal lichen
#

oui je m'en suis rendu compte apres xd

#

desoler mdrrr, je l'avais mit en deuxieme et j'ai pas fait gaffe xd

fickle narwhal
#

Hello, quelqu'un pourrait m'aider à faire une intégration sur mon app web ?

misty parcel
#

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

#

😄

desert riverBOT
#

Documentation suggestion for @misty parcel:
:method: TextChannel#send()
Sends a message to this channel.

fading glacier
#

Et voilà

#

donc dans l'event

#

tu récupères le salon avec son identifiant

honest maple
#

xd

#

trop bien le bot djs docs kappo2

mystic basalt
#

Salut quelqu'un si connais en three js ?

exotic spoke
#

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 :

neat lintel
#

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

exotic spoke
#

Je vois

#

Parce que ma commande en gros c'est
/blâme (user) (motif)

exotic spoke
neat lintel
#

oui mais a partir de cet id faut récupérer le member

#

je te conseil de le fetch via <Guild>.members.fetch(<id>)

exotic spoke
#

Ok je vais essayer

exotic spoke
neat lintel
#

Oui faut remplacer par la vraie variable

#

le code qui est entre <> tu dois le changer

worn garnet
exotic spoke
#

Elle est déclarée dans mon index

neat lintel
#

passes par interaction.guild

exotic spoke
neat lintel
#

Fais voir le nouveau code

exotic spoke
neat lintel
#

Il manque un await

#

Fetch est asynchrone

exotic spoke
neat lintel
#

Non au dessus

#

C'est fetch que on doit attendre

exotic spoke
# neat lintel Non au dessus

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é ..

neat lintel
#

La ligne avec la fonction fetch tu mets le await apres le =

exotic spoke
vernal sluice
#

Le je comprend pas ...
Comment puis-je faire ?

neat lintel
#

Tu as pas définis member

#

Si tu veux l'auteur du message ça sera message.member

vernal sluice
#

Maintenant il m'affiche channel ...

#

A c'est bon

#

Il correspond a quoi exactement le if (!channel) return;

old palm
#

salut les gars j'aimerai savoir comment on fait un système de On / off en JS merci a vous bonne soiréé ^^

carmine light
carmine light
old palm
#

Par exemple sur un anti spam ou un anti bot fin bref tu m'a compris un système de On /Off ^^

vernal sluice
carmine light
#

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

old palm
carmine light
#

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 ?

old palm
carmine light
#

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

mystic basalt
carmine light
#

tu l'as importé avec quoi ? Filament ?

mystic basalt
#

?

carmine light
#

oui

mystic basalt
#

le modules GLTFLoader

carmine light
#

ça me dit rien pour le coup, y a rien dans la doc ?

mystic basalt
#

rien sur les background

#

sur le serv discord three js ils mon envoyer de la doc

vernal sluice
carmine light
vernal sluice
#

Ok prcq mon script plante avec

#

Il me dit que Channel n'est pas définie

carmine light
#

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

vernal sluice
#

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

worn garnet
#

sinon pas compris deso

exotic spoke
#

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 ?

exotic spoke
exotic spoke
brittle orbit
#

quelqu'un pour m'aider ?

exotic spoke
#

Pour ?

brittle orbit
exotic spoke
keen narwhal
#

Salut , j'ai un petit problème avec mon bot discord , lors de l'envoie d'une commande du bot , cela ce passe :

frank sparrow
#

le message ne contient rien

keen narwhal
#

code en question :

autumn glacier
keen narwhal
#

merci @autumn glacier

#

sa me fait sa maintenant

woven cosmos
#

Comment on met une size a une balise select tout en gardant l'effet de barre déroulente

idle tide
#

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

keen narwhal
#

@idle tide possible de m'envoyer ton event pour le messageCreate ?

idle tide
#

je m'y connais pas trop mdrr désolé

keen narwhal
idle tide
idle tide
# keen narwhal ton messageCreate
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));```
keen narwhal
idle tide
keen narwhal
#

tu use quickdb pour la bdd ?

idle tide
#

xampp

keen narwhal
#

mais ton module npm c'est bien quickdb ?

idle tide
harsh hamlet
#

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.

glass cargo
harsh hamlet
idle tide
keen narwhal
#

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.

red torrent
clever goblet
#

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

misty parcel
#

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

normal lichen
#

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 ? 😅

red torrent
#

ajax n'est pas une libraire

violet knot
#

a moins que sa soit volontaire

red torrent
misty parcel
#

ho merci les copains ça marche maintenant

normal lichen
#

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 ? 😅

exotic spoke
#

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ù

keen narwhal
#

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 )

cosmic plaza
#

Qui peut m'aider, sa ne veut pas m'ajouter mais rôle svp

normal lichen
#

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 😅

pallid plume
#

Code?

sullen kelp
#

Parceque je zzom et c'est dégueulasse x)

fading glacier
#

là tu as juste besoin de mettre les deux lignes qui sont dans ta fonction runInteraction

sullen kelp
#
interaction.member.roles.add("id du roles")```
fading glacier
#

oui, pourquoi tu veux mettre un module.exports?

fading glacier
sullen kelp
#

Bah non, il add juste la valeur de l'interaction

fading glacier
#

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

sullen kelp
#

Possible, j'arrive pas à zoom sur son screen

fading glacier
sullen kelp
#

ah oui x)

keen narwhal
#

svp qui peux maider jsp c la combientieme fois mais comment on connecte notre bot les conseil marche pas les tuto pareil

glass cargo
#

Ça serait déjà pas mal pour t’aider 😅

torn sun
vernal sluice
#

Bonjour est ce possible de donner a un bouton une ligne permettant d'ajouter un rôle a un membre du serveur ?

keen narwhal
#

Oui

vernal sluice
#

Car je n'arrive pas à l'implémenter dedans

keen narwhal
#

Bonne question

#

Pour le coup je ne saurais pas t’aider

vernal sluice
jovial lion
vernal sluice
#

Okay merci j'essaie sa demain soir

vernal sluice
jovial lion
#

Bah enfaite quand tu fais ton bouton tu set un customId

vernal sluice
#

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 ?

wintry garden
#

Bonjour, une personne pourrais me dire pourquoi j'ai cette erreur ?

autumn glacier
wintry garden
#

Je dois tous activé ?

autumn glacier
#

Pas forcément

#

Tu as besoin de quoi ?

wintry garden
#

Message, sup message

autumn glacier
#

Active que le Message intent alors

wintry garden
#

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é ?

autumn glacier
#

Donc tu n'as pas besoin d'avoir le reste

#

Active juste le Message et tu pourras facilement envoyer/recevoir des messages

wintry garden
#

Ici j'ai que ca activé

#

ET le bot perm

autumn glacier
#

scroll un peu

#

et normalement t'as les 3 trucs désactivés par défaut

wintry garden
#

Le message content ?

autumn glacier
#

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()

wintry garden
#

new Client() ?

#

Tu serais disponible vocal ?

autumn glacier
#

Nop

wintry garden
#

Je eux te donné le code en mp pour que tu regarde ?

autumn glacier
#

vasy

wintry garden
#

Une personne serais me dire pourquoi ma commande ne fonctionne pas

client.on('messageCreate', msg => { if (msg.content == "/genCode") genCode(); });

lone flax
#

Parce que c'est pas comme ça qu'on fait des slash commands

wintry garden
lone flax
#

Tu peux te referrer à la documentation de Discord

wintry garden
#

j'arrive pas

#

Une personne connais un hébergeur js qui est bien ?

keen narwhal
#

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é

torn sun
#

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

torn sun
#

svp

keen narwhal
#

T’a un message d’erreur ?

torn sun
#

nn mais ya pas ecri bot opérationnel

#

@keen narwhal

keen narwhal
#

Bizarre

torn sun
#

jsp pk

keen narwhal
#

Moi non plus

copper pagoda
keen narwhal
#

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

past nimbus
#

Je fais des free pterodactyl oui
Je connais un hosting de free vps ?

keen narwhal
#

C'est ce que dis ton status en tout cas ^^

wintry garden
#

Ok

#

Ici je vais fini le vps que j'ai acheté puis je regarderais vis proposition

past nimbus
keen narwhal
#

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

past nimbus
#

Okok !

exotic spoke
#

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

oak turret
#

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

wintry garden
#

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

torn sun
#

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");

ancient sonnetBOT
#
❓ Obtenir de l'aide

Tu as besoin d'informations ? Tu es au bon endroit !
Consulte la liste des sujets pour en savoir plus sur Creators Area.

💻 Comment on envoie du code ? 💻

Pour envoyer du code sur Discord c'est très simple !
||Il vous faut d'abord du code... Et deux cubes de Kubor ! bongoTap||

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.*
keen narwhal
#

@torn sun Envoie ton code comme le dis le help stp

#

Et il nous faudra l'erreur si il y en a une éventuellement

ancient sonnetBOT
#
❓ Obtenir de l'aide

Tu as besoin d'informations ? Tu es au bon endroit !
Consulte la liste des sujets pour en savoir plus sur Creators Area.

💻 Comment on envoie du code ? 💻

Pour envoyer du code sur Discord c'est très simple !
||Il vous faut d'abord du code... Et deux cubes de Kubor ! bongoTap||

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
#
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

keen narwhal
#

J'étais occupé au taff deso

queen ocean
#

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 ?

hybrid elk
#

@keen narwhal J'ai besoin d'aide avec mon bot || KaPOP ||

hybrid elk
#

Merci

keen narwhal
#

Tu paye pour que je t’aide ? No

#

@hybrid elk

hybrid elk
#

Oui

keen narwhal
#

Envoie

#

Et je t’aide après

#

Je fais pas ça bénévolement mdr

dry stump
#

@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

versed thicket
#

Bonjour je cherche un dev mods mcp qui a pas de projet pour le moment me mp urgent

honest maple
#

yoo

keen narwhal
#

non

honest maple
#

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 ?

past nimbus
#

"obstruer" ?

honest maple
past nimbus
#

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

sharp grail
#

Niveau performance ça change rien l'obfuscation?

timid loom
# sharp grail 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)

sharp grail
#

Ouais je vois, après manifestement si tu arrives a un degrés assez élevé les performances sont reduites

timid loom
#

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à

torn sun
exotic spoke
#

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

torn fog
#

Et ensuite t'a const qui contient ton require devient un objet qui contient le json

#

const json = require('./fichier.json')

exotic spoke
#

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

torn fog
#

Bah non vu que tu ne peux pas mettre de code dans le json

#

À part des informations par exemple des id

sullen kelp
exotic spoke
exotic spoke
sullen kelp
#

euh jamais essayé mais normalement oui

exotic spoke
#

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 ?

ocean bluff
#

Inferieur à la place dans les roles

exotic spoke
#

Je cherche à savoir si
ModoRole < AdminRole

#

Mais en jouant avec les id ça marche pas

ocean bluff
#

Très simple !

#

Il ne faut pas jouer avec les id, tu compares le nombre des id pas la place.

exotic spoke
exotic spoke
ocean bluff
exotic spoke
#

Hein ?

exotic spoke
ocean bluff
#

alors le system est un peu modifié, faudra juste un peu modifié.

exotic spoke
#

Oui j'ai trouvé et modifié ça fonctionne merci bien en tout cas ! 😆

normal lichen
#

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 ? 😅

past nimbus
#

Jamais une table pas serveur
Tu casses l'utilité du SQL sinon

timid loom
#

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

keen narwhal
#

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 :

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...

▶ Play video
#

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

misty parcel
#

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

normal lichen
#

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 😅
modern skiff
normal lichen
#

Comment puis-je conditionner "si le membre a le role[...] alors , Comment puis je faire s'il vous plait ?

lone flax
#

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

normal lichen
#

je doit passer par un tableau avec les roles du coup ?

lone flax
#

C’est déjà un tableau

normal lichen
#

comme c'est lors de l'envoie d'unecommande !annonce ^^

#

d'accord juste message.member.roles.has ?

lone flax
#

Yes

normal lichen
#

je vais essayer merci j'avais essayer mais sa me disait que c'etait pas une fonction 😅

lone flax
#

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

normal lichen
#

tqt merci de ton aide ^^

#

je vais essayer cela

thick gate
#

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

desert riverBOT
glass cargo
#

@thick gate

thick gate
#

j'ai pas ocmrpsi

#

compris

red torrent
exotic spoke
#

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 :

sharp grail
#

mmh

#

c'est quoi la structure de ta table

exotic spoke
#

Il fallait que ce soit en Null et de base, la valeur par défaut est AUCUNE

sharp grail
#

C'est l'erreur x)

exotic spoke
viscid kiln
#

Salut je suis à la recherche d'un développeur discord.js

exotic spoke
#

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}'))

glass cargo
exotic spoke
#
      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)"
}```
sharp grail
#

Heu

#

Et ta requête exacte ?

exotic spoke
sharp grail
#
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à ?

exotic spoke
#

oui

sharp grail
#

bah

#

c'est logique

sharp grail
#

ah nan

#

pardon

#

hmmm

sharp grail
sharp grail
#

je t'avoue je peux pas voir les lignes~

sharp grail
#
sql request
exotic spoke
#
connection.query(`INSERT INTO Effectifs (employeId) VALUES ('${userid}')`)
sharp grail
#

jcomprends mieux x)

exotic spoke
#

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

sharp grail
#

mmh

exotic spoke
# sharp grail 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

sharp grail
#

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 😅

exotic spoke
#

Je vais essayer de faire ça à partir de plusieurs requêtes au pire

lone flax
#

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

exotic spoke
#

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

sharp grail
exotic spoke
sharp grail
#

c'est la key x)

exotic spoke
#

Je sens que dans trois minutes je vais être plomber à nouveau quand je vais test un truc

sharp grail
#

pas de soucis ahah 👀

exotic spoke
#

Séparément

#

Donc si j'ai 5 colonnes, je dois fais 5 requêtes différentes ?

sharp grail
#

sum séparément?

normal lichen
#

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);
            }
        });
    }
}
past nimbus
#

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

normal lichen
#

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')

past nimbus
#

Tu ne passes pas les bons args

normal lichen
#

je doit passer lesquel ?

past nimbus
#

Bah là, l'erreur te dis que member n'est pas définit par exemple

normal lichen
#

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

past nimbus
#

my bad j'avais pas vu le second send
bot.channels.cache.get(channel)

normal lichen
#

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 ? ^^

past nimbus
#

Il trouve jsute pas ton chanel dans le cache donc il faut le fetch

normal lichen
#

je vais essayer mais fetch ma dit que cette methode n'exister pas ^^

past nimbus
#

bot.channels.fetch

normal lichen
#

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 ?^^

past nimbus
#

J'ai pas compris x)

normal lichen
#

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 ^^

past nimbus
#

Bah non c'est une variable, "" sert à déclarer une chaine de caractères

normal lichen
#

d'accord merci j'avais un doute x)

#

parceque il me met sa avec fetch ^^
bot.channels.fetch(...).send is not a function

past nimbus
#

Il faut l'await

exotic spoke
#

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 ?

exotic spoke
exotic spoke
#

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 ?

keen narwhal
#
<interaction>.reply({
   embeds: [embed]
}).then((x) => setTimeout(() => x.delete(), 5000)); // 5000 = 5 secondes en ms
#

@exotic spoke

blissful hemlock
#

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 ?

keen narwhal
#

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

blissful hemlock
#

d'acc, merci

exotic spoke
#

Car le message doit rester jusqu'à ce que le bouton soit pressé

keen narwhal
#

Ah mb j’avais mal compris

exotic spoke
blissful hemlock
exotic spoke
keen narwhal
#

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 😉

exotic spoke
#

Surtout si tu fais comme moi c'est à dire relire ton code après une nuit blanche xD

exotic spoke
blissful hemlock
#

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

keen narwhal
#

sutout qu’on est sur la 13.7 ou 8

exotic spoke
#

Pas forcément stv je peux te donner le mien

#

Je suis en v13 justement

keen narwhal
#

Pas bien de copier coller, préfèrez les documentations c’est les meilleurs amis des développeurs

exotic spoke
#

Je propose juste pour un gain de temps ^^

keen narwhal
#

il va plus en perdre qu’autre chose crois-moi

#

car il va essayer de comprendre un code qui n’a pas produit

blissful hemlock
#

🤔

keen narwhal
#

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

blissful hemlock
#

👌

exotic spoke
keen narwhal
#

isButton c’est une fonction pour commencer

exotic spoke
#

Oui j'ai oublié de les écrire

#

Je suis. Sur tel

#

Je dois tout écrire à la main car discord sur mon pc bug

keen narwhal
#

Qu’est-ce que tu log dans la console pour obtenir toute les données ?

exotic spoke
#

Rien pour le moment

keen narwhal
#

C’est une question lol

#

Je connais la réponse juste a toi de trouver

exotic spoke
#

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

keen narwhal
#

Oui mais un event sert à sa, recevoir des informations lors d’une action/événement

#

Bon, tu dois log interaction -> console.log(interaction)

exotic spoke
#

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 ?

keen narwhal
#

À 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.

keen narwhal
sharp grail
keen narwhal
#

je suis resté bloqué sur mon idée d’avant mais oui effectivement cela pourrait fonctionner

exotic spoke
keen narwhal
#

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

exotic spoke
keen narwhal
#

Bah non?

sharp grail
#

?

#

En fait

exotic spoke
#

Ha non effectivement
Mais
Pourtant j'avais essayé là tout à l'heure et ça m'avait mit un undefined

#

Je suis confus xD

keen narwhal
#

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

exotic spoke
#

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é

keen narwhal
#

Tu as dû te tromper quelque part

exotic spoke
#

J'ai commencé il y a deux semaines le js et j'ai l'impression de pas savoir des trucs tout cons comme ça :/

keen narwhal
#

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

exotic spoke
#

Oui
En soit
Comment dire

#

Avant js

keen narwhal
#

voilà un cours si tu veux

exotic spoke
#

Je faisais juste du..
Python

sharp grail
exotic spoke
#

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 ?

sharp grail
exotic spoke
#

Oui c'est pour ça que je dis que c'est pas un petit projet x)

sharp grail
exotic spoke
#

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 "

sharp grail
exotic spoke
#

Ho euh
J'aurai une autre question sur le bouton

exotic spoke
sharp grail
exotic spoke
# sharp grail 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

sharp grail
#

deferUpdate()

desert riverBOT
exotic spoke
#

Defer ?
C'est utilisé pour plein d'autre cas aussi non ?

sharp grail
#

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

exotic spoke
#

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 ?

sharp grail
#

Oui bien sur

#

en fait la limite de 14 jour c'est uniquement pour le bulk delete

exotic spoke
#

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é ^^

exotic spoke
# sharp grail Oui bien sur

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

sharp grail
#

mmh

#

c'est pas possible d'utiliser await plutot que des callback ?

#

car c'est vraiment illisble

exotic spoke
#

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

lone flax
#

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 🙂

exotic spoke
#

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 "

lone flax
#

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

exotic spoke
#

C'est vrai

lone flax
#

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 ?

exotic spoke
#

Bah du coup tu fais

If x == y AND ( ou && ) z == 4

#

Il me semble

lone flax
#

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

exotic spoke
#

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 ?

neon lily
#

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

past nimbus
#

plantList.map pas .reduce plutôt non ?

neon lily
#

Avec .map c'est .inclure, .catégory, .concat qui affiches une erreur

past nimbus
#

Je comprend pas ton objectif

neon lily
#

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

torn fog
#

Et toutes façons c'était du Typescript le bloc là

misty parcel
#

Salut les amis, ça veut dire quoi MISC ? Je vois ça souvent sur des templates de bot discord sur GitHub

torn fog
#

Autres?

misty parcel
#

🤷‍♂️

torn fog
#

Ça veut dire divers

misty parcel
#

ah okok

#

merci : )

blissful hemlock
#

quelqu'un a des bonnes docs pour la création d'un command handler (en discord.js) ?

#

🤔

neon lily
#

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

blissful hemlock
#

pas grave

keen narwhal
#

Salut quelqu’un sait faire des bot discord ?

past nimbus
#

voui

neat lintel
#

poses direct ta question si tu en as une

ashen rapids
neon lily
ashen rapids
neon lily
ashen rapids
#

C'est quoi le contexte de ton code ?

neon lily
#

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

past nimbus
#

😐

neon lily
#

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

past nimbus
#

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

neon lily
#

Ok je vais tester

#

Merci

past nimbus
#

Et utilise les state pour stocker tes valeurs entre les render

neon lily
#

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

languid goblet
# neon lily
function JeuxItem({nom: string, starts: number, like: number}) {

}
neon lily
#

oue c ce que jai fait mais att jvais te montrer

hazy mirage
# neon lily

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

neon lily
#

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

cyan kernel
# neon lily

tu est sur que le corriger est en Typescript??

neon lily
#

Je vais voir mais normalement oui

#

Es ce que jnx est qq chose Côme typescript?

cyan kernel
#

jsx = js

#

donc normale qu'elle a pas d'erreur

neon lily
#

Ok

#

Comprend mieux

hazy mirage
#

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 kappa

neon lily
#

Bas c surtout que sa ne résoud pas le probleme😅

#

Bas je vais le recrée un jsx alors

cyan kernel
hazy mirage
#

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

cyan kernel
#

juste type des parametre de function

#

et tes ok

neon lily
#

Je peux le faire au dessus de la fonction ?

hazy mirage
#

oui dans le meme fichier si tu veux

neon lily
#

Genre je fait

             ......... : strings,
             ...........: number
}```
hazy mirage
#

ui, après tu peux l'exporter pour t'en resservir et typer la ou tu utilise ta fonction

cyan kernel
#
type MachinType = {
value: number;
machinValue: 'lis' | 'la' | 'doc';
}

function machin({value, machinValue} :MachinType)
{
..........
}
neon lily
#

Oe ok

neon lily
#

Je met export devant type?

cyan kernel
#

est ce que tu en a besoin autre part ?

neon lily
#

Je pense je pourrais en reavoir besoin oe

cyan kernel
#

dans ce cas la oui

cyan kernel
neon lily
#

Evidement

cyan kernel
neon lily
#

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

neon lily
#

Oui

cyan kernel
#

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

neon lily
#

C quoi la différence entre mettre React.fc<machin> et ({value, machikvalue}: Machin)

cyan kernel
cyan kernel
neon lily
#

Et avec la deuxième syntaxe sa le fait pas?

cyan kernel
#

tandis que dans mon code on le sait

neon lily
#

A ok

#

C pour que ce sois plus simple à lire

#

EN tout cas mrc pour vos deux aides sa ma beaucoup aider😁👍👍

neon lily
#

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

past nimbus
#

En JavaScript tu veux dire j'imagine

neon lily
#

Bas quand je fait une fonction que je fait document.getElementById(bidule) ya pas .checked

exotic spoke
#

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

exotic spoke
#

Ha bon ? je pensais que c'eait avec quild car c'est un pseudo personnalisé uniquement dans la guild en question

hazy mirage
keen narwhal
#

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);
    });
})
languid goblet
keen narwhal
#

Mon json normalement mais je vais essayer

#

Yep, mon json, lors de la deuxième tentative aussi avant que le bot ne crash.

languid goblet
#

ouai mais montre

#

je pense que sa vient de la

#

genre sa se trouve ta juste mal écrit un truc

keen narwhal
#

Pourtant ça a toujours fonctionné, c'est pas la première que je fetch puis delete fois je trouve ça assez étonnant.

languid goblet
#

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

lapis onyx
#

ou change comme tu préfères

keen narwhal
keen narwhal
#

Y'aurait il un moyen de forcer la lecture dans un seul et unique sens ?

misty parcel
#

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

cyan iron
#

Personnellement je n'utilise pas les constructors mais voici un exemple

misty parcel
#

Non plus serieusement j'ai trouver entre temps mais j'ai oublier de le dire ici

cyan iron
#

Ah ok

misty parcel
cyan iron
#

Du json directement

misty parcel
#

ok

#

interessant

#

Roro te remercie

normal lichen
#

Bonjour quelqu'un pourrait me dire comment afficher le nombre de membres présent sur un serveur discord en activité du bot ?

glass cargo
normal lichen
civic fractal
#

Il faudrait que mon bot créer à chaque action un webhook pour l'envoyer afin que je puisse y mettre des boutons !

ashen rapids
#

Qu'est ce que tu as pas compris ?

#

Tu dois créer un webhook à partir d'un channel

civic fractal
ashen rapids
#

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

civic fractal
keen narwhal
#

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 )

ashen rapids
#

Ou à l'endroit où tu stockes le tout

keen narwhal
ashen rapids
#

C'est quoi la db que tu utilises ?

keen narwhal
ashen rapids
#

C'est pas une db php

#

C'est un langage de prog

keen narwhal
#

fin mysql

ashen rapids
#

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

keen narwhal
#

mhhh

#

merci !

keen narwhal
#

car si je met 0 bah en soit sa fais 0 warn

misty parcel
#

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

civic fractal
#
if (interaction.isButton()) {
      if (interaction.customId === "CUSTOM_ID") {
        interaction.deleteReply
    }
}```
misty parcel
#

c'est ce que j'ai fais

civic fractal
misty parcel
#

oui

#

attends

#

ah mais le probleme vient de mon handler en faire

civic fractal
woven cosmos
#

comment je dis en js "si l'animation est en cours: blablabla" ?

civic fractal
#

Animation ?

#
if (tontrucanimation) {
// blablabla
}
woven cosmos
#

animation css

civic fractal
#

Je te met ça ici Wailrone

cyan iron
#

Yo, webhook n'est pas défini 🙂

civic fractal
fathom cradle
#

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

lone flax
#

Et puis on verra qui pourra t'aider

fathom cradle
#

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

lone flax
#

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

idle ice
# civic fractal 😂

Essaye de l’await. Je pense que tu te prend une promesse dans les dents en retour, d’où le undefined pour token

elder quartz
#

Quelqu'un pourrait me donner des exemples de code Java

#

Parce que moi j'y arrive pas avec monbot

keen narwhal
# elder quartz Quelqu'un pourrait me donner des exemples de code Java

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...

▶ Play video
pallid plume
fathom cradle
torn fog
sharp grail
civic fractal
sharp grail
#

C'est comme ça que fonctionne la fonction eval

civic fractal
#

Ah, je ne savais pas

#

Je viens de le mettre dans un event messageCreate est toujours undefined

neon lily
#

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

wintry hamlet
#

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

idle ice
wintry hamlet
#

Mais je sais pas ou

#

Ni quoi

#

Ni comment

idle ice
#

RTFM 🙂

wintry hamlet
#

Ya pas de documentation

idle ice
#

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

mystic thistle
#

?

idle ice
mystic thistle
#

hein

idle ice
#

Deux... Tu nous donne une erreur, mais elle est pas complète, y a encore du texte plus haut

mystic thistle
#

AHH

idle ice
#

...

wintry hamlet
#

Avec cette erreur

#

Mais jsp comment faire pour changer sa

#

Et le passer

idle ice
#

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

wintry hamlet
#

Merci mdr

#

Oui ya pas de documentation

neon lily
#

J'ai été gost🥲

idle ice
neon lily
#

Tkt 🙂

fathom cradle
#

Quelqu’un sait ce que c’est svp? Ça fait 2j j suis dessus😭

neon lily
left forum
#

il a l'air pas mal ce nouveau framework

neon lily
#

avant de regarder ya de lavancement

neon lily
past nimbus
#

Juste pour le fait qu'il ressemble pas à Vue et Angular je l'aime déjà :3

lapis onyx
fathom cradle
lapis onyx
#

Alors t’as mal lu

fathom cradle
#

si si..

#

j'ai bien lu.

rugged cosmos
#

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

fading glacier
#

Avec tout ton code ça sera plus simple de t'aider, par exemple montre la ligne ou tu crées db

rugged cosmos
#
var db = require('quick.db');
fading glacier
normal lichen
#

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 😅

civic fractal
#

Il update tout seul normalement

normal lichen
#

tout les combien de temps ?

#

au bout d'un moment il arréte juste d'afficher son activité 😅

civic fractal
fading glacier
#

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

fading glacier
# rugged cosmos Déjà vu

bah tout est marqué, toi tu importes le module et tu veux directement get, avant il faut créer ta bdd

normal lichen
#

je met un event updateActivity avec un timeout de 5min ? je pourrait pas juste faire une boucle qui ce repete tout le temps ?

fading glacier
#

pourquoi un event ? non dans ton ready tu mets

setInterval(() => { client.user.setActivity(`${guild.memberCount} membres.`) }, 1000 * 60 * 5 )
past nimbus
#

Hello, prend l'habitude de plutôt faire une cron plutôt qu'un setTimeout pour des trucs permanents dans ce style

past nimbus
#

Comme une tâche planifiée pour windows par exemple

normal lichen
#

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 )
    }
}
past nimbus
#

Reste à gérer les cas d'erreurs et l'async

fading glacier
#

il te manque des parenthèses & crochet

normal lichen
#

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 ? 😅
past nimbus
#

Ton IDE est censé te le dire...

normal lichen
#

je vais essayer

past nimbus
#

C'est pas le loto hein x)

normal lichen
#

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

past nimbus
#

Je vois pas de gestion de l'async dans ton code là

normal lichen
#

async avant d'xecute et await dans la fonction ? 😅

#

je m'en sort jamais avec les async et les await xd

past nimbus
#

Si au moins une de tes fonctions enfants est une fonction a await, alors la fonction parente est async, toujours en pair async/await

normal lichen
#

oui mais a chaque fois await me dit que ya pas d'effet cette fonction 😅

neat lintel
#

la tu as pas besoins de async/await si tu veux pas attendre le résultat de la fonction

past nimbus
#

Bah faut pas await n'importe quoi non plus aha

neat lintel
#

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

normal lichen
#

ahhh d'accord merci beaucoup !