#javascript-typescript
1 messages · Page 4 of 1
Ah du coup ça peut être quoi le soucis
Attends je vais tester ton code
tu as essayer de créer une commande toute basique pour voir si le bot répondait ?
Euh pas encore, je suis pas très bon en codage, je commence tout juste donc je sais pas trop faire ça
tu as appris javascript avant de te lancer dans le DJS ?
Du tout
ah bah conseil d'ami avant que tu sois dégouté de la programmation apprends le javascript avant de te lancer sur DJS
C'est pas GatewayIntentBits.GUILD_MESSAGES ?
Ca prend combien de temps à peu près si je m'y mets à fond ?
Non
tout dépend de toi mais il ne suffit pas d'apprendre par cœur tu dois aussi comprendre ce que tu écris et t'entraîner pour voir si tu as compris
Pourquoi non ?
Bah c’est pas ça
Dcp je viens de tester j’ai copier coller ton code et j’ai mis le token de mon bot ça log bien, donc ça doit être un problème de permissions
Ok
En v14 ça à changer
Hey ! Quelqu'un sais comment faire pour retranscrire les dm que reçois le bot sur un channel discord svp ?
Il suffit d'écouter sur l'event messageCreate de ton client, et de vérifier que la propriété .channel.type [1] du message reçu est égale à 'DM' [2]. De là, tu fais du message ce que tu veux ; par exemple, envoyer son .content dans le channel de ton choix.
[1] : https://discord.js.org/#/docs/discord.js/stable/class/TextChannel?scrollTo=type
[2] : https://discord.js.org/#/docs/discord.js/stable/typedef/ChannelType
si tu veux une solution clé en main où je te file juste du code j'ai pas le temps de te l'écrire
je comprend pas tout
normalement tu as un client, que tu as créé en faisant quelque chose qui ressemble à ça :
const { Client } = require('discord.js')
const client = new Client() // ici
client.login('ton token')
const { Client, GatewayIntentBits } = require("discord.js");
J'ai ça
const client = new Client ({ intents: [ GatewayIntentBits.Guilds, GatewayIntentBits.GuildMessages, GatewayIntentBits.MessageContent ] });
et ça
oui voilà
Ok ouai
client c'est ton client discord, c'est ce qui te permet de communiquer avec ton bot
ok je comprend
ce que je te dis c'est d'écouter l'event messageCreate (donc un truc qui ressemble à client.on('messageCreate', (msg) => { ... })) et dans les ... tu vérifies que la propriété msg.channel.type est égale à 'DM', et tu en fais ce que tu veux
après le reste c'est de la syntaxe js de base, à base de if
tiens attends vas-y je te donne le squelette du truc :
client.on('messageCreate', (msg) => {
if (msg.channel.type === 'DM') {
// tu fais ce que tu veux ici
}
}
ouais t'envoies msg.content dans le channel que tu veux via channel.send(msg.content) par exemple
mais il faut que tu récupère un channel pour ça
comment ça que je récup un channel ?
bah que tu dise où tu veux l'envoyer
Oui ça je peux le faire avec la selection de l'id ?
oui voilà
Mais tu vois le premier message ça correspond à comment tu dois explorer la doc pour avoir ce genre de réponse, essaie de voir toi aussi comment j'ai fait
je suis parti de https://discord.js.org/#/docs/discord.js/stable/class/Client et puis j'ai cherché un event qui correspond et avec ce qu'il me donne j'ai cherché comment filtrer le fait que ça corresponde à un message de DM
oui je vais essayer de check après j'ai essayer de chercher dans la doc mais j'avoue ne pas avoir trouver...
c'est assez compliqué de tout comprendre sachant que j'ai même pas les bases, au début je faisait ça juste pour troll avec un bot sur un serv entre pote mais je commence à bien aimer faire ça donc j'vais regarder des guides pour faire des trucs en solo ou avec le moins d'aide possible
en l'occurence messageCreate te donne une variable de type Message donc tu remonte à partir de là
ok oui je vois
c'est un cheminement
ouais exactement
ok ok bah merci beaucoup
j'vais essayer de commencer ça ce soir pour finir demain car la j'suis crever
du reste faut que tu apprennes les bases du js et ça devrait couler tout seul
Oui j'vais faire ça
d'ailleurs à part les bots discord on peux faire quoi en JS ?
car je m'y connais vraiment pas
bah par exemple sur les sites internet quand tu clique sur un bouton et que ça ouvre un message ou que ça déclenche quelque chose c'est souvent du js derrière
de rien, bonne chance
merci dans tout les cas demain voir ce soir y'aura la réponse de si j'ai réussi ou non haha
il se peut que tu aies besoin d'un intent pour avoir le contenu du message mais je suis pas sûr pour le coup
un intent pour les dm ?
bah c'est possible, ça fait un bail que j'ai pas fait de bot mais il me semble qu'ils ont changé le fonctionnement
je sais pas trop, teste tu verras bien si ça marche
mais si ça marche pas cherche du côté des intents
client.on('messageCreate', (msg) => {
if(msg.channel.type === 'DM') {
client.channels.get('id du channel').send(msg.content);
}
})
j'ai fait ça, et au démarrage j'obtient ça;
Uncaught ReferenceError ReferenceError: Cannot access 'client' before initialization
sur google j'ai pas trop compris comment faire
C'est quoi ton code en entier ?
Les permissions configurables sur Discord ? Exemple : Administrateur, Gérer les salons etc
Ah c'est bon ça a marché, je pense que c'était un problème de permissions car j'avais juste mis la permissions Administrateur et ça a marché quand j'ai coché toutes les permissions. Merci bien
Bonjour
Maintenant j'essaye de faire une commande où le bot répond "pong" lorsque j'écris "ping"
Donc ça, ça marche nickel
Hors je voulais que il ne log plus tous les messages mais uniquement les messages de réelles personnes et non de bot
const { Client, GatewayIntentBits } = require("discord.js");
const client = new Client({
intents: [
GatewayIntentBits.Guilds,
GatewayIntentBits.GuildMessages,
GatewayIntentBits.MessageContent
]
});
client.on("ready", () => {
console.log("bot opérationnel");
});
client.on("messageCreate", message => {
if(message.author.bot) return;
console.log(message);
if(message.content === "ping"){
message.reply("pong");
}
});
client.login("");```
J'ai fait ça
Et petit soucis
Déjà lorsque j'écris "ping" il me répond "pong" puis une 2ème fois "pong"
Et lorsque je réécris "ping" il me répond "pong", "pong" et "pong"
Et lorsque je réécris une 3ème fois "ping" il me répond "pong", "pong", "pong" et "pong"
Donc en gros plus j'écris "ping", plus le nombre de "pong" augmente
Etc
Problème résolu, désolé
Pq en entier ?
C'est quand j'add ça que j'ai l'erreur
Envoie ton code en entier l’erreur vient pas de là
Ah attend j'suis pas chez moi je t'envoie ça après
Je t'envoie ça en pv pour éviter le gros message
C'est le but du salon
Effectivement
sinon il n'y a que celui à qui tu l'as envoyé qui pourra t'aider
client.on('messageCreate', (msg) => {
if(msg.channel.type === 'DM') {
client.channels.get('855605406549278733').send(msg.content);
}
})
Bon du coup j'ai essayer ça, marche pas...
il ne se passe rien
littéralement
il doit me manquer des intents
j'en avais add mais ils fonctionnent pas
Tu essayes d’envoyer quoi avec ta commande la ?
Tu veux envoyer tout les messages du salon à ton bot en DM ?
Ah nan l’inverse ok
l'inverse, en gros ce que le bot reçois
il l'envoie dans un salon
si quelqu'un sais ce qui ne va pas dans mon code je veux bien de l'aide
Tu as l'intents pour les message privées ?
Hello, je bloque sur un truc tout bête dans mon code ;
quand je run mon bot en local, je n'ai aucun souci et tout fonctionne parfaitement
quand je le met sur heroku, ce morceau de code dysfonctionne pas mal
c'est à dire que dès lors que je met un message commençant par un préfixe reconnu, la condition à la ligne 24 devient en toute logique true, mais le code suivant ne s'éxécute pour autant qu'une fois sur 20
tandis qu'en local je n'ai pas de souci comme ça
Quand tu définis prefix essaye de mettre let prefix = "";
Si tu es en V14 alors mets ça pour vérifier si c'est les DM.
if(msg.channel.type == 1)
1 correspond au DM.
voilà le rendu que j'obtiens
en 1 ce que je suis supposé avoir
et en 2 ce que j'ai maintenant
En mettant ce que je t'ai dit ?
aucune idée, c'est lequel?
Oui.
En faites pour l'erreur elle vient de là car c'est ici que tu définis ton prefix.
Et c'est bien ça car sans les "" tu as undefined et avec tu as rien donc un .slice(0) comme je le pensais.
direct message
tu m'as perdu là ^^'
En gros dans ton code mysql il récupère pas ton prefix.
ahh
Essaye de mettre ton prefix de base dans ton let prefix voir.
beh pourtant si, c'est juste que dès lors que je sors de la requête et des résultats, il se 'reintialise'
je push sur heroku et je te dis ça
non j'ai pas
DirectMessagesReactions//Permet d'avoir "accès aux reactions sur les dms*" avec le bot
DirectMessagesTyping //Permet de voir si un utilisateur ecrit un message```
cimer
Non mais c'est bizarre du coup parce que c'est censé marcher.
ça veut dire que ton args = ldb!hello au lieu de hello.
le problème vient vraiment du préfixe alors
mais je sais aps comment faire x)
il faudrait juste que je puisse redéclarer mon prefix et qu'il soit accessible ensuite
et ça règlerait mon souci
genre comme ça ça pourrait fonctionner ?
Avant de faire ça j'aurai tester avec un console.log du prefix dans la boucle mais bon vas-y ça peut toujours.
Ce thème 🤯
XD
je suis plus ou moins toujours confronté au même souci au final ;
dans la boucle, ça fonctionne, dans le if, ça fonctionne, mais quand je sors des résultats de la requête ( je sais pas si c'est compréhensible ), prefix n'est plus défini x)
j'en avais pris un random ^^'
même avec ça ne fonctionne pas :/
ça ne fonctionne pas
client.on('messageCreate', message => {
if(message.channel.type === (discord.DMChannel)) {
message.guild.channels.cache.get('855605406549278733').send(message.content);
}
});
quelqu'un sais comment faire en sorte que ça fonctionne svp ?
Tu as essayé avec la méthode de Rayreth plus la mienne ?
oki
Ouais les 2 ensemble.
Avec l'Intents plus le 1.
oui j'ai essayer l'un, puis l'autre, puis les deux
oki
Une erreur ou rien dans la console ?
Re, au final j'ai opté pour un try catch ( qui fonctionne très bien en local ), mais qui foire 9x sur 10 quand je met le code sur Heroku, une idée de comment régler ça ? xD
( n'hésitez pas à me ping si vous avez une idée, j'en peux clairement plus xD )
rien, je peux start, j'mp le bot et il ne passe juste rien
Tu as l'intent pour le contenue des messages ?
Salut j'aimerais savoir pourquoi mon else if ne fonctionne pas ?
if ({ favoriteColor} = ("Roi Lion","Roi lion","roi lion","roi Lion","Le Roi Lion","le roi lion")){
interaction.reply({ embeds: [RoiLion], ephemeral: true})};
else if ({ favoriteColor} = ("Alpha","alpha")){
interaction.reply({ embeds: [Alpha], ephemeral: true})};
svp
Salut ! Tu aurais pas mal indenté ton code ?
non j'ai mis ferme mon code après je ne l'ai juste pas copier
et la suite?
Avant l'envoie du message fait un console log et réessaye
comment ça ?
Envoie d'envoyer le contenus de message
Tu marque
console.log("mp recus")
Et tu réessaye et regarde ce qu'il y'as dans la console
C'est pour voir si il voit au moins le mp
j'vais essayer
comme ça ?
Oui voila
bah j'ai essayer il se passe rien
Ok donc le problème c'est qu'il ne reçoit pas le mp
bah je vois pas comment faire :(
vsy
Mets des intents dans un autre onglet vs code en attend
Attendant*
Et met
32767 pour les intents
Ça met tout les intents de discord js
32767 ??? je débute je connais pas grand chose hein
C'est pas conseillé mais là on veut juste test pour voir si il manque un intents
Les intents existe aussi en chiffres, et ça c'est pour avoir tout les intents
et je dois taper quoi pour faire ça ?
Envoie tes intents je te montre
ici
Juste fait une copie dans un bloc note pour après
c'est fait
Ah oui my bad
Ah non pas les crochet au intents
Non une maj au C de client après le new
Au new Client si
bah il y était déjà nn ?
?
Je sais pas
Pas grave
sauf pour les gateway
Ducoup test avec le mp
ok
ah j'ai une erreur au démragge
Uncaught ReferenceError ReferenceError: Client is not defined
ça me demande de mettre en minuscule le c après new
Alors met le
Uncaught ReferenceError ReferenceError: Cannot access 'client' before initialization
faut pas que je mette ça avant ?
const { Client, GatewayIntentBits } = require("discord.js");
Change ta ligne de const client par const client = new Client({
Si
Tu l'as pas mi ?
lstmb
j'suis un zgeg
j'l'ai mis après
att je le bouge
ça change rien
Uncaught DiscordjsError Error [DisallowedIntents]: Privileged intent provided is not enabled or whitelisted.
j'ai encore une erreur
Ah oui
Vas sur le dev portal
Là où tu activé le message content
Active le member
Dans les intents privilégier
ça ?
Yep
c'est bon il est on
je try
ça fait rien dans la console ni sur discord
comme si la commande exister pas
C'est pas une commande x)
t'as compris 😭
Oui x)
Maintenant réessaye avec ça
ça change rien
Envoie ton code pour voir ?
Tu sais si tu veux faire un bot avec discord.js mais que tu ne veux pas apprendre le js tu peux payer quelqu'un pour le faire
Ca sera toujours plus rapide que d'essayer tout ce qui est possible d'essayer et de venir demander à ce qu'on te lise ton message d'erreur et qu'on corrige le code que tu as essayé de recopier
À la base c'était juste pour créer un bot pour un délire entre pote, au final j'aime bien faire ça, je recopie pas bêtement j'essaie de comprendre ce que j'écris, ce n'es juste pas si évidemment pour vous que pour moi, je débute totalement, par le fait qu'à la base je ne souhaitais pas apprendre à coder mais juste faire 2-3 commandes en vif je n'ai littéralement aucune base. En posant des questions, je comprend et j'arrive à me débrouiller seul pour les prochaines fois.
Au final j'aimerais apprendre le js mais j'essaie juste de finir ce que je demande actuellement donc la retranscription des messages pour commencer à regarder des vidéos d'explication du js.
Je t'envoie ça après je ne suis pas sur PC
Okay okay pas de soucis ping moi hésite pas
Moi (personnellement) j'ai appris le JS en même temps que j'ai appris à faire un bot
Hello, j'essaye de faire un cdn avec express js, c'est très bricolage et ça ne marche pas
fs.readdir("./content", (err, files) => {
if (err) {
console.log(err);
return;
}
files.forEach(file => {
app.get(`/${file}`, (req, res) => {
res.sendFile(__dirname + `/content/${file}`);
})
})
})
C'est ce que j'essaie de faire haha
Mais bon c'est pas simple, ça prend du temps donc je pose des questions
Apprendre les bases du JS facilitera l’apprentissage du djs
Yes je sais mais j'aimerais juste finir la retranscription des messages pour finir le bot (il me manque que ça) avant de faire tout ça
Yes c'est sur
Tu peux tjr pas envoyer le code ?
T'as une erreur ?
Non mais je viens de trouver une solution
app.get("/*.png$/", (req, res) => {
fs.stat(`${__dirname}/content${req.path}`, (err, stats) => {
if (err) {
res.status(404).send('404 - Not Found');
return;
}
res.sendFile(`${__dirname}/content${req.path}`);
})
})
T'avais déjà essayé avec fs.readdirSync ?
Sync non
Non ça ne marche pas ou pas essayer ?
Pas essayé
Ah d'accord d'accord
Mais cette solution fonctionne donc c'est ok, le soucis c'est juste le regex
Je suis éclaté en regex donc je sais pas comment l'appliquer à tous les formats
Moi aussi c'est pas délire le regex 😅🤣
Mdrr
Je vais faire ce code pour chaque format en attendant de trouver
En fait non même pas besoin
Je suis con
Bah tant mieux alors !
app.get("/*", (req, res) => {
fs.stat(`${__dirname}/content${req.path}`, (err, stats) => {
if (err) {
res.status(404).send('404 - Not Found');
return;
}
res.sendFile(`${__dirname}/content${req.path}`);
})
})
J'ai juste à faire ça
C'était pas adapté à ce que j'avais fait avant mais vu que je check si le fichier existe c'est bon
Tu fais quoi avec ton exprèss ?
je viens de rentrer je t'envoie ça
Yes sir ;)
Bon ben en fait j'ai un problème avec mon PC je peux pas te l'envoyer je fais ça dès que mon problème est réglé
Salut, est ce que quelqu'un saurait trouvé une solution : Je cherche a appeler une fonction qui utilise des variables venant de useState, mais j'aimerais que la fonction s'execute juste après avoir set les variables... Je donne un exemple :
const [var1, setVar1] = useState(0);
const [var2, setVar2] = useState(0);
const exemple = () => {
setVar1('1');
setVar2('2');
let result = add(var1, var2);
}
const add = (a, b) => {
return a + b;
}
exemple();
Dans ce code par exemple, j'aimerais que result soit égale à 3 et pas à 0. Comment puis-je faire pour faire mon add() seulement une fois que les deux var seront set ? Je ne peut pas passer par un useEffect car il y a 2 variables, le useEffect serait alors appeler soi 2 fois (useEffect avec les deux var en dépendance), soi 1 seule fois mais pas sûr que l'autre variable aurait bien été mis a jour (useEffect avec var2 comme dépendance par exemple)
yes
const { Client, GatewayIntentBits } = require("discord.js");
const { ActivityType } = require('discord.js');
const { EmbedBuilder } = require('discord.js');
const discord = require("discord.js");
const client = new Client({
intents: [
32767
]
});
const channel = client.channels.cache.get('id');
const feedbackChannelID = `AAA`;
const prefix = ";";
client.on("ready", () => {
console.log("BOT OPÉRATIONNEL");
client.user.setActivity('Prépare le tribunal !', { type: ActivityType.Competing });
});
client.on("messageCreate", message => {
if(message.author.bot) return;
if(message.channel.type == "dm") return;
if(message.content.startsWith(prefix + "ban")){
if(message.member.permissions.has("ADMINISTRATOR")){
let mention = message.mentions.members.first();
if(mention == undefined){
message.reply("Merci de préciser sur quel utilisateur le jugement dois s'abbatre.")
}
else {
if(mention.bannable){
mention.ban();
message.channel.send("<@" + mention.id +"> a été jugé par Masdak, il reçois donc une peine de prison à vie.")
}
else {
message.reply("Ce membre n'est pas jugeable !")
}
}
}
}
});
client.on("messageCreate", message => {
if(message.author.bot) return;
if(message.channel.type == "dm") return;
if(message.content.startsWith(prefix + "kick")){
if(message.member.permissions.has("Administrator")){
let mention = message.mentions.members.first();
if(mention == undefined){
message.reply("Merci de préciser sur quel utilisateur le jugement dois s'abbatre.")
}
else {
if(mention.kickable){
mention.kick();```
message.channel.send("<@" + mention.id +"> a été jugé par Masdak, il est relaché en liberté conditionnelle.")
}
else {
message.reply("Ce membre n'est pas jugeable !")
}
}
}
else {
message.reply("Vous n'avez pas la possibilité de procéder à un jugement !");
}
}
});
client.on("messageCreate", message => {
if(message.author.bot) return;
if(message.channel.type == "dm") return;
if(message.content.startsWith(prefix + "prison")){
if(message.member.permissions.has("ADMINISTRATOR")){
let mention = message.mentions.members.first();
if(mention == undefined){
message.reply("Merci de préciser sur quel utilisateur le jugement dois s'abbatre.")
}
else {
mention.send("Tu viens d'être envoyer en prison, tu peux ressortir en répondant à ce message avec une lettre d'excuse."),
message.channel.send("<@" + mention.id +"> a été jugé par Masdak, il restera donc pendant un temps indeterminé en prison.")
let testRole = message.guild.roles.cache.find(role => role.id == "1008795504265670679")
mention.roles.add(testRole)
}
}
}
});
client.on('messageCreate', message => {
if(message.channel.type === (discord.DMChannel)) {
console.log("mp recus");
message.guild.channels.cache.get('AAA').send(message.content);
}
});
client.login("AAA")
@blazing wadi`
Voilaaaa
client.on('messageCreate', message => {
if(message.channel.type === (discord.DMChannel)) {
console.log("mp recus");
message.guild.channels.cache.get('AAA').send(message.content);
}
});
ne fonctionne pas
il ne passe rien
ni dans la console ni sur le serveur
comme si rien n'était écris
const client = new Client({
intents: [
32767
]
y'a ça
c'est qql qui m'avais fait test de mettre tout les intents
32767 c'est avec les anciennes version
Non
c'est quoi le nouveau stp ?
mb
3276799
ah oui d'accord
Normalement
il ne se passe toujours rien :/
discord.DMChannel existe pas
j'ai également essayer avec ('DM') ('Dm') et 1 à la place
et ensuite arrêtez de mettre systématiquement toutes les intents, si elles sont la il y a une raison, et dernier truc, faut pas mettre une série de listeners du meme event les uns derrière les autres
pour tout les intents ils n'y sont pas de base c'est hier ici qql ma dit de faire ça pour voir si il ça venais des intent pour mon code
utilises ce qui est prévu dans la doc a savoir ChannelType.Dm
et comment ça une série de listeners ?
j'vais essayer merci
Tu fais plusieurs messageCreate
tu écoutes 15 fois messageCreate
Or que tu peut en faire que un
ça ne fonctionne pas
if (!message.guild) {
console.log("mp recus");
};
c'est ChannelType.DM j'ai fais une erreur
toujours pas :/
je remplace mon console.log par celui la ?
ton évent est bien déclenché ?
Oui
comment ça ? désolé je connais vraiment pas grand chose
tu mets un console.log en haut de messageCreate et tu vois si il fonctionne, si il est pas déclenché ca vient des intents ou des partials
ah bah oui tu as pas mis de partials
ah bah non justement je reçois rien dans la console
il te faut au moins Channel depuis djs 13 pour recevoir des DM
mais je suis pas sensé avoir tous les intents la ?
j'en sais rien je lis pas encore le bitfield mais les partials c'est aautre chose
jusqu'à présent j'avais ceux-la
intents: [
GatewayIntentBits.Guilds,
GatewayIntentBits.GuildMessages,
GatewayIntentBits.MessageContent,
GatewayIntentBits.DirectMessages,
GatewayIntentBits.DirectMessageReactions,
GatewayIntentBits.DirectMessageTyping,
ok ok
du coup faut que je trouve l'intent qui me manque
il te manque pas une intent mais une partial
mets Channel
Uncaught ReferenceError ReferenceError: Partials is not defined
faut importer de djs ou passer par ta variable discord
ah oui att
j'ai ça quand il reçois un dm:
Uncaught ReferenceError ReferenceError: ChannelType is not defined
Code ?
j'ai essayer de faire mettre
if(message.channel.type === ('ChannelType.DM'))
Pour voir, et mtn je reçois le message qu'il reçois dans la console
si j'enlève les '' j'ai l'erreur
Fais ceci
c'est déjà fait
Good alors ?
faut pas des '' c'est pas une string
je sais j'ai juste essayer pour voir et sans j'ai l'erreur
je crois qu'il faut que je définisse dans mon code l'id de la guild car dans l'erreur ça reconnais pas ça
mais je vois pas comment faire
j'avais déjà essayer
quelle erreur ?
comment faire ?
pour importer une variable ?
du coup apprends le JS pour avoir les bases et comprendre ce que tu fais et ensuites reprends ton bot, tu verras tu iras beaucoup plus vite
Ouai je sais je compter faire ça mais comme il me manque que ça pour que mes potes puissent déjà s'en servir je voulais finir ça avant
car en vrai faire le bot ma donner envie d'apprendre vraiment et pas de juste faire ça en vif
il me manque juste la retranscription des messages pour pouvoir le finir
Y'as de module qui permet de transcript
lequel ?
Cherche sur internet
Ça depend de ce que tu as bessoin
Y'en à pour transcript en hmtl, d'autre sur un bloc note en ligne,ect..
moi je veux renvoyer ça vers un channel discord
Alors prend le html que tu envoies en tant que fichier
Perso j'en connais un mais il n'existe pas en V14 donc j'ai du le modifier moi même pour le rendre fonctionnel.
j'vais voir ça
j'peux voir stp ?
ça devait être ce module il me semble.
https://www.npmjs.com/package/discord-html-transcripts
cimer
la version github est en v14
J'suis pas allé regarder, j'ai modifié au tout début de la V14.
bonjour j essay actuellement de crée un bot discord sauf que quand je tape "node." dans ma console un message d erreur apparé
on peut me dire ou est l erreur
C'est node . @north matrix
ok merci
Dr
sa na pas l air de marcher
Erreur ?
l
Le bot est en ligne non ?
non
Code + erreur
comment je regel sa alors
Ah tous les coups c'est une erreur avec les Intents
Un GuildMemberAdd sans Intents ça marche pas ça il me semble.
Tu es en V14 je suppose et tu as regardé un tuto V13 ?
probable
Tu as une erreur pour le coup ?
j ai suivie se tuto
2/12/20 ouais ça date XD.
Bonjour, j'ai switch mes pages React avec mon project Nextjs (j'avais séparé le temps que je comprenne les 2) et maintenant que j'ai ajouté (tout en faisant les changements nécessaire), j'ai cette magnifique erreur Error: Hydration failed because the initial UI does not match what was rendered on the server qui vient de mon component Navigation et plus précisément d'ici :
const [burger, setOpenBurger] = useState(false);
const toggleSmallNav = ()=>{
useEffect(()=>setOpenBurger(!burger), [])
};
d'après ce lien https://nextjs.org/docs/messages/react-hydration-error, je semble faire la bonne chose. Merci pour ce qui peuvent m'aider
const { Client, GatewayIntentBits } = require('discord.js')
const config = require('./config.json');
const client = new Client({
intents: [
GatewayIntentBits.GuildMembers
]
});
client.on('ready', () => {
console.log('Le bot est connecté !')
client.user.setActivity('Tué dioxyde', {
type: 0
})
});
client.on("guildMemberAdd", member => {
console.log(`${member.user.tag} a rejoint le discord !`);
})
client.login(config.token)
Tiens test ça
sa ne marche pas
cela vien peut etre de mon token
{
"token": " (token du bot) "
}
Tu as une erreur ou pas ?
non
dans le terminal ?
( ce n est pas le vrai token )
sa marche pas
Tu as pensé à sauvegarder tout tes fichiers ? (CTRL + S)
apparament non
Bonjour, j'ai switch mes pages React avec mon project Nextjs (j'avais séparé le temps que je comprenne les 2) et maintenant que j'ai ajouté (tout en faisant les changements nécessaire), j'ai cette magnifique erreur Error: Hydration failed because the initial UI does not match what was rendered on the server qui vient de mon component Navigation et plus précisément d'ici :
const [burger, setOpenBurger] = useState(false);
const toggleSmallNav = ()=>{
setOpenBurger(!burger)
};
d'après ce lien https://nextjs.org/docs/messages/react-hydration-error, je semble faire la bonne chose. Merci pour ce qui peuvent m'aider
Hello, j'ai un petit soucis, je suis sur react, entrain de faire les routes dans ma page App mais l'autocomplétion ne fonctionne pas, quelqu'un à déjà eu ce soucis?
l'autocomplétion ?
Oui, normalement je devrais avoir Home qui s'affiche et ça me l'import automatiquement
ça fonctionne sur d'autres projets mais sur celui là, il ne veut rien savoir..
Tu as le bon nommage ?
Oui, mais je ne comprends pas là, je viens d'y arriver en ouvrant les pages dans VSC.. si les pages ne sont pas active ça ne marche pas..
Normalement (même sur les autres projets) je n'ai pas besoin de les ouvrir pour qu'elles soient detectées.. Encore un mystère VSC
Hello a tous,
Je sais que ce tuto n'est plus a jour mais est il toujours utilisable ? Si on suit la video le resultat sera til le même ? Car je trouve le result au top
https://www.youtube.com/watch?v=pS0v5eY7W9k
Merci d'avance
!! Attention !! ce projet comporte des morceaux de code qui sont maintenant dépréciés (tout va très vite en React ^^), un cours à jour de React est disponible ici : https://www.youtube.com/watch?v=f0X1Tl8aHtA
░ Fichier de base → https://github.com/JustFS/react-cv/archive/master.zip
0:00 - Intro
4:03 - Config
24:55 - Router & Navigation
54:02 ...
Si c'est pour refaire la même chose achete / trouve un template sur internet le but c'est de comprendre ce qu'il fait surtout
hello les mecs j'ai une petite erreur mais je ne sais pas vraiment quoi faire pour la règler si vous avez des idées je suis preneur ! Merci d'avance 🙂
Editing application command permissions requires an OAuth2 bearer token, but none was provided.
client.once(`ready`, async () => {
try {
await client.application.commands.set(globals);
await client.guilds.cache.get(require(`../config.json`).dev_guild_id).commands.set(locals);
await client.guilds.cache.get(require(`../config.json`).dev_guild_id).commands.fetch().then(cmds => {
const permissions = [
{
id: require(`../config.json`).bot_owner,
type: `USER`,
permission: true,
},
];
cmds.forEach(cmd => {
if (devs.includes(cmd.name)) cmd.permissions.set({ permissions });
});
});
} catch (err) {
console.error(err);
}
});```
voici le code
Pouvez vous m'aider car cela m'affiche peut importe le resultat, cela m'affiche l'embed RoiLion
svppppppppp
Un peux plus d'explication ne sera pas de refus x)
Tu as mis la case application commands dans le lien de ton bot ?
Yes normalement
Ouais c'est lis @sullen kelp
Bah ouais sinon je pourrais pas faire de slash

C'est possible x)
Si on en suit l'erreur il me faut un token 0Auth2 mais je l'ai pas précisé
Après le truc c'est pourquoi tu aurais besson d'un token autre que celui du bot ?
Bah ouais aussi
Je veux juste pouvoir utiliser les commands dev que sur un serveur
Les commands spéciales pour le owner du côté
Vot
Juste déployé que sur un serveur c'est ça ?
Bah ouai exact
En gros y a mes globals
Donc le reste du bot
Et les commands du dossier Owner que sur un serveur ou du moins que je puisse que moi les utiliser
Pas très français mais l'idée est là

J'ai capté x)
Mais je pense pas trop pouvoir t'aider mais va voir sur le discord officiel de discord js
Je t'envoie le lien en mp
Yes sir !
Alors je comprends absolument rien à ta condition donc à moins que le js soit un langage très différent de ce que je pensais il y a un (gros) problème de syntaxe
Si tu voulais tester que la variable favoriteColor correspond à un des éléments que tu as mis entre parenthèses, la syntaxe correcte c'est :
if (['roi lion', 'Roi Lion'].includes(favoriteColor)) {
...
}
Mais bon quitte à vérifier que ton truc contient "roi lion" fais plutôt ce genre de condition :
if (favoriteColor.toLowerCase().includes('roi lion')) {
...
}
Mon dernier exemple détecte s'il existe 'roi lion' quelque part dans favoriteColor ; et vu que normalement c'est sensible à la casse, il suffit de tout mettre en minuscule pour vérifier tous les cas de figure
vous savez où je peux apprendre le js ?
bonjour je crée mon bot discord et je voulais savoir si il était possible, après avoir cliquer sur une option d'un selectmenu, de générer un autre selectmenu automatiquement dans le channel. si quelqu'un sait je veux bien. merci !
Il suffit d'en re-créer un 😄
j'ai réglé mon pb c'est carré
Merciiiiiiiiiiii beaucoup malgré que je ne suis pas fort en javascript j'ai réussi à établir un script mais j'avais un erreur très fréquente et tu viens du changer cela je te suis énormément reconnaissant. Merci beaucoup à toi je te souhaite une merveilleuse journée.
Nice
Bonjour, je vais commencer à développer mon tout 1 er bot
Je sais comment faire ce qui est mis dans les divers tutoriels.
Mais j' aimerais au lieux de faire un ban def de faire un ban qui met le membre dans un salon réservé aux bannissement en enlevent le rôle membre et en ajoutant le rôle banned comment dois-je faire, car je ne co nais pas la manipulation à faire svp ?
Je vous remercie d'avance
Rapport? 🤔
userMissingPermissions est emit par le manager de command il me semble
yes faut utiliser la propriété emitter
Je veux qu'il comprennent ce qu'il fait au lieux de juste balancer une ligne de code
Par exemple pourquoi on peut pas rajouter un rôle à un user
Ouais je vois, a la limite commente le code il le verra
Merci 
Ah oui pas con
Je vais faire ça
Ducoup
member.roles.add("id")
C'est pour ajouter un rôle, member c'est toi qui doit le déclarer (soit avec le premier utilisateur mentionné dans le message soit en option de slash commands) (member c'est le mec du serveur en gros)
L'id c'est l'id du rôle (le rôle du bot doit aussi être au dessus du rôle qu'il veut donner)
Pour auter le rôle c'est .remove("id") à la place de .add("id)
Non je ne sais pas la différence
D'accord merci
Donc si j'ai bien compris quand je vais ajouter cela si j' execute la commende de ban (pour mettre dans le salon des bans) cela va enlever le rôle membre et le remplaçer par le rôle banned
Oui
D'accord merci de ton aide
bonjour est ce que quelqu'un peut m'aider a propos de ce problème svp,
Code:
const fs = require("fs")
module.exports = async bot => {
fs.readdirSync("./events").filter(f => f.endsWith(".js")).forEach(async file => {
let event = require(`../events/${file}`)
bot.on(file.split(".js").join(""), event.bind(null, bot))
console.log(`Evènement ${file} chargé avec succès !`)
})
}```
Erreur:
``` throw er; // Unhandled 'error' event
^
TypeError: Cannot read properties of undefined (reading 'forEach')```
Il trouve aucun fichier en js dans le dossier events.
pourtant j'en ai 2
Alors vérifie bien le chemin vers ton dossier ^^
essaie sans "./" avant le nom de ton dossier
Parce qu'il renvoi None lors de la lecture du dossier, ou alors ce sont tes fichiers qui n'ont pas d'extensions .js
Je mets un ".then"?
à toi de voir
Des devs react native here?
c'est une vraie question car je ne sais pas comment faire ce "en re-créer un". Merci !
Hey ! :
Uncaught DiscordjsError RangeError [BitFieldInvalid]: Invalid bitfield flag or number: ADMINISTRATOR.
J'ai ce message d'erreur quand cette commande est effectuer:
client.on("messageCreate", message => {
if(message.author.bot) return;
if(message.channel.type == "dm") return;
if(message.content.startsWith(prefix + "ban")){
message.delete(1000);
if(message.member.permissions.has("ADMINISTRATOR")){
let mention = message.mentions.members.first();
if(mention == undefined){
message.reply("Merci de préciser sur quel utilisateur le jugement dois s'abbatre.")
}
else {
if(mention.bannable){
mention.ban();
message.channel.send("<@" + mention.id +"> a été jugé par Masdak, il reçois donc une peine de prison à vie.")
}
else {
message.reply("Ce membre n'est pas jugeable !")
}
}
}
}
});
C'est car la personne qui l'a fait n'a pas la perm admin mais j'aimerais savoir comment éviter le crash dans le cas ou la personne n'a pas la perm svp
(l'erreur fait crash le bot du coup)
C'est Administrator il me semble
de ?
le permissions.has
oui je sais
mais j'aimerais faire en sorte que ça ne crash pas si qql n'ayant pas la perm essaye de faire la commande
il ne s'écrit plus en full maj mais juste Administrator
car la c'est le cas
c'est à cause de ça que ça crash ??
bah si j'me fie au message d'erreur normalement oui
bah la si qql qui a la perm fait la commande marche mais si qql fait la commande sans la perm ça crash
c'est good c'était ça merci beaucoup
D'ailleurs @left forum où je peux mettre que si le mec n'a pas la perm ça message.reply
tu fais la même condition mais avec un ! avant
genre if(!condition) message.reply("Ton message")
ok merci
Sur quel application on script moi je suis sur Android
… sur pc deja
Bonsoir est ce que vous avez une idée (discord.js) de comment générer un autre select_menu après avoir cliqué sur une des options d'un premier select_menu ? merci !
Juste en recrée un et l'envoyé
Ouai mais si c'est comprendre un truc qui marche pas sa sert a rien 🙂
J'apprends le react c'est pr sa
Techniquement ça devrait être là même chose
je l'envoie où dans mon code ?
À l'interaction de ton menu de sélection
if(interaction.isSelectMenu()){
if(interaction.customId === 'classe'){
await interaction.deferReply({ephemeral: true})
const roleId = interaction.values[0];
const role = interaction.guild.roles.cache.get(roleId)
const memberRoles = interaction.member.roles;
const setchannelName = interaction.member.user.username.toLowerCase()
const userChannel = interaction.guild.channels.cache.find(channel => channel.name === `${setchannelName}`)
memberRoles.add(roleId)
interaction.reply(`${role.name} t'a été ajouté`).then(msg => {
interaction.channel.bulkDelete(1).then(messages => console.log(`Bulk deleted ${messages.size} messages`)).catch(console.error);
})
const SecondRow = new ActionRowBuilder()
.addComponents(
new SelectMenuBuilder()
.setCustomId('options')
.setPlaceholder('Choisi tes options')
.setMaxValues(1)
.setMinValues(1)
.setOptions(
{
label: '2A',
value: '1001470727389724702',
description: "T'en en 2A ? C'est ici !"
},
{
label: '2B',
value: '1001471018948378744',
description: "T'en en 2B ? C'est ici !"
},
)
)
await interaction.reply({content:'Clique sur le menu ci-dessous :', components: [SecondRow] });
}
Ca me met l'erreur : Error [InteractionAlreadyReplied]
je n'ai qu'un terminal d'ouvert
Bah les concepts reste les même enfaite
peux ou peux pas du coup ?
je vois donc du coup je fais un 2e bout de code du style
if(interaction.isSelectMenu()){
if(interaction.customId === 'classe'){
await interaction.deferReply({ephemeral: true})
}
où juste le custom id change ?
?
dans interactionCreate comme pour le premier selectmenu
Ah ok
J'ai capté
Bah enfaite tu suprimme juste 1 interaction.reply
Soit en mettant tout le texte dans interaction.reply
Soit en faisant une interaction.channel.send (envoie le message dans le salon actuel
bah en fait je veux que le 2e s'affiche uniquement quand on a cliqué sur une option du premier menu
ok je vais test la deuxieme solution
tu gères ça marche, merci beaucoup !
Pas de soucis
Thanks
quelqu'un sait pourquoi les utilisateurs lambda ne peuvent pas voir les /commands d'un bot ?
Salut, tu peux y paramétrer dans les paramètres d'intégrations de ton serveur Discord.
C'est déjà par défaut, mais apparemment y a que les plus haut grade qui peut les voir
il faut activer un parametre dans ses settings
lesquels ?
c est en anglais mais c est au meme endroit en francais
ok merci
Bonjour, je fais une app avec react & express et j'aurais aimé avoir un peu d'aide s'il vous plait merci !
Salut, je suis en discord.js@v14 et je n'arrive plus a crée de channel discord. Je ne sais pas si ses moi qui est débile peut être mdr voici l'erreur:
DiscordAPIError[50035]: Invalid Form Body
name[BASE_TYPE_REQUIRED]: This field is required
at SequentialHandler.runRequest (D:\Bureau\Emma\node_modules\discord.js\node_modules\@discordjs\rest\dist\lib\handlers\SequentialHandler.cjs:287:15)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async SequentialHandler.queueRequest (D:\Bureau\Kobra\node_modules\discord.js\node_modules\@discordjs\rest\dist\lib\handlers\SequentialHandler.cjs:99:14)
at async REST.request (D:\Bureau\Emma\node_modules\discord.js\node_modules\@discordjs\rest\dist\lib\REST.cjs:52:22)
at async GuildChannelManager.create (D:\Bureau\Emma\node_modules\discord.js\src\managers\GuildChannelManager.js:145:18)
at async Object.execute (D:\Bureau\Emma\Events\interactionCreate.js:76:7) {
rawError: {
code: 50035,
errors: { name: [Object] },
message: 'Invalid Form Body'
},
code: 50035,
status: 400,
method: 'POST',
url: 'https://discord.com/api/v10/guilds/832607976971960390/channels',
requestBody: {
files: undefined,
json: {
name: undefined,
topic: undefined,
type: undefined,
nsfw: undefined,
bitrate: undefined,
user_limit: undefined,
parent_id: undefined,
position: undefined,
permission_overwrites: undefined,
rate_limit_per_user: undefined,
rtc_region: undefined,
video_quality_mode: undefined
}
}
}
Mon code
await interaction.guild.channels.create(channelName,{
type:"GUILD_TEXT",
parent:"920157034882695218",
permissionOverwrites:[
{
id:"832607976971960390",
deny:["SEND_MESSAGES","VIEW_CHANNEL","READ_MESSAGE_HISTORY"],
},
]
Merci les poto
Les permission ont changé en v14 (pas les perm en elle-même mais la façon de les écrire)
petite erreur puis-je avoir votre aide svp:
code:
const Canvas = require ("canvas")
client.on("guildMemberAdd", async member => {
console.log("un membre est arrivé !")
client.channels.cache.get("985944863398854656").send(member.displayName + " À rejoin le serveur !")
member.roles.add("985934744120348806");
var canvas = Canvas.createCanvas(1050, 700);
ctx = canvas.getContext("2d");
var background = await Canvas.loadImage("./ba-background.jpeg");
ctx.drawImage(background, 0, 0, 1050, 700);
var attachment = new Discord.MessageAttachment(canvas.toBuffer(), "Welcome.png");
client.channels.cache.get("985944863398854656").send({files: [ attachment]});
});```
erreur:
```Discord.MessageAttachment is not a constructor```
V14 ?
Ah bah voilà
C'est ce que je viens de t'envoyer
Ok
Il faut faire comme ça
await interaction.guild.channels.create({
name: channelName,
type:"GUILD_TEXT",
parent:"920157034882695218",
permissionOverwrites:[
{
id:"832607976971960390",
deny:["SEND_MESSAGES","VIEW_CHANNEL","READ_MESSAGE_HISTORY"], // Pour les permissions regarde ce que Rayreth a envoyé.
},
]
Naaaaa
Oui faut aussi changer le type et les permissionns mais sinon c'est comme ça.
Ouais
Je l'importe ChannelType?
Merci
Sinon tu peux mettre 0 en Int.
ok ok merci a vous
De rien 😉
salut ! j'ai voulu copier/coller tous les fichiers de mon bot pour faire un bot test mais ça me met cette erreur :
Uncaught Error Error: \\?\c:\Users\louan\Desktop\bot test\node_modules\canvas\build\Release\canvas.node nest pas une application Win32 valide.```
que je n'ai pas sur mon bot principal
possible d'avoir de l'aide svp ?
hello ! petite erreur
code:
let Embed = new Discord.MessageEmbed()
.setColor(bot.color)
.setFitle("Rôle de notifications")
.setThumbnail(bot.user.displayAvatarUrl({dynamic: true}))
.setDescription("Veulliez choisir les rôles de notifications que vous voulez dans le menu déroulant ci-dessous.")
.setTimeStamp()
.setFooter(`${bot.user.username}`, bot.user.displayAvatarURL({dynamic: true}))```
erreur:
```Cannot read properties of undefined (reading 'MessageEmbed')```
@copper pagoda J'ai une petite erreur:
TypeError [InvalidType]: Supplied parameter is not a User nor a Role.
at Function.resolve (D:\Bureau\Kobra\node_modules\discord.js\src\structures\PermissionOverwrites.js:184:28)
at D:\Bureau\Kobra\node_modules\discord.js\src\managers\GuildChannelManager.js:143:81
at Array.map (<anonymous>)
at GuildChannelManager.create (D:\Bureau\Kobra\node_modules\discord.js\src\managers\GuildChannelManager.js:143:51)
at Object.execute (D:\Bureau\Kobra\Events\interactionCreate.js:77:44)
at Client.<anonymous> (D:\Bureau\Kobra\main.js:58:50)
at Client.emit (node:events:390:28)
at InteractionCreateAction.handle (D:\Bureau\Kobra\node_modules\discord.js\src\client\actions\InteractionCreate.js:81:12)
at Object.module.exports [as INTERACTION_CREATE] (D:\Bureau\Kobra\node_modules\discord.js\src\client\websocket\handlers\INTERACTION_CREATE.js:4:36)
at WebSocketManager.handlePacket (D:\Bureau\Kobra\node_modules\discord.js\src\client\websocket\WebSocketManager.js:352:31) {
[Symbol(code)]: 67
}
Code:
await interaction.guild.channels.create({
name: channelName,
type: ChannelType.GuildText,
parent: Config.ticketSystem.categoryId,
permissionOverwrites: [{
id: userID,
allow: [PermissionsBitField.Flags.ViewChannel, PermissionsBitField.Flags.SendMessages, PermissionsBitField.Flags.ReadMessageHistory],
},
{
id: Config.UserFunctionStaffRole,
allow: [PermissionsBitField.Flags.ViewChannel, PermissionsBitField.Flags.SendMessages, PermissionsBitField.Flags.ReadMessageHistory],
},
{
id: Config.GuildID,
deny: [PermissionsBitField.Flags.ViewChannel, PermissionsBitField.Flags.SendMessages, PermissionsBitField.Flags.ReadMessageHistory],
},
]
})
Tu serait? Merci
En V14 c'est EmbedBuilder à la place de MessageEmbed
d'acc mrc juste c ou que ta trouver sa stp
Entre tes 3 id il y en a un qui n'est ni un rôle ni un user.
La doc de discord.js
On est d'accord le guild id ses le role everyone nan?
mrc
Ouais.
ah mais nan chu trop debile mdr merci
De rien.
nn toujour le message
Cannot read properties of undefined (reading 'EmbedBuilder')
Dans ces ça là ça vient de Discord tu l'as défini comment ?
const { Discord } = require("discord.js");
Enlève les {}.
ok
hey j'ai un p'tit soucis
j'essaye de faire l'addition de la description d'un embed avec un nombre aléatoire entre 0 et 3000
donc j'ai fais ça :
.setDescription(`${parseInt(button.message.embeds[0]?.description) + amount}`)
1 ExpectedValidationError > s.literal(V)
| Expected values to be equals
|
| Expected:
| | null
|
| Received:
| | undefined
2 ValidationError > s.number
| Expected a number primitive
|
| Received:
| | undefined
3 ValidationError > s.tuple(T)
| Expected an array
|
| Received:
| | undefined```
oula c quoi sa???
c mon erreur
amount est égal à ça
let amount = Math.floor(Math.random() * 3000)
.setTitle
.setFooter({ text: bot.user.username, icon_url: bot.user.. })
Et donc ou est le problème ?👀
le problème c'est que ça ma répond NaN : (
c toujour le meme probleme
Le problème c'est ce que tu passes a travers parseInt
Que représente button?
Et si t'as pas d'embed ou ta description n'est pas un nombre bah ça te renverra NaN
bot.user.displayAvatarURL sur le premier
setTimestamp
button c'est un bouton et quand tu appuies dessus ça fait l'action d'additionner les nombres
Represente donc l'interaction ?
oui
Et ton embed ressemble a quoi ?
y'en à 2, un pour avant et un pour après
let startringPoints = 0;
const tournoiEmbedAlpha = new MessageEmbed()
.setAuthor({
name: "Equipe Alpha",
})
.setColor("BLUE")
.setTitle("Point de l'équipe Alpha")
.setDescription(`\`\`\`diff\n${startringPoints}\n\`\`\``)
.setThumbnail(
"https://emojipedia-us.s3.amazonaws.com/source/skype/289/crossed-swords_2694-fe0f.png"
)
.setTimestamp()
.setFooter({
text: "Equipe Alpha",
});
Bah nan mais pourquoi pas mais tu te retrouves pas avec un number du coup
Et startringPoint-?
Pas plutôt starting?🤔
g une erreur vraiment dure pouvez vous m'aider svp
Received one or more errors
1 ExpectedValidationError > s.literal(V)
| Expected values to be equals
|
| Expected:
| | null
|
| Received:
| | undefined
2 ValidationError > s.number
| Expected a number primitive
|
| Received:
| | undefined
3 ValidationError > s.tuple(T)
| Expected an array
|
| Received:
| | undefined
at UnionValidator.handle (C:\Users\ethan\Documents\DOOVMIBOT\DOOVMI\node_modules\@sapphire\shapeshift\dist\index.js:1085:23)
at UnionValidator.parse (C:\Users\ethan\Documents\DOOVMIBOT\DOOVMI\node_modules\@sapphire\shapeshift\dist\index.js:142:88)
at EmbedBuilder.setColor (C:\Users\ethan\Documents\DOOVMIBOT\DOOVMI\node_modules\@discordjs\builders\dist\messages\embed\Embed.cjs:47:31)
at EmbedBuilder.setColor (C:\Users\ethan\Documents\DOOVMIBOT\DOOVMI\node_modules\discord.js\src\structures\EmbedBuilder.js:22:18)
at module.exports (C:\Users\ethan\Documents\DOOVMIBOT\DOOVMI\events\client\ready.js:11:6)
at Client.<anonymous> (C:\Users\ethan\Documents\DOOVMIBOT\DOOVMI\loaders\loadEvents.js:28:50)
at Client.emit (node:events:539:35)
at WebSocketManager.triggerClientReady (C:\Users\ethan\Documents\DOOVMIBOT\DOOVMI\node_modules\discord.js\src\client\websocket\WebSocketManager.js:385:17)
at WebSocketManager.checkShardsReady (C:\Users\ethan\Documents\DOOVMIBOT\DOOVMI\node_modules\discord.js\src\client\websocket\WebSocketManager.js:368:10)
at WebSocketShard.<anonymous> (C:\Users\ethan\Documents\DOOVMIBOT\DOOVMI\node_modules\discord.js\src\client\websocket\WebSocketManager.js:194:14)
Mais du coup, si tu veux recup le number éventuellement, on peut utiliser les regex
C'est quoi la couleur ?
C'est quoi bot.color?
oui c sa
Je peux voir?- parce que manifestement c'est la que ça bloque ?
problème régler ! j'avait mal défini un objet
Bon bah nickel alors
ah bon ?
Bah
Littéralement ta description contient du markdown
Le markdown n'est pas ignore hein
Bonjour, je fait un système de ticket et stocke l'id du membre qui ouvre ce ticket, j'aimerais que ce joueur reçoit un mp lorsque son ticket est fermer, mais je ne sais pas comment m'y prendre, la récupération de mon id est bonne, je lui passe ensuite
const user = client.users.fetch(membre)
lors du console.log celui me retourne bien un tableau qui correspond au info de l'id (username et autre) comment puis-je désormais mp le membre a partir de cela s'il vous plait .
user.send
non cela me dit que se n'est pas une fonction
Parce qu'il faut faire comme ça
const user = await client.users.fetch(membre);
Hey !!
if(message.member.permissions.has("ADMINISTRATOR")){
Comment je peux faire en sorte qu'il faut la perm ADMINISTRATOR comme dans mon code OU que ce soit un utilisateur spécifique
en mode si la personne possède admin ou qu'il soit cet utilisateur, il peux utiliser la commande
if(message.member.permissions.has("ADMINISTRATOR") || message.author.id == 'ID_de_la_personne'){
super merci beaucoup
je t'avoue ne pas avoir compris ta question x)
exusez moi j'ai eu une erreur quand je fait npm i
npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR!
npm ERR! While resolving: discord.js.old@11.6.5
npm ERR! Found: @discordjs/opus@0.7.0
npm ERR! node_modules/@discordjs/opus
npm ERR! @discordjs/opus@"^0.7.0" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peerOptional @discordjs/opus@"^0.1.0" from discord.js.old@11.6.5
npm ERR! node_modules/discord.js.old
npm ERR! discord.js.old@"^11.6.5" from the root project
npm ERR!
npm ERR! Conflicting peer dependency: @discordjs/opus@0.1.0
npm ERR! node_modules/@discordjs/opus
npm ERR! peerOptional @discordjs/opus@"^0.1.0" from discord.js.old@11.6.5
npm ERR! node_modules/discord.js.old
npm ERR! discord.js.old@"^11.6.5" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR! See C:\Users\acaly\AppData\Local\npm-cache\eresolve-report.txt for a full report.
lstmb tqt
C'est la version 11 qui est installée donc cela ne marchera pas
Bonjour vous savez comment faire pour split le resultat d'une requete sql, je souhaiterais récupéré la date et l'heure d'ouverture de mon ticket et je recupere toute cette ligne 😅
Mon Aug 22 2022 10:45:16 GMT+0200 (heure d’été d’Europe centrale)
Tu formates ta date
je vais regarder a sa merci
bonjour je bloque sur ce problème pouvez vous m'accordez 5min svp
code:
run: async(client, interaction, args) => {
if (interaction.options.getSubcommand() === "member") {
let raison = await interaction.options.getString("reason") || "Pas de raison donnée.";
const target = await interaction.options.getMentionable('membre');
if(target.id === interaction.member.id) return interaction.reply({content: ":x: | Vous ne pouvez pas vous bannir vous-mêmes !", ephemeral: true})
if(interaction.guild.ownerId === target.id) return interaction.reply({content: ":x: | Vous ne pouvez pas bannir le créateur du serveur !", ephemeral: true})
if(target.id === client.user.id) return interaction.reply({content: ":x: | Vous ne pouvez pas me bannir !", ephemeral: true})
try {
await interaction.guild.members.ban(target, raison);
return interaction.reply('Malheureusement ' + target.user.tag + ' a été banni du serveur, raison: ' + raison + ' !');
} catch (err) {
if (err) {
console.error(err);
}
}
};
},
};```
erreur:
```TypeError [InvalidType]: Supplied options is not an object.```
merci d'avance !
Hello,
interaction.guid.members.ban(target, raison);
Est-ce que c'est réellement une méthode qui fonctionne ?
Sur la documentation officielle de Discord.js j'ai trouve ça :
// ban a guild member
guildMember.ban({ days: 7, reason: 'They deserved it' })
.then(console.log)
.catch(console.error);```
en gros ce que g fait c que g copier coller le code de ma commande /kick et g remplacer les "kick" par "ban"
erreur:
guildMember is not defined
Il me semble que guildMember fait référence à l'objet de l'utilisateur, probablement ta variable client
Bonjour, j'ai une erreur "query was empty" et je ne comprend pas pk 😅
db.query(`UPDATE membres SET level = 'level1' WHERE user_id = ?` [id])
merci beaucoup
ta quoi comme erreur ?
je ne peut pas actuellement
mais tu souhaite que quand tu ecrit mention sa te renvoie ce message ?
oui il faut ca te mentionne et et mention le chanel
c'est message.author.id pas authore
tu veut que lorsque un membre et mentionné sa lui renvoie ce message ?
non quand on envoi mention sa renvoir et sa ^
non iddusalon tu le met pas mdrr
tu remplace iddusalon par la methode
'<@#' + message.channel.id + '>'
je code pas comme sa alors je suis pas sur a 100% que la mise en forme sois bonne, mais normalement c'est sa ^^
hey- une erreur que je ne comprends pas pouvez vous m'aider svvp:
code:
async run(bot, interaction, args) {
let embed1 = new discord.EmbedBuilder()
.setDescription(`**__Ping__**\n\n 🏓 Pong ! \n\n**__🔧・Latence:__**\n\n \`${bot.ws.ping}\`ms`)
.setColor("Red")
.setFooter ({
iconURL: client.user.displayAvatarURL(),
text: client.user.tag
})```
erreur:
```[FATAL] Possibly Unhandled Rejection at: Promise Promise {
<rejected> ReferenceError: client is not defined
Pour comprendre ton erreur, il faut que tu assimile la notion de bloc, visibilité, portée... Je n'ai plus le terme exact 
En gros, tu es dans ta fonction asynchrone run(bot, interaction, args), les variables et opérations effectuées dans ce bloc lui sont propres par défaut. Les autres fonctions ne peuvent pas appeler ses variables, et lui ne peut pas non plus appeler les variables des autres blocs.
Et du coup, une fois que l'on sait ça, on voit que tu essayes d'appeler la variable client mais elle n'est pas visible par ton bloc, donc pour lui elle est inexistante.
Des gens qui gère VueJS ici ?
J'ai une petite question, sur les animations Bootstrap de Focus et le router
ça dépend la version de VueJS, je suis familier avec le router uniquement en 3.x, mais si tu utilise bootstrap c'est que t'es en 2.x
Pour faire simple, j'ai une animation sur une input quand je focus
Donc quand je clique sur l'input pour écrire le label se décale tu vois l'idée ?
Et bah, ça marche parfaitement quand j'accède à la page normalement, mais quand j'accède à cette page depuis un router push, cette animation elle plante, et je me retrouve avec ça
Alors là 
Si ton router.push accède exactement à la même view que quand tu y accèdes via URL, il ne devrait pas avoir de différences sur les déclarations des ressources et le style
Baaaaaaaah, j'sais pas j'ai déjà eu plusieurs fois ce problème, et j'ai jamais su d'où ça venait :/
Mais du coup, je me retrouve bloqué la
deeddede c'est ton animation ? Tu n'as aucun message d'erreur dans la console ou un élément qui ne devrait pas être là quand tu inspecte l'élément ?
Dededede, c'est mon texte. C'est Email* qui devrait dégager :/
Et non rien d'anormal
J'ai remarqué que le css de focus se prend pas en compte
Quand j'y accède normalement il rajoute :focus sur mon CSS pour faire l'animation
Bonjour je suis le tuto "Créer un réseau social | Partie Back-end" et j'ai cette en utilisant une méthode put avec postman alors que dans la vidéo cela fonctionne très bien pour lui. merci !!
voici le code
ton header doit être initialisés avant que tu envoies les données côté client
comment on fait pour importer des émojis de notre serveur discord sur visual studio svp
J'ai trouvé cet exemple qui date de Mars donc doit être à jour avec la version de discord.js
https://github.com/AnIdiotsGuide/discordjs-bot-guide/blob/master/coding-guides/using-emojis.md
Comment initialiser ce header ? Je suis totalement débutant
si tu es débutant ce genre de tutos n'est pas tellement appropriés
tu devrais viser plus facile niveau projet
Et bien justement je m'y intéresse pour comprendre '-'
oui mais là tu suis sûrement un tuto qui dépasse ton niveau en backend js
tu peux regarder chez graven il y a un tuto expressjs qui est pas mal pour les débutants
Merci!
ce serait possible d'avoir le lien de la vidéo ? Je ne la trouve pas, merci
Mais apprends déjà javascript avant de te lancer dans le backend
et ensuite nodejs pour comprendre le fonctionnement du backend en js
merci !!
qui peux venir en voc pour m'aider
ba je voudrait ajouter des commande a se bot const { Client, GatewayIntentBits } =require("discord.js");
const client = new Client({intents: [3276799] });
client.on("ready ", () => {
console.log("bot operationel")
})
client.on("messageCreate", message => {
if(message.author.bot) return;
console.log(message);
if (message.content === "help" ){
message.reply("Les Commandes du bot : \n ...");
}
})
Hello, si tu veux commencer un bot et ajouter des commands tu peux suivre le tutoriel directement sur la doc Discord.js (https://discordjs.guide/#before-you-begin)
les gars comment je créé une commande /unmute svp:
code de ma commande /mute:
const discord = require("discord.js");
const ms = require('ms')
const { ApplicationCommandOptionType } = require("discord.js");
module.exports = {
name: "mute",
description: "🔇・mute un membre ",
category: "Moderation",
userPerms: ["MuteMembers"],
botPerms: ["MuteMembers"],
dm: false,
options: [
{
name: "membre",
type: ApplicationCommandOptionType.User,
description: "Quel membre voulez-vous mute?",
required: true
},
{
name: "temps",
type: ApplicationCommandOptionType.String,
description: "Pour combien de temps?",
required: true
},
{
name: "raison",
type: ApplicationCommandOptionType.String,
description: "Pourquoi le mute?",
required: true
}
],```
async run(bot, interaction, args,) {
let user = await interaction.options.getUser("membre")
if (!user) return interaction.reply("Pas de membre !")
let member = interaction.guild.members.cache.get(user.id)
if (!member) return interaction.reply("Pas de membre !")
let time = await interaction.options.getString("temps")
if (!time) return interaction.reply("Pas de temps !")
if (isNaN(ms(time))) return interaction.reply("Pas le bon format !")
if (ms(time) > 86400000) return interaction.reply("Le mute ne peut pas durer plus de 28 jours !")
let reason = interaction.options.getString("raison")
if (!reason) return interaction.reply("Pas de raison fournise !")
if(interaction.user.id === user.id) return interaction.reply("Ne te mute pas tout seul !")
if((await interaction.guild.fetchOwner()).id === user.id) return interaction.reply("Ne mute pas le propriétaire du serveur !")
if(!member.moderatable) return interaction.reply("Je ne peux pas mute ce membre !")
if(interaction.member.roles.highest.comparePositionTo(member.roles.highest) <= 0) return interaction.reply("Tu ne peux pas mute ce membre !")
if(member.isCommunicationDisabled()) return interaction.reply("Ce membre est déjà mute !")
try {await user.send(`Tu as été mute du serveur ${interaction.guild.name} par ${interaction.user.tag} pendant ${time} pour la raison: \`${reason}\``)} catch(err) {}
await interaction.reply (`${interaction.user} a mute ${user.tag} pendant ${time} pour la raison: \`${reason}\``)
await member.timeout(ms(time), reason)
}
}```
Bonjour je viens d'arriver dans le discord j'aurais besoin d'un coup de main en ReactJS svp
j'ai l'impression que mon filter ne fonctionne pas, quand j'arrive sur ma page tout mes projet y sont, et j'ai un menu sur lequel je choisi un input radio. la valeur est prise dans la variable selectedRadio mais rien ne s'affiche et je n'ai aucun message d'erreur dans la console, si quelqu'un a un idée
dans la durée du timeout tu mets null
c quoi la commande pour retirer un role?
svp
///const { Client, GatewayIntentBits } =require("discord.js");
const client = new Client({intents: [3276799] });
const prefix = ".";
Client.on("ready", () => {
console.log("bot opérationel");
})
Client.on("messageCreate", message => {
if (message.author.bot) return;
//.help
if(message.content === prefix + "help"){
const embed = new Discord.MessageEmbed()
.setTitle("Liste des commandes");
message.channel.send({ embeds : [embed]});
}
})///
le bot beug
pourquoi il me dit sa?
code:
const { ApplicationCommandOptionType } = require("discord.js");
module.exports = {
name: "addroles",
description: "Ajouter un role a un membre",
options: [
{
name: "membre",
description: "À qui voulez - vous ajouter un rôle?",
type: ApplicationCommandOptionType.User,
required: true
},{
name: "role",
description: "Quel rôle voulez - vous ajouter un role?",
type: ApplicationCommandOptionType.Role,
required: true
}
],
async execute(interaction) {
const member = interaction.options.getUser("membre");
const role = interaction.options.getRole("role");
member.roles.add(role);
then( async () => {
await interaction.reply(`Le rôle ${role} a été correctement ajouter à ${member}?`);
})
.catch (async (error) => {
console.log(error);
await interaction.reply({ephemeral: true, content: `Je n'ai pas réussi à ajouter le rôle ${role} a ${member} sûrement dû à un manque de permission.`});
})
}
}```
mon bot répond sa:
Bonjour j'ai un problème avec mon bot.
Le code :
const Discord = require('discord.js');
const client = new Discord.Client();
const config = require('./config.json');
client.on("ready", () => {
client.user.setActivity(config.activity);
console.log("Ready !")
});
client.on("message", message => {
if (message.author.bot) return;
message.reply("Salut !")
})
client.login(config.token);
L'erreur :
PS C:\Users\Elève\Documents\GitHub\Bot Discord JS Zikaa V1\Bot-Dsicord-Zikaa-V1> node index.js
C:\Users\Elève\Documents\GitHub\Bot Discord JS Zikaa V1\Bot-Dsicord-Zikaa-V1\node_modules\discord.js\src\client\Client.js:480
throw new TypeError(ErrorCodes.ClientMissingIntents);
^
TypeError [ClientMissingIntents]: Valid intents must be provided for the Client.
at Client._validateOptions (C:\Users\Elève\Documents\GitHub\Bot Discord JS Zikaa V1\Bot-Dsicord-Zikaa-V1\node_modules\discord.js\src\client\Client.js:480:13)
at new Client (C:\Users\Elève\Documents\GitHub\Bot Discord JS Zikaa V1\Bot-Dsicord-Zikaa-V1\node_modules\discord.js\src\client\Client.js:78:10)
at Object.<anonymous> (C:\Users\Elève\Documents\GitHub\Bot Discord JS Zikaa V1\Bot-Dsicord-Zikaa-V1\index.js:2:16)
at Module._compile (node:internal/modules/cjs/loader:1105:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)
at node:internal/main/run_main_module:17:47 {
code: 'ClientMissingIntents'
}
La déclaration du client Discord a changé :
const Discord = require('discord.js');
const client = new Discord.Client();
en :
const { Client, GatewayIntentBits } = require('discord.js');
const client = new Client({ intents: [GatewayIntentBits.Guilds] });
@keen narwhalIl te manque les intents
Ah ok merci beaucoup !
Bonjour vous savez comment je peut afficher toute les lignes d'une base de données ? je veut faire un classement ^^
SELECT * FROM nomDeLaTable```
non mais sa merci je sais faire une requete sql mdrr x)
mais c'est pour ma requete de count je recupere pas un int et je sais pas le convertir x)
Une chaîne de caractères ?
je developpe du php moi a la base alors j'ai l'habitude d'utiliser le foreach x)
avec ma requete de count je recupere sa
RowDataPacket { 'count(id)': 5 }
je voudrais juste recuperer 5 ^^
Dans ta requête sql tu peux donner un alias à ton count
Ensuite le RowDataPacket tu l'utilises comme un objet
SELECT COUNT(id) AS nombre FROM xxxx
oui je vois, et je recupere la valeur de nombre
En soit admettons ton RowDataPacket est dans la variable result tu pourras faire result.nombre si tu as utilisé un alias sinon tu peux faire result["count(id)"]
Salut , je cherche un dev qui est capable de faire sa :
Crée un système de ticket staff quand les joueurs rentre dans le Channel sa crée un ticket que les staff peuvent claim
Crée un système d’absence avec une commande /absence temps raison commande utilisable uniquement dans le Channel absence et on reçois l’es raison et le temps dans le Channel abs raison
Crée un système de création de Channel dès que les joueurs rentre dans le Channel « crée son Channel » sa crée automatiquement leur Channel perso
Message automatique : crée des messages automatiques pour les réunions qu’on est juste à mettre /réunion et sa Ping les staff Vargas sa met un message automatique dans annonce réunion samedi 21h etc
Crée un système de validation il faut accepter le règlement sur discord pour avoir accès à tout le discord et pouvoir se déplacer librement
crée une commande pour crée des sondages.
Si vous êtes interessé mercci de me mp pour discuter du prix
c'est autorisé sa dans les chanelle ? de faire des demande comme sa ?
je pose une question bordel
c'est bien javascript, nn ?
euu python peut etre aussi
Ah j'avais pas vue x)
pgrv
C'est chiants en vrai tellement mieux avant
Va faire une demande sur le site pas ici
c'est bon je lui ai montré
Ah ok merci
comment je remplace tout les "message" d'un coup?
Ctrl + L
Normalement
c sa mrc
😋 👍
=> {
for (var i = 0; i < PersonsOftab.length; i++) {
for (let Person of PersonsOftab) {
console.log("Bonjour Monsieur/Madame " + Person + ".Vous êtes a la " + i + " ère place de ce tableau")
}
}
}
sayHelloToArr(["mamère", "monfrer", "Mathéo"]);
les functions flécher 
hey qui pourrait m'aider svp
code:
const discord = require ("discord.js")
const { ApplicationCommandOptionType } = require("discord.js");
module.exports = {
name: "userinfo",
description: "🌟・affiche les informations d'un membre ",
Permissions: "Aucune",
dm: false,
options: [
{
name: "membre",
type: ApplicationCommandOptionType.User,
description: "sur qui voulez-vous avoir des informations ?",
required: true
}
],
async run(bot, interaction, args,) {
let user = await interaction.options.getUser("membre")
let embed1 = new discord.EmbedBuilder()
const username = interaction.mentions.user.first()
if(username) {
user = username;
} else {
user = interaction.author;
}
const member = interaction.mentions.user.first() || interaction.author;
interaction.delete({ timeout: 100 })
interaction.channel.send(`- ID du membre : ${user.id}.\n- Pseudo sur le serveur : ${member.nickname ? member.nickname : user.username}.\n- Dates de création du compte : ${user.createdAt.toLocaleDateString('en-GB')}.`)
await interaction.reply({
embeds: [embed1]
})
}}```
erreur:
```TypeError: Cannot read properties of undefined (reading 'user')```
( je suis en v14)
interaction.mentions ne marche pas avec les slash Commands.
Bonjour/Bonsoir, j'ai créé un embed et, j'ai cette erreur :
TypeError: this.options.embeds?.map is not a function
at MessagePayload.resolveData (S:\dev\Bot UltrArthy\node_modules\discord.js\src\structures\MessagePayload.js:201:36)
at CommandInteraction.reply (S:\dev\Bot UltrArthy\node_modules\discord.js\src\structures\interfaces\InteractionResponses.js:101:50)
at Client.<anonymous> (S:\dev\Bot UltrArthy\index.js:229:21)
at Client.emit (node:events:539:35)
at InteractionCreateAction.handle (S:\dev\Bot UltrArthy\node_modules\discord.js\src\client\actions\InteractionCreate.js:83:12)
at Object.module.exports [as INTERACTION_CREATE] (S:\dev\Bot UltrArthy\node_modules\discord.js\src\client\websocket\handlers\INTERACTION_CREATE.js:4:36)
at WebSocketManager.handlePacket (S:\dev\Bot UltrArthy\node_modules\discord.js\src\client\websocket\WebSocketManager.js:346:31)
at WebSocketShard.onPacket (S:\dev\Bot UltrArthy\node_modules\discord.js\src\client\websocket\WebSocketShard.js:478:22)
at WebSocketShard.onMessage (S:\dev\Bot UltrArthy\node_modules\discord.js\src\client\websocket\WebSocketShard.js:317:10)
at WebSocket.onMessage (S:\dev\Bot UltrArthy\node_modules\ws\lib\event-target.js:199:18)
je n'arrive pas vraiment à la comprendre, quelqu'un pourrait m'aider ?
et voici le bout de code :
case 'userinfo' :
const myEmbed = new Discord.MessageEmbed()
.setColor('DARK_GREEN')
.setTitle('Test')
.setDescription(`test`)
.setFooter({text: `ceci est un test`, iconURL: interaction.user.avatarURL()})
.setTimestamp();
interaction.reply({embeds: myEmbed})
break;
Quel version ton discordjs ?
case 'userinfo' :
const myEmbed = new MessageEmbed()
.setColor('DARK_GREEN');
.setTitle('Test');
.setDescription(`test`);
.setFooter({text: `ceci est un test`, iconURL: interaction.user.avatarURL()});
.setTimestamp();
interaction.reply({ embeds: [myEmbed] });
break;
try ça (discordjs V13)
hey, désolé, j'avais réglé mon problème et j'avais totalement que j'avais demandé de l'aide ici
le problème était bel et bien l'oubli de crochets
merci beaucoup
nickel alors
Bonjour j’aimerai s’avoir si on m’aider à crée un bot perso
Bonjour tout le monde,
Je suis débutant dans JavaScript et je viens de suivre la formation les bases de JavaScript d'openclassroom. J'ai appris aussi à manipuler le DOM.
Mais je suis bloqué au niveau des API dans la formation, je ne comprends plus rien...
Est-ce que vous avez quelques conseils ?
Voici le lien de la formation
explique directement ce que tu n'as pas compris
Tout le chapitre
Je n'ai pas compris à quoi ça sert, ni comment l'utiliser...
Surtout ce cours : Récupérez des données d'un service web
Merci pour ta réponse
Qu'est-ce que le fetch, etc..
une API c'est juste un moyen d'échanger des données tu peux te renseigner sur internet tu trouveras pleins d'explications
après si tu veux comprendre l'utilisation d'une API depuis javascript tu as ce tuto => https://www.youtube.com/watch?v=B2Jt9bNMxyw&ab_channel=Grafikart.fr
Article ► https://grafikart.fr/tutoriels/fetch-1017
Abonnez-vous ► https://bit.ly/GrafikartSubscribe
Fetch est une nouvelle API qui vient remplacer XMLHttpRequest avec un support natif des [Promesses](https://www.grafikart....
mais je te conseille pas de directement te lancer dans tout ce qui est API si tu es encore débutant en JS approfondis déjà les bases, la manipulation du DOM, etc
@misty charm
A quoi ça sert:
Une API (Application Programming Interface) c’est un ensemble de service qui est mis à disposition pour être interconnecté à d’autres services externe
Exemple: Tu as des prises de courant connectées de chez l’entreprise A, l’entreprise A met à disposition une API pour la gestion des prises connectés.
Donc théoriquement tu peux créer ta propre application (mobile, web, script automatique) qui va communiquer avec l’API pour effectuer différents action sur tes prises connectées (allumer, éteindre, la prise est allumée ?, la prise est éteinte ?)
Etc etc
Merci beaucoup
Je comprends l'utilité
Mais qu'est-ce que je peux faire concrètement avec les bases du JavaScript (variables, boucles, conditions, etc...) et la manipulation du DOM ?
Par exemple, j'ai comme projet personnel de faire un site e-learning.
Est-qu'avec ces bases je peux arriver à faire ce type de site ?
Merci,
J'ai suivi toute la formation JavaScript de grafikart en complément d'openclassroom pour réviser, approfondir et revoir les notions que je n'ai pas compris dans Openclassroom
J'ai même suivi tout le module débutant de la formation javascriptdezéro
Mais j'ai l'impression de ne rien faire de concret
Avec ces bases en JS tu peux essayer d'utiliser une API dispo sur internet pour manipuler des données dans le DOM.
Par exemple https://swapi.dev/
Tu pourrais par exemple créer un formulaire qui demande à l'utilisateur quel film il veut, quel personnage... Puis faire une requête à cette API avec les paramètres indiqués par le form, trier les données et les insérer dans le DOM.
Ce n'est pas quelque chose de très complexe à faire, mais ça pourrait te permettre de renforcer les bases.
Hey
Bonjour, j'ai codé ceci pour empêcher de cliquer sur un bouton de validation. Cependant j'ai plusieurs formulaires bouton radio et j'aimerais que cela fonctionne uniquement si tous les formulaire ont été remplis et pas uniquement le 1er. Je ne sais pas comment m'y prendre :
document.querySelector('form').addEventListener('change', function(){
let elts = document.querySelectorAll('input');
for (var z = 0; z < elts.length; z++) {
if ( elts[z].checked === true ) break;
}
document.querySelector('button').removeAttribute("disabled");
console.log('checked => '+elts[z].checked);
})```
j'ai essayé de mettre querySelectorAll('form') au début du code mais ca ne fonctionne pas
je met quoi alors?
Bah tu récupères déjà l'user avec l'option
Bonjour, quand je fais la commande z/ping le message ne s'envoie pas. Pouvez vous m'aider ?
Code :
module.exports = {
name: "ping",
execute(client, messageCreate, args) {
message.channel.send("Pong ! Calcul en cours...").then(msg => {
msg.edit(`Pong ! Latence : ${msg.createdTimestamp - message.createdTimestamp}`)
})
}
}
Merci à tous !
Bonsoir, je ne trouve pas comment utiliser le joinedTimestamp dans une interaction, quelqu'un sait comment ça marche ?
Hello, comment ça ?
j'aimerais connaître la date à laquelle à rejoint un membre en utilisant une commande slash
j'ai fais en sorte qu'on puisse cibler quelqu'un donc, avec un getUser
Salut j'aimerais savoir comment je pourrais faire en sorte que les liens dans lembed soit tiré au hasard a chaque commande effectuées
en gros que il y est plusieurs image a chaque fois tiré au sort
(node:4496) [INSPECTOR_ASYNC_STACK_TRACES_NOT_AVAILABLE] Warning: Warning: Async stack traces in debugger are not available on 32bit platforms. The feature is disabled.
(Use node --trace-warnings ... to show where the warning was created)
quelqu'un peut m'epliquer pourquoi j'ai cette erreur et comment l'a régler .
open classrooms formation js bases dernier chapitre
Personnellement, j'ai mis tous mes liens dans un array et je tire un nombre random qui correspondra à la ligne de l'array soit le lien.
Je sais pas si c'est vraiment ici que je peux poser ma question, dites-moi s'il faut que je demande ailleurs.
Je voudrais apprendre le React mais je n'ai commencé que très récemment, et je ne suis pas chez moi : je n'ai donc accès qu'à mon téléphone portable. J'utilise CodeSnackIDE, une app qui donne accès à son propre linux ubuntu à distance (sûrement via ssh). Mais venons-en à mon problème : lorsque je fais npx create-react-app le-nom, à un certain moment de l'installation quelque-chose ne fonctionne pas et l'installation s'annule après avoir affiché cette erreur :
Une explication, une solution où simplement un projet vide à m'envoyer ne serait pas de refus !
Salut @hearty kraken, as-tu une option pour la commande, afin d'afficher la raison de l'erreur ? Car là, il ne dit pas la raison de l'arrêt d'installation
J'm'y connais pas beaucoup, j'suis sous linux chez moi mais je passe pas beaucoup de temps dans le terminal, tu sais ce qu'il faudrait que je mette ?
Tu dois avoir une option --help pour voir toutes les options disponibles s'il y en a
Ou regarde sur la doc de react
Tu utilises des fonctions asynchrones et elles ne sont pas supportées. Quel interpréteur utilises-tu pour ton code ?
il a des tuto youtube pour faire des plugin ? pls
<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
<button id="but" disabled="disabled" onClick="window.location.reload();">5</button>
<script type="text/javascript">
$(function () {
var $but = $('#but'),
temps = 5;
setTimeout(function f() {
temps = temps - 1;
if (temps >= 0) {
$but.html(temps);
setTimeout(f, 999);
} else {
$but.attr('disabled', false).html('Cliquez ici').click(function () {
alert('Plop !');
});
}
}, 999);
});
</script>
Mon bouton ne marche pas vous pouvez m'aider svp ?
Personnellement, moi dans le onClick je mets le nom de la fonction créé pour.
<div class="refresh-buttons">
<script>
function refreshPage(){
window.location.reload();
}
</script>
<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
<button id="but" disabled="disabled" onClick="refreshPage;">5</button>
<script type="text/javascript">
$(function () {
var $but = $('#but'),
temps = 5;
setTimeout(function f() {
temps = temps - 1;
if (temps >= 0) {
$but.html(temps);
setTimeout(f, 999);
} else {
$but.attr('disabled', false).html('Cliquez ici').click(function () {
alert('Plop !');
});
}
}, 999);
});
</script>
</div>
Cela ne marche toujours pas.
Enlève le ; après ta fonction et rajoute ()
Toujours rien.
sinon je voudrais juste un projet vide, parce que si on ne connaît pas l'origine du problème, c'est plus rapide
Aussi oui
La fonction s'exécute directement
Essaie de séparer ton code js dans un fichier @keen narwhal
C'est une mauvaise pratique de mélanger des langages différents
Ah oui j'avais pas vu la fonction est au-dessus.
<button id="button" onclick="refreshPage()">Refresh</button>
quand je fais comme ça c'est bon de mon côté
function refreshPage(){
window.location.reload();
}
@keen narwhal
Tu devrais séparer ton code js de ton code HTML comme l'a dit Lukas mais si tu préfères tout garder dans un seul fichier évite de faire 15 balises script car ton code devient vite illisible et tu auras du mal à t'y retrouver à l'avenir
D'accord merci.
Pour relier mon fichier js avec mon fichier html, c'est bien ça ?
<script type="text/javascript" src="js/earn.js"></script>
oui
envoie ton code
Fichier js :
function refreshPage(){
window.location.reload();
}
$(function () {
var $but = $('#but'),
temps = 60;
setTimeout(function f() {
temps = temps - 1;
if (temps >= 0) {
$but.html(temps);
setTimeout(f, 999);
} else {
$but.attr('disabled', false).html('Cliquez ici').click(function () {
alert('Plop !');
});
}
}, 999);
});
Fichier html :
<div class="refresh-buttons">
<button id="but" disabled="disabled" onClick="refreshPage()">60</button>
</div>
enlève le disabled de ton bouton
Ok
est c'est onclick pas onClick
merci ça marche mais le décompte ce fait pas
tu as une erreur en console sur ton navigateur ?
tu as un fichier js.php ?
et tu devrais utiliser le getElementById pour définir tes éléments html
function compte_a_rebours(){
let button = document.getElementById('button')
// ton code de compte à rebour
};
faut juste pas oublier d'appeler ta fonction
nn
ok je vais test
Toujours pas.
HTML :
<button id="but" onclick="refreshPage()" onclick="compte_a_rebours()">60</button>
JS :
function compte_a_rebours(){
let button = document.getElementById('button')
var $but = $('#but'),
temps = 60;
setTimeout(function f() {
temps = temps - 1;
if (temps >= 0) {
$but.html(temps);
setTimeout(f, 999);
} else {
$but.attr('disabled', false).html('Cliquez ici').click(function () {
alert('Plop !');
});
}
}, 999);
};
Je vais refaire mon bouton. Il doit y avoir un truc qui cloche
function compte_a_rebours(){
let button = document.getElementById('button')
let temps = 60;
setTimeout(function f() {
temps = temps - 1;
if (temps >= 0) {
button.html(temps);
setTimeout(f, 999);
} else {
button.attr('disabled', false).html('Cliquez ici').click(function () {
alert('Plop !');
});
}
}, 999);
};
je sais pas si ça va marcher mais ton code devrait ressembler à ça avec les changements
Non toujours pas 🥲
<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
<button id="but" disabled="disabled">5</button>
<script type="text/javascript">
$(function () {
var $but = $('#but'),
temps = 5;
setTimeout(function f() {
temps = temps - 1;
if (temps >= 0) {
$but.html(temps);
setTimeout(f, 999);
} else {
$but.attr('disabled', false).html('Cliquez ici').click(function () {
alert('Plop !');
});
}
}, 999);
});
</script>
J'avais suivis ce code à la base.
Article ► https://grafikart.fr/tutoriels/timer-compteur-javascript-263
Abonnez-vous ► https://bit.ly/GrafikartSubscribe
Dans ce tutoriel vidéo vous apprendrez à créer un système de décompte en Javascript qui vous permettra d'annoncer la sortie de vos prochains sites/applications.
Soutenez Grafikart:
Devenez premium ► https://grafikart.fr/prem...
c'est un bon tuto tu pourras comprendre ce que tu écris
Merci
Salut, question con mais je sais pas si j'ai louper une étape pour que mon bot réagisse à chaque message envoyer dans un salon (ce qu'il ne fait pas actuellement)
client.on('message', async message => {
if(message.channel.id === '1005161613214634168'){
await message.react('🍎')
}
})
tu es en V12 de djs ?
non en V14 c'est le message qui dérange ?
ouais messageCreate
messageAddReaction c'est ça maintenant ?
ah ouais ok je suis bête j'y avais même pas pensé
problème toujours aucune réaction du bot
verifies les intents
ouais j'ai que lui GatewayIntentBits.Guilds
ok c'est good merci
Bonjour, je sais pas si vous avez déjà eu ce problème :
Error: EISDIR: illegal operation on a directory, read
at Object.readSync (node:fs:728:3)
at tryReadSync (node:fs:434:20)
at Object.readFileSync (node:fs:480:19)
at /home/container/index.js:25:29
at Array.forEach (<anonymous>)
at Object.<anonymous> (/home/container/index.js:24:19)
at Module._compile (node:internal/modules/cjs/loader:1099:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
at Module.load (node:internal/modules/cjs/loader:975:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12) {
errno: -21,
syscall: 'read',
code: 'EISDIR'
Salut, je cherche à épingler mon embed lors de l'envoie mais j'ai une erreur TypeError: interaction.pin is not a function
return await interaction.reply({ embeds: [ModalEmbed] }).then((interaction) => interaction.pin());
Je pense que la méthode pin ne doit pas exister sur une interaction
Tu réponds à une / cmd ?
yep
Si tu essaye de le send dans le salon et de le pins ?
Normalement il te renvoie un Message dans une promise, donc c'est censé fonctionner, bizarre
