#javascript-typescript
1 messages · Page 101 of 1
Le concaténation n'est pas bien dans une requête SQL mais bon
oui la table est la bonne
La quoi ? @past nimbus
type de ta colonne qui est pas bon
la concatenation ne pose aucun probleme, j'en met toujour dans mes requete html php ^^
Associé des chaine de caractères pour insérer les valeurs
C'est faux comme utilisation
C'est une faille SQL
je suis en varchar 255 pour ma range de id et username
Sans échappement
C'est pas pour rien qu'il y a des façon d'insérer des variables, en général on ajoute pas des méthodes en plus juste pour faire joli
Enfin bref
tu veut dire stocker dans des variable epuis stocker les variable dans la base ?
Si demain mon pseudo est une requête SQL, tu vas concaténé ça dans ta requête, je peux détruire ta db
littéralement
C('est de l'injection SQL
DROP *

non tu ne peut pas la detruire le pdo et autre est fait pour ca et ton pseudo ne sera pas considéré comme une imbrication de requête
Bien sur que si, nativement il ne peut pas savoir que tel ou tel caractère est de toi ou de la variable (avec ta méthode)
Et l'imbrication de requête, sauf si tu fais un mini mini mini projet, tu vas l'activé à 100%
l'imbrication de requete est dans le where, en aucun cas l'imbrication ne peut pas etre utilisé dans de l'injection
Va s'y, avec la ligne, tu fais comment ?
Dr @normal lichen
perso je suis en formation de dev et j'ai toujours concaténé, mes profs m'ont toujours dit de faire comme ca et je n'ai jamais eut de problème
Molo molai ici
désoler ^^
On était calme 😦 @queen ocean
Quand un msg sur deux c'est "va sur google" ca a rien a faire sur un serveur d'entraide
Pas de soucis, si tu veux une confirmation check juste la doc même de ton package
Et quand tu aura ton propre avis tu pourras râler sur tes profs ^^
Cpas moi qui a sorti ça 😂
J'ai jamais dis le contraire 😉
Héhé
db.query("INSERT INTO membres(id_user, username) VALUES(?,?)", [member.user.id, member.user.username], function(err) {if (err) throw err})
ça évitera les injections sql, ta requête verra juste ?,?
aucune donnée pourra flop
merci ^^
avec plaisir, si t’as des questions hésite pas à nous ping ^^
et en php c’est sensiblement la même chose avec les requêtes préparées
je decouvre les bots discord pour l'instant mdrr, c'est mon tout premier bot celui la xd
aucun soucis ahah!
oui pas de soucis, je connais pas tout de toute facon et ce discord m'aide enormement x)
si on peut t’aider, te donner des conseils etc c’est avec plaisir on est passés par là aussi
je vous remercie, je vous laisse, mille fois merci de votre aide et bonne soirée a vous
avec plaisir, hésite pas à nous ping 👌
@oak turretParle français !
kezako 
Kezako ?
Au moins, tu dis les choses
Bonjour c'est quoi la différence entre select menu et context menu svp ?
un context-menu apparait avec un clique-droit sur un message ou une personne
un select-menu est un menu déroulant
Context menu :
Select menu :
Les context-menu ne sont actuellement pas pris en charge sur mobile
Oui malheureusement
Tu peux les faire sur les messages ou les utilisateurs. Ce que je te conseille c'est de faire des raccourcis de commandes déjà existantes
Ca arrivera surement quand ils auront finis de réécrire l'app android
Que les utilisateurs mobiles puissent les utiliser
re commant je met des field cote à cote dans un message embed please ?
mets une option inline
Ça dépend si tu use addField ou addFields
mets une option inline
Tu as la props inline
Ça dépend si tu use addField ou addFields
Ça dépend si tu use addField ou addFields
Avec inline sur true
ça dépend si c’est un addField ou addFields
addField c’est .addField(name, value, true) ou .addFields({name: "", value: "", inline:true})
C’est pas plutôt une array de fields ?
merci
thanks !
comments on fait pour que notre bot envoi un lien est le suprime du fichiert qui contient des lien?
J'ai pas compris ?
tu pourrai voc ?
pour que je t'explique
Nope
ah ok
bon en gros j'aimerai coder mon bot pour que il nous donne un lien nitro par rapport a un fichier qui a plusieurs lien et j'aimerai que le bot une fois que le lien serai utilisé le suprime puis en prend un autre au azar @ashen rapids
Haaaa
Mais un bot peut pas savoir si un lien nitro est dispo ou pas
A moins de faire un GET dessus je sais pas, à tester
Re bonjour comment on crée un salon vocal please ? J'ai essayé ça
interaction.guild.channels.create(`${interaction.user.username}`, {
parent: '938861157169627246',
type: 'voice',
})
Sauf que ça n'a pas marché
Documentation suggestion for @misty parcel:
:_: GuildChannelManager#create()
Creates a new channel in the guild.
:_: ChannelType
All available channel types: (more...)
Pour les types de channels 
essaye avec GUILD_VOICE

ça marche
C'est bizzare car quand j'avais fais ctrl + espace il ne m'avait proposé que comme instruction GUILD_STORE
Salut comment on dit "ou..." en javasript déjà ? J'oublie tout 
|| ou ??
d'accord merci
sachant que la diff entre les 2 et que ?? renverra son opérande de droite si l'opérande de gauche est null ou undefined. Ca peut etre une chaine vide, la valeur 0 ou la valeur false contrairement a ||
interessant à savoir, merci en tout cas
Bonjour j'ai un petit problème j'essaye de get la réponse des membres de mon serveur lorsqu'ils font une SLASH_COMMAND, le problème c'est que ça me renvoie [Object Object], voici mon code
const pseudo = new SlashCommandBuilder()
.setName('pseudo')
.setDescription('Indiquer son pseudo épic')
.addStringOption(string => string
.setName('nom')
.setDescription('Votre pseudo épic')
.setRequired(true))
let name = interaction.options.get("nom")
interaction.reply({
content: `Pseudo épic : ${name}\nQuel est ton rank 1s ?`,
components: [rank1s]
Et voici le résultat
Fait un console.log de name avec le reply et montre le résultat
Ah non c'est bon excusez moi, il fallait mettre interaction.options.getString et pas juste get
ok
Bonjour, j'ai un petit problème que je n'avais pas eu au par avant avec les commandes slash.
J'ai fait une commande rpc et quand je l'a fais une fois et que je veux la refaire ça me met que l'application de répond pas alors que le bot est en ligne et il n'y a pas d'erreur.
J'ai essayé de chercher l'erreur en me disant que ça pourrait venir des collectors mais je n'ai pas réussi à y résoudre.
Hey, cela signifie que soit ton bot est hors ligne, soit il met plus de 3s à répondre. Alors je te conseille de deferReply ton interaction, puis tu fais un editReply pour répondre
Oki merci Wailrone.
Et si ça met thinking à l'infini c'est que ton code à un problème, et je pense que ça va être le cas car c'est bizarre qu'il mette autant de temps à répondre
Mais malheureusement je ne peux pas regarder ton code à l'heure actuelle
Ok 
J'ai test ça ne mets pas le thinking à l'infini mais ça ne répond toujours pas alors que le bot est bien en ligne.
Les gars je bloque depuis tout à l'heure, comment on ajout eun role à qqn svp ? 😭
J'ai essayé interaction.user.roles.add(...) mais ça marche pas

A la place de .user tu met .member 👌
d'accord merci
ça ne marche pas 😦 @hazy mirage
il n'y a pas de message d'erreur
ok j'ai trouvé l'erreur ptdr
que je suis bête
Bonjour, j'ai un soucis avec mon bot discord, il est heberger sur un hebergeur que je paye, mais il ce met hors ligne tout seul tout les jours a 6h du matin ( avec comme raison serveur crash) mais des je le redemarre il na aucune erreur et reste on et ce recoupe le lendemain a 6h, quelqu'un aurais t'il une solution ?
c’est quoi ton crash
C'est peut être un reboot auto sur l'hébergeur.
ils m'ont dit que non ^^
Du coup quelqu'un a une idée ?
Yop, j'ai fais un bot pour quelqu'un lui permettant de faire un carousel d'images avec des boutons Discord.
J'ai utilisé #sheweny-js et ça a marché sans souci.
Le souci, c'est que, pour une raison totalement incompréhensible, l'interaction ne marche qu'une fois sur deux.
Genre ça n'a vraiment aucun sens, ça me semble impossible que cela provienne de mon code vu que ça marche la deuxième fois sans qu'aucune modification ne soit amenée aux boutons.
L'interaction n'est même pas appelée par Sheweny, j'ai beau faire des logs au départ, rien, donc ça vient vraiment de l'API qui ne renvoie pas la réponse.
Quelqu'un aurait une idée de la source de ce problème ? Merci !
PS: ce n'est pas une question de cooldown, j'ai beau attendre 30 secondes avant la prochaine interaction, le bug restera présent
Mmh
Ca provient certainement de ton code
Néanmoins pour t'aider à localiser le problème, essaye par exemple l'event api request ou api response ? 🤔
Si ça provient de mon code, comment tu expliques que cela fonctionne au deuxième appel sans qu'aucun changement ne soit effectué sur le bouton ? 👀
C'est ça qui m'est incompréhensible
Je vais regarder à ça
C'est effectivement très étrange sur ce point 🤔
Ca vient peut-être du framework 
Mais t'as pas d'erreur ?
Aucune
Zero
Nada
J'ai vraiment du mal à comprendre à ce niveau
En plus, le délai est global, ce n'est pas unique à un joueur, donc c'est encore plus bizarre
C'est pas comme si c'était une fois qu'un joueur cliquait on faisait un truc ou je ne sais quoi, non, c'est vraiment une fois sur deux il décide de marcher
Essaye l'event error ?
Sinon ça veut dire quelque part dans ton code pour x raisons tu ne réponds pas à l'interaction
🤔
Nope because
L'interaction n'est même pas appelée par Sheweny, j'ai beau faire des logs au départ
Kesk
Donc même le callback de mon bouton n'est pas appelé
Je t'avoue que j'ai pas encore été chercher aussi loin, je me demandais si quelqu'un n'avait pas eu ce problème avec l'API
En fait ça me brainfuck à 100% que cela ne fonctionne qu'une fois sur 2 si je fais la même action, que le message/les boutons ne sont pas modifiés entre temps.
C'est logiquement nécessairement au-dessus de moi, soit le framework soit l'API
C'est logique, en soit pas sur, après si tu log au début et que tu ne reçois rien quand ça fail c'est que le problème ne vient pas de toi
Le problème peut clairement être du à discord.js ou sheweny pour l'api de discord je doute un peu mais c'est pas nécessairement à exlcure
Ce que tu peux essayer de faire c'est de voir si l'event est trigger dans discord.js (interactionCreate) 👀
Ouais non je viens de re-vérifier et cela ne se log que lorsque l'interaction marche (1 fois sur 2)
Yep je vais test pour voir
Alors
Donc je viens de tester
Et l'interaction fonctionne bien côté discord.js
Donc ça provient probablement du framework
Je vais juste voir niveau customId si c'est okey
Je veux pas accuser Smaug pour rien hihi
Ouais x)
Ouais donc
Le "I AM CALLED WTF" c'est mon callback sheweny
Et le reste c'est le customId de l'interaction
Donc là je pense que ça vient du framework
@neat lintel tu pourrais peut-être m'aiguiller? 🙂
Pourquoi le custom id change ?
Parce qu'il clique sur un bouton différent
Ah x)
0, 1, 2 c'est l'ID des images
Ah dac
Et pour chopper mon interaction ici j'utilise un regex
Mais du coup yes je vais attendre que Smaug me réponde avant d'investiger plus loin
Edit: Hésite pas à me mention Smaug si jamais tu as une update là-dessus
Je suppose qu'il y a une erreur dans son match de reg xp 🤔, mais oui il saura sans doute mieux t'aider à résoudre le problème x)
@lone flax Salut, ça ressemble à un deferReply qui déconne, si tu écoutes l'évent interactionCreate ou interactionButtonCreate vérifie que tu as pas mis de defer reply la bas. Sinon tu peux envoyer un code me permettant de reproduire l'erreur sur mon PC pour que j'essayes ?
J'ai aucun deferReply dans mon code
Et je n'écoute pas interactionCreate j'utilise à 100% ton handler
D'ac, tu aurais le code que je puisse essayer ?
Oui ça sera plus simple
Je t'ai send ça en privé
Il est entrain de détruire la côte de sheweny 
Bonjour, quelqu'un pourrait m'aider pour la mise en forme d'un embed s'il vous plait ?
Dit moi 🤔
j'aimerais un embed de cette mise en forme afin de faire une liste mais je n'arrive pas a la faire, je ne maitrise pas encore du tout le javascript pour les bot discord ^^
pour le mot en haut tu peux faire un setTitle et sinon fais un gros setDescription avec du markdown
oui c'est pour le setDesceiption le problème, je sais pas comment l'utiliser le markdown ^^
**Gras**
__Souligné__
*Italique*
~~Baré~~
> Citation
`code sur une seule ligne`
||spoiler||
C'est quoi un markdown ?
Une syntaxe qui permet de mettre en forme du texte
mais discord en a une version particulière
d'accord je vais me renseigner sur son utilisation, je vous remercie ^^
et pour les retour a la ligne c quoi qu'il faut tutilisé stp ? c'est ceci code sur une seule ligne ?
\n
je vous remercie ^^
je met ca au moment ou je veut revenir a la ligne, equivalent du br html ? ^^
je vous remercie de votre aide, je vais regarder a cela ^^
Cependant mettre tous le code sur une seul ligne peut ne pas être très visuel lors du développement de ton bot donc si a la place de mettre des "texte" ou des 'texte' tu mets des backticks (`texte`) alors tu peux faire des retours a la ligne dans ton code et l'indentation sera conservée
Hey, j'ai cet erreur et je ne sais pas pourquoi 😦
Voici mon code
Les embeds sont aux dessus
Donc, quand j'utilise mes boutons, tout fonctionnent bien, mais à un moment, sa bug et j'ai l'erreur au dessus pour je ne sais quels raisons 😦
Client.on("messageCreate", message => {
if(message.author.bot) return;
message.channels.send({embeds: [roleje], attachement: [rolej]});
message.channels.send({embeds: [roleno], attachement: [rolen]});
})
j'ai une erreur au moment d'envoyer les embeds, quelqu'un pourrait m'aider ?
Donne ton erreur
Stp
Ah mais c’est pas attachment ?
Tu as mit un e
C’est ça l’erreur
Donc met attachment
C'est message.channel.send @normal lichen
je vous remercie, j'ai mit un s j'ai pas vue ^^
c'est l'envoie des attachement qui pose problème, je ne comprend pas pk
Change par files: [rolej] voir @normal lichen
non toujours pas ^^ /home/container/index.js:147
message.channel.send({embeds: [roleje], files: [rolej]});
^
ReferenceError: rolej is not defined
at Client.<anonymous> (/home/container/index.js:147:53)
at Client.emit (node:events:394:28)
at MessageCreateAction.handle (/home/container/node_modules/discord.js/src/client/actions/MessageCreate.js:26:14)
at Object.module.exports [as MESSAGE_CREATE] (/home/container/node_modules/discord.js/src/client/websocket/handlers/MESSAGE_CREATE.js:4:32)
at WebSocketManager.handlePacket (/home/container/node_modules/discord.js/src/client/websocket/WebSocketManager.js:351:31)
at WebSocketShard.onPacket (/home/container/node_modules/discord.js/src/client/websocket/WebSocketShard.js:444:22)
at WebSocketShard.onMessage (/home/container/node_modules/discord.js/src/client/websocket/WebSocketShard.js:301:10)
at WebSocket.onMessage (/home/container/node_modules/ws/lib/event-target.js:199:18)
at WebSocket.emit (node:events:394:28)
at Receiver.receiverOnMessage (/home/container/node_modules/ws/lib/websocket.js:1098:20)
[MERCURE] Server marked as OFF
Ou attachment: [rolej] 🙂
c'est fait lol et toujour pas... je comprend vraiment pas.. ca fonctionne d'habitude ^^
Cquoi le rolej ?
c un selectmenu ^^
oui je vous remercie ^^
Dr
Si quelqu'un a une solution 🙂
A mon avis tu deferupdate plusieurs fois
À mon avis c'est que tu reply ou defer l'interaction après l'avoir déjà fait mais sans en avoir attendu la réponse @dire latch
Ok
Bonjour, j'ai un petit problème que je n'avais pas eu au par avant avec les commandes slash.
J'ai fait une commande rpc et quand je l'a fais une fois et que je veux la refaire ça me met que l'application de répond pas alors que le bot est en ligne et il n'y a pas d'erreur.
J'ai essayé de chercher l'erreur en me disant que ça pourrait venir des collectors mais je n'ai pas réussi à y résoudre.
Yo les bgs, comment vous allez. J'ai un soucis avec un link entre ma database (free) monbodb et mon bot discord jsV13. J'ai bien fais le lien avec la base, tout est bon mais quand je start mon bot, cette erreur s'affiche (regardez le screen)
En même temps les problèmes n’apparaissent pas quand on ne fait rien 
Ton bot est en local ou sur une machine externe ?
Est-ce que là où ton bot est host, le port 27017 en TCP est ouvert sur le firewall ?
cocu 
juste trop fort pour ne pas avoir de problèmes 
Il est en local là
Et en gros j’ai fais une liaison à une database et voilà
Parce que en plus, j’ai regardé partout dans les forums, rien de m’aide. Et ça m’embête car sans régler ce problème je ne peux plus avancer
Essaye ce qu’il dise concernant le lien de connexion
et vérifie que tu autorises aussi ton ip
Dans cette ligne de code : mongodb://<username>:<password>@main-shard-00-00-03xkr.mongodb.net:27017,main-shard-00-01-03xkr.mongodb.net:27017,main-shard-00-02-03xkr.mongodb.net:27017/main?ssl=true&replicaSet=Main-shard-0&authSource=admin&retryWrites=true
Je remplace ou pour mettre le nom de ma base
Mon IP est bien autorisé ca c’est ok
j'ai testé avec cette ligne de code là :
"mongodb://<username>:<password>@factorydata-shard-00-00.espor.mongodb.net:27017,factorydata-shard-00-01.espor.mongodb.net:27017,factorydata-shard-00-02.espor.mongodb.net:27017/factorydata?ssl=true&replicaSet=factorydata-shard-0&authSource=admin&retryWrites=true"
"FactoryData" est le nom de ma base. Mais je suis pas sûr d'avoir fais ce qu'il fallait
j'ai réussi, merci les gens
Bonjour, quelqu'un peux m'envoyer un bon site avec de la doc js ?
bonjour est ce que on peut envoyer des gif dans un .setImagez ?
A moins que je dise des bêtises, d'après la doc, je ne crois pas
Up: Oui tu peux
module.exports = {
run: async(client, message) => {
await message.guild.members.fetch();
if (!message.author || !message.member || !message.guild || !message.guild.id) return;
if (message.author.bot) return;
const [command, ...args] = message.content.slice(client.config.prefix.length).split(" ");
const cmd = client.commands.get(client.aliases.get(command) || command);
if (!cmd) return;
cmd.run(client, message, args);
},
name: "messageCreate"
}
j'ai un petit problème comment on fais pour ajouter le cooldoun sur ce code je sais pas comment on fais
merci pour ce qui m'aiderons
🥺
cooldoun ?
cooldown désoler
Par cooldown tu entend quoi ?
Bah tu stockes la date du dernier lancement, et tu ajoutes une condition
pour l'instant je l'ai mis la
Et donc c'est quoi le soucis ?
il faut pas le mettre dans messageCreate comme aliases ?
Tu comprends ce que tu fais ou pas du tout, honnêtement ?
alors je comprenais tout ce que je fais mais honnêtement la je suis un peu perdu (j'utilise la doc discord js ) mais c'est un peux compliquer
bah dans ta collection tu stockes par exemple (c'est un exemple très simple)
key: "messageCreate" value: la date du dernier call
Quand tu as un nouveau call tu prend la key en question, tu récup la valeur et tu check si now > dernier call + x seconde
ohhh je vois merciii
Bonjour, j'aimerais dans ma base de donnée que la ligne correspondant au membre sois supprimer lorsqu'il quitte le serveur mais ma requete ne fonctionne pas, quelqu'un pourrait m'aider ?
Voici la requete
db.query(DELETE FROM membres where id_users = "${member.user.id}" );
Pas de concaténation :x
tu sers sur du nom de ta colonne ? id_users semble bizarre comme nomage
lol j'ai l'habitude avec la concaténation mais je vais la retirer mdrr, oui je me sert de l'id-user car il est fixe, a l'inverse un membre peut changer de pseudo donc si il rejoin avec un pseudo et quitte avec un autre la base de données va être perdu ^^
je n'ai pas l'habitude en js sans la concatenation, mais cela fonctionnerais ?
var user_id = ${member.user.id};
db.query(DELETE FROM membres where id_users = user_id );
Ce que je veux dire cest le "s" à la fin du nom de ta colonne
Non, check la doc du package de mysql
ah oui j'en suis sur ^^
d'accord je vais essayer d'y regarder, parce que mettre un "?" comme pour la requete d'insertion me semble innaproprié non ? ^^
D'acc, tu dois pas mettre le nom de la table en chaine de caractères ?
Bah non, le ? sert simplement à récup un champ de ton array
je vais chercher dans la doc mais la concatenation a mon sens ne pose aucun problème dans cette requête car aucune insertion n'est effectuer et que la définition de ma colonne est un int et non un varchar, donc ca ne peut pas être une requête x)
Ta deuxième réflexion est totalement fausse par contre
Autant la première on pourrait estimer que oui, sauf qu'en fait non. Sauf si tu es sur à 100% que tu aura toujours une valeur fiable et validé, alors la concaténation est à bannir
Et récupérer une valeur du package discord n'est pas une information fiable et validé
Ce qui est 100% secure c'est ce que tu maitrises, à savoir, tes data, ton code et ta logique métier
D'accord je vais chercher pour plu concaténé mes requête, mais étant plus dans le php je concaténé toujours mdrr, je commence seulement a passer par des classes et autres^^
Même en PHP il faut escape les caractères sinon tu as des failles
ya moyen d'exploser la cellule de la bd a afficher ? du style je veut afficher que une partie de la date alors je selectionne les caractéres que je souhaite afficher ? ^^
Bah tu peux typer ta colonne pour n'avoir que l'année, le jour et le mois par exemple
yep c'est ce que je veut mdrr, parce que la sa m'affiche tout, le fuseau horraire et autre x) je te remercie de ton aide ^^
après tu peux aussi juste formater la date avec ce que tu as en base
yo les gars, vous avez peut être une idée de comment lier un système de prix du btc à un bot discord ? Style à chaque fois qu'on fais une commande (exemple slash commande), le prix actuel du btc s'affiche
Tu ask simplement une API
tu peux venir MD ?
On peut parler ici non ? Ou bien c'est privé ?
ah nan nan c'était pour pas polluer le channel quoi
On peut faire un thread
vasy si tu veux
quand on fait pour que son bot créer un channel textuelle ont met "text" mais pour qu'il céer un salon vocal on met quoi ? ^^
quelqu’un aurait la commande mpall pour un bot dc j’ai perdu le dossier
https://srcb.in/71yazXqKcj dans ce code, je comprend pas ce qu'est le probleme, quand je start, ils me disent que le .get (après axios) ne peut pas être lu, vous savez d'où ça viens ?
log ton reponse pour voir
le refaire seul c’est pas plus compliqué
plus aucune base je codais il y a deux ans
tu veux reprendre ?
yes
fais un tour sur Sheweny c’est simple et bien foutu puis dev par un membre du discord (Smaug), et tu n’as plus qu’à t’y remettre
je vais jeter un œil
merci de l’aide alors !
👌
@oak turret attends, tu viens d'aider un mec pour une commande mpall là 🤔
mpall c’est pas forcément à but malveillant hein, et dans le pire des cas il va se faire rateLimit et voilà tout

C'est interdit surtout 🤔
🤔

c’est moi la loi 
Bonjour, j'aimerais que quand un bouton est cliquer mon bot créer un channel vocal, j'utilise ceci mais je ne trouve pas qu'elle est le type a mettre pour créer un salon vocal
var vocal = interaction.message.guild.channels.create(`🔓・Vocal de ${interaction.user.username} `, {
type: ' ?? ',
parent: "",
permissionOverwrites: [{
GUILD_VOICE
Et tu devrais éviter var, let et const sont maintenant la norme en javascript, var à des problèmes de scope
C'est pas des problèmes, c'est un souhait du langage, mais oui var est globale
Et const si c'est une constante (pas de changement de valeur au cours de ça vie)
ah donc un embed est a mettre en const ?
Sauf si tu refais une assignation, alors oui
Toujours const sauf si la variable en question peut changer de valeur dans le temps
genre si je veur creer un timer, si ce timer prend +1 chaque seconde alors je le defini en let ?
Oui sauf si c'est un objet
Exemple:
let x = 0;
x++;
Ici on utilise let car X va changer
Ici pas besoin de let car obj ne change pas, dans le cadre d'un objet, la variable contient en réalité la référence de l'objet, et celle-ci ne change pas dans cette situation
const obj = {
x: 0;
}
obj.x++
oui le deuxieme ne change pas car tu const obj comme un tableau^^
obj est un tableau contenant l'élément x et le obj.x signifie que tu prend l'objet x du tableau obj ^^
c'est comme en lua si je me trompe pas ^^
Non, en JS c'est simplement un obj, par un array associatif
Faire un tableau associatif avec des key string en JS mérite une peine de mort
ah bah x)
je decouvre le js moi encore la mdrrr et je suis loin de le maitriser xd
Yes je te le dis comme ça tu sais
Pour faire un key -> value on utilise une collection ou une map
collection je vois map pas trop x)
dit il faut utiliser l'attribut string pour que le bot attende une valeur du style "entrer le nom d'utilisateur du membres a ajouter"[...] "Le membre a été ajouter" ?
Si c'est relatif à discordjs je peux pas te dire, je m'en sers pas
je vais chercher alors, merci ^^
Oui et non
?
Les map sont pas forcément pratique à manipuler
Un obj est plus flexible, plus pratique
Donc ça dépend de la situation
Comment ça pas pratique ?
C'est pas les même contextes d'utilisation à aucun moment j'ai sous entendu ça
J'informais juste qu'un tableau associatif avec des key string est une grosse erreur en JS
Si tu as une liste d'utilistateur tu vas pas stocker dans un objet, c'est pas adéquat, alors qu'un key->value (key: id unique utilisateur) (value: l'objet utilisateur, instance...) sera plus adapté et bien plus performant
Oui c'est sur
Bonsoir je voudrais de l’aide ou le début d’une base pour un embed, je veux pas tout car je souhaiterais m’entraîner et me donner tout me faciliterait la chose
je vois que y'a sonic ici
ty
Bonjour je cherche des développeurs pour un très gros projet Minecraft me mp urgent . ! {début du projet semaine prochaine} [pour plus d'infos ou pour participer me mp]✓
@oak turret le script que tu m'as send ne marche pas, puis j'ai cru lire que c'était interdit d'mpall ? je ne veux pas être dans l'illégale ^^'
Bonsoir, on est bien d'accord que ce code est totalement exploitable non ?
let sql = `INSERT INTO serveurKSEC (guildID, prefix, premium, roleid, status) VALUES (${message.guild.id}, '*', '0', '0', ${ar})`
Je me pose la question vu que en PHP c'est totalement exploitable, et là c'est limite pareil
oui tout à fait
c'est pour faire quoi ?
t’as qu’à mettre des ? et après mettre les valeurs
C'est ce que je vais faire, merci
Ajouter le serveur discord à la base de donnée
@oak turretDit moi, en v13, c'est plus message.mentions.members.first() 🤔
bonne question, je vais check la doc
Ah ba zuper
tu l'utilises comment ?
montre moi ton bout de code
Ba c'est ça, la suite, ya rien 😂
essaye déjà const user = await message.mentions.members.first();
ah oui attend
t'as les intents et partials adéquats ?
t'utilise sheweny ?
ton parse, y a pas un "members" à mettre par hasard ?
je connais pas ton handler
et les intents t'as quoi ?
Je tente de mettre members
Et j'ai tout mis en intents
Ok
Essaye ```js
let user = message.user === undefined ? (message.mentions.users.first() || bot.users.cache.get(args[0])) : (args._hoistedOptions.length === 0 ? message.user : bot.users.cache.get(args._hoistedOptions[0].value))
Moi non plus mdr
ton code c'est juste cette let ?
Yep
Jpeut venir partager mon écran si il faut
@dire latch Ton code marche si l'user est l'auteur ?
let user = message.author;
C'est quoi le problème ?
@neat lintel
Tu as essayé de fetch le message ? Car si tu as certaines partials les structures peuvent êtres incomplètes. Mais le truc qui me paraît le plus probable ici c'est que ta variable message ne contient pas un message. Tu as essayé de la log ?
Sa log bien le message que je met
Et si tu es en V13 tu peux enlever fetchAllMembers ça existe plus
Je peux pas dsl, et si tu fais un console.log de message.mentions c'est undefined ?
Ceci
.users.first() du coup
En utilisant: let user = message.mentions.members.first();
Pas possible si message.mentions est définie. Ah nn j'étais sur le mauvais screen
et après tu get le member via l'id
Nope, j'ai l'erreur mais avec l'user cet fois
@oak turret
avec const userMention = await message.mentions.users.first() ?
Nope @oak turret
Après si ton membre est pas dans le cache il sera pas possible de le récupérer avec message.mentions
Ça fetch pas l'api
Donc si c'est null alors faut faire un système custom qui va fetch discord
Ducoups, je dois faire quoi ?
Sinon oui passes par l'user avec const user =message.mentions.users.first()
Fonctionne pas
Tu as quelle erreur avec ça ?
Fais voir ton code stp
Ba ya que sa 🤔
Si tu as log que message.mentions est pas undefined à peut pas valoir une erreur of undefined
Ok, good, j'avais fais une erreur
yo
on peut maider?
jaimerais set quelque chose dans une db (mongodb)
genre par ex +setbot id idd'unbot
me mention pour la réponse svp
Commences par créer un model et ensuite tu pourras créer une nouvelle instance de ce modèle et utiliser la fonction save pour sauvegarder. @keen narwhal
``const mongoose = require("mongoose");
module.exports = mongoose.model("User", new mongoose.Schema({
id: { type: String },
bots: null,
}));``
@neat lintelça c'est bien?
C'est un début, faut utiliser la fonction model
Si tu veux un exemple : https://github.com/Smaug6739/Spiritus/blob/master/src/models/Guild.ts
oe mai genre je veut une catégorie ID et une Bots
genre je veut ajouter un bot a un user
avrc une commande
jcromprend r a mongo
Bonsoir, je suis entrain de développer un bot, et je cherche à faire en sorte de check si un rôle peut être ajouté (en gros, savoir si le bot est au dessus du rôle pour l'ajouter) mais je n'y arrive vraiment pas, comment je peux faire ça ?
hello, je l'ai déjà fais je te retrouver ça
voilà
donc tu auras pas de .roles.highest... dedans
const RoleHighestKickedUser = message.guild.members.cache.get(userToKick.user.id).roles.highest.rawPosition;
const RoleHighestModeratorUser = message.guild.members.cache.get(message.author.id).roles.highest.rawPosition;
et de là tu fais tes vérifs ( en changeant bien sûr les valeurs )
pour t'expliquer, je get le rôle le plus haut des deux users, ça me renvoie genre 9 et 2, la rawPosition c'est la position dans tes rôles le premier à le plus haut chiffre/nombre selon ton nombre de rôle et inversement
np
c'est good merci
parfait, avec plaisir et good luck 👌
Hello à tous, j'ai un petit problème sur NuxtJS concernant la page d'erreur!
Je m'explique… j'ai ma page default.vue qui se trouve dans le dossier layouts qui contient le code suivant:
<template>
<div>
<Navbar />
<div class="container">
<nuxt-child />
</div>
<Footer />
</div>
</template>
J'ai également ma page error.vue qui se trouve dans le même dossier. Celui-ci comporte le code suivant:
<template>
<div>
<h1 v-if="error.statusCode === 404">404 Not Found</h1>
<h1 v-else>An error occured - {{ error.statusCode }}</h1>
</div>
</template>
<script>
export default {
props: ["error"],
layout(context) {
return "error";
},
};
</script>```
Le code de base, en somme…
Seulement, lorsque je me rends sur l'URL `https://localhost:3000/jerozjeroj` (qui devrait me rediriger vers ma page d'erreur avec le code `404`), j'ai mes composants `<Navbar />`, mon `container`, et `<Footer />` qui s'affiche, mais pas mon `h1` avec son code d'erreur.
Ça fonctionne lorsque je renomme `default.vue` en `*.vue`, sauf que mes composants ne s'affichent plus… ce qui n'est pas non plus la solution idéale. Que faire?
Hello, si je dis pas de bêtise, je crois que le layout error.vue est surtout pour les erreurs server, en gros si tu as une requête qui foire ou autre, ça va automatiquement t'afficher cette page error.vue
Mais ça ne gère pas le routing de vue-router c'est à toi directement de créer l'erreur "4O4 not foud" côté client si c'est pour une erreur de page non trouvé
Sinon t'as message.member et les membres peuvent ne pas être cache
ah bah top
tu as rajouté un chemin absolu dans ton router ?
C'était le <nuxt-child /> qui posait problème, j'ai remplacé cela par <Nuxt /> et puis, pouf! Tout est apparu comme par magie… 🪄
Ah bah top
Par contre… je ne sais pas comment enlever les composants par défaut dans default.vue spécifiquement sur une page en particulier (en l'occurence, je parle de error.vue)…
J'aimerais que ma barre de navigation et mon pied de page ne s'affichent pas sur la page d'erreur…
Dans ce cas là n'utilise pas ton layout default.vue, mais un autre par exemple
Pas bête, et dans les pages où un certain layout est requis, je fais
<script>
export default {
layout: 'nom-du-layout'
}
</script>
C'est ça? 🤔
exact
Okay, merci !
nuxt 2 du coup ?
package.json
okay, hésite pas a installer composition api si tu veux vraiment explorer et profiter un peu plus de la puissance de vuejs
ce n'est pas natif dans nuxt2 je crois
J'ai vu que Nuxt 3 est sorti, mais j'ai rien compris de cette histoire de bridge…
Bridge c'est uniquement si tu veux migrer d'un projet Nuxt2 à Nuxt3
Nuxt3 je pense que c'est un bon gros bébé qui arrive
j'en fais un peu actuellement, le fait de pouvoir utiliser nativement la composition api + vitejs derrière, ca rend la chose bcp plus agréable qu'actuellement
Je me doute bien… je vais essayer de m'y pencher et de comprendre comme tout ça fonctionne!
Je suis actuellement en train de faire mon portfolio, donc l'utilisation d'une API n'est pas nécessaire… mais j'ai un gros projet qui arrive (site de fonds d'écran), j'essaierai ça à ce moment-là! 😀
Merci pour le conseil
haha le nom porte à confusion mais la composition-api ne fait pas référence a créer une API Rest par exemple, ca remplace l'OptionsAPI (ce que tu utilise actuellement, avec les mounted(), data(), computed, etc)
Et si tu veux un conseil tu devrais dans ce cas là le faire via https://vitejs.dev/
ce sera + light :p
nuxt est très lourd pour ce genre de petit projet
yes derrière c'est Evan You (mr Vue.js) donc tu peux y aller les yeux fermés
C'est créé par des français? 🤔
Le nom pourrait faire croire que! 😂
Ah ouais? Je n'aurais jamais cru…
Fierté française! (en l'occurence, je suis belge…)
yes les frères chopins
haha yes, mais c'est souvent ce genre de petit rappel à la france
mais là pour le coup non Evan est chinois
(il s'appelle pas vraiment Evan non plus btw 😂 )
Rebonsoir j'aurais un petit problème concernant mon bot discord, quand j'essaye de print
oldPresence.member.presence.status
ça me return "dnd" donc le status "ne pas déranger", sauf qu'il me le fait même quand avant j'étais en mode hors ligne, comment faire pour return le "offline" plutôt que dnd ?
Car j'essaye de faire en sorte que si l'user était déconnecté, et qu'il se reconnecte sans custom status ça return
oldPresence c'est le status avant qu'il change, donc si avant de passer hors-ligne tu étais en dnd c'est normal qu'il t'affiche ça. Si tu veux le nouveau status prends plutôt newPresence
Oui justement, j'essaye de faire en sorte que si le membre était hors ligne et qu'il se reconnecte sans custom status, ça return
Donc logiquement c'est old presence
Hello je cherche des gens qui s'y connaissent en mods et en serveur pvp faction moddé me mp
#general #demande-de-dev
Il y a moyen de compter le nombre de boosts d'un utilisateur avec DiscordJS ?
Il y a un event quand un mec boost ?
Nope, si je me souviens bien il faut check quand un membre est update, et après tu vérifies si il n’avait pas le rôle de boost et que mtn il l’a
Pas exactement, tu peux vérifier s'il a une date de boost, c'est une valeur une clé qui ressemble à premiumSinceUpdate
Oui aussi
Pas vraiment, le moyen le plus précis qui soit c'est les messages de boosts
le plus précis c'est de le noter avec un crayon sur un bloc note

- ne faire confiance qu'à soit même

Je comprends toujours pas pourquoi ils l'ont pas fait différemment d'ailleurs
Ça me paraît étrange que Discord y ait pas pensé
Yep
La seule solution c'est de regarder si le gars a une pdp animée
Mais on peut très bien avoir nitro et pas une pdp animée

Ca c'est totalement voulu x)
Après pour ca tu scrap
Développe 🤔
Oui mais non 
😂
Avec un token utilisateur on doit pouvoir bien sûr
On peut choper une bio avec d'ailleurs

j'ai pas testé wola

La bio est récupérable après 🤔
Avec un token utilisateur oui
à moins qu'ils aient update les bougre 
Non
Si je parlais du statut personnalisé j'aurais dit statut personnalisé
Là je parle vraiment de la bio
Ceci
bah après
techniquement
tu peux savoir si la personne a nitro ou pas
juste avec un bot
Ah nan 🤔 @cyan iron ducoups mdr
avec l'Oauth
Oui
Ils auraient put mieux faire quand même

Pouvez-vous me donnez la doc discord js ?
merci
Pas de soucis
Le souci c’est que j’aimerai savoir si il a boost 2 fois ou pas 
Je crois pas que tu puisses, en tout cas c’est pas dans la doc
Look par message @lone flax
Héhé 🙂
Tu peux essayer de chercher aux niveau des requêtes effectués quand tu boost un serveur voir la requête et ce qu’elle contient
Pas sûr que ça t’aide mais j’ai fait comme ça pour get la bio
Ouais non
On peut fake les messages serveur ?
comment ça
Les messages envoyés quand qqn boost/join un serveur ?
Oui
Sûrement, mais il te faudra encore un token user
Je ne pense pas
C’est pareil faut tester avec la console dev et regarder les requêtes
Tout est dedans
Oui, mais étant donné que tu ne request pas directement pour envoyer un message mais pour boost, je pense que c'est géré côté serveur
🤷♀️
Yes jsp
Faut tester
Sans forcément boost déjà essayer avec le message de join voir un peu la requête
Ouais
Et ça devrait pas être trop dur à reproduire
Hors-tos mais pas impossible
@cyan iron 
Nan c’est pas ça
Il veut send un message serveur
Genre le vrai message de boost avec l’icon à côté
(Si j’ai bien compris)
Il veut savoir combien de boost un utilisateur à fais
Oui aussi
Donc, si, c'est ça, après, il aurat pas les boosts d'avant quoi
Enft max tu veux trop de truc 😭
Je veux détecter des qu’un message boost apparaît histoire de pouvoir compter le nombre de boost d’un user c’est tout
Si il y a d’autres manières tant mieux
Y a un pb la dessus
Yep mais qu'il en avait 2 par ex
Ah bah t’as une méthode dans Message si je ne me trompe pas
Ah non
Yes
Je vais tester ça en espérant que ça marche pas que au premier boost
Jamais test donc je te garantie rien mdrr
@lone flax utilises directement djs pas besoin d’utiliser un module externe
Quand il y a un message tu check si le type contient (ct pas le bon att)
Si oui c’est un message de boost
:_: MessageType
The type of a message, e.g. DEFAULT. Here are the available types: (more...)
Enft utilises <Member>.premiumSince dans un guildMemberUpdate
Si oldMember.premiumSince est null et que newMember.premiumSince l’est pas c’est que la personne vient tout juste de boost pour la première fois
Et tu check comment si il boost 2 fois ?
<Message>.type
Hmm
je suis en train de regarder les requêtes et rien 🤔
Go demander à discord d'ajouté ça mdr
Lesquelles ? Quand qqn boost ?
Quand quelqu'un join un serveur, y a une requete avec l'invite, logique, mais pas de post de message
Okok
Hey j'ai un soucis xampp ne veux pas se lancer comment faire ...
Je galère sur une install de lib npm. Dès qu'il faut faire appel à VS pour build la lib mon npm foire. J'ai tout réinstaller plusieurs fois. Node js. Visual Studio. J'ai tout delete, tout les dossiers qui existe. Tout refait. Je comprends pas https://pastebin.com/ea2QUPRd
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
Je recherche des développeurs java en .jar pour mon serveur Minecraft
#java-jvm @keen narwhal
java != javascript bro
C'est ce qu'il dit là ?
non mais si tu réfléchis (alors juste 1 minute, vraiment pas plus) il met un message pour trouver quelqu'un en java, dans le channel javascript
ce qui laisse penser qu'il ne connait pas la différence
Ah merde, mais nan ça m'affichait le channel java 
alors tu feras gaffe mais
java != javascript bro

Bah si y'a java dans les deux c'est juste une amélioration 

Alors je recherche des développeurs JavaScript pour mon serveur
Salut j'ai un problème que je ne sais pas résoudre
en gros j'essaie de faire en sorte que quand on appuie sur un bouton ça delete un salon qui à été crée recemment par mon bot, voici mon code
ah bah il est trop long
Voila et donc en gros à la ligne 493 je ne sais pas comment delete le salon qui a été crée à la ligne 449
bah interaction.channel.delete() ?
Oui mais il faut get l'id du salon à delete non ? @oak turret
Si je fais ce que tu m'as dis ça me delete le salon de configuration, pas le salon vocal
Tu get le salon adéquat dans ce cas
Oui mais si il vient de se crée je fais comment 🤔
Dr
J'avais aussi une autre question
est ce que c'est possible de get l'emoji d'un select menu
Idk, test de console.log ton selectmenu
ok
oh non je crois qu'on peut pas 😦
C'est possible de console.log les options d'un select menu ?
Test et tu auras la réponse mdr
@misty parcel le bouton est dans le salon que tu veux delete ?
Alors non pour du minecraft t'es bien à la recherche de développeur java pas javascript justement à moins que ça soit pour un site ?
Oui
Pour java
du coup : #java-jvm
Bonjour , J'aimerais avoir un peut d'aide pour un petit bot voila l'erreur
Hey, la propriété name n'existe pas dans ton props.config
Essaye de console log props.config pour voir
Comment dois-je l'ajouter ?
Avant de faire des bots Discord je te conseille d'abord d'apprendre les bases du js ;)
Ses pas mon bot :p
salut comment on utilise find svp ? J'ai trouvé rien du tout qui pouvait m'aider sur internet
➜ Array.prototype.find()
La méthode find() renvoie la valeur du premier élément trouvé dans le tableau qui respecte la condition donnée par la fonction de test passée en argument. Sinon, la valeur undefined est renvoyée.
Example:
arr.find(callback(element[, index[, tableau]])[, thisArg])
➜ Array.prototype.findIndex()
La méthode findIndex() renvoie l'indice du premier élément du tableau qui satisfait une condition donnée par une fonction. Si la fonction renvoie faux pour tous les éléments du tableau, le résultat vaut -1.
Example:
arr.findIndex(callback(element[, index[, tableau]])[, thisArg])
➜ find.find()
Recherche du texte dans un onglet.
Example:
browser.find.find(
queryphrase, // string
options // optional object
)


alors de ce que j'ai compris find c'est pour trouver un élément dans une variable
Sauf que moi je veux find un salon vocal
je suis duper
c'est pour find dans un tableau
Dcp ta variable c’est la Collection de salons et tu utilises .cache.find() dessus
ah mais faut utiliser find ou pas alors 🤔
Yep
Oui
j'ai pas de variable dedans
Bah déjà récupères la liste des salons de ton serveur
Tu veux faire quoi ? Delete le vocal de la personne qui clique ?
Bah
olala 
@misty parcel est ce que quand la personne quitte le salon vocal tu veux que ça le delete ?
euf je sais pas faire ça moi donc je suis parti sur un bouton
T’es dans un salon vocal ?
interaction.member.voice?.channel?.delete()
ah d'accord c'est quand on est dans le salon vocal
🤔
Car tu pourrais delete n'importe quel salon vocal comme ça
Et voilà j’ai rajouté un ? comme ça quand il est pas en voc ça fait rien
Oui
Oui bah après c’est à lui de faire les conditions
ouais mais y'a plus simple nan ? x)
Non
ah
Bah
Tout ne se fait pas en une ligne
D’abord vérifie si le salon est privé (à toi de faire la condition), et si oui delete avec la ligne que je t’ai donné
oui je sais mais ce que je veux dire c'est que moi j'avais imaginer delete le salon qui comporte le nom de la personne qui à crée le vocal
car quand on crée un voc sur mon serv ça le crée au nom de la personne qui a cliquer sur le btn
pardon
Donc récupères la liste des salons vocaux
Et après avec .find tu get celui qui a le nom du membre
oui si 2 personnes ont le meme pseudo
Si tu veux faire un truc vraiment clean faudrait stocker ça en cache 
Chuut
En gros pas dans quelque chose de durable
Un stockage temporaire comme des informations stockes dans le client par exemple
Une db si tu veux quelque chose de durable
Ouais mais la c'est pas vraiment utile
ouais nan la vous m'avez perdu
J'ai pas lu le contexte, mais si il faut stocker des data "durable", c'est à dire persistante, le mieux est une db (le premier qui me sort un fichier json je l'achève)
Go jsonnnn 
keske
Nan en gros je proposais de stocker les informations nécessaires au fonctionnement d'un système de création de channel sur discord
Au lieu d'utiliser les noms des channels
Donc c'est pas de la data durable
je suis en train de faire un truc vous allez me dire si c'est potable
Donc en ram (le cache discord c'est de la ram)
tss...... tout de suite les menaces......
Ouh alors 🤔
Avant de parler des problèmes du à ce système fonctionnement, y a quelque chose qui va pas
Tu check si le channel de l'interaction porte le nom du membre et tu delete le channel vocal du membre
oui
Tu devrais plus check si le channel auquel le membre est connecté porte son pseudo
C'est vraiment pas terrible de se baser sur quelque chose qui peut être modifiable à tout moment
Si tu fonctionnait avec l'ID du salon ce serait beaucoup mieux
Là y'a un type qui rename le salon et ton système ne fonctionne plus
oui mais l'id je l'ai pas
Oublie le stockage temporaire, tu restart ton bot tu l'as plus ton id...
Un vocal ne reste pas 100 ans
C'est pas un problème, le système de channel est lui même temporaire
Tout dépend du stockage temporaire en plus
ça va le faire si t'as 5 utilisateurs sur ton serveur
Si tu prévois de le déployer, c'est mort
Autant prendre les bonnes habitudes
Bah
Là c'est pour moi inutile
Car le système en lui n'a pas pour but d'être durable
ça change rien que le système soit durable ou non, si le bot restart au mauvais moment, tu plante tout
Alors que juste en réfléchissant tu as un système fiable et bien plus facile à gérer
Pas vraiment
Le bot plante au mauvais moment ? C'est pas un problème et puis c'est pas quelque chose de récurrent normalement
Au pire quand le bot se redémarre tu clear tous les channzls vocaux de la catégorie et voilà
J'ai pas dis qu'il plantait, j'ai parlé d'un restart ^^
Je suis pas trop d'accord avec toi Scylla
Même un restart
Super l'exp user

Non mais vraiment y a pas de débat pour le coup
T'as une solution 100% fiable et validé par des systèmes énormes
Et t'as une autre solution homemade pas fiable et complètement expérimental
Le seul gain c'est l'absence d'une db, ce qui n'est clairement pas un argument...
C'est quoi ta " solution 100% fiable " ?
Faire une db ?
Utilisation d'une DB pour stocker les données importantes qui ne dépendent pas de l'instance du bot
@slim anvil #créer-un-vocal utilise une db ?
Enmap à la limite
???
comment je fé iwi
C'est léger, le bot restart t'as plus de problème
Clairement c'est pas utile de prendre une db
D'acc ^^
Mais où tu vois une latence avec une db locale ? Elle est de 10ms à tout péter
Une map js ?
y a des limites à une db locale
voice?.channel?.name
ok
Soit il utilise enmap et il est sûr d'avoir les données si le bot crash / restart
Soit il stocke les données dans une Map ou un Collection et si le bot crash adios pépitos
après Scylla je comprends tout à fait tes arguments, mais je trouve pas ça nécessaire, chacun son avis là dessus
¯_(ツ)_/¯
Yes mais si tu rename ton salon
ah

et aussi je veux supp 2 salons
le salon voc mais aussi le salon donfiguration
att mais
la ou on appuie sur le bouton pour supprimer le voc
t'as deux salons ? x)
Ouais je vois
Pourquoi ?
nan c'est pas un problème 🤔
Je peux entendre que vous considérez que c'est pas nécessaire mais Wail il est à côté de la plaque là mdr
Je viens de regarder le système que j'utilise fonctionne avec une Map, et je n'ai jamais eu de problème
?
tu peux rajouter interaction.channel.delete() mais considère que le channel de config doit rester uniquement accessible au membre
ah mais oui je suis bete mdrr j'avais fais ça et ça avait delete le salon de configuration
my bad
Tu nous dit qu'il aura forcément d'être problème, je te prouve le contraire sur un système qui est fonctionnel sur un serveur de +10k membres et qui n'utilise pas de db
Il peut utiliser une db, mais ce n'est pas du tout utile dans son cas 
et oui tkt
Après tu pourras même faire en sorte que les gens puissent modifier le nom de leur channel ;)
Explique cette phrase
On cherche une solution pour stocker les données entre deux restart, tu arrives en proposant un Map
Je propose une dB, tu proposes ensuite enmap qui techniquement revient à faire une dB juste avec moins davantage
On s'est mal compris alors
tout est stocké en base mtn
ah 
Ensuite, j'ai dit que si tu voulais absolument utiliser une db, il pouvait utiliser enmap
Qui est léger
Pourquoi utiliser enmap alors qu'une dB fais la même chose en mieux ?
Peu importe ce qu'il stocke, c'est des principes de base de dev web
Même si il stockait qu'un id, une dB aurait ça place pour ces raisons
(désolé si je parais agressif, mon but est pas de l'être)
Quelqu'un pourrait m'aider pour la création de la commande pour un ticket ? en button et non en react si possible
Sur quoi est-ce que tu bloques ?
J'ai essayé plusieurs scripts trouvé sur des forums, youtube et même des liens pastebin qu'on m'a envoyé
mais aucun n'a fonctionné
non mais c'est clair, surtout que quite a mettre un truc en place, autant le faire bien
non c'est wailrone tkt 
Mais je suis pas agressif 
non j'ai dis que etre agressif avec toi c'est pg
Tu as des bases en JS ?
Du coup peut-être essayer de les créer par toi même ?
j'ai déjà crée quelques commandes par moi même, mais jamais quelques choses de compliqué, c'était des commandes pour clear au grand max
J'ai pas la base pour le faire :c
Baaah c'est en forgeant qu'on devient forgeron x)
C'est pour ça que je voudrais qu'on me donne la base
et non le script
sinon ça m'apprendrai rien
Sa t'apprends mieux si tu fais la base toi même aussi 🙂 @keen narwhal
Alors, ça part sur quoi ? pour le début ^^
Déjà il faut que tu te poses les bonnes questions. Par où commencer ?
Tu veux faire un salon sur ton serveur dans lequel est ton bouton pour ouvrir le ticket, c'est bien ça ?
Puis en appuyant sur ce bouton, l'utilisateur créé un salon dans une catégorie réservée sur le serveur ?
Exactement
Ba commence à créer un salon @keen narwhal
Donc il faut que tu commences par créer le salon avec le bouton
Ensuite tu récupères ce que te renvoie le bouton
Et pour finir, tu créé le salon ;)
J'ai créer le bouton, mais pour l'instant ça charge à l'infini :c
Car tu leur as pas mis une utilité
yes, je peux vous demander comment faire pour que ça crée un channel ?
Doc discordjs
je vais jeter un oeuil
:_: GuildChannelManager#create()
Creates a new channel in the guild.
rebonsor je suis perdu encore une fois j'arrive pas à faire supprimer un salon et à donner des roles, voici mon code
bon avec du recul le premier screen sert à rien mais mon select menu dont le custom id est frhdv ne réagit pas quand je clique sur une option
je n'ai pas de message d'erreur
oh...
J'ai mis inteactionCreate au lieu de interactionCreate 😭
J'en ai marre de moi
Bonjour, voici mon problème, d'abord voici mon code :
et voici l'erreur que j'ai
:_: GuildMember#permissions
The overall set of permissions for this member, taking only roles and owner status into account
La méthode hasPermissions n'existe plus sous discord.js@v13
if (member.permissions.has([Permissions.FLAGS.KICK_MEMBERS, Permissions.FLAGS.BAN_MEMBERS])) { console.log('This member can kick and ban'); }
C'est ça que je dois mettre ?
Oui et tu peux rajouter éventuellement rajouter true en option pour que la perm admin override
Mais c'est ca c'est comme tu veux
Hello je fais quelques test en js et je suis bloqué ```javascript
const words = [
{
name: "Test",
value: "0",
},
{
name: "Test2aaaaa",
value: "1"
}
]
words.forEach(function(name) {
const allname = name.name;
const result = allname.filter(word => word.length >= 6);
console.log(result);
});``` il me dit que allname.filter n'est pas une fonction, j'ai compris que c'était parceque allname n'était pas une array mais je ne vois pas comment faire :/
J'ai déjà essayé ça et ça me renvoie rien
la première solution marche, merci !
Quelqu'un sais pourquoi rien n'est écrit dans mon fichier json ? ```javascript
const Target = interaction.options.getMember('membre');
const Sender = interaction.member;
const Reason = interaction.options.getString('raison');
const WarnFileType = JSON.stringify({warnedMember: Target.id, sourceWarn: Sender.id, reason: Reason});
if (Sender.permissions.has(Permissions.FLAGS.KICK_MEMBERS)) { // Check if the author of the command have the good permissions.
if (Sender.id !== Target.id) { // Check if the author try to warn himself.
console.log(WarnFileType); // retourne bien les informations nécessaires
fs.writeFile('../../../warn.json', WarnFileType, (err) => {
if (err) throw err;
console.log('complete'); // le console log est bien effectué
})
}
}```
T’as plus d’encre
d'encre?




