#javascript-typescript
1 messages · Page 93 of 1
Ah
C’est simple
Regarde
‘’’js
client.on(‘’guildMemeberUpdate’’, (oldMemeber, newMember) => {
//Code
}
‘’’
(Désolé je suis sur mobile je peut pas bien formater mon text)
Mais sinon cette event se déclenche quand il y a un changement sur un membre (role, nickname..) du coup il faut savoir si y a eu un changement dans les roles
Pour ca on va comparer les roles du oldMember et du newMember et si y a eu une différence entre les deux ca veut dire que y a eux un changement dans les roles
A toi de voir comment faire la comparaison pour savoir le nouveau role qui a était ajouter/retiré
@west needle, j'ai essayer autrement, j'ai pas d'erreur mais le code ne fonctionne pas..
Mais merci !!
const member = message.guild.members.cache.get(message.author.id)
if(member){
if (member.roles.cache.has("909744530000068628")){
const channel = client.channels.cache.get("900788402016899144") //id du channel réglement
const embed = new Discord.MessageEmbed();
embed.setTitle('Merci d\'accepter le règlement.');
embed.setDescription('test');
embed.setFooter(message.author.username);
embed.setColor('#c40606');
embed.setTimestamp();
embed.setAuthor('');
channel.send(embed).then(
message => {
let emoiji_id = "✅";
message.react(emoiji_id)
let filter = (reaction, user) => reaction.emoji.name === emoiji_id && user.id !== client.user.id;
let collector = message.createReactionCollector(filter, {
time: 15000
});
collector.on('collect', r => {
collector.stop();
});
collector.on('end', collected => {
if (collected.get(emoiji_id)) {
let userID = collected.get(emoiji_id).users.cache.last();
var member_by_id = message.guild.members.cache.get(userID.id);
member_by_id.roles.remove('909744530000068628') //id du role a enlevé
member_by_id.roles.add('900787158351245324')
message.delete()
}
});
}
);
}
}```
oui j'ai essayé
j'ai dit que j'ai essayer autrement ^^
Montre ce que tu essayes pour qu’on puisse te mettre sur le droit chemin
Enfaite, dès qu’une personne rejoint, il doit remplir un capcha avec un autre bot, une fois celui là remplis il a donc un rôle, le membre à accé un seul salon qui le règlement, le bot des qu’il a détecté qu’il a ce rôle la, il envoi un msg dans le salon règlement avec une réaction, dès que l’user à cliquer sur la réaction, il lui donne un rôle pour avoir accès au serveur
Jsuis pas sur que tu m’ai compris
Oui j’ai compris
mais ce que je te dis moi c’est que peu importe ton système, envoie ce que tu as déjà pour l’événement guildMemberUpdate pour qu’on puisse te mettre sur la bonne voie
et normalement le code la, et cencé le faire
je ne fonctionne pas avec guildMemberUpdate pour cette partit du code
Là ton code il doit ✅ sur le message du bot
pas sûr celui du règlement
C’est ça que tu veux ?
oui c'est
enfaite y'aura le réglement, et en dessous le bot envera un msg, avec la reaction, et quand il cliquera, le msg sera dellete
Ok alors oui t’as pas besoin de member update si tu as une action pour le faire
et ducoup, le code qui est indiqué au dessus,ben il fonctionne pas alors que j'ai tout bien fermé ect
déjà dans ton filter y a un soucis je pense
Tu check effectivement que là reaction soit bien ✅ mais tu dis aussi que tu veux que l’user ne soit pas ===
okay good, check bien que le user qui react soit le même que ton member plus haut, je suppose
a la place de reaction.emoji.name === emoiji_id && user.id !== client.user.id; de sa je peut mettre member
emoiji_id && user.id !== client.user.id && member.id
jsuis pas sur x)
la il prend l'id de l'emogie, de l'user et du client et du membre concerné
si je me trompe pas
x)
yep, malheuresement
reaction.emoji.name === emoiji_id && user.id === member.id !== client.user.id;
en gros comme sa
pour que l'user clique uniquement lui
Non plus
:/
pourquoi
bonne question
merci
et sinon tu sais pk il envoi aucun msg ?
Non attend je re regarde
oki
le truc des collector je ne connais pas par ❤️ mais si tu met un console.log('ending collector') dans ton event collector.on('end'...
est-ce qu'il est affiché ?
okay je regardais un peu la doc, un truc moins verbeux, mais si tu faisais juste
const filter = (reaction, user) => reaction.emoji.name === emoji_id && user.id === member.id
message.awaitReactions({ filter, time: 15_000 })
.then(collected => console.log(collected))
.catch(console.error);
et meme du collector.end
ha
juste garde ton code qu'il y a dedans
d'accord
pour le mettre dans le .then de ce que je t'ai envoyé
regarde ce que tu fais
ça se met pas n'importe où
je te laisse chercher ton erreur, et lorsque tu l'auras trouvé tu auras juste a log collected, car je ne sais pas ce qu'il renvoie, mais avec ça tu pourras faire ton give de role
d'accord merci
Et aller pour t'aider:
Tu filtres déjà en disant : que ce MEMBER qui peut reagir
Donc pas besoin de rechecker dans ton collected qu'il y soit, tu check juste que ton collected.size soit >= 1, et si oui tu lui give le role
regarde ce que tu fais
ça se met pas n'importe où
Je ne vois vraiment pas
je ne peux pas le mettre avant le code de la reaction
sa me parrait logique
je te laisse y réfléchir
Petite info, les émojis discord, tu peut les mettres directement au lieu de les déclarés comme tu fais 🙂
Si tu nommes ton filter: “filter2”, tu ne peux pas faire {filter2} mais tu dois faire {filter: filter2}
Ce n'est pas nécessaire
Oui mais il lui disait juste « si tu nommes filter2 »
class myClass {
constructor() {
this.isScanning = false;
}
print() {
if(this.isScanning) return;
/*Code*/
}
scan() {
return new Promise((resolve, reject) => {
this.isScanning = true;
document.addEventListener("keypress", async ({ keyCode }) => {
if (keyCode !== 13) return;
const result = Object.values(lines.children).at(-1).innerHTML;
resolve(result);
this.isScanning = false;
});
});
}
}
Bonsooooooooir
j'ai un petit souci
En gros ce que je veut faire c'est que le temps que la Promise de la fonction scan sois resolve la fonction print ne puisse pas être exécuter
J'ai essayer comme ca
Mais ca ne marche pas trop
Svp me ping si jamais
C'est censé fonctionner pourtant
@west needle Salut. Je suis pas certain que seul ce changement fonctionne mais en dessous du resolve(result) il faut donc mettre this.isScanning = false
En fait quel est ton problème exactement @west needle, ta fonction print ne se désactive pas ?
Oui c'est ca
Meme si la Promise n'est pas resolve
Si je fait ca le is Scanning sera tout le temp trus
Et pas isScanning
Non c'est pas ca tkt
Bah si
hum
actuellement il est toujours à true justement 😂
Merde desolé
mis à part ça, tu peux essayer de set this.isScanning au dessus de la déclaration de la promise ?
écoute je sais pas ce que tu fais mais moi ça marche
Tant mieux alors !
Merci pour ton Aide !
Salut dite moi j'ai fait ce code pour crée un channel envoyé un embed puis ajoute une react si c'est react et cocher alors le channel se sup ... mais cela fonctionne sauf que sa le fait instante donc je suppose que sa récup donc la react du bot quelqu'un serais m'aidé ? 😉
chan.send({ embeds: [embedFormation] }).then( message => {
message.react("🔓").then(msg => {
const filter = (reaction, user) => {
return reaction.emoji.name === '🔓' && user.id === message.author.id;
};
const collector = message.createReactionCollector({ filter });
collector.on('collect', (reaction, user) => {
message.guild.members.fetch(user.id).then(member => {
first.roles.remove(config.gradestaff);
message.channel.delete()
});
});
});
Oui c'est normal ton filter est pas bon
au lieu de js const filter = (reaction, user) => { return reaction.emoji.name === '🔓' && user.id === message.author.id; };fait
const filter = (reaction, user) => {
return reaction.emoji.name === '🔓' && user.id !== message.author.id;
};```
Ok merci bien 😉
Parce que la tu viens dire que tu veux seulement ceux de ton bot sinon
Sa fonctionne super bien merci 🙂
Oui c'est normal, là tu compares pas réellement les 2
le fait de mettre ! devant ton object signifie que tu veux savoir si il existe ou non, donc il te renvoie un boolean
donc ca équivaut à faire
true === 'id_user'
si tu veux tester l'inégalité des 2
Ok merci tu gèrej'avais pas compris sa
Bonjour,
j'ai sa comme erreur comment faire ?
Tu dois avoir un message.edit qui essaye d’envoyer un embed quelque part
y'a une façon de savoir ou ?
Tu as le contenu de ton embed dans l'erreur
Donc tu peux en déduire d'où vient l'erreur
Malheureusement on ne connait pas ton code ni ton bot donc on ne peut pas t'aider
Hello ! Pour les gens qui veulent apprendre ou qui débutent en JS j ai trouvé ce repo git qui l'air super sympa !
Salut, avec ce code la j'ai un missing permissions quelqu'un sait pourquoi ?
if(message.content.startsWith(config.prefix + "christmas")){
message.delete();
let m = message.guild.members.cache.find(m => m.user.id == message.author.id);
let xmasEmojis = ["🎄","🎅","⛄"];
let lastXmasEmojis = ["🎄","🎅","❄️","🎁","⛄"];
let rdmEmoji = xmasEmojis[randomNumber(0, xmasEmojis.length - 1)];
let name = m.nickname ? m.nickname : m.user.username;
lastXmasEmojis.forEach(le => {
name = name.startsWith(le + " ") ? name.slice((le + " ").length) : name;
m.edit({
nick: `${rdmEmoji} ${name}`
});
});
}
c'est pas ton code le soucis, c'est juste que ton bot n'a pas la permission
Oui, le bot n'a plus les perms de custom le name du owner apparemment
c'est normal il ne pourra pas
il ne peut pas modifier un membre au-dessus de lui, or l'owner c'est mort je crois bien
Exact, tout role au dessus de lui il ne peux pas modifier le pseudo n'y ajouté des roles au dessus de lui, meme en aillant les perms
j'ai trouver l'embed et je dois faire quoi ?
Method : patch signifie que tu tentes de modifier ce message
Et visiblement ça ne fonctionne pas, à toi de debug ton code
montre ton code dans un premier temps
petite question on est d'accord que dans la v13 le presence à été enlevé le problème c'est que soit disant il est dans le GuildMember mais il y a rien...
vous savez où je peux trouver le status d'un joueur dcp ?
avec discord.js biensur ^^
Yo!
Oyé les professionels JS, je viens vers vous car j'ai fait mon premiere package npm en TS et j'ai un petit soucis, en gros voici mon archi https://github.com/Ashk2a/discord-chat-exporter et je capte pas trop, j'ai pas d'autocompletion quand j'import ma lib 😦 (mais elle fonctionne!)
Il me semble qu’il faut faire un fichier de déclaration genre index.d.ts pour que ton ide (ex vscode) puisse venir les trouver
hmhmhm, je vais regarder de ce coté, j'ai deja vu ce genre de fichier sans trop capté ce que c'etait
oui c'est ça
ca ressemble grosso merdo a ca
declare module 'discord-chat-exporter'
et fichier obligatoirement en d.ts
merci les filles
alors j'ai trouvé ca coté package.json => "typings": "src/index.ts" et ca m'apporte de la completion du coup
bonsoir, je n'arrive pas à régler le problème, pouvez vous m'aider ?
merci 😉
Bonsoir, j'ai une petit question, je voudrais récupérer des fichiers logs d'un data center et les envoyé dans un channels précis sur un serveur discord, croyait vous que cela est optimisé ? ou faudrais trouvé un autre moyen ?
Si les fichiers sont pas trop gros ça va, oublis juste pas la limite de taille de fichiers sur discord. Si c'est trop gros tu peux envoyer un lien de téléchargement à la place
Enfaite j'aimerai récupérer tout les logs dans le path /var/logs et les envoyé à la suite, le fichier entier sauf que j'ai aucune idée pour tout les load et les send 1 par 1 je galère depuis le message pour envoyé des fichier avec la v13
Bah justement, j'essaye ça mais ça marche jamais, sois il trouve pas le fichier sois il le read pas
@neat lintel Ah enfaite j'ai trouvé, j'ai crée un fichier logs dans la racine de mon bot et j'ai fait un ./logs/rkhunter.txt
Il faut un array de File Options normalement. Tu y mets le nom et le file
Pas réellement d'idée de comment faire vu que j'ai jamais use les array en js
Juste []
Ouais mais faut un fs.readDir je suppose ? pour récupérer tout les nom
[{name:"nom", attachement: tonFichier}]
Oui tu fais une boucle
function getAllLogsName(){
const loadLogs = (client, dir = logsDir) => {
fs.readdirSync(dir).forEach(dirs => {
const logs = fs.readdirSync(`${dir}/${dirs}/`).filter(files => files.endsWith(".log"));
for (const logs of logs) {
const log = require(`../${dir}/${dirs}/${logs}`);
const logName = event.split(".")[0];
console.log("LogsName: " + logName);
}
}
)
}
comme ça ?
Enfin pour get tout les nom
Faudrait push un array et le renvoyer car la tu lis les fichiers mais tu as aucun moyen d'y avoir accès
Pas trop d'idée là :/
Faut que je les lise tous puis que je fasse genre maArray.push(name, files); ?
push prend que 1 paramètres pour push une valeur
Donc ça sera tu un truc du genre :
maArray.push(name);
maArray.push(files);
?
Le mieux serait de push un Buffer comme ça c'sst prêt à être envoyé
Jamais use de Buffer/Reader :/
On a pas besoins du name ici. Si tu veux le nom du fichier push un objet avec un key name et une key attachment
Regardes sur internet c'est assez simple à utiliser pour construire un Buffer à partir d'une string
Je suis la dessus actuellement https://nodejs.org/en/knowledge/advanced/buffers/how-to-use-buffers/
Oui voilà un exemple
Je dois bien avoué que je comprend pas vraiment
Il y a un exemple avec une string
var buffer = Buffer.from("I'm a string!", "utf-8");
Comprend pas vraiment
AH
@neat lintel
from = Convertire un String à un Buffer
ToString = Convertire un Buffer en String
concat = Concatenation d'un buffer en une array
alloc = Crée un Buffer vide en lui donnant un nombre de byte
C'est tu good ?
Oui, from c'est pas que pour les strings mais sinon c'est ça.
C'est complexe
De toute façon nous on a besoin que de Buffer.from(tonFichier, 'utf-8')
Et on envois ça à discord sous cette forme
Je mais le Buffer.from directement dans le files: [] ?
Non tu mets un objet
Je suis perdu
Comme ca
Ce que tu vas faire c'est dans ta boucle avec le require push un array comme ci dessus avec un nom et un fichier puis quand c'est fini tu l'envoie dans les options de la fonction send
Il va replace files: du coup
Je suis vraiment perdu là
Non ça sera files: tonArray
Commence par modifier ta fonction getAllLogsName pour que elle renvoie un array au bon format
Buffer.from(name, "utf-8") ?
ou juste logName?
Alors ça le buffer c'est que une partie de l'array
Alors ça serait log à la place de name
pas logName ?
Et push avec un objet comme ça
logName tu vas le mettre à la place de "nom"
Et à la place de tonFichier tu vas mettre le buffer
Presque
oh
Enleves les []
Vu que c'est déjà un array on ajoute juste une valeur pas un sous-array
Ok ok
Ok j'ai c'est modifié
Ensuite je dois faire quoi ?
Je call le getAllLogs avant de le message.channel.send ( embes: + files ) ?
Faut déclarer logs = getAllLogs()
Ok, et mettre logs dans le files je suppose ?
Oui
Et dans la fonction je sais pas si tu l'as fais mais la première ligne doit être const logsArray=[]
Et ensuite tu peux tester
@neat lintel Nope
Tu es en V12 ou V13 ?
Envois un screen de la fonction stp
Tu as mis const logs of logs
Faut un nom différent pour le premier
Ensuite tu as laissé le mot évent
- ta fonction est jamais appelé (loadLogs) et tu return rien
C'est good, j'ai tout changé
Renvois un screen pour voir stp
Regardes le message de enzo
Ouais je check ça en se moment
@neat lintel Du coup j'ai remove le loadLogs
function getAllLogs(){
const logsArray = [];
fs.readdirSync(logsDir).forEach(dirs => {
const logs = fs.readdirSync(`${dir}/${dirs}/`).filter(files => files.endsWith(".log"));
for (const forLogs of logs) {
const log = require(`../${dir}/${dirs}/${forLogs}`);
const logName = forLogs.split(".")[0];
console.log("LogsName: " + logName);
logsArray.push( {name:logName, attachment: Buffer.from(log, "utf-8")});
}
});
}
Tu return toujours rien
Je dois return le logsArray ?
Oui
Il faut juste que je repair le dir is not defined et ses good
normalement c:
Vérifie le chemin aussi. A un endroit tu mets ../ et à un autre non
Ouais j'ai check partout ^^ j'ai encore du mal avec les ./ ../ ../../
not a directory, scandir './logs/rkhunter.log/'
Pourquoi il me dit que rkhunter et un fichier ?
Parce que tu essayes de lire des sous dossiers avec ta première fonction
Du coup si il y a dirrect les fichiers pas besoin de la 2eme partie
le ${dirs}/ ?
Oui
je le remove de partout ?
@neat lintel Error: Cannot find module './logs/rkhunter.log' pourquoi il existe :/
Envois le code
function getAllLogs(){
const logsArray = [];
const dir = "./logs";
fs.readdirSync('./logs').forEach(dirs => {
const logs = fs.readdirSync(`${dir}`).filter(files => files.endsWith(".log"));
for (const forLogs of logs) {
const log = require(`${dir}/${forLogs}`);
const logName = forLogs.split(".")[0];
console.log("LogsName: " + logName);
logsArray.push( {name:logName, attachment: Buffer.from(log, "utf-8")} );
return logsArray;
}
}
)}
Pourquoi lire 2 fois le dossier ? Ça sert à rien
🤷♂️
function getAllLogs(){
const logsArray = [];
const dir = "./logs";
const logs = fs.readdirSync(`${dir}`).filter(files => files.endsWith(".log"));
for (const forLogs of logs) {
const log = require(`${dir}/${forLogs}`);
const logName = forLogs.split(".")[0];
console.log("LogsName: " + logName);
logsArray.push( {name:logName, attachment: Buffer.from(log, "utf-8")} );
return logsArray;
}
}
@neat lintel Je vais aller me couché, bientôt 4:00am je reviendrais dessus à matin ou midi ça dépend quand je vais me levé
D'ac je regarderai de mon côté sur le PC ce sera mieux
Salut tous le monde, je suis sur une erreur que je comprends pas, enfin je la comprend mais je comprends pas a quoi elle est due :
Ce code fonctionne parfaitement
module.exports = (options = {}) => {
return options.eventOptions?.description;
};
Et ce code non
// import
module.exports = (options = {}) => {
return options.eventOptions?.description;
};
J'ai une erreur qui est SyntaxError: Invalid or unexpected token et ca me montre le caractère ?. (normalement c'est du a la version de node cette erreur mais pas ici). Donc en gros le problème ce produit dès que je mets le mot import dans le fichier. Que ce soit en commentaire (// et /*) ou dans une chaine de caractères. Et ce bug ne ce produit que quand le caractère ?. est présent dans le fichier (de facon utile dans le code cette fois). Si quelqu'un a une piste je suis preneur car ca fait quelques jours que je bloque la dessus
A tout les coups c’est une mauvaise interprétation du code, ou il doit croire que tu cherches à import un module ou autre
mais en fait ca fait ca que dans le code du projet
si je mets ca dans un fichier js a part ca marche
peut être rien à voir, mais tu es en CJS ou en ESM ?
en cjs
je pense vraiment qu’il supporte juste pas le mot clé import, les 2 ne sont pas compatible
Après oui ce qui est bizarre c’est que dans un fichier neutre js le commentaire fonctionne
Si tu déplaces ton commentaire pour le mettre dans ton module.exports, avant le return, ça fonctionne ?
et si tu le remet mais tu changes import par autre chose c’est ok ?
oui
pareil si je fais ```js
module.exports = (options) => {
return import ${options.eventOptions?.description};
};
ca marche pas non plus
le seul truc possible que je vois c’est que le import est un mot clé pour l’ESM
Pour voir si tu test de foutre export à la@place
Car c’est aussi un mot clé ESM
Est ce que ça plante aussi ?
oui
je pense que le soucis est juste la
Mais le truc c'est que le code a pas a etre interprété normalement, c'est une chaine de caractères ou un commentaire
Le seul truc que je comprend pas c’est qu’il est en commentaire ou en string
oui voilà
et ca plante que avec la syntaxe du chainage optionel
si tu enlèves l’optional chained le commentaire passe ?
oui sans ca ca marche parfaitement
Hmm okay attend je vais essayer de demander à d’autres gens pour voir
D'ac merci
Bonjour, avez vous une solution 🙂
Ou de l’aide à me fournir
un member peut ne pas avoir de présence. Tu peux mettre un opérateur ?. (optional chaining) puis un || pour mettre une valeur par défaut dans le field si le membre a pas de présence
si le membre a normalement une présence il faudra alors le fetch avec l'option withPresence: true
J’ai pas trop compris désolé ^^’
un membre a pas forcément de présence pour plein de raisons possibles par exemple si il est pas en ligne, si tu as pas certaines intents, si tu as pas fetch le membre avec certaines options etc etc
Donc tu peux pour éviter l'erreur utiliser l'opérateur ?. qui permet de ne pas faire d'erreur si ton objet n'a pas une key. Mais la le problème c'est que si le membre a pas de présence ca va donner la valeur undefined a ton field et c'est pas possible d'avoir un field vide. Du coup faudrait mettre une valeur par exemple "Sans status". Ca c'est l'option 1. L'option 2 c'est de faire une condition pour vérifier si le membre a bien une présence avant d'ajouter le field correspondant.
Merci, je pense pas réussir à changer le code, mais merci 🥲
essayes de tenter un truc au moins et meme si tu as une erreur c'est pas grave tu enverras le code sur le serveur et on la résoudra
(prévenez moi si je suis pas sur le bon channel) heyy je cherche a faire des sortes de mini jeux a faire avec son bot discord comme un pile ou face ou un pendu sauf que j'ai rien trouvé sur internet a ce propos...
Si vous avez des idées de comment faire, je suis là !
c'est assez simple pour le coup
pour le pile ou face c'est assez simple, 2 joueurs, un choix chacun, celui qui commence à 2 choix l'autre à 1 choix logique, et après tu fais un math.random() etc sur ta table qui contient "pile", et "face", et en fonction de ce qui sort tu check celui qui a mit la bonne réponse et voilà
j'ai d'ailleurs fais des recherches il y en a des multitudes
sinon tu as simple-discordjs je crois qui propose pas mal de mini-jeux
Mensonge en vu 👀
https://www.npmjs.com/package/discord-minigames, par exemple un package qui regroupe des mini-jeux, bref google en saura plus que moi
Il a fait 0 recherches 😂
lui ?
Oui
ça se voit oui 
Hey, petite question 🤔
Vous pensez que pour avoir des propriétés / méthodes personnalisés dans les class de discord js par exemple, le mieux c'est : créer sa propre classe custom, modifier directement dans les fichiers du module, ou juste utiliser des fonctions 🤔
j'y vois pas trop l'intérêt perso, autant utiliser les fonctions dispos
Le mieux c’est de créer une class qui extends ou non une de discord.js
Modifie surtout pas les fichiers sources, sinon à la moindre mise à jour t’es cuis
ah ouais j'avais pas pensé à ça mdr
mais du coup niveau opti tu perds pas en créant une custom class ?
Non, soit tu fais ça sois tu créer des functions utils, tout dépend ce que tu cherches à faire
function getAllLogs(){
const logsArray = [];
const dir = "./logs";
const logs = fs.readdirSync(`${dir}`).filter(files => files.endsWith(".log"));
for (const forLogs of logs) {
const log = require(`${dir}/${forLogs}`);
const logName = forLogs.split(".")[0];
console.log("LogsName: " + logName);
logsArray.push( {name:logName, attachment: Buffer.from(log, "utf-8")} );
return logsArray;
}
}
Bonjour, je reposte mon problème que j'avais eu hier à 3:00am ^^
Error: Cannot find module './logs/rkhunter.log'
Ton fichier rkhunter.log n'existe pas dans l'emplacement où tu le cherches
Il faudrait que tu nous montre ton arborescence
Pourtant il existe
logs.js c'est le fichier dans lequel il y a ta fonction ?
Car quand je send un files avec message.channel.send je de devais faire ./logs/rkhunter.log
Donc bon :/
Yep
C'est ma commande avec la function
On va try ^^
ptet ../.. non ? 🤔
On va bien voir 
Error: ENOENT: no such file or directory, scandir '../logs'
Error: ENOENT: no such file or directory, scandir '../../logs'
at Object.readdirSync (node:fs:1390:3)
at getAllLogs (C:\Users\KeySex\Desktop\JSSexyWorkpsace[DiscordBot]\LogsBotVPS\commands\Admin\logs.js:44:21)
at Object.module.exports.run (C:\Users\KeySex\Desktop\JSSexyWorkpsace[DiscordBot]\LogsBotVPS\commands\Admin\logs.js:18:26)
at module.exports (C:\Users\KeySex\Desktop\JSSexyWorkpsace[DiscordBot]\LogsBotVPS\events\client\message.js:28:11)
at Client.emit (node:events:390:28)
at MessageCreateAction.handle (C:\Users\KeySex\Desktop\JSSexyWorkpsace[DiscordBot]\LogsBotVPS\node_modules\discord.js\src\client\actions\MessageCreate.js:33:18)
at Object.module.exports [as MESSAGE_CREATE] (C:\Users\KeySex\Desktop\JSSexyWorkpsace[DiscordBot]\LogsBotVPS\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)
at WebSocketManager.handlePacket (C:\Users\KeySex\Desktop\JSSexyWorkpsace[DiscordBot]\LogsBotVPS\node_modules\discord.js\src\client\websocket\WebSocketManager.js:350:31)
at WebSocketShard.onPacket (C:\Users\KeySex\Desktop\JSSexyWorkpsace[DiscordBot]\LogsBotVPS\node_modules\discord.js\src\client\websocket\WebSocketShard.js:443:22)
at WebSocketShard.onMessage (C:\Users\KeySex\Desktop\JSSexyWorkpsace[DiscordBot]\LogsBotVPS\node_modules\discord.js\src\client\websocket\WebSocketShard.js:300:10) {
errno: -4058,
syscall: 'scandir',
code: 'ENOENT',
path: '../../logs'
}
Même error avec ../logs et ../../logs
faut pas que tu me modifier ta variable dir
Bah je la use pour récupérer le path
Non elle est très bien
Ton fs marche bien
C'est dans ton require que tu dois modifier
Ah oui effectivement il a raison pour le coup ça marchais
C'est dans ton fichier log ça
C'est l'erreur que j'ai quand le fs read le fichier
Tu fais quoi exactement ?
Bah c'est quoi ça " DEBUG 1 DEBUG 2 DEBUG 3 "
C'est juste du text comme ça que j'ai mit
Mais enfaite il n'aime pas les Integer :/
Et les string . . .
Je peux vraiment pas t'aider pour le coup je connais pas les fichiers .log
Essaye de mettre Log: Test
Où ?
Dans ton fichier log
Je dois changé à qu'elle endroit ?
Dans ton fichier log met juste ça genre mais dans tous les cas j'en sais rien, si t'utilises un fichier .log c'est que tu sais l'utiliser non ?
Bref je suis désolé je peux pas t'aider sur ça
Fichier log c'est genre égals au txt ta rien qui change réellement
bonjour tout le monde
je suis en train de faire du back end avec js
et j'ai cette erreur dans postman
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>MulterError: Unexpected file field<br> at fileFilter (C:\Users\melvi\Desktop\f1-twitter\node_modules\multer\lib\file-filter.js:16:13)<br> at Busboy.<anonymous> (C:\Users\melvi\Desktop\f1-twitter\node_modules\multer\lib\read-body.js:65:9)<br> at Busboy.emit (node:events:394:28)<br> at Busboy.emit (C:\Users\melvi\Desktop\f1-twitter\node_modules\busboy\lib\main.js:37:33)<br> at PartStream.<anonymous> (C:\Users\melvi\Desktop\f1-twitter\node_modules\busboy\lib\types\multipart.js:214:13)<br> at PartStream.emit (node:events:394:28)<br> at HeaderParser.<anonymous> (C:\Users\melvi\Desktop\f1-twitter\node_modules\dicer\lib\Dicer.js:50:16)<br> at HeaderParser.emit (node:events:394:28)<br> at HeaderParser._finish (C:\Users\melvi\Desktop\f1-twitter\node_modules\dicer\lib\HeaderParser.js:68:8)<br> at SBMH.<anonymous> (C:\Users\melvi\Desktop\f1-twitter\node_modules\dicer\lib\HeaderParser.js:40:12)</pre>
</body>
</html>```
voila l'erreur dans Vs code
PS C:\Users\melvi\Desktop\f1-twitter> node server
Listening on port 5000
connected to MongoDB
MulterError: Unexpected file field
at fileFilter (C:\Users\melvi\Desktop\f1-twitter\node_modules\multer\lib\file-filter.js:16:13)
at Busboy.<anonymous> (C:\Users\melvi\Desktop\f1-twitter\node_modules\multer\lib\read-body.js:65:9)
at Busboy.emit (node:events:394:28)
at Busboy.emit (C:\Users\melvi\Desktop\f1-twitter\node_modules\busboy\lib\main.js:37:33)
at PartStream.<anonymous> (C:\Users\melvi\Desktop\f1-twitter\node_modules\busboy\lib\types\multipart.js:214:13)
at PartStream.emit (node:events:394:28)
at HeaderParser.<anonymous> (C:\Users\melvi\Desktop\f1-twitter\node_modules\dicer\lib\Dicer.js:50:16)
at HeaderParser.emit (node:events:394:28)
at HeaderParser._finish (C:\Users\melvi\Desktop\f1-twitter\node_modules\dicer\lib\HeaderParser.js:68:8)
at SBM```
const UserModel = require("../models/user.model");
const fs = require("fs");
const { promisify } = require("util");
const pipeline = promisify(require("stream").pipeline);
const { uploadErrors } = require("../utils/errors.utils");
module.exports.uploadProfil = async (req, res) => {
try {
if (
req.file.detectedMimeType !== "image/jpg" &&
req.file.detectedMimeType != "image/png" &&
req.file.detectedMimeType != "image/jpeg"
)
throw Error("invalid file");
if (req.file.size > 500000) throw Error("max size");
} catch (err) {
const errors = uploadErrors(err);
return res.status(201).json({ errors });
}
const fileName = req.body.name + ".jpg";
await pipeline(
req.file.stream,
fs.createWriteStream(
`${__dirname}/../client/public/uploads/profil/${fileName}`
)
).clone();
try {
await UserModel.findByIdAndUpdate(
req.body.userId,
{ $set : {picture: "./uploads/profil/" + fileName}},
{ new: true, upsert: true, setDefaultsOnInsert: true},
(err, docs) => {
if (!err) return res.send(docs);
else return res.status(500).send({ message: err });
}
);
} catch (err) {
return res.status(500).send({ message: err });
}
};```
quelqu'un pourrais m'aider svp
Bonjouur, je vous explique mon soucis, j'utilise l'api pronote de dorian-eydoux et je souhaiterais récupérer la note la plus récente
Mais j'y arrive pas du tout j'ai réussi à récupérer les évaluations de toutes les manière et leur date sauf que la gueule de la date c'est ça
Je suis à ça 🤏 de faire ça 
Tu sais si je peux la mettre en timeline ? Parce que la me dire que je l'ai passé samedi à 16h ça med pa tro
tu peux les sort
Je peux les sort genre en mode a.date - b.date ça fonctionnera ? Parce que la dans ma tête je vais soustraire Vendredi à Jeudi x)
ah oui ça fonctionne merci @slim anvil ❤️
est ce que tu pourrais m'aider svp ?
commence par mettre des logs un peu partout pour voir à quel moment ça pète
le dernier log qui passe, ce sera juste après que ca pète, ca va permettre de bien cibler directement le problème
c'est fait
est j'ai rien dans mon terminale
const UserModel = require("../models/user.model");
const fs = require("fs");
const { promisify } = require("util");
const pipeline = promisify(require("stream").pipeline);
const { uploadErrors } = require("../utils/errors.utils");
module.exports.uploadProfil = async (req, res) => {
try {
if (
req.file.detectedMimeType != "image/jpg" &&
req.file.detectedMimeType != "image/png" &&
req.file.detectedMimeType != "image/jpeg"
)
throw Error("invalid file");
if (req.file.size > 500000) throw Error("max size");
} catch (err) {
console.log("1");
const errors = uploadErrors(err);
return res.status(201).json({ errors });
}
const fileName = req.body.name + ".jpg";
await pipeline(
req.file.stream,
fs.createWriteStream(
`${__dirname}/../client/public/uploads/profil/${fileName}`
)
);
};
voila mon fichier
si tu log au tout début
req.file, il existe bien ?
tu veux que je met un console.log ou ?
avant ton try catch par exemple
console.log(err)
try {
if (
req.file.detectedMimeType != "image/jpg" &&
req.file.detectedMimeType != "image/png" &&
req.file.detectedMimeType != "image/jpeg"
)
throw Error("invalid file");
if (req.file.size > 500000) throw Error("max size");```
ici par exemple
Non avant ton try catch
donc tout au debut de mon fichier ?
Oui avant ton try catch quoi
comme ça ?
j'ai pas d'erreur qui en ai ressorti
je ne comment prend pas beaucoup ce que tu me dis
Avant ton try catch ajoute un console.log(req.file)
ok
module.exports.uploadProfil = async (req, res) => {
console.log(req.file)
try {
if (
req.file.detectedMimeType != "image/jpg" &&
req.file.detectedMimeType != "image/png" &&
req.file.detectedMimeType != "image/jpeg"
)
throw Error("invalid file");
if (req.file.size > 500000) throw Error("max size");
} catch (err) {
console.log("1");
const errors = uploadErrors(err);
return res.status(201).json({ errors });
}
const fileName = req.body.name + ".jpg";
await pipeline(
req.file.stream,
fs.createWriteStream(
`${__dirname}/../client/public/uploads/profil/${fileName}`
)
);
};
voila comme ça, mais j'ai rien dans mon terminale
tu essayes de faire un upload ?
il sera appelé que lorsque tu appelleras ta function uploadProfil ^^
et tu as toujours ton erreur on est ok ?
juste pour etre sur
console.log('req file => ', req.file)
si il t'affiche rien après req.file c'est qu'il recoit pas ton file
donc es conditions req.file.detected etc.. ne peuvent pas fonctionner
j'ai resolue l'erreur
const UserModel = require("../models/user.model");
const fs = require("fs");
const { promisify } = require("util");
const pipeline = promisify(require("stream").pipeline);
const { uploadErrors } = require("../utils/errors.utils");
module.exports.uploadProfil = async (req, res) => {
console.log(req.file.mimeType)
try {
if (
req.file.mimetype != "image/jpg" &&
req.file.mimetype != "image/png" &&
req.file.mimetype != "image/jpeg"
)
throw Error("invalid file");
if (req.file.size > 500000) throw Error("max size");
} catch (err) {
console.log("1");
const errors = uploadErrors(err);
return res.status(201).json({ errors });
}
const fileName = req.body.name + ".pnj";
await pipeline(
req.file.stream,
fs.createWriteStream(
`${__dirname}/../client/public/uploads/profil/${fileName}`
)
);
};
mais j'en ai une nouvelle
ErrorCaptureStackTrace(err);
^
TypeError [ERR_INVALID_ARG_TYPE]: The "source" argument must be of type function or an instance of Stream, Iterable, or AsyncIterable. Received undefined
at new NodeError (node:internal/errors:371:5)
at pipeline (node:internal/streams/pipeline:222:15)
at node:stream/promises:35:18
at new Promise (<anonymous>)
at pipeline (node:stream/promises:25:10)
at module.exports.uploadProfil (C:\Users\melvi\Desktop\f1-twitter\controllers\upload.controller.js:25:9)
at Layer.handle [as handle_request] (C:\Users\melvi\Desktop\f1-twitter\node_modules\express\lib\router\layer.js:95:5)
at next (C:\Users\melvi\Desktop\f1-twitter\node_modules\express\lib\router\route.js:137:13)
at Array.<anonymous> (C:\Users\melvi\Desktop\f1-twitter\node_modules\multer\lib\make-middleware.js:53:37)
at listener (C:\Users\melvi\Desktop\f1-twitter\node_modules\on-finished\index.js:169:15) {
code: 'ERR_INVALID_ARG_TYPE'
}
PS C:\Users\melvi\Desktop\f1-twitter> node server
Listening on port 5000
connected to MongoDB
@neat lintel
c'est quoi le fichier upload.controller ?
celui la
@neat lintel
il contient rien
voila le problème du coup
je sais pas comment faire du coup
tu veux faire quoi avec cette ligne ?
c'est pour ranger une image
mets la dirrectement au bon endroit avec multer
c'est a dire
c'est pas ce que je fais avec js `${__dirname}/../client/public/uploads/profil/${fileName}
bah quand elle est upload avec multer tu peux choisir l'emplacement
avec la key destination dans diskStorage
Salut j'ai un truc a faire en js pour demain mais je ne troue aucune solutions, pour pas polluer le channel avec mon code, si des gens callé peuvent m'aider en DM je veux bien, l'exo est pas compliqué mais je bloque, dans l'idée il faut récupérer la valeur d'un input pour ensuite créer une card et l'afficher (je suis peu être pas trop clair)
Hello @random pewter je t'invite a poser ton problème ici, c'est le but, donc tu ne pollueras pas le channel
Montre ce que tu as déjà
const articlesList = [
{
title: "Title 1",
content: "Lorem 1",
imageSrc: "https://via.placeholder.com/200"
},
{
title: "Title 2",
content: "Lorem 2",
imageSrc: "https://via.placeholder.com/200"
},
{
title: "Title 3",
content: "Lorem 3",
imageSrc: "https://via.placeholder.com/200"
},
]
articlesList.forEach(element => {
let cardTitle = document.createElement('h5')
cardTitle.textContent = element.title
cardTitle.classList.add('card-title')
console.log("cardTitle : ", cardTitle)
const col3 = document.createElement('div')
col3.classList.add('col-md-3')
const row = document.querySelector('.row')
row.append(col3)
col3.append(cardTitle)
});
function createCard(title, content, img) {
// complete function to add card
}
// On submit
// récupérer la value de l'input title
// récupérer la value de l'input content
// createCard(userTitleFormValue, userContentFormValue)
let form = document.querySelector('form')
form.addEventListener('submit', function(event){
event.preventDefault()
console.log('submit')
const userTitleFormValue = document.querySelector('#title').value
console.log(userTitleFormValue)
})
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
</head>
<body>
<form>
<input type="text" id="title">
<textarea id="content" cols="30" rows="10"></textarea>
<input type="submit">
</form>
<div class="container">
<div class="row">
<div class="col-md-3">
<div class="card mt-5">
<img src="https://via.placeholder.com/200" class="card-img-top" alt="">
<div class="card-content">
<h5 class="card-title">Lorem ipsum dolor sit.</h5>
<p class="card-text">Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolore tempora inventore tenetur natus totam! Voluptate, excepturi hic dolorum enim dignissimos soluta quos ea mollitia cum optio aliquam ut explicabo architecto.</p>
</div>
</div>
</div>
</div>
</div>
<script defer src="script.js"></script>
</body>
</html>```
La consigne est dans le JS si jamais
je la remet la :
// On submit
// récupérer la value de l'input title
// récupérer la value de l'input content
// createCard(userTitleFormValue, userContentFormValue)
Okay actuellement lors du submit tu as bien en log ton title que tu as renseigné ?
Okay alors tu vas venir faire la même chose pour le content en premier temps
le log, et me dire si c'est ok (logiquement oui)
Ensuite, la seconde étape ça va etre de créer tes éléments que tu as déjà dans ton tableau dans ton DOM
(via la function createElement)
function createdCard({ title, content }) {
const column = document.createElement('div')
column.classList.add('col-md-3')
const card = document.createElement('div')
card.classList.add('card mt-5')
const image = document.createElement('img')
image.setAttribute('src', 'url')
// faire la suite
}
articlesList.forEach(article => createCard(element))
je te laisse faire la suite, tu as le début
Ok merci beaucoup déja ça m'avance pas mal
et donc du coup donc ta fonction submit, tu vas venir push tes nouvelles informations dedans, et aussi appelé ta function createdCard avec le nouvel item
tips =>
//in submit
const newArticle = { title: userTitleFormValue, content: xxxxx }
articlesList.push(newArticle)
createdCard(newArticle)
J'essaye d'apprendre à faire des bots discord le problème c'est que j'ai aucune compétence alors j'aurai besoin d'une aide :)
dis nous ton problème pour commencer
Enfaite j'avais pas vu mais sur votre dite il y a un tutoriel et je pense que je vais m'en servir car faire seul sans pas grand chose c'est pas simple, désolé du dérangement
pas de soucis!
Nouveau problème mon bot ne s'allume pas et c'est embêtant pour faire des tests donc si besoin d'infos à donner pour réglé mon problème
Logs @opal mantle 🤔
C:\Users\louis\Desktop\Dev>node index.js
node:internal/modules/cjs/loader:936
throw err;
^
Error: Cannot find module '.../commandes/kick'
Require stack:
- C:\Users\louis\Desktop\Dev\index.js
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
at Function.Module._load (node:internal/modules/cjs/loader:778:27)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.<anonymous> (C:\Users\louis\Desktop\Dev\index.js:29:14)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153: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:81:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [ 'C:\\Users\\louis\\Desktop\\Dev\\index.js' ]
}
Le soucis vient de là 🙂
Pourtant quand j'essaye de lancer mon bot il y a encore un message d'erreur
Lequel ?
C:\Users\louis\Desktop\Dev>node index.js
node:internal/modules/cjs/loader:936
throw err;
05:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.<anonymous> (C:\Users\louis\Desktop\Dev\index.js:29:14)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153: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:81:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [ 'C:\\Users\\louis\\Desktop\\Dev\\index.js' ]
}
Tu as que sa en erreur ? 🤔
oui
Hmm, l'erreur dit qu'il te manque un module, donc bizarre
Bonjour, j'ai se problème de permission savez vous comment le régler ?
C:\Users\Administrateur\Desktop\SLMD DEV TICKET\node_modules\discord.js\src\structures\PermissionOverwrites.js:184
if (!userOrRole) throw new TypeError('INVALID_TYPE', 'parameter', 'User nor a Role');
^
TypeError [INVALID_TYPE]: Supplied parameter is not a User nor a Role.
at Function.resolve (C:\Users\Administrateur\Desktop\SLMD DEV TICKET\node_modules\discord.js\src\structures\PermissionOverwrites.js:184:28)
at C:\Users\Administrateur\Desktop\SLMD DEV TICKET\node_modules\discord.js\src\structures\GuildChannel.js:318:87
at Array.map (<anonymous>)
at TextChannel.edit (C:\Users\Administrateur\Desktop\SLMD DEV TICKET\node_modules\discord.js\src\structures\GuildChannel.js:318:57)
at InteractionCollector.<anonymous> (C:\Users\Administrateur\Desktop\SLMD DEV TICKET\events\interactionCreate.js:196:16)
at InteractionCollector.emit (node:events:402:35)
at InteractionCollector.handleCollect (C:\Users\Administrateur\Desktop\SLMD DEV TICKET\node_modules\discord.js\src\structures\interfaces\Collector.js:108:12)
at processTicksAndRejections (node:internal/process/task_queues:96:5) {
[Symbol(code)]: 'INVALID_TYPE'
}
B
Fais voir ton code ?
A première vue, tu essaie de mettre des permissions sur un channel mais tu donnes pas un ID (un use ou un role)
Essaie une reinstall de npm
Ouvres ton terminal dans le bon dossier, tu as du oublier un sous-dossiers.
D’accord
Comment est ce qu’on fait ?
Car je pense pas m’être tromper pour choisir le dossier
Tu utilises la commande cd pour te déplacer.
Si ton dossier est dans un sous-dossiers comme src par exemple alors tu peux aussi faire node src/index
Salut,
J'ai un problème quand je veux add un role à un mec dans un bot.on('messageReactionAdd', async (reaction, member) => {
Voici le code :
if(reaction.partial){
await reaction.fetch();
console.log(`Le message avec l'id : ${reaction.message.id} à bien été restocké dans le cache !`);
return;
}
if(member.bot) return;
if(reaction.message.id == bdd["notification"]["message"]){
if(reaction.emoji.name == "📢" || reaction.emoji.name == "🎉" || reaction.emoji.name == "🗃"){
if(!bdd["notification"]["annonces"][member.id] && !bdd["notification"]["giveaway"][member.id] && !bdd["notification"]["creation"][member.id]){
member.roles.add('876082446351876197');
}
}else{
reaction.users.remove(member.id)
}
}
})```
Voici l'error :
at Client.<anonymous> (c:\Users\sandr\Desktop\Bot Discord\index.js:268:30)
at Client.emit (events.js:388:22)
at MessageReactionAdd.handle (c:\Users\sandr\Desktop\Bot Discord\node_modules\discord.js\src\client\actions\MessageReactionAdd.js:49:17)
at Object.module.exports [as MESSAGE_REACTION_ADD] (c:\Users\sandr\Desktop\Bot Discord\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_REACTION_ADD.js:4:37)
at WebSocketManager.handlePacket (c:\Users\sandr\Desktop\Bot Discord\node_modules\discord.js\src\client\websocket\WebSocketManager.js:384:31)
at WebSocketShard.onPacket (c:\Users\sandr\Desktop\Bot Discord\node_modules\discord.js\src\client\websocket\WebSocketShard.js:444:22)
at WebSocketShard.onMessage (c:\Users\sandr\Desktop\Bot Discord\node_modules\discord.js\src\client\websocket\WebSocketShard.js:301:10)
at WebSocket.onMessage (c:\Users\sandr\Desktop\Bot Discord\node_modules\ws\lib\event-target.js:132:16)
at WebSocket.emit (events.js:376:20)
at Receiver.receiverOnMessage (c:\Users\sandr\Desktop\Bot Discord\node_modules\ws\lib\websocket.js:845:20)
(Use `node --trace-warnings ...` to show where the warning was created)
Je vous donne sa dès que je suis rentrer chez moi
Essaye de mettre un try catch
le problème vient du fait que l'event messageReactionAdd renvoie un user
et non un member d'une guild
donc tu peux rajouter par exemple, member = await reaction.message.guild.members.fetch(member.id);
Salut est ce que quelqu'un peut aller sur ce site et me dire si les animations ont été fait en javascript https://prashantsani.com
Les sorte de formes 3D qui bougent
Salut quelqu'un qui pourrait m'expliquer comment utiliser les contexct dans react ?
Oui il y en a un peu 🙂
Non je pense qu'il y en a beaucoup
@ashen rapids mais il faut que je montre quel code plus précisément
C:\Users\Administrateur\Desktop\SLMD DEV TICKET\node_modules\discord.js\src\structures\PermissionOverwrites.js:184
if (!userOrRole) throw new TypeError('INVALID_TYPE', 'parameter', 'User nor a Role');
^
TypeError [INVALID_TYPE]: Supplied parameter is not a User nor a Role.
at Function.resolve (C:\Users\Administrateur\Desktop\SLMD DEV TICKET\node_modules\discord.js\src\structures\PermissionOverwrites.js:184:28)
at C:\Users\Administrateur\Desktop\SLMD DEV TICKET\node_modules\discord.js\src\structures\GuildChannel.js:318:87
at Array.map (<anonymous>)
at TextChannel.edit (C:\Users\Administrateur\Desktop\SLMD DEV TICKET\node_modules\discord.js\src\structures\GuildChannel.js:318:57)
at InteractionCollector.<anonymous> (C:\Users\Administrateur\Desktop\SLMD DEV TICKET\events\interactionCreate.js:196:16)
at InteractionCollector.emit (node:events:402:35)
at InteractionCollector.handleCollect (C:\Users\Administrateur\Desktop\SLMD DEV TICKET\node_modules\discord.js\src\structures\interfaces\Collector.js:108:12)
at processTicksAndRejections (node:internal/process/task_queues:96:5) {
[Symbol(code)]: 'INVALID_TYPE'
}
Le code qui génère cette erreur
@ashen rapids Le voici :
Salut,
Comment je peux faire pour faire jouer un fichier mp3 à mon bot sans rien npm
salut,
https://discord.com/developers/docs/resources/voice
https://discord.com/developers/docs/topics/voice-connections
Integrate your service with Discord — whether it's a bot or a game or whatever your wildest imagination can come up with.
Integrate your service with Discord — whether it's a bot or a game or whatever your wildest imagination can come up with.
globalement c'est basé sur opus de mémoire donc à moins de refaire le code toi-même tu vas devoir télécharger une lib, auquel cas autant direct prendre celles dispos sur npm parce que ça sera plus facile à intégrer
si tu ne sais pas établir de connexion rtp / websockets c'est pas la peine de tenter, tu vas devoir apprendre ça avant
Bonjour a tous je suis actuellement en train de créer un plugin de menu (Minecraft) et j'ai cette erreur qui viens (c'est la première fois que ça m'arrive) j'ai essayer de créer d'autre projet mais cela persiste toujours avec n'importe quelle projet. Je suis sur Eclipse. Voila j'attend vos réponses avec impatiente.
Cette erreur est dans le plugin.yml
Et du coup quand j'export mon plugin ça me sort un "fichier 5" :/
https://minecraft.fr/forum/threads/missing-property-api-plugin-yml.265751/ ca peut sans doute t'aiguiller
Bonsoir à tous !
J'ai décidé de me créer un plugin (ça faisait quelques mois que je n'avais pas touché à eclipse). Cependant, j'ai un petit message d'erreur dans mon plugin.yml et je ne trouve rien sur internet me permettant de le régler :/
Quelqu'un pourrait m'aider svp ?
mmmh j'ai essayer de changer le JDK mais ca me sort toujour pas le plugin en .jar
je suis le seul a qui ça arrive ici ?
#java-jvm @shut cave
Hello, je rencontre un problème avec @discordjs/voice 🤔 je ne sais pas si quelqu'un s'y connait
(je précise que j'ai suivi un tuto)
J'ai l'impression qu'une partie du code n'est pas exécuté (raison pour laquelle le bot ne renvoie aucun son)
client.on('ready', async client () => {
// some code
function joinChannel(id) {
client.channels.fetch(id).then(c => {
const voiceConnection = joinVoiceChannel({
channelId: id,
guildId: c.guild.id,
adapterCreator: c.guild.voiceAdapterCreator
});
console.log("ok")
// return ok en console
const ressource = createAudioResource(ytdl("lien", {
quality: "highestaudio"
}), {
inlineVolume: true
});
console.log("ok2")
// ne return rien,
ressource.volume.setVolume(0.2);
const player = createAudioPlayer();
voiceConnection.subscribe(player);
player.play(ressource);
player.on("idle", () => {
try {
player.stop();
} catch(error) {}
try {
voiceConnection.destroy()
} catch (error) {}
joinChannel(c.id)
})
}).catch(e => console.log(e));
}
joinChannel("902476892358197278")
})
il bloque complètement sur le ytdl j'ai l'impression 🤔
Salut qui est fort en dev svp ou est l'erreur svp
PS : Aidé d'un tuto de base
Si quelqu'un peut vite m'aider
De quoi ?
- Il faut des intents
- Discord.message.content ca existe pas
- C'est pas l'évent ready
et sans l'erreur ca sert a rien
Il n'a littéralement pas compris à 100%, vu qu'il recopie bêtement
useless de copier coller
apprends le js avant de faire un bot
Je voulais faire le bot Protect de mon serveur :(
pas besoins d'etre un expert en js pour faire un bot mais au moins connaitre les bases pour comprendre ce que on écrit
chaque chose en son temps
on court pas avant de savoir marcher
:(
Sinon c'est très simple, on t'aide et 10 minutes plus tard tu vas revenir dire "vite svp" sans comprendre ton erreur ni la solution, ça sert à rien
donc apprends le js, et quand t'auras des bases plus ou moins solides tu pourras commencer à faire un bot
Salut je cherche qql qui sais java script je le renumere c’est pour un projet me mp
Faut viser moins haut quand on fait ses débuts en js
Tu peux en parler ici : https://g-ca.fr/offres
Je pourrais commencer par quoi
ça dépend, t'en es à ou dans ton apprentissage la ?
bah j'ai commencé ce matin 😦
Ton bot tu l'as fait sur quelle version de discord js ?
Enfin peu importe, pour te dire, moi j'ai commencé par faire une commande toute basique pour commencer, puis avec la documentation discord js sous les yeux c'est plus simple
bonsoir ^^ j'ai trouver un Handler très récemment update sur le GitHub, avec des slash command se que je ne sais pas faire dutout, ducoup je test tout le bot, ca marche nickel mais je ne sais pas pourquoi dans le Ready.JS il y'a la fonction pour lancé les command slash mais ne marche visiblement pas sachant que ca ne me print rien dans la console et que 0 commands slash marche ... voila le code du ready.js, merci d'avance pour les personnes qui pourront m'aider dans ma galère ^^
const Event = require('../Structures/Event');
const { token, presence_game } = require('../../config.json');
const { readdirSync } = require('fs');
const { REST } = require("@discordjs/rest");
const { Routes } = require('discord-api-types/v9');
module.exports = class extends Event {
constructor(...args) {
super(...args, {
once: true
});
}
async run() {
console.log([
`Logged in as ${this.client.user.tag}`,
`Loaded ${this.client.commands.size} commands!`,
`Loaded ${this.client.events.size} events!`
].join('\n'));
await this.client.user.setPresence({
status: 'idle',
activities: [
{
name: `${presence_game}`,
type: "PLAYING"
}
]
});
const refresh_slash_commands = async () => {
try {
console.log('Started refreshing application (/) commands.');
const rest = new REST({ version: '9' }).setToken(token);
await rest.put(
Routes.applicationCommands(this.client.user.id),
{ body: this.client.slashcommands.map(r => r.slashcommand_builder) },
);
console.log('Successfully reloaded application (/) commands.');
} catch (error) {
console.error(error);
}
}
}
};
Tu as pas appelé la fonction refresh_slash_commands
bah elle est dans les parenthese du async run ?
Il est important que tu aies les bases du Javascript avant de commencer à développer, surtout que là t'utilises des trucs que tu comprends à moitié, donc c'est vraiment pas l'idéal
je ne cherche absolument pas a devenir un vrai dev JS, j'ai déjà quelque base, j'ai eu l'occasion de crée quelque bot, ca fait extrêmement longtemps que je n'ai pas taff sur du JS donc j'ai tout perdu, alors certes, actuellement je ne sais pas comment faire pour appeler ma fonction mais je me débrouillerai sans problème sur les embed etc... donc puis-je avoir une rapide explication de comment appeler ma fonction, merci d'avance ^^
si tu as perdu tes conaissances de js alors vas voir quelques vidéos/ un cour. Si tu as déja fais de la programmation comme tu le dis ca devrait vite te revenir
comme ca tu comprendras ce que tu fais
oe c'est bon j'ai brader un petit trucs qui marche donc oe comme tu dis, ca revient vite bref merci quand même ^^
c’est quand même la base de la base, si tu sais faire une fonction l’appeler c’est encore plus simple
@neat lintel Salut j'ai ce problème mais je ne sais pas pourquoi avant je ne l'avais pas et maintenant si
Explication : Le bot c'est un bot ticket et dès que j'appuie sur le bouton fermer le ticket le bot crash et met cette erreur
personne à su le régler peut-être que toi oui
l'utilisateur a peut etre fermé ses mp, n'a pas de serveur en commun avec le bot, ou il a bloqué le bot
et il y'a une commande pour regler sa ?
ha oui nan y'a pas moyen plutôt d'enlever la ligne de code
j'aime pas les catch mdr
soit tu envois pas de message soit tu utilises try...catch il y a pas de vraie autre facon
ne pas envoyer de message sa seras mieux
enlèves la ligne avec le send alors
message.author.send("tutu")
.catch((err) => {
console.log(`Erreur : ${err}`);
});
Aussi simple que ça
je vois pas pourquoi t'aimes pas les catch 
car je sais pas ou le placer ni rien sa me prend la tête
Il me semble pas que le .catch suffit pas ici ou je sais pas si ca a changé depuis la V13 j'avais pas retester
Je l'ai utilisé je crois bien et ça marche très bien
Ah ok tant mieux alors
réfléchis à son utilité et c'est tout simple
je vais re-tester attend tu me fous le doute
sa m'envoie sa maintenant C:\Users\Administrateur\Desktop\SLMD DEV TICKET\node_modules\discord.js\src\structures\PermissionOverwrites.js:184
if (!userOrRole) throw new TypeError('INVALID_TYPE', 'parameter', 'User nor a Role');
^
TypeError [INVALID_TYPE]: Supplied parameter is not a User nor a Role.
at Function.resolve (C:\Users\Administrateur\Desktop\SLMD DEV TICKET\node_modules\discord.js\src\structures\PermissionOverwrites.js:184:28)
at C:\Users\Administrateur\Desktop\SLMD DEV TICKET\node_modules\discord.js\src\structures\GuildChannel.js:318:87
at Array.map (<anonymous>)
at TextChannel.edit (C:\Users\Administrateur\Desktop\SLMD DEV TICKET\node_modules\discord.js\src\structures\GuildChannel.js:318:57)
at InteractionCollector.<anonymous> (C:\Users\Administrateur\Desktop\SLMD DEV TICKET\events\interactionCreate.js:196:16)
at InteractionCollector.emit (node:events:402:35)
at InteractionCollector.handleCollect (C:\Users\Administrateur\Desktop\SLMD DEV TICKET\node_modules\discord.js\src\structures\interfaces\Collector.js:108:12)
at processTicksAndRejections (node:internal/process/task_queues:96:5) {
[Symbol(code)]: 'INVALID_TYPE'
}
la ligne concernée du coup
j'ai fait CTRL + F j'ai recherchais if (!userOrRole) throw new TypeError('INVALID_TYPE', 'parameter', 'User nor a Role');
mais il ne trouve rien
normale c'est dans la lib de djs cette ligne
ha oui
Tu as fournis un paramètre qui est ni un role ni un User
je peux le changer sa ?
rien de louche dans le code
le voici
mets des console.log pour savoir d'ou ca vient
je le met a un endroit précis ?
car la j'en n'ai mis partout met sa met la même erreur
le but d'un console.log n'est pas de corriger l'erreur
sa donne toujours sa :
if (!userOrRole) throw new TypeError('INVALID_TYPE', 'parameter', 'User nor a Role');
^
TypeError [INVALID_TYPE]: Supplied parameter is not a User nor a Role.
at Function.resolve (C:\Users\Administrateur\Desktop\SLMD DEV TICKET\node_modules\discord.js\src\structures\PermissionOverwrites.js:184:28)
at C:\Users\Administrateur\Desktop\SLMD DEV TICKET\node_modules\discord.js\src\structures\GuildChannel.js:318:87
at Array.map (<anonymous>)
at TextChannel.edit (C:\Users\Administrateur\Desktop\SLMD DEV TICKET\node_modules\discord.js\src\structures\GuildChannel.js:318:57)
at InteractionCollector.<anonymous> (C:\Users\Administrateur\Desktop\SLMD DEV TICKET\events\interactionCreate.js:196:16)
at InteractionCollector.emit (node:events:402:35)
at InteractionCollector.handleCollect (C:\Users\Administrateur\Desktop\SLMD DEV TICKET\node_modules\discord.js\src\structures\interfaces\Collector.js:108:12)
at processTicksAndRejections (node:internal/process/task_queues:96:5) {
[Symbol(code)]: 'INVALID_TYPE'
}
aucune différence
if () {}
else if () {}
else {}
ok
client.config = ?
mais la par contre quand je fais node . dans mon terminal sa me met çca
@oak turret
1 - pas besoin de ping
2 - montre toute l'erreur
guild.roles.everyone renvoie le role et pas juste l'id
ptite question possible de faire des buttons avec des versions qui sont ancienne ?
Bot is online!
C:\Users\sekle\Desktop\CULTURE v13\index.js:17
if (guild) {
^
ReferenceError: guild is not defined
at Client.<anonymous> (C:\Users\sekle\Desktop\CULTURE v13\index.js:17:5)
at Object.onceWrapper (node:events:510:26)
at Client.emit (node:events:390:28)
at WebSocketManager.triggerClientReady (C:\Users\sekle\Desktop\CULTURE v13\node_modules\discord.js\src\client\websocket\WebSocketManager.js:383:17)
at WebSocketManager.checkShardsReady (C:\Users\sekle\Desktop\CULTURE v13\node_modules\discord.js\src\client\websocket\WebSocketManager.js:366:10)
at WebSocketShard.<anonymous> (C:\Users\sekle\Desktop\CULTURE v13\node_modules\discord.js\src\client\websocket\WebSocketManager.js:188:14)
at WebSocketShard.emit (node:events:390:28)
at WebSocketShard.checkReady (C:\Users\sekle\Desktop\CULTURE v13\node_modules\discord.js\src\client\websocket\WebSocketShard.js:474:12)
at WebSocketShard.onPacket (C:\Users\sekle\Desktop\CULTURE v13\node_modules\discord.js\src\client\websocket\WebSocketShard.js:446:16)
at WebSocketShard.onMessage (C:\Users\sekle\Desktop\CULTURE v13\node_modules\discord.js\src\client\websocket\WebSocketShard.js:300:10)
v12 oui je le faisais
avec une lib oui ou les requetes a la main
et client.users.cache.get(chan.topic) renvoie un user et toujours pas une id 🤔
bah t'as l'erreur
t'as discordjs-buttons comme lib
je vais voir Merci a vous @neat lintel@oak turret ❤️
guild is not defined
oh
Lartaxx j'aimerais savoir ou je dois définir mes guilds ?
possible aussi je crois, mais je te garantie pas le résultat
je suis pas devin, je sais pas ce que tu entends par "guild"
guild is not defined
je te conseille de passer en v13 ça sera mieux que d'add des lib 🤔
oui d'accord, m'enfin je comprends pas pourquoi tu check si y a une guild, le bot marche pas sans intéraction dans un channel donc dans une guild
je ne pa
oe mais faut que jmodif mon code 😭
trop relou
trop relou
et j'ai mes habitudes avec la la versions actuelle
@oak turret et comment ajoutons nous une interaction
oui mais plus tu attendras plus la version sera ancienne donc plus tu devrais avoir des nouvelles libs pour supporter les nouvelles fonctionnalités et tu peux avoir des problèmes de compatibilité entre des lib 🤔
après ça se comprend, juste que c'est pas une position durable
Oe moi changer pour une autres versions tout raprendre Rlou a mort
look ce qu'on t'a dis
client.config = ? je te pose une question
j'ai trouver sa guild.roles.everyone.id sans le .id a la fin je le rajoute donc ?
oui
Sa marche donc j'ai changer ils ont tous .id à la fin et tout marche sauf que quand je ferme le ticket il crash avec cette erreur
C:\Users\Administrateur\Desktop\SLMD DEV TICKET\node_modules\discord.js\src\structures\PermissionOverwrites.js:184
if (!userOrRole) throw new TypeError('INVALID_TYPE', 'parameter', 'User nor a Role');
^
TypeError [INVALID_TYPE]: Supplied parameter is not a User nor a Role.
at Function.resolve (C:\Users\Administrateur\Desktop\SLMD DEV TICKET\node_modules\discord.js\src\structures\PermissionOverwrites.js:184:28)
at C:\Users\Administrateur\Desktop\SLMD DEV TICKET\node_modules\discord.js\src\structures\GuildChannel.js:318:87
at Array.map (<anonymous>)
at TextChannel.edit (C:\Users\Administrateur\Desktop\SLMD DEV TICKET\node_modules\discord.js\src\structures\GuildChannel.js:318:57)
at InteractionCollector.<anonymous> (C:\Users\Administrateur\Desktop\SLMD DEV TICKET\events\interactionCreate.js:196:16)
at InteractionCollector.emit (node:events:402:35)
at InteractionCollector.handleCollect (C:\Users\Administrateur\Desktop\SLMD DEV TICKET\node_modules\discord.js\src\structures\interfaces\Collector.js:108:12)
at processTicksAndRejections (node:internal/process/task_queues:96:5) {
[Symbol(code)]: 'INVALID_TYPE'
}
Vous avez dit de changer sa guild.roles.everyone en sa guild.roles.everyone.id non ?
oui celui-là
vu qui y'en n'avait 2 j'ai changer les 2
il y'en n'a plusieurs et il y'a celui la par exemple client.config.roleSupport,
log ton client.config
lequel car il y'an n'a plusieurs ?
comme sa ?
if (i.values[0] == 'candidature') {
console.log
c.edit({
parent: client.config.parentCandidature
});
^
donc rajoute .id
C:\Users\louis\Desktop\Discord\Développement>node index.js
C:\Users\louis\Desktop\Discord\Développement\node_modules\discord.js\src\client\Client.js:544
throw new TypeError('CLIENT_MISSING_INTENTS');
^
TypeError [CLIENT_MISSING_INTENTS]: Valid intents must be provided for the Client.
at Client._validateOptions (C:\Users\louis\Desktop\Discord\Développement\node_modules\discord.js\src\client\Client.js:544:13)
at new Client (C:\Users\louis\Desktop\Discord\Développement\node_modules\discord.js\src\client\Client.js:73:10)
at Object.<anonymous> (C:\Users\louis\Desktop\Discord\Développement\index.js:4:16)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153: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:81:12)
at node:internal/main/run_main_module:17:47 {
[Symbol(code)]: 'CLIENT_MISSING_INTENTS'
}
quand je lance mon bot y'a ça en erreur
faut des intents en V13. Si tu sais pas ce que c'est vas voir le guide de discord.js
smaugy
La le code est a revoir il manque })})} et ensuite tu imbrique tes évents les uns dans les autres ca va pas ca
Non faut que tu y arrives seul
okay
Hey j'ai regarder les lib etc.. et pour apprendre je voulais regarder un tuto j'ai exactement tout refait mais Aucune erreur But
j'ai pas le button en dessous
Reprends le code et mets tous en commentaire. Puis tu remets event par event
J'ai jamais le button
Toujours le msg mais pas de button en dessous a cause de quoi ?
hein quoi ?
je ne trouve pas l'erreur
moi je tente de trouver la mienne 😂
Salut , je cherche un systeme discord.js qui envoi un message dans un channel tout les X temps
Merci d'avance
faut faire
client.on("message", message => {
if (message.author.bot) return false;
if (!message.guild) return false;
if (message.content.indexOf(Prefix) !== 0) return false;
const arguments = message.content.slice(Prefix.length).split(/ +/g); // Splitting the message.content into an Array with the arguments.
// Input --> !test hello
// Output --> ["test", "hello"]
const command = arguments.shift().toLowerCase();
// Removing the first element from arguments since it's the command, and storing it in a variable.
if (command == "random") {
const Response = Math.floor(Math.random() * Responses.length);
message.channel.send(`Here is your random response: ${Responses[Response]}`);
};
});
@sudden cipher
utilises setInterval
oui mais je voudrais que ça le fasse en boucle ça marchera ?
att
oui. Ca le fera tous les x ms
smog je ne trouve pas
@peak cedar Tu n'as pas besoin du module discord-buttons, la v13 de discord.js le fait par défaut
Et si tu es en v12 passes en v13, la v12 est obsolète
Wailrone je ne trouve pas l'erreur syntaxique je ne suis pas bon en dev sa fait 2j que je dev
c'est quoi ton problème ?
ok tu aurait un exemple svp ?
mon problème est '}' attendu
oe mais faut refaire tout le code et j'ai pas envie de devoir tout rapprendre surtout que j'ai mes habitudes avec cette version 😭
dans l'extrait de code posté il y a pas d'erreur de syntaxe
Vas voir sur mdn et sinon c'est comme setTimeout https://developer.mozilla.org/en-US/docs/Web/API/setInterval
C'est la même chose globalement
3000 = 30 sec c'est ça ? ( je sais jamais )
comment j'augmente a la version V13 et pas au dessus ?
ok merci
Il n'y a pas au dessus
npm i discord.js
wailrone look at
et moi copier et remettre tt ?
On va t'aider, start ton bot et tu vas voir t'auras des erreurs tu vas réussir t'en fait pas
oklm vsy jte fait confiance bg
Ton if n'est pas fermé tout simplement 🙂
Fait node -v
Chelou
Je revien pour envoyer un msg dans un salon choisi ( message.guild.channels.cache.get ...)
T'as bien fait npm i discord.js ?
ou
Le bot de mort
Fait un effort quand même
Je sais att
si je fais mais je dev depuis 2j
Dans ton code il manque plusieurs accolades et parenthèses fermantes. Tu devrais utiliser une extension pour les fermer et la reprend chaque bloque un par un
ok
N'abandonne pas si facilement !
c'est quoi le nom de l'extension ?
Start ton bot et bonne chance soldat 
aucune idée, mais en général toutes les extensions js font ca
soldat Corse qui se bat contre la doc v13
tu devais utiliser le guide pour le mettre a jour. A chaque fois que tu as une erreur tu fais un ctrl+f sur la page et tu as dirrect la solution. Comme ca la mise a jour sera rapide et facile
smaugito
Oh ils l'ont sorti
Merci ❤️

Oui 😭
Je ne savais pas
Ca fait un moment maintenant. 6mois avant la sortie de la V13 il était déja écrit
mdr
ma tete chauffe pour une accolade donc
hein
T'as réussi @keen narwhal ?
nn
je vais crash ma carte graphique cerveau est en surchauffe
tu peux envoyer l'erreur ? et le code
comme on dit dans le jargon, tu n'est pas à la page
tu as importé Discord par {Client} donc ce sera Discord.Client
Tu peux aussi utiliser la déstructuration dans l'importation pour ne pas importer toute la lib quand tu as juste besoins de quelques classes et comme ca tu gagnera de la mémoire sur ton app
Tu as un autre problème ?
Tu devrais tous enlever du ficher et recommencer sur un autre fichier pour comprendre
et tu remets les trucs 1 par 1
ok
tien ça peux ptetre t'aider regarde la ou ça manque de truc
Oula comment ça
Si tu fais
const {Client} = require('discord.js');
Alors tu peux utiliser
new Client();
Mais si tu importes toutes la lib
const Discord = require('discord.js');
Alors tu dois faire
new Discord.Client();
Je te recommandes d'utiliser déstructuration (const {Client} = require('discord.js');) c'est plus optimisé
?
client.once("ready", () => {
console.log("Bot is online!");
if (guild) {
commands = guild.commands
} else {
commands = client.application?.commands
}
commands?.create({
name: 'ping',
description: 'Replies with pong.',
})
client.on(interactionCreate, async (interaction) => {
if (!interaction.isCommand()) {
return
}
const { commandName, options } = interaction
if (commandName === ping)
interaction.reply({
content: pong,
ephemeral: true,
});
l'erreur est dedans
roh mais c casse couille 😭
c'est normal d'importer ce que on utilise
client.on(interactionCreate, async (interaction) => {
if (!interaction.isCommand()) {
return
}
l'erreur est deda,s
le premier paramètre d'une fonction on de EventEmitter doit etre une chaine de caractères
ensuite il manque la fermeture d'une parenthèse et d'une accolade
tu peux corriger pr que je puisse comprendre ??
mets des console.log
Quand tu ouvres une parenthèse tu la ferme. Si tu as un doute sur la syntaxe des fonctions vas voir la doc et apprendre le javascript
:/
y'en a aucun qui marche 😂
Tu as surement oublié une intent. Il te faut GUILD_MESSAGES pour que ton bot recoive les évents correspondants
et en dm il te faut aussi une intent avec en plus la partial CHANNEL
bon
mais jcomprend plus rien la 😦
N'abandonnez pas
ce fut un bon moment

jcomprend plus rien du tt 😂
Tu as lus la page du guide sur les intents ? car si tu l'as pas fais effectivement c'est pas facile a comprendre https://discordjs.guide/popular-topics/intents.html#gateway-intents
Mais vrm ça exciste pas un truc plus clair parce que j'ai l'air con la
j'ai niquez mon bot en 5commands pour le mettre a jour 😂
en V13 les intents sont obligatoires. Depuis l'api V8
mais ca existait déja avec l'API V6 sans etre obligatoire
règle juste les erreurs une par une
voila donc jfaisait pas gt bien tout marcher moi j'utiliser la lib des buttons ça marcher pas j'ai mit a jour mtn c pas les buttons qui marche pas mais mon bot en + jcomprend plus rien entre les intents les truc de la doc ou je lit j'ai l'impression que jvais faire un attentat wtffff
c une prepa chimique pour une bombe
c'est normal d'avoir plein de trucs qui marchent plus entre 2 versions. C'est pas si compliqué mais par contre faut vraiment prendre le temps de lire le guide, la doc etc et ca ira
oe mais le prob c'est que je fait l'action de lire mais mon cerveau ne veux pas suivre
je ne comprend plus du tout
faire une pause est judicieux
mon bot ce start mais mtn aucune cmd marche 😭
si tu veux il y a une vidéo qui explique bien les intents https://www.youtube.com/watch?v=Eo-D67hJDmw&list=PLuWyq_EO5_AKZsnZTIilqF1i2RxRYzxzV&index=18
Vous désirez apprendre à coder un bot Discord sans aucune connaissance ? Dans cette vidéo, nous allons simplement voir comment appliquer les intents sur notre bot pour la mise à jour d'Octobre! Visionnez notre vidéo pour en savoir plus!
Intents: https://discordjs.guide/popular-topics/intents.html#gateway-intents
API Discord: https://discord.com...
c'est de la V12 mais tu as que 2 caractères a enlever pour la V13 donc ca devrait aller
2 caractere a enlever ?
Oui mais la de toute facon ce qui est important dans la vidéo c'est pas le code mais c'est comprendre ce que c'est que les intents
2 soldats a terre
oui marre c trop casse couillle
Pourquoi ?
salut j'ai besoin d'aide, j'ai fais un bot discord et j'ai installer node modules et apparemment il y à une erreur dedans
Ce serait à la ligne 249
vas sur https://discord.dev activer les intents
Integrate your service with Discord — whether it's a bot or a game or whatever your wildest imagination can come up with.
Et ensuite
ok merci
Ah mais c mongo ça
J'comprends pas trop le message d'erreur, je viens de débuter l'utilisation de mongo
Le mot de passe doit pas etre bon
faut enlever les chevrons (<>) et escape les caractères spéciaux
dans ma variable dans .env ?
je sais pas, la ou tu l'as mis
y'a <password>
voila, la tu mets le mot de passe de ton user sur le cluster
le cluster
tu utilises une db en ligne sur le site de mongodb ou tu as installé un serveur local ?
Du coup tu utilises un cluster en ligne
c'est pratique mais limité a 500MO gratuiement
et le serveur local c combien ?
gratuit et illimité (enfin les limites de ton pc/vps/serveur)
eenh
et il y a pas de problèmes de connexion etc c'est pour ca que c'est pratique
sa sert a quoi de faire en ligne alors
Si tu as pas de quoi run ta db en local, pour certaines apps qui ont pas forcément besoins d'une api en backend par exemple etc
de rien


