#javascript-typescript
1 messages · Page 13 of 1
Discord renvoie le code à mon API qui get les infos à discord pour ensuite les stocker dans un jwt
et jusqu'à présent, le JWT était dans un cookie que je récupérer dans le front
Ouais mais, tu localStorage = api Front
Suffit de faire une mini API
t'utilise nextjs, donc tu peux
vers la quelle tu envoie le JWT pour le déchiffrer
d'ailleurs question con, mais pourquoi foutre ces donnée dans un JWT ?
c'est des info relative à l'utilisateur connecté, et rien de très exploitable pour un attaquant quelconque
Je comprends pas comment tu veux que je les stockes 🤔
Je les récupère dans /api/login et j'en ai besoin dans /dash/servers/
je peux voir ce que retourne /api/login ?
fin le code api/login au niveau du return
Oui garder a raison c'est mieux de faire comme ça
du coup save pas côté back, mais renvoie les données brut dans le body de api/login
Conceptuellement la liste des serveurs n'a rien à faire dans le jwt je pense
Si je veux les récupérer ailleurs ?
Bah quand tu les as en front tu les as partout
Ah je viens de capter je crois
Je les renvoie vers le front, où je sauvegarde les données dans le localStorage 👀
Comment je peux avoir les données sur toutes les pages si je les sauvegardes pas ?
LocalStorage -> data que tu veux garder entre plusieurs sessions (Authentification, settings etc...)
Tu fais du SPA
Non ?
nextjs, donc je dirais oui
Je pense que tu devrais commencer par React pour bien comprendre le fonctionnement
Entre chaque page, sur une SPA, tu n'as aucun rechargement, donc ce qui est en ram reste
Tu boss en SSR ou en CSR avec ton Next ?
c à dire ?
ah ok
je viens de look sur google
La manière de stocker de la data sur Next va dépendre de comment tu fonctionnes
Le plus simple et la meilleure des solutions dans la majorité des cas c'est du CSR
Donc avec une API
NextJS a un système d'API intégré
Oui
oui x)
Mais bon vu que tu es sur Next, on va pas te faire changer sur React+API
Donc je te conseille de faire une partie en SSR pour éviter de créer des endpoints inutiles
Typiquement, l'affichage de la liste des serveurs, tu pourrais le faire en SSR
okay
- Pour éviter de créer un endpoint en plus
- Pour éviter d'ajouter la logique pour mapper les serveurs Discord
- Se sera plus rapide à mettre en place et ça changera rien au fonctionnement
ok
Donc si je suis ta logique, j'ai deux endpoints :
/api/login là où discord redirige l'user
/api/servers là où mon site peut get les serveurs de l'utilisateur
Je fais pas de Next donc je saurais pas te dire comment organiser ça au niveau de Next, mais tu dois trouver 1 millions de doc doessus
Non, techniquement t'as pas besoin d'endpoint en SSR
Discord redirect sur https://domain.fr/auth/discord (par exemple) qui est directement une page de ton site (en SSR), donc le serveur pourra faire la logique côté serveur sans un call API en plus
Ensuite tu gardes l'access token de Discord côté serveur que tu pourras utiliser quand l'utilisateur accèdera à https://domain.fr/dashboard/servers (toujours en SSR)
Donc aucun call API
Dev en SSR avec Next c'est comme dev en PHP, c'est exactement la même logique mais avec un meilleur langage :3
Si tu fais un endpoint à chaque action, autant directement faire du CSR avec React+API, tu gagneras du temps et tu économiseras en complexité
ok
Mais il y aura surement un mec plus exp que moi sur Next pour te répondre
SPA pas très compatible avec Nextjs
SPA c'est surtout du SSR/SSG
c'est plus lent avec Next 😭
Donc "mieux"
J'en ai fait les frais 
avec 2/3 requêtes
C’est quoi c’est le souci avec next ?
salut, je suis entrain dev en local avec djs etc... ma db c'est sql, pour ça j'utilise xampp. mais si j'allume pas xamp le bot crash (logik) mais là j'aimerais l'heberger, comment je fais ? en sachant que sur ma db j'ai un truc database mais je sais pas comment l'utiliser 😅 ah oui je suppose que ds mon code bah faut que je change les codes d'accès nan ?
Ba faut que ton hébergeur te donne accès à une base de données
Salut je suis entrain de faire un bot et j'aimerai bien faire en sorte que les joueurs qui arrivent sur le discord aient un message pour dire bienvenue et qui a invité le membre, j'ai suivi un tuto github mais ne fonctionne pas si quelqu'un serait m'aider
:event: (event) Client#guildMemberAdd
Emitted whenever a user joins a guild.
@acoustic smelt
Amis développeurs, bonjour !
Aujourd’hui je vous présente un nouveau défi. ^^" Cette commande à pour objectif de définir un grade dans la base de donnée sur un joueur. La commande s'execute sans soucis jusqu’au au moment où ça l'essaie de le mettre à jour avec la fonction .update Je reçois ça comme erreur dans la base de données mais le soucis, c'est que normalement ça marche chez les autres. (J'utilise Sequelize) Voici l'erreur: Support for `{where: 'raw query'}` has been removed.
const { SlashCommandBuilder, EmbedBuilder } = require('discord.js');
const config = require('../config.json')
const bdd = require('../models/models.js')
module.exports = {
data: new SlashCommandBuilder()
.setName('gn-definir')
.setDescription(`Définit le grade d'un gendarme`)
.addUserOption(option =>
option.setName('joueur')
.setDescription('Le joueur a grader')
.setRequired(true))
.addStringOption(option =>
option.setName('grade')
.setDescription('Le grade à donner')
.setRequired(true)
.addChoices(
{ name: 'Civil', value: '0' },
{ name: 'Gendarme Élève', value: '1' },
{ name: 'Brigadier', value: '2' },
{ name: 'Brigadier-Chef', value: '3' },
{ name: 'Maréchal des logis', value: '4' },
{ name: 'Gendarme', value: '5' },
{ name: 'Maréchal des logis Chef', value: '6' },
{ name: 'Adjudant', value: '7' },
{ name: 'Adjudant-Chef', value: '8' },
{ name: 'Major', value: '9' },
{ name: 'Sous-Lieutenant', value: '10' },
{ name: 'Lieutenant', value: '11' },
{ name: 'Capitaine', value: '12' },
{ name: 'Commandant', value: '13' },
{ name: 'Lieutenant Colonel', value: '14' },
{ name: 'Colonel', value: '15' },
)),
async execute(interaction) {
const player = await interaction.options.getMember('joueur');
const grade = await interaction.options.getString('grade');
// Si l'utilisateur est un bot.
if (player.bot) {
const embed = new EmbedBuilder()
.setTitle(`Erreur: Il n'est pas possible de grader un bot !`)
.setColor('DarkRed');
return interaction.reply({embeds: [embed], ephemeral: true})}
// Si il possède le rôle relié sur le serveur discord
if (!player.roles.cache.some(role => role.id === config.roles.linked)) {
const embed = new EmbedBuilder()
.setTitle(`Erreur: Le joueur n'est pas relié !`)
.setColor('DarkRed')
return interaction.reply({embeds: [embed], ephemeral: true})}
// Récupère le joueur et modifie le grade
const user = await bdd.discordlinks.findOne({where: player.id})
const playerIG = await bdd.phxclients.findOne({where: user.playerId})
const OldGrade = playerIG.coplevel
await bdd.phxclients.update({coplevel: grade}, {where: {playerId: playerIG.playerId}})
},
};```
Je vous remercie par avance de vos inspirations, vos idées ou autre ^^
les joix de MongoDB
Hey peut être que vous aurez une solu :
setInterval(() => {
const Gamedig = require('gamedig');
Gamedig.query({
type: 'garrysmod',
host: 'play.azuria-studio.fr',
port: '27016'
}).then((state) => {
console.log(state)
client.user.setPresence({
activities: [{ name: `${state.players.length}/${state.maxplayers}`, type: ActivityType.Playing }],
status: 'online',
}).catch((error) => {
client.user.setPresence({
activities: [{ name: `Server Offline`, type: ActivityType.Playing }],
status: 'dnd',
});
}, 120000); //86400000 ->24h
})})}}
Il me spam sans attendre 2 min
Les joies d'une drôles de manière d'utiliser MongoDB 🤔
tu veux faire quoi avec la ligne qui bug @olive lake ?
Je veux modifier une valeur dans une ligne
(Et c’est du sequelize)
Et pour info je n'y peut rien, pour la base de données qui à un fonctionnement étrange ce n'est pas la mienne. C'est censé être un système qui donne un rôle de gendarmerie sur un serveur via discord car le joueur en question est relié
Ah x)
where: user.playerId -> where: {id: user.playerId}
Par exemple
C’est ça qui le vexe ?
Mais en quoi ça change la compréhension 🤔
Merci de l’info en tout cas mais je serais curieux de savoir ^^
Bah il te le dit dans l'erreur, ici si tu passes directement un string il considère que c'est une raw query (chose que sequelize à remove)
Et dans l'autre cas, il ne peut pas deviner de quel champ tu parles
Bonjour, qu’est-ce que cette erreur?
Tu n'as pas activé les intents ou bien la demande d'intents est entrain d'être étudié par Discord je crois que c'est ça
Ça ne fonctionne pas à moins que je n'ai pas compris mais je pense l'avoir déjà fait dans mon code.
Montre
J’ai la même erreur et j’ai écrit await bdd.phxclients.update({coplevel: grade}, {where: {playerId: {id: playerIG.playerId}})
T'as modifié les deux lignes ?
Les deux lignes ?
Tu le fais deux fois le where: string
C’est sur l’update que ça bug seulement car avant ça marchait
J’essaierai cette aprem mais je ne suis pas sûr que c’est ça
Montre l'erreur et la stack
heyyy, j'aimerais savoir un truc avec discord.js
L'event MessageCreate y a besoin de l'intent message pour le recevoir ?
car j'ai pas besoin du contenu
Nop
Sauf si djs a fait de la merde, non
Bah ça à aucun sens ?
Si tu veux faire un bot de stats
t'as pas besoin du contenu
ahh purée
je viens de me relire
et comprendre ta réponse
my bad 😭
x)
J’utilise ce template https://github.com/Emerald-Services/SupportBot et il à toujours bien marcher sauf maintenant, donc je crois que c’est la dernière option
Aucun rapport
il a juste pas activé l'intent sur le portail développeur
Bonjour à tous j'ai un petit problème et je n'arrive pas la résoudre, j'éxplique le contexte :
J'ai crée une lightbox avec bouton fermer, suivant, precedent. Sauf que dans les medias j'ai des images et videos, lorsque je navigue entre chaque image tout fonctionne jusqu'a arriver sur une video et la il me déclare undefined, pouvez vous m'aidez s'il vous plait, merci d'avance.
Voici le code :
https://pastecode.io/s/u97z1isb
Après avoir essayé plusieurs fois, j'ai pu trouver la solution @past nimbus . Merci de ton aide (et à toi aussi @glass cargo ) Voici le code pour ceux que ça intéresse: ```js
const { SlashCommandBuilder, EmbedBuilder } = require('discord.js');
const config = require('../config.json')
const bdd = require('../models/models.js')
module.exports = {
data: new SlashCommandBuilder()
.setName('gn-definir')
.setDescription(Définit le grade d'un gendarme)
.addUserOption(option =>
option.setName('joueur')
.setDescription('Le joueur a grader')
.setRequired(true))
.addStringOption(option =>
option.setName('grade')
.setDescription('Le grade à donner')
.setRequired(true)
.addChoices(
{ name: 'Civil', value: '0' },
{ name: 'Gendarme Élève', value: '1' },
{ name: 'Brigadier', value: '2' },
{ name: 'Brigadier-Chef', value: '3' },
{ name: 'Maréchal des logis', value: '4' },
{ name: 'Gendarme', value: '5' },
{ name: 'Maréchal des logis Chef', value: '6' },
{ name: 'Adjudant', value: '7' },
{ name: 'Adjudant-Chef', value: '8' },
{ name: 'Major', value: '9' },
{ name: 'Sous-Lieutenant', value: '10' },
{ name: 'Lieutenant', value: '11' },
{ name: 'Capitaine', value: '12' },
{ name: 'Commandant', value: '13' },
{ name: 'Lieutenant Colonel', value: '14' },
{ name: 'Colonel', value: '15' },
)),
async execute(interaction) {
const player = await interaction.options.getMember('joueur');
const grade = await interaction.options.getString('grade');
if (player.bot) {
const embed = new EmbedBuilder()
.setTitle(`Erreur: Il n'est pas possible de grader un bot !`)
.setColor('DarkRed');
return interaction.reply({embeds: [embed], ephemeral: true})}
if (!player.roles.cache.some(role => role.id === config.roles.linked)) {
const embed = new EmbedBuilder()
.setTitle(`Erreur: Le joueur n'est pas relié !`)
.setColor('DarkRed')
return interaction.reply({embeds: [embed], ephemeral: true})}
const user = await bdd.discordlinks.findOne({where: {discordid: player.id}})
console.log(user)
const playerIG = await bdd.phxclients.findOne({where: {playerid: user.playerid}})
const OldGrade = playerIG.coplevel
await bdd.phxclients.update({coplevel: grade}, {where: {playerId: user.playerid}})
},```
Bonjour, j'ai un problème de db.get qui pourrait m'aider s'il vous plaît ?
Bonjour, peut être que poster ton code pourrait aider les développeurs à trouver une solution plus rapidement 😉
J’ai rien fait, mais de rien 
Salut, j'aimerais de l'aide pour utilisez le RPC discord sur un navigateur web 😦
C'est une private beta 👀
🤔
j'ai voulu utilisé le module "discord-rpc"
Mais le petit problème est là :
il fonctionne avec electron
Mais sinon il différe pas du tout d'un module sans electron 😭
Ah si il utile le module "event"
Mais encore même ça c'est remplaçable
salut, j'ai cette table sql, je souhaiterias supprimer seulement la valeur false dans la colone rolesticket mais je ne sais pas comment faire xD 😂
via db.query hein pas depuis le panel
tu as un primary ?
Okay good
UPDATE nom_table SET rolestickets = REPLACE(rolestickets, 'false ', '') WHERE guild = 'votre_primary_key';
tiens voilà la requête
si ça marche pas voici une alternative :
UPDATE nom_table SET rolestickets = SUBSTRING(rolestickets, 1, INSTR(rolestickets, 'false ') - 1) WHERE guild = 'votre_primary_key';
@fleet scaffoldaucun des 2 marchent, a chaque fois ya encore le false
ah my bad pour le 2e j'avais oublié un '
Ah yes
et la premièer ?
Non plus
du coup ? @fleet scaffold
Je peux pas + t'aider
ah mince
est ce que la variable "imagepath" est que ici ??
Mhh
tu peux me montré tout le code concerné ?
Bonjour j'aimerais ajouter un role auto a un membre, je stocke l'id de celui en bd, le problème est que j'ai une erreur sur le user.roles.add, pourriez vous m'aider ?
bot.users.fetch(userId, false).then((user) => {
switch (interaction.values[0]) {
case "visayes":
user.roles.add("1055429711452459061");
user.roles.remove("1055429711452459060");
user.send({
embeds: [embedMP],
});
break;
(ma requete et mon users.fetch fonctionne, grâce a cela je suis capable de mp le membre ainsi que recupérer son nom, son tag, son avatar et autre, c'est juste pour lui ajouter et retirer un role que cela pose problème)
Je te laisse trouver ce qui ne va pas
J’ai déjà regardé là dessus, je sais utiliser member.roles.add et autre, mais là sa ne fonctionne pas. Sa vien du fait que c’est un membre fetch je pense
Tu peux send le message d'error ?
le voici
Bonjour
déjà oui x)
et puis la réponse est un peu dans l'erreur 😂
bah oui mais je sais pas quoid faire moi
je débute
interaction.client
interaction.client.ws.ping
ah
à la place de bot.ws.ping
ok
Depuis toutes les classes de DiscordJS, tu peux retrouver ton client, donc facile :)
c bon merci
discord.js ils c des malade
il mon mute 6h car jais envoyer une crotte au mec qui ma dit que ct devant ma geule ( merci google trad)
Je vois pas le rapport 
jais voulu test et bah sa marche pas
et quelqun peu me dire comment je fait pour dans le welcomeMessage je met un truc du genre serveur.name
svp
D'un manque de connaissance tu dois souffrir, grâce à de nouvelles connaissances tu pourra aboutir.
Tu fait des citations a la maitre Yoda maintenant ? xD
Comme avant, le message parle de lui-même :)
:interface: MessageOptions
Options provided when sending or editing a message.
D'une sage personne j'ai décidé de devenir.
Bonjour j'ai un bot en js au tout les prefix marche pour les commands je voudrais savoir comment régler le problème et que 1 prefix puisse marcher. merci de m'aider

voila
Integrate your service with Discord — whether it's a bot or a game or whatever your wildest imagination can come up with.
@queen ocean tu peux delete son code quand tu reco stp ?
olalalal
Une réclamation ? https://support.discord.com :)
C'est pas moi qui fais les règles ^^
ta juste a me dire le problème sayer
Toi par contre, tu es censé les respecter :)
Générateur de compte
Et je ne suis pas au dessus ^^
sa peux être un gen de truc légal
les générateur de compte c'est jamais légal
mais tkt
🙂
c pas forcément un gen de compte fro
réfléchis ?
je pense que c'est assez bien résumé :p
Après, tu peux toujours tenter de faire ton bot, mais personne ici ne t'aidera 😉
générateur quoi alors ?
Parce que c'était ce que ton programme faisait 
jsp
toujour vous abusez ici sa a pas changer depuis 2020
mdrr
des pseudo
⤴️
Quand t'envoie ton programme, c'est un peu dûr de mentir après
Okay, un déni à un niveau abusé "quel type de compte" c'était écrit
Je vois pas le rapport avec des pseudo
Tellement 😂
mais la j'allais changer
le pseudo du compte 
je voulez juste modifier le problème avant
regarde juste la fonction "startWith"
pour ton code pas besoin de + pour check le prefix
mais lui donne pas la réponse toi xD
Je lui aurait pas donné si c'était vraiment un truc majeur
Mais là c'est une fonction plus que basique 😦
quand même x)
basque y a rien de ton truc la
ça sent le code pris sur github 
Tu montre juste les imports là mais t'inquiète pas
ou c alors le truc
toujour pas
Sur GitHub, tu as ce bouton tu sais quand tu as un problème avec le problème de la personne ? 
Rien compris
il date de 2020
Déja ton programme
je doute que le mec sois co
Aucun rapport
de quoi
ahh le code marchera plus
Yup
ptn il clc avec leur truc eu
Bah, c'est pour ça qu'il faut dev certaines choses soit même 🙂
oue mais bon c dure
Salut, quelqu'un pourrais m'aider a faire créé un thread lorsque je clique sur une réaction en djs v13 svp
J'ai déjà une base mais qui marche pas
Documentation suggestion for @stark forge:
:method: Message#startThread()
Create a new public thread from this message
Pour créer un thread
:property: Message#hasThread
Whether this message has a thread associated with it
Pour vérifier qu'l n'y en ai pas déjà un :)
const { Event } = require("sheweny");
module.exports = class interactionCreateEvent extends Event {
constructor(client) {
super(client, "interactionCreate", {
description: "new interaction",
});
}
async execute(interaction) {
const { guild } = interaction;
const { fetchGuild } = await this.client.FetchAndGetLang(guild);
if (!fetchGuild) {
await this.client.CreateGuild(guild);
return this.client.channels.cache.get(guild.systemChannelId).send({
content:
"`⚠️` Database has been reset, all data of this server has been lost.\nSorry for the inconvenience.\n\n`Server initialized ✅`",
components: [
this.client.ButtonRow([
{
customId: "setup-menu",
label: "Setup",
style: "SECONDARY",
emoji: "🔧",
},
]),
],
});
}
}
};```
qlq peut m'aider svp ?
j'ai cette erreur quand je fais une commande avc mon bot
Ton salon n'est pas trouvé
Merci mais mon problème est que je n'arrive pas a associer la réaction 🟡 avec le startThread 🟢
ah ok
Je peux avoir le code ?
oui
à quoi correspond emojiName notamment
module.exports = {
name: 'messageReactionAdd',
once: false,
async execute(client, kris, user) {
const message = kris.message;
const emojiName = kris.emoji.name;
const member = message.guild.members.cache.get(user.id);
if (member.user.bot) return;
if (kris.partial) {
try {
await kris.fetch();
} catch (error) {
console.log('Impossible de récupérer les msg!');
return;
}
}
if (emojiName === '❌') message.delete();
if (emojiName === '✅') message.channel.send('Je suis le carré vert!');
if (emojiName === ':thread_1:') startThread()
},
};
module.exports = {
name: 'messageReactionAdd',
once: false,
async execute(client, kris, user) {
const message = kris.message;
const emojiName = kris.emoji.name;
const member = message.guild.members.cache.get(user.id);
if (member.user.bot) return;
if (kris.partial) {
try {
await kris.fetch();
} catch (error) {
console.log('Impossible de récupérer les msg!');
return;
}
}
if (emojiName === '❌') message.delete();
if (emojiName === '✅') message.channel.send('Je suis le carré vert!');
if (emojiName === 'thread_1') {
message.startThread()
}
},
};
ça c'est correct mais pas optimisé, parce que il suffit que quelqu'un crée un emoji sur son serveur qui porte le même nom, qu'il réagisse au message avec et que ça déclanche le thread. Après, si tu mets pas le code public, la personne est pas censé le savoir, et donc ce n'est pas gênant
il n'est pas public
donc no problem ^^
mais pour l'instant le thread ne se déclanche pas
je vais essayé
Bonjour,
je galère un peu jais pas compris le problème
nop mais j'ais que sa et ma commande ping fonctionne
ligne 13 :
.setColor(0x0059ff)
ça ne fonctionne pas et j'ai aucune erreur dans le terminal 😦
module.exports = {
name: 'messageReactionAdd',
once: false,
async execute(client, kris, user) {
console.log(1)
const message = kris.message;
const emojiName = kris.emoji.name;
const member = message.guild.members.cache.get(user.id);
if (member.user.bot) return;
console.log(2)
if (kris.partial) {
try {
await kris.fetch();
} catch (error) {
console.log('Impossible de récupérer les msg!');
return;
}
}
console.log(3)
if (emojiName === '❌') message.delete();
if (emojiName === '✅') message.channel.send('Je suis le carré vert!');
if (emojiName === 'thread_1') {
console.log(4)
message.startThread()
}
},
};
Le debug avec les console.log() est toujours très utile ^^
je vais essayé
welcomeChannel.send({ embeds:[embed]});
Ligne 17 :
welcomeChannel.send({ embeds: [welcomeEmbed] })
ah shit
pas assez rapide x)
c'est les échecs ça m'as rendu fast mdrr
mdr
c'est bon j'ai trouvé le problème était qu'il fallait mettre le paramètre name dans le message.startThread car il est obligatoire d'après la doc, merci bcp pour ton aide 😁
De rien 
pour revenir a ce que tu disait ici, il y a pas un autre moyen pour définir l'emoji si je décide de le mettre en public ?
ouiiiiii merci
appelé ça debug
Avec son identifiant
Ben c'est chercher l'origine d'un bug pour le résoudre nan 
@glass cargo c quoid le truc pour metre serveur.name dans mon welcome message stp
le débug normal t'as pas besoin de console.log
après le débug en Js...
ouais
member.guilds.name
pour le nom du serveur?
Yep
ok att
flemme de screen
C:\Users\Angelo\Desktop\Angelo bot\Events\Guild\guildMemberAdd.js:9
const welcomeMessage = `Bienvenue <@${user.id}> sur ${member.guilds.name} !`;
^
TypeError: Cannot read properties of undefined (reading 'name')
at Object.execute (C:\Users\Angelo\Desktop\Angelo bot\Events\Guild\guildMemberAdd.js:9:77)
at Client.<anonymous> (C:\Users\Angelo\Desktop\Angelo bot\Handlers\eventHandler.js:25:63)
at Client.emit (node:events:513:28)
at module.exports [as GUILD_MEMBER_ADD] (C:\Users\Angelo\Desktop\Angelo bot\node_modules\discord.js\src\client\websocket\handlers\GUILD_MEMBER_ADD.js:17:14)
at WebSocketManager.handlePacket (C:\Users\Angelo\Desktop\Angelo bot\node_modules\discord.js\src\client\websocket\WebSocketManager.js:352:31)
at WebSocketShard.onPacket (C:\Users\Angelo\Desktop\Angelo bot\node_modules\discord.js\src\client\websocket\WebSocketShard.js:489:22)
at WebSocketShard.onMessage (C:\Users\Angelo\Desktop\Angelo bot\node_modules\discord.js\src\client\websocket\WebSocketShard.js:328:10)
at callListener (C:\Users\Angelo\Desktop\Angelo bot\node_modules\ws\lib\event-target.js:290:14)
at WebSocket.onMessage (C:\Users\Angelo\Desktop\Angelo bot\node_modules\ws\lib\event-target.js:209:9)
at WebSocket.emit (node:events:513:28)
Node.js v18.14.1
[nodemon] app crashed - waiting for file changes before starting...
enlève l'affichage des membre du discord pourmieu voir
sans s à guild
ça marche pas malheureusement
ouf l'éreur ne vien pas de moi

merci c bon ça marche
j'ai un long truc dans mon terminal
GuildEmoji {
animated: false,
name: 'thread_1',
id: '1076861466503815268',
guild: <ref *1> Guild {
id: '1076262870234435635',
name: 'test bot',
icon: null,
features: [ 'APPLICATION_COMMAND_PERMISSIONS_V2' ],
commands: GuildApplicationCommandManager {
permissions: [ApplicationCommandPermissionsManager],
guild: [Circular *1]
},
members: GuildMemberManager { guild: [Circular *1] },
channels: GuildChannelManager { guild: [Circular *1] },
bans: GuildBanManager { guild: [Circular *1] },
roles: RoleManager { guild: [Circular *1] },
presences: PresenceManager {},
voiceStates: VoiceStateManager { guild: [Circular *1] },
stageInstances: StageInstanceManager { guild: [Circular *1] },
invites: GuildInviteManager { guild: [Circular *1] },
scheduledEvents: GuildScheduledEventManager { guild: [Circular *1] },
available: true,
shardId: 0,
splash: null,
banner: null,
description: null,
verificationLevel: 'NONE',
vanityURLCode: null,
nsfwLevel: 'DEFAULT',
premiumSubscriptionCount: 0,
discoverySplash: null,
memberCount: 3,
large: false,
premiumProgressBarEnabled: false,
applicationId: null,
afkTimeout: 300,
afkChannelId: null,
systemChannelId: '1076262870884548610',
premiumTier: 'NONE',
explicitContentFilter: 'DISABLED',
mfaLevel: 'NONE',
joinedTimestamp: 1676672082130,
defaultMessageNotifications: 'ALL_MESSAGES',
systemChannelFlags: SystemChannelFlags { bitfield: 0 },
maximumMembers: 500000,
maximumPresences: null,
approximateMemberCount: null,
approximatePresenceCount: null,
vanityURLUses: null,
rulesChannelId: null,
publicUpdatesChannelId: null,
preferredLocale: 'en-US',
ownerId: '598185525232533505',
emojis: GuildEmojiManager { guild: [Circular *1] },
stickers: GuildStickerManager { guild: [Circular *1] }
},
requiresColons: true,
managed: false,
available: true,
_roles: [],
author: null
}
oui c'est bizarre 🤔
si il compare emoji avec une donné de type texte, ça utilisera l'id direct
aussi
jpeu avoir le lien documentation de discord.js canvas svp
discord.js canvas ??
ça existe pas ça mdr
Y a ça si tu veux
avec un exemple avec Canvas
J'ai ici une classe qui sert de "modèle" à d'autres. Est-ce qu'il est possible de faire en sorte que dans ces autres classes, l'option max_length ne puisse être utilisée que si la valeur types est définie sur number, channel ou role ?
import { Role } from "./types"
interface ModuleOptionOptions {
title: string;
description?: string;
type: "string" | "number" | "boolean" | "channel" | "role";
getCurrentValue?: () => string | number | boolean | null;
setNewValue: (newValue: string | number | boolean | Role) => boolean;
max_length?: number;
}
export default class ModuleOption {
title: string;
description?: string;
type: "string" | "number" | "boolean" | "channel" | "role";
getCurrentValue?: () => string | number | boolean | null;
setNewValue: (newValue: string | number | boolean | Role) => boolean;
max_length?: number;
constructor(options: ModuleOptionOptions) {
this.title = options.title;
this.description = options.description;
this.type = options.type;
this.getCurrentValue = options.getCurrentValue;
this.setNewValue = options.setNewValue;
this.max_length = options.max_length;
}
}
c'est possible 🙆🏻
Tu saurais comment ?
Tu parle en typescript ont est bien d'accord ?
Yep
il faut faire 2 type 
malheureusement
En fait c'est une sorte de typedef
en gros tu défini 2 fois l'interface
ModuleOptionsOptions {} | {}
Ça fera tout seul le if de cette façon
une ou type correspond à ta condition
et une ou type n'y correspond pas
et donc max_length ne s'inclus pas
@glass cargo tu comprend ce que je veux dire ?
tu peux envoyez juste l'interface que je puisse copier coller plus facilement ?
Et te faire l'exemple
interface ModuleOptionOptions {
title: string;
description?: string;
type: "string" | "number" | "boolean" | "channel" | "role";
getCurrentValue?: () => string | number | boolean | null;
setNewValue: (newValue: string | number | boolean | Role) => boolean;
max_length?: number;
}
Désolé du temps de réponse, j'étais partis manger 
interface ModuleOptionOptions {
title: string;
description?: string;
type: "number" | "channel" | "role";
getCurrentValue?: () => string | number | boolean | null;
setNewValue: (newValue: string | number | boolean | Role) => boolean;
max_length?: number;
} | {
title: string;
description?: string;
type: "string" | "boolean";
getCurrentValue?: () => string | number | boolean | null;
setNewValue: (newValue: string | number | boolean | Role) => boolean;
}
tiens ça devrais faire le taff
(Tu peux aussi modifier getCurrentValue/setNewValue en fonction de ça)
ah bon ?
🤔
essaye avec le mot clé type
et pas interface
Nice
comment jpeu faire ça dans mon guildMemberAdd.js
une interface c'est plutôt immuable et ça peut pas être sélectif
Bonne question 
canvas c'est le seul truc que j'ai jamais maîtrisé
ah
J'ai un peu modifié pour éviter les erreurs et dcp ça donne ça :
import { Role } from "./types"
type ModuleOptionOptions = {
title: string;
description?: string;
type: "number" | "channel" | "role";
getCurrentValue?: () => string | number | boolean | null;
setNewValue: (newValue: string | number | boolean | Role) => boolean;
max_length?: number;
} | {
title: string;
description?: string;
type: "string" | "boolean";
getCurrentValue?: () => string | number | boolean | null;
setNewValue: (newValue: string | number | boolean | Role) => boolean;
max_length?: null;
}
export default class ModuleOption {
title: string;
description?: string;
type: "string" | "number" | "boolean" | "channel" | "role";
getCurrentValue?: () => string | number | boolean | null;
setNewValue: (newValue: string | number | boolean | Role) => boolean;
max_length?: number | null;
constructor(options: ModuleOptionOptions) {
this.title = options.title;
this.description = options.description;
this.type = options.type;
this.getCurrentValue = options.getCurrentValue;
this.setNewValue = options.setNewValue;
this.max_length = options.max_length;
}
}
si t'es bon en math ça devrait le faire tkt
Il a pas aimé qu'il n'y ai pas la valeur dans le deuxième type
yep logique xd
aller, go faire le reste, parce que là c'est loin d'être fini XD
par contre fait comme ça :
class ModuleOption implement ModuleOptionOptions
C'est chiant de recopier les types depuis le portail dev...
🤔
ok
@ocean bluff voila la question
et tu dois aussi check if(typeof options.type == "string" || typeof options.type == "boolean")
ah ça lui plaît pas le implement
Jsuis trop con. je pouvais tout simplement faire comme ça 
import { Role } from "./types"
interface ModuleOptionOptions {
title: string;
description?: string;
type: "string" | "number" | "boolean" | "channel" | "role";
getCurrentValue?: () => string | number | boolean | null;
setNewValue: (newValue: string | number | boolean | Role) => boolean;
max_length?: number;
}
export default class ModuleOption {
title: string;
description?: string;
type: "string" | "number" | "boolean" | "channel" | "role";
getCurrentValue?: () => string | number | boolean | null;
setNewValue: (newValue: string | number | boolean | Role) => boolean;
max_length?: number;
constructor(options: ModuleOptionOptions) {
this.title = options.title;
this.description = options.description;
this.type = options.type;
this.getCurrentValue = options.getCurrentValue;
this.setNewValue = options.setNewValue;
this.max_length = options.max_length;
if (!["number", "channel", "role"].includes(this.type) && this.max_length) {
throw new Error("You must specify a max_length for this option");
}
}
}
Encore plus simple et plus indicatif pour l'utilisateur
indicatif au runtime yep
Si ça avait été que pour moi, j'aurais pas fait la classe est j'aurais foutu les données telles qu'elles sont 😂
le code:
onst {EmbedBuilder, ButtonStyle, ActionRow, ButtonBuilder, SlashCommandBuilder, PermissionFlagsBits, ActionRowBuilder} = require('discord.js');
module.exports = {
data: new SlashCommandBuilder()
.setName('setverify')
.setDescription("Envoi l'embed de Vérification d'utilisateur")
.addChannelOption(option =>
option.setName('Salon')
.setDescription("Définir le salon d'envoi de l'embed de Vérification")
.setRequired(true)
)
.setDefaultMemberPermissions(PermissionFlagsBits.Administrator),
async execute(interaction) {
const channel = interaction.options.getChannel('Salon');
const verifyEmbed = new EmbedBuilder()
.setTitle("Vérification")
.setDescription("Cliquez sur le bouton ci-dessous pour vérifier votre compte afin d'accéder à l'entièreté du serveur")
.setColor(0x00FF16)
let sendChannel = channel.send({
embeds: [verifyEmbed],
components: [
new ActionRowBuilder().setComponents(
new ButtonBuilder().setCustomId('verify').setLabel('Me vérifier').setStyle(ButtonStyle.Success),
),
],
});
if (!sendChannel) {
return interaction.reply({content: "Impossible d'envoyer l'embed de Vérification", ephemeral: true});
}else {
return interaction.reply({content: "Vérification envoyé", ephemeral: true});
}
},
};
jais pas compris d'ou sa vien
je crois que c un problème de maj mais je sais pas de quel mots
C’est dans l’erreur
"given: 'Salon'"
oui mais c quoid le problèpme ducoup si le mot Salon est le meme que le name
c bon jais résolu mais mon msg ne s'envoit pas et j'ais pas d'éreur juste un l'application ne rep plus
Bonsoir
J'ai un gros blocage sur mon app
J'utilise le framework Sails pour le côté serveur, et Angular en client. Mon client n'arrive pas à se conecter à Sails Socket IO et je ne trouve pas pourquoi. Mais si je met un client Socket IO sur une page web de Sails, là ça marche (mais c'est inutile pour le coup)
Mon code du client c'est juste ça :
Et les erreurs :
Après des heures de recherches et essais infructueux, Chat GPT m'a donné la solution
Mon client utilisait une version trop avancée de socket IO comparé au serveur
Bonjour, j'ai cette classe qui sert de modèle à d'autres. Je souhaiterais faire un .map() de ces classes qui utilisent ce modèle, mais apparemment, le faite que le modèle comporte des fonctions. Est-ce que vous auriez une solution ?
mais apparemment, le faite que le modèle comporte des fonctions
j'ai pas compris le sens de ta phrase
ça me sort une erreur quand je faire un .map() car il y a des fonctions et qu'il ne peut pas parse un json
Vous connaissez un bon livre en fr pour coder en JavaScript : discord.js13.1 et node.js18 ?
J'ai cette erreur depuis que j'ai fait la vérification intent discord es-normal ? j'aimerais de l'aide merci bien
N'utilise pas des livres, les ressources sur internet sont meilleure

ont est dev c'est normal de tout savoir sans code 
regarde juste l'erreur et traduit là en français
Bonjour je suis débutant en codage mais je voudrait essayer de créé un site. Par ou commencé?
ce sont des fiche méthodes?
C'est une roadmap d'apprentissage pour le web
d'accord merci
Hello, je ne comprend pas pourquoi le bot envoie deux fois "Pong !" lors de la commande !ping. J'ai l'impression qu'il passe dans les deux conditions car quand je mets le else en commentaire, Il n'y a qu'un "Pong !".
Ton bot est peut être start 2 fois 👀
Deux possibilité : soit c'est une erreur dans ton code, soit tu as lancé x2 le code
Essaie de faire comme ça :
if (event.once) {
client.once(...)
console.log("Le if est déclanché")
} else {
client.once(...)
console.log("Le else est déclanché")
}
les deux console.log sont affichés
Pas normal 🤔
pour ça que je comprend pas, comment il rentre dans les deux conditions
Ben après, vu que dans les deux cas il fait la même chose, quel est l'intêret du if {} else {} ?
Oui déjà
Ton bot est pas démarré deux fois ?
si c'était ça, j'ai arrangé
Top
D'ailleurs si quelqu'un à un site, vidéo ou quoi que ce soit qui explique bien les appels de modules, comment exécuter du code venant d'autres fichier,... Je suis preneur. Je ne comprend pas encore bien tous les aspects. (discord.js)
qqun peut m'aidez?
j'ai créé un bot discord
mais je n'arrive pas a faire las commande slash
qqun peut m'envoyer son code?
svp
Mes mp sont ouvert
Possibilité d'avoir un avis sur des idées d'ajouts ou autres ? c'est fait avec du full nextjs (les requettes aussi), j'ai bloquer le nombre de lien a 15 mais il y en a en moyenne 60-70 sur les diffèrent site que j'appel (Je n'est pas encore fait les metas). vous pouvez commencez par ! pour avoir les bangs comme sur DDG:
https://search.juke.beer/
c'est à la mode de faire des moteur de recherches xd ?
Par contre c'est très stylé
et fonctionnel
Oui, enfin mon premier systeme date d'un an mais j'ai voulu le refaire pour l'utiliser tous le temps
j'ai eu un bug "client side application" au début
Quand j'ai recherché un truc
C'est quand j'ai update le projet je pense
Ah okii
Très sympa n'empèche
Mais comment tu fais pour avoir les résultat de plusieurs moteur de recherche xd ?
Si le lien et le nom est le même sur 2 sites alors je les stacks
je vois
et actuellement je commence le système de vidéo qui devrait marcher avec google mais c'est assez complexe car ils bloquent mes appels après quelques essais
Est-ce que quelqu'un pourrait m'aider avec mon code svp, j'aimerais connaitre une alternative à event.bind.
Peut être revoir les injections SQL
Tiens voici l'event handler de mon template en typescript, cela t'aidera.
Y’a pas de sql
Ça doit être une erreur dans le code
Je crois que c'est le terme uid qui génère l'erreur
Un petit truc tout bête quand tu fais une recherche , tu puisse revenir a la page principale en cliquant sur le logo
Merci!
Salut salut , j'ai un petit soucis j'ai personnalisé mon bot Discord etc , mais j'arrive A accéder a c'est commande créer ses commande pour mon serveur , le développer tout simplement quelqu'un peut m'aider ?
Bonjour,
Je suis sur JS et je n'ai pas les codes pour créé les commande pour mon bot discord. Quelqu'un peut-il me passer son code fonctionnel ou peut-etre juste m'aidez? MP ouvert vous pouvez me ping
SVP
merci
Bonjour,
Je suis sur JS et je n'ai pas les codes pour créé les commande pour mon bot discord. Quelqu'un peut-il me passer son code fonctionnel ou peut-etre juste m'aidez? MP ouvert vous pouvez me ping
SVP
merci
hey est ce que qlqn aurait un moyen de simplifier s code :
window.addEventListener("click", (e) => {
if (e.target.id == "about") {
about.classList.add("active");
home.classList.remove("active");
news.classList.remove("active");
stream.classList.remove("active");
} else if (e.target.id == "news") {
about.classList.remove("active");
home.classList.remove("active");
news.classList.add("active");
stream.classList.remove("active");
} else if (e.target.id == "stream") {
about.classList.remove("active");
home.classList.remove("active");
news.classList.remove("active");
stream.classList.add("active");
} else if (e.target.id == "home") {
about.classList.remove("active");
home.classList.add("active");
news.classList.remove("active");
stream.classList.remove("active");
}
});
Documentation discord.js
Salut j'ai une question et j'ai besoin d'aide, j'ai un problème avec mon bot quand un mec ajoute le bot sans perms cela le fait crash et fait bug le bot cela est arrivée depuis la certification des intent discord mais je penses que cela me le fessais déjà avant.
Possible de m'aider pour faire en sorte que quand le bot rejoins le serveur et qui n'a aucune perms il quitte tout simplement pour éviter éventuellement ce problème ?
Merci d'avance de l'aide.
Pas français
La solution c'est pas de faire en sorte que ton bot quitte le serveur. Règle plutôt ton bug ;)
deux exemples de query qui ne fonctionnent pas :
<% foo<svg onload=foo>
aussi, le fond qui bouge, ça fait old school, mais c'est purement du goût personnel et l'animation de rollover est méga lente, ça fait lourdingue
j'aurais besoin d'aide
je suis en train de créer mon propre bot discord mais je voudrais faire autre chose que des commande qui fais des message et que le bot puisse répondre a des messages, vous pouvez me donner des code qui pourrais faire autre chose?
C'est un peu vague ce que tu demande
Tu créer ce bot pour répondre à un besoin précis ou par expérimentation ?
j'aurais besoin d'aide pour avoir des script pour faire autre chose que répondre a des message et des commandes. et est ce que je pourrais avoir de l'aide pour que quand on tape une command, il y a des propositions.
vraiment pour si j'ai envie qu'il y est un truc je le mets
Bah ducoup attend juste d'avoir besoin de quelque chose et quand tu en a besoin tu le code 👀
C'est un autocomplète qu'il te faut ?
Ah j'avais pas vu ce message
att
non
Tu utilise discordjs ?
bah j'envoie une photo au pire
oui
Regarde ça attentivement
Ah oui c'est sale 👀
👉 Yo les potes, je vous fais un petit tuto de comment coder un bot Discord avec discord.js v14 ! Dans cette vidéo, on va commencer par les prérequis pour coder le robot et apprendre à le démarrer ! N'hésite pas à t'abonner, activer la cloche, liker et rejoindre mes réseaux (merci) !
👉 Discord développeur : https://discord.com/developers/docs/in...
Suis ce tuto
j'ai fais ça au début en plus c'étais celui là, mais quand je faisais apres dans le terminal node main pour qu'il soit en ligne et bien rien alors que tout étais bon alors ducoup j'ai tout recomencer
avec un autre tuto
Le tuto que je t'ai envoyé est selon moi le plus simple et complet disponible en français
Si ça ne marche pas c'est que tu es passer a coté de qlq chose
Tu peux compléter avec ça aussi: https://discordjs.guide/#before-you-begin
En / ? 
Oui en slash, en gros et ce que ton bot supporte les cmd slash (je sais très bien que c'est pas en langage de codage)
C'est quoi le module ping ?
c'est pour un bot de status genre pour savoir les ms d'un service
C'est ça qui crash ton bot
Il ping quoi ?
bah on veut qu'il ping une ip
Et pk ?
Pour savoir si son serveur est en ligne de ce que j'ai compris
en gros c'est pour ça
attend je comprend pas
bah genre une adresse
genre https://google.com
Search the world's information, including webpages, images, videos and more. Google has many special features to help you find exactly what you're looking for.
Non mais montre ton code poulet
ping.ping("https://google.com") 
On est là pour parler code pas beau temps
Je sais pas, le module ping a que ça
Vous savez que le problème n'est pas sur le code ici de toute manière
Il a juste pas accès à la commande ping dans le docker nodejs 
problème vient de l'hébergeur, et pterodactyl en lui même, bonne journée 😉
Si car c'est ce qui lui génère l'erreur
c'est ce que je me dis, askip c'est un module qui peut pas s'utiliser sur ptero
et l'erreur dit qu'il y a un soucis de Permissions 
il est vrai " there was an error while executing the ping program. Check the path or permissions "
le moyen le plus simple de tester c'est d'exécuter ping avec child_process
Voir si il génère un stdout ou un stderr
Go mieux configurer ton pterodactyl
y'a pas d'autre module pour ping au pire ?
Tu peux nous donner la page npmjs de ce que tu utilise stp ?
Non ping
moi j'ai trouvé ça : https://www.npmjs.com/package/ping
pareil
j'ai envie de le tarter, je vous suis si vous avez envie
tkt xd
@north aurora Enfaite si tu nous donne le bout de code ça nous aidera déjà bcp
il est vrai
J'ai un petit soucis, quand je fais "message.channel.send(...)" ça me dit que message n'est pas défini

Bah oui c'est normal 'message' ne correspond a rien 👀
ah bah oui je suis con
Mais du coup quelle instruction dois-je mettre pour que mon bot envoie l'embed sans demander une action de l'utilisateur ?
https://stackoverflow.com/questions/50463163/discord-bot-cant-find-channel-by-name-or-id
Cela t'aidera
Je précise que ce n'est pas la réponse toute cru, il te faudra réfléchir
C'est bon, c'était juste un problème avec ma callback function, merci quand même
No problemo, bon courage
J'aimerais qu'il envoie un message quand il est hors-ligne, concrètement en étant hors-ligne, c'est impossible mais est-ce que c'est possible avec un délai ? Genre prévoir son offline. Je pense littéralement que ce soit impossible mais je demande quand même
A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.
C'est bon ?
j'ai besoin d'un event handler pour ça nan ?
je ne suis pas une pépite en js
c'est ce que j'ai fait mais le bot ne se met plus en ligne
Envoi le code
Me dit pas que ton process.on est dans ton bot.on ?
nope
Tu peux mettre ton code dans le chan stp
const Discord = require('discord.js');
const bot = new Discord.Client({ intents: 3276799 });
const { EmbedBuilder } = require('discord.js');
const dotenv = require('dotenv');
dotenv.config();
bot.on("ready", () => {
console.log(Le Bot ${bot.user.tag} est désormais en ligne);
const embedOn = new EmbedBuilder()
.setTitle("STATUT")
.setDescription(Le Bot est en ligne)
.setAuthor({ name: ${bot.user.tag}, iconURL: bot.user.displayAvatarURL() })
.setColor("#21ff81");
const statusChannel = bot.channels.cache.get('1079091047868665877');
statusChannel.send({ embeds: [embedOn] });
});
process.on('exit',() => {
const embedOff = new EmbedBuilder()
.setTitle("STATUT")
.setDescription(`Le Bot n'est plus en ligne`)
.setAuthor({ name: `${bot.user}`, iconURL: bot.user.displayAvatarURL() })
.setColor("#dc143c");
const statusChannel = bot.channels.cache.get('1079091047868665877');
statusChannel.send({ embeds: [embedOff] });
});
console.log("Ending of the process")
// Exiting the process
process.exit()
bot.login(process.env.DISCORD_TOKEN);
là tu quitte ton programme avec ça
faut pas recopier ce que je t'envois de but en blanc

Si tu l'enleve ça devrait marcher
ça n'envoi pas l'embed off
T'es dispo voc ?
ok pas de soucis
qui pourrais m'aider a créer mon bot? bah du coup javascript et discord.js
bonsoir j'essayer de faire fonctionner l'auth de firebase et j'ai ça mais je n'y arrive pas svp qqn peut m'aider jpp je suis perdu
j'ai suivis les tuto et tout mais je comprends pas ou est-ce que je dois mettre chaque truc
et pour l'instant ça me dit juste que ma fonction jsp() n'est pas définis
et j'imagine que c que le début de mes problèmes..
pas sûr que le CDN fonctionne comme ça
j'en doute aussi
mais vu que je comprends plus rien jsp
au début ça partait bien pourtant
je veux tellement caner

👉 Yo les potes, je vous fais un petit tuto de comment coder un bot Discord avec discord.js v14 ! Dans cette vidéo, on va commencer par les prérequis pour coder le robot et apprendre à le démarrer ! N'hésite pas à t'abonner, activer la cloche, liker et rejoindre mes réseaux (merci) !
👉 Discord développeur : https://discord.com/developers/docs/in...
Je recomande pas ce yt c n'est pas omplet se que il fait,
je recomande Kaj qui fait un code plus complet
Yes mais Kaj n'explique pas les concepts donc pas très intéressent pour des débutants
Donc je vous conseille les tuto de getCodingKnowledge
Il utilise la version v13 de discordjs donc non pertinent pour des débutant car eux seront sur la v14
Il a fait une vidéo qui explique comment passer de la v13 à la v14
Sa vidéo n'évoque que quelques point a changer pour passer de la v13 à la v14 mais ne couvre pas tout les changements qui seront peut être nécessaire au débutant
Le débutant code en v14 alors on propose des docs en v14
Et non pas des docs en v13 qui au final devront être remodifier pour passer en v14
temps mieux, ça apprendra plus de choses pour le débutant il apprendra a faire des modification pour changer de version 🤷
Bah non
il y a un guide pr ça : https://discordjs.guide/additional-info/changes-in-v14.html#before-you-start
Là le pb c'est que lui créer une barrière supplémentaire au développement en l'encouragent a utiliser une version postérieur de discordjs
Le mieux c'est qu'il utilise une version à jour
Mais moi je trouve qu'il explique bien et que le débutant en apprendra plus qu'un youtuber qui code en v14 et qui explique presque rien 🤷
Bah je trouve qu'il explique quand même pas mal de choses.. pour un débutant il donne les informations nécessaire
bonjour <@deep torrent> j'ai un soucis avec le tuto que tu as fait
dans visual studio code le bot démarre pas
peut tu m'aider stp
@tribal kayak est là pour te répondre ! Il a suivi un super tuto qui explique à quoi sers « _document » 
➜ [Voir le message original](#html-css message)
Salut @tribal kayak !
Est-ce que tu aurais encore ton TUTO sur le _document ?
Hey, non désolé c’est une formation payante, il n’y a pas d’accès publique :/
Ah mince :/
tu parle pour Nextjs ?
yep
Je peux en faire une ce soir why not 

T'es vraiment le mec le plus déterminé à aider du serveur 
Mais ça serait sympa. Notamment dans l'utilisation du cache :/
ça me fait du contenu à faire sur Youtube xd
XD
j'ai 2 tuto à faire, mais pour _document ça me semble simple à expliquer
Je t’es même pas demandé mais tu as besoin de savoir quoi sur document ?
J’aimerais mettre des donnés en cache, et garder m’a conseillé de le mettre dans le document, dcp j’aimerais comprendre comment il fonctionne.
Tu fou le context ici directement 
Ce message contient également une image, visible à droite de l'embed.
➜ [Voir le message original](#html-css message)
Enfaite document sera lu qu’au moment où le client arrive sur ton site après le tous est garder en cache
Et il est lu qu’une seule fois donc pour récupérer, modifier ou supprimé des données tu dois passé par un context
Je pourrais te présenter ça plus tard dans la soirée si tu veux, sinon tu as de très bon tuto sur google
Ah ouais non j’ai pas compris ce que tu voulais faire je crois
Comment ça mettre des données en cache ?
jE FAIS UNE Vidéo dans 20 minute, car je reviens de la salle et j'ai plus de bras XD
Bonsoir, je suis actuellement sur la réflexion d'un projet de jeu vidéo et j'aimerais vous demander quelques conseils. Pour faire simple, le jeu se jouerait sur une carte du monde, chaque joueurs prendra un pays et devra en développer un aspect militaire et économique (simulation). Le jeu serait donc jouable en navigateur pour un soucis de praticité, multijoueur et en temps réel. Cependant, je n'arrive pas à connaître la solution pour faire qu'une unité militaire se déplace d'une position à une autre tout ça en l'envoyant au serveur pour les autres joueurs
déja tu sais utilisé un websocket ?
Ouais
Bonjour, je suis en djs v13 avec la bdd mongoose et je code une commande warnlist qui permet de voir tout les warns d'un membre et j'aurai besoin d'aide car l'ordre de la numérotation des warns n'est pas correcte car comme vous pouvez le constater sur le screen, la raison du premier warn est c'est le troisième warn donc le numéro qui le précède devrait être 3 n'est-ce pas ? merci de bien vouloir m'aider, cordialement.

je suis d'accord, voici ma commande :
const { MessageEmbed } = require("discord.js");
const Discord = require("discord.js");
const db = require('quick.db');
const config = require("../config");
const dayjs = require("dayjs");
const punishments = require('../models/ModSchema');
const ModSchema = require("../models/ModSchema");
module.exports = {
name: "warnlist",
usage: 'warnlist',
description: "Surveiller un utilisateur",
async execute(client, message, args) {
let color = db.fetch(`color_${message.guild.id}`)
if (color == null) color = config.app.color
const member = message.mentions.members.first()
if(message.author === member) return;
const reason = args.slice(1).join(" ") || "Aucune raison indiquée!";
if (!member) return message.reply({ content: "Veuillez mentionner un membre à surveiller." })
let data = await punishments.findOne({
GuildId: message.guild.id,
UserID: member
});
if (!data.Punishments.length) return message.reply("Ce membre n'a pas de warn");
let warnList = `Liste des warns pour \`${member.user.tag}\`:\n`;
warnList += data.Punishments.map((warn, i) => `${i + 1}. ${warn.reason} [Par ${message.author}]`).join("\n")
await message.reply(warnList);
}
}
Tu peux aussi nous donner ce que tu a en bdd stp
pour pallier à ça tu peux utiliser la méthode .reverse() (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse)
Dans ton cas ça donnerait ```js
if (!data.Punishments.length) return message.reply("Ce membre n'a pas de warn");
data.Punishments.reverse()
...
Après je serai curieux de check un truc 🤔 tu peux nous montrer le contenu de ta commande warn stp ?
de suite
la voici :
module.exports = {
name: "warn",
usage: 'warn',
description: "Avertir un utilisateur",
async execute(client, message, args) {
let color = db.fetch(`color_${message.guild.id}`)
if (color == null) color = config.app.color
let toWarn = message.mentions.members.first() || message.guild.members.cache.get(args[0]) || message.guild.members.cache.find(x => x.user.username.toLowerCase() === args.slice(0).join(" ") || x.user.username === args[0]);
if(message.author === toWarn) return;
const reason = args.slice(1).join(" ") || "Aucune raison indiquée!";
if (!toWarn) return message.channel.send({ content: "Veuillez mentionner un membre à warn." })
let data = await punishments.findOne({
GuildId: message.guild.id,
UserID: toWarn
});
if(data) {
data.Punishments.unshift({
PunishType: 'Warn',
moderator: message.author,
reason: reason,
date: dayjs().format("DD/MM/YYYY - HH:mm")
});
data.save();
message.channel.send(`${toWarn} a été warn pour \`${reason}\``)
} else if (!data) {
let newData = new punishments({
GuildID: message.guild,
UserID: toWarn,
Punishments: [{
PunishType: 'Warn',
moderator: message.author,
reason: reason,
date: dayjs().format("DD/MM/YYYY")
}, ],
});
newData.save();
message.channel.send(`${toWarn} a été warn pour \`${reason}\``)
}
const embedwarn = new Discord.MessageEmbed()
.setAuthor({ name: message.member.displayName, iconURL: message.author.displayAvatarURL() })
.setColor("#5ccbfa")
.setDescription(`**Membre**: ${toWarn.user.tag} (${toWarn.id})
**Action**: Warn
**Raison**: ${reason}`)
.setTimestamp()
.setFooter({ text: `📚` })
const modlog = client.channels.cache.get(ml.get(`${message.guild.id}.modlog`))
if (modlog) modlog.send({ embeds: [embedwarn] }).catch(() => false)
}
}
La dans ton cas tu vois tu ajoutes le nouveau warn au debut de la liste de sanctions déjà existantes (via la methode array.unshift(), ce qui a l'air d'être le contraire de ce que tu veux faire car tu veux l'ajouter à la fin (et donc tu n'aurais pas besoin d'utiliser un .reverse() par exemple).
Tu as donc simplement a remplacer ton data.Punishments.unshift par data.Punishments.append
cf: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/unshift
Yes je confirme
👏 tu es excellent car les deux options que tu m'a donné fonctionnent, t'es un crack merci a toi 👍
Re, je suis vrm désolé du dérangement mais pour le .reverse ça fonctionne sans problème 👌 mais après avoir effectué plusieurs test, le dataPunishments.append ne marche pas vraiment 🫤
dans la précipitation j'ai pas fait attention mais serais-tu remédier à ce problème ?
c’est pas .append pardon, déformation professionnelle, c’est .push 
append c’est en python nan ?
super ! merci bcp encore une fois 👍
oui exactement j’ai la tête dans le python depuis quelques jours là j’ai pas réfléchi en le disant 
bonjour @deep torrent j'ai un soucis avec le tuto que tu as fait
dans visual studio code le bot démarre mais pas de réponse twitch
peut tu m'aider stp
y'a pas de solution?
Click sur le lien
oui ca montre google
Ouiii et qu'es ce qu'il y a sur google ? 👀
des forums
Ouiiii et ces forum parle de quoiii ? 👀
que plein on le même problème que moi
Et quand quelqu'un mes un problème sur les forum généralement ya quoi qui suis derrière ? 👀
pas de solutions
Bon on te donne les forum, si tu veux pas les lire c'est ton pb
Juste après
Waw toi depuis que tu es arrivé tu fait grave le malin, frérot quand tu sera capable de faire une recherche google tout seul tu reviendra parler.
c'est toi tu te prend superieur a tous
donc depuis je suis arriver j'ai poser une question et vous faites les malins
faut vous calmer si tu veux pas aider répond pas
La blague
Même le créateur du template te redirige sur google alors là
je me suis adresser a toi ? non
donc pourquoi tu me répond
mdr
Je hurle
tu fait trop ton malin derrière ton écran
tu veux une médaille?
ui
🥇
Bref à agir comme ça personne ne t'aidera, bisous
si c'est pour être aider par toi non merci
k
Les gars, si vous ne savez pas quoi répondre à part "google that" ou que la personne est face n'est pas capable de faire une requête google, honnêtement ne répondez rien.
C'est un serveur d'entre-aide, pas pour montrer du doigt le premier venu.
je peux vous aidez à ne pas régler vos problèmes
maintenant faut dire chatgpt-it
Il va te répondre que t'es offensant 
pour créer des dev encore moins bon 
d'ailleurs parlons en j'ai besoin d'aide car j'aimerais créer un jeu en utilisant Canvas, mais je sais pas trop comment fonctionne canvas, est ce qu'on peut foutre des événements onclick ect
l'événement serais pas sur le canvas mais dans le canvas
Alors, je peux dire des bétises, mais je crois que tu peux par contre le click sera sur l'élément <canvas /> et il faudra que tu détermines la position du click (si c'est pas déjà le cas dans l'event) et du coup l'élément sur lequel tu cliques réellement.
J'ai trouvé un fiddle qui te permet de test ça : http://jsfiddle.net/BmeKr/
Test your JavaScript, CSS, HTML or CoffeeScript online with JSFiddle code editor.
et j'aimerais en savoir plus sur la génération périodique aléatoire (Fin le bail qu'utilise Minecraft pour générer ces maps)
comment ça fonctionne ? Quelle formule utiliser ? Et est ce que c'est possible d'utiliser ce schéma de possibilité pour créer un labyrinthe
okay, j'en determine que c'est galère mdr 😂
mais intéressant
Je comprend ton point de vu, mais es ce que tu peux comprendre que lorsqu'on a 5 gars par jours qui demande des choses trouvable en une recherche google parfois c'est plus simple de leurs apprendre a se servir de google que de répondre encore et encore a leurs questions ?
De cette manière ils apprennent à être autonome pour les problème simple et nous ça nous laisse plus de temps pour répondre aux problèmes plus complexe.
Entraide oui, assistanat certainement pas
hellow, j'aurais une question
async list_reportChannels(user_id, guild_id){ if(this.Rights.is_BotOwner(user_id) || (await this.Rights.is_ModeratorRole(guild_id, user_id)) ) return await this.#list_dict_guildId_to_channelId(this.#ReportChannels); else return undefined; }
ca , ca fonctionne
async list_links(user_id, guild_id){ if(this.Rights.is_BotOwner(user_id) || (await this.Rights.is_ModeratorRole(guild_id, user_id)) ) return await this.#list_dict_guildId_to_channelId(this.#Links); else return undefined; }
mais celle la, ca fonctionne pas, ca me renvoie une erreur comme quois j'ai pas la perm de la faire ( alors que sur l'autre je peux)
pourtant j'ai pas l'impression q'il y est de pb particulier, surtout que exactement la meme chose au dessus :'), vous auriez pas une idée ?
Tu peux nous montrer l'erreur stp
[-] (UNAUTHORIZED) User :maple_leaf: Mushy The Bloody Mushroom ~:candle: (769643439163310081) from the server :fire: La Poste Enflammée ✪ Support du :mailbox_with_mail: Facteur Fou (944597570712379433) tried to list the linked servers !
c'est tout y'as rien de plus, c'est juste ce que ca renvoie normalement quand quelqu'un fais n'importe quel commande sans avoir la permission de la faire
et si je fais l'autre commande pour afficher la liste des report channels, bah y'as pas d'erreur, et ca m'affiche bien ma liste , donc j comprend vraiment pas pour le coup

( et si je retire les condition de permission, la commande pour voir la listes de lien envoie bien la liste, donc je sais pas, y'as une cacahuette de permission, mais , c'est pas logique )
xD
jme disez la meme chose 

Leur dire qu'il est possible de rechercher sur un moteur de recherche est une chose, et c'est même plutôt bien de le faire. Leur dire en les prenant pour des cons en est une autre. Vous vous êtes montés tous les deux la tête alors que ce n'était pas du tout nécessaire.
Bah je suis désolé mais quand on lui envois la recherche google qui contient des dizaines et dizaines de résultats permettent de régler son pb et qu'il nous dis qu'il trouve rien oui je pense qu'il y a un déficit quelque part..
Tu crois que c'est une personne intelligente qui dis ça ? Sur un discord de dev ?
at
t
attand quois, y'as un monde dehors?
c'est pas une légande ?

( fail de doigts sur le clavier, on vas dire que c'est la chat)
oui bisard il parle de quois il est stupide lui, encore un copmplotiste 
C'est surement ton erreur qui a hack ton clavier
NOOOOOOOOOOOOOOOOOOOOOOOOOOOO xDD
(le pire c'est que tout a l'ehure ca marchez, c'est apres quand j'ai rédémarer que ca c'est pété xdD)
" Redémarrez quand un truc fonctionne pas ca règle les problèmes "
moi quand je redémarre : probleme qui deviens encore plus gros
xD
Sa a fait pareil avec papy, il marchait pas ducoup j'ai débranché et rebranché, c'était pire après je comprends pas
Un tueur xD
Vu comment vous vous agressez mutuellement, ça m'étonne pas 🙂
D'acc
Tu le télécharges bien du site officiel ? Essaye de le retélécharger depuis https://nodejs.org/en/download/
Même problème
J'avais installé node.JS 14 mais pour faire un bot discord il faut minimum 16.90
@severe saddle
t'es sur linux ?
Macos
c'est pas la premiere fois que j'ai un problème avec l'imac , deja je n'arrive pas a mettre a jour mon systeme d'exploitation
Je pense que tu as un soucis de certificat sur ton mac, il faudrait que tu te renseignes pour savoir comment :
- mettre à jour les certificats
- surcharger cette erreur si tu n'arrives pas à faire la première étape
Désolé, je ne peux pas trop aider, je suis nul en mac 
pour utiliser discord.js**
Mais est ce que je peux faire le bot avec node.js 14 ?
pas avec djs
après, jsp avec eris qu'est-ce qu'il faut
Tu peux le faire même sans nodejs 
tu peux très bien le faire en Bash why not ?
Bonsoir
Salut
je me demandais, ici j'ai un chatbox fait avec firebase et je voulais savoir si je pouvais enlever le fait que dans le lien un fois le msg envoyer ça met le mail et le mdp avec lequel on s'est connecter
Rien compris frérot essaye d'expliquer mieux stp
j'aimerais retirer ce que j'ai surligner qui apparait
Ah tu veux enlever l'autocomplétion de l'email et du mdp par le navigateur ?
maybe
non ce n'est pas ça
Ah je crois que j'ai compris
c'est mon adresse web qui change en fonction du mail et mdp que j'ai mis
Tu veux pas que ça apparaisse dans l'url
Cela t'aidera peut être
Bien le bonsoir, je souhaiterais créé une app de messagerie ( Je sais c'est assez complexe, mais c'est un devoir a rendre dans 4 mois ) et je voudrais savoir vous me conseillez quel module pour faire très optimale
Merci je vais aller consulter ceci
merci g trouvé
J'ai trouvé une vidéo qui pourrait beaucoup m'aider merci de ton aide si précieuse 😉
Parfait 👌
bonjour j'ai vraiment besoins d'aide ! je voudrais que quand zoomed = false que zoomed devienne true ! mais ce la ne fonctionne pas ! voici mon code :let zoomed = false;
function zoom(element) {
element.classList.toggle("zoom");
if (zoomed == false) {
zoomed = true;
document.getElementsByClassName('background')[0].style.display = ("block");
} else if (zoomed == true) {
zoomed = false;
document.getElementsByClassName('background')[0].style.visibility = ("none");
}
}
bonjour j ai vraiment besoins d aide je
c'est bon probleme regler mdr après avoir modifier deux trois truc
👌
Bonsoir quelqu’un pourrait m’aider s’il vous plaît ?
/usr/local/bin/node ./index.js
Uncaught DiscordjsError TypeError [ClientMissingIntents]: Valid intents must be provided for the Client.
at _validateOptions (/Users/pc/Desktop/bot/node_modules/discord.js/src/client/Client.js:489:13)
at Client (/Users/pc/Desktop/bot/node_modules/discord.js/src/client/Client.js:78:10)
at <anonymous> (/Users/pc/Desktop/bot/index.js:2:13)
at Module._compile (internal/modules/cjs/loader:1254:14)
at Module._extensions..js (internal/modules/cjs/loader:1308:10)
at Module.load (internal/modules/cjs/loader:1117:32)
at Module._load (internal/modules/cjs/loader:958:12)
at executeUserEntryPoint (internal/modules/run_main:81:12)
at <anonymous> (internal/main/run_main_module:23:47)
Process exited with code 1
Tu as oublié d'indiquer les Intents quand tu crée ton bot
Je suis pas chez moi là donc compliqué de te guider
Envoie ton code et quelqu'un te donnera une indication dès que possible
Je peux envoyer le code ici ?
Si vasy
C’est ancien ça date de 2018 mdrrr
Et j’ai plus touché depuis et là j’ai une erreur et je sais pas quoi faire
Quelle version de discordjs ?
14.7.1 j’ai juste récupérer le index de 2018 enfaite
https://discordjs.guide/popular-topics/intents.html#privileged-intents
Ok regarde ça alors
Tout est dans le lien que je t'ai envoyé
Quand tu créer ton client, il faut lui indiquer les intents
comme ceci
non tu peux voc ça sera plus simple ?
Là actuellement je peux pas trop
ok alors redonne moi ton code stp
ok tu vois la deuxieme ligne ?
oui
Oui je vois
C'est ça qu'il faut modifier
rajoute ça
{intents:[Discord.GatewayIntentBits.Guilds]}
dans les parenthese
je remplace la ligne par ça ?
const bot = new Discord.Client({intents:[Discord.GatewayIntentBits.Guilds]})
faut ça
en gros
Et en fonction de ce que tu fait dans ton bot, il te faudra plus d'intents
comme indiquer sur le site que je t'ai donner
Pas vraiment une fois que tu as compris à quoi ça sert ^^
ta regarder mon code ?
Oui rapidement
Oui
Bah ça ne change rien x)
envois ton code
ok et tu peux me screen l'erreur ?
ligne 8 remplace 'message' par 'messageCreate'
Et ça marche ?
non
Ok.. bon vu que ton code date un peu il faudra surement tout repasser en revu car des choses qui fonctionnais en 2018 ne fonctionne plus ajd..
dégouté
Bon courage
merci
bulkDelete n'est pas une fonction
La question concernant les "self-bots" a été soulevée ici et là, et nous aimerions clarifier notre position :
L'API de Discord fournit un type distinct de compte utilisateur dédié à l'automatisatio...
tu comprends donc qu'en t'aidant on s'expose nous aussi à recevoir des sanctions
par ailleurs tu comprendras aussi qu'il est probable que tu rencontre des soucis lors d'une utilisation de l'api dans un contexte pour laquelle elle n'est pas prévue
pour accéder a firebase mon site a besoin d'avoir ce code mais ducoups n'importe qui en inspectant le code peux le voir, il y a un moyen de rendre ça invisible ?
à part l'obfusquer je ne serais pas quoi te conseillez de plus
Une forte envie de signaler à discord 
Tu utilises un framework ?
Non aucun c'est juste du web natif
Tu peux utiliser un chiffrage AES256bit et offuscation + Compression Huffman
utilise Appcheck comme ça même si ils voient ou copie ils pourront pas utiliser
protégée par recaptcha bien entendu
C'est quand même possible de le desobfusqué non ?
Tout dépend ce que tu utilise
Salut vous en pense quoi de nextJS et React ?
je sais pas ce qu'il ce fait de mieux actuellement en chiffrage
React ça à l'air incroyable même si j'ai jamais essayé pour le moment
C'est plus ou moins les standards actuel 

parce que je connais deja les base des react donc est ce que il vaut mieux que je parte direct en nextJS +React ou je reste avec react par default
Je te conseillerai de partir sur Next
ok merci
pas besoin de chiffré les identifiants firebase 😦
Pourquoi donné d'aussi mauvaise recommendations ?
ce truc existe
et il suffit de restreindre appcheck à certains domaines
Si quelqu'un accède aux informations qu'il a donner dans son screen, appcheck ne servira a rien
si
tu sais comment fonctionne appcheck au moins ?
Je viens de voir je travail pas avec firebase, app check est une bonne solution
pourquoi ce code est coté client?
ah, j'imagine que tu n'as pas de serveur et d'api
Ah bah ducoup oui on a donné des choses compliqué alors qu'il y a simple à côté
Car firebase est fait comme ça 😦
rip 😦
au contraire c'est ce qui fait toute sa force xd
attention, AppCheck n'est pas bulletproof, mais ça a le mérite d'être clé en main et virer 99% des "hackers"
c'est sûr, mais chiffré et obstrué les identifants firebase sert à rien 
vu que de toute manière c'est client
The Firebase Web-App guide states I should put the given apiKey in my Html to initialize Firebase:
// TODO: Replace with your project's customized code snippet
<script src="https://www.gsta...
Salut
Quelqu'un peut m'expliquer pourquoi :
bot.on('message', (message) => {
if (message.author.bot) return; // Ignore les messages des bots
const content = message.content;
const number = parseInt(content);
if ([1000, 2000, 3000, 4000, 5000, 6000].includes(number)) {
const channel = message.guild.channels.cache.get(channelID);
channel.send(`Félicitations, ${message.author} ! Vous avez écrit un chiffre spécial : ${number}`);
}
});```
je n'ai aucune erreur mais ca ne fonctionne pas
j'ai beau écrire un des chiffres le message ne s'envoie pas
bot.on('messageCreate'
bjr pk dans cette commande le async marche pas
async execute(interaction) { await interaction.reply('Pong!') }
Là c'est les bases de javascript qu'il faut revoir
ahh la honte parceque javais arreter de script du javascript pendant 5/6 mois g t passer au pyton :/
et la g repris
Revois comment on fait une fonction async
ok
c bon fallait faire sa
async function f(interaction) { await interaction.reply('Pong!') }
mrc
ou sinon async execute(interaction) => { await interaction.reply('Pong!') }
sa me met une erreur
laquelle ?
pour la tienne
Oui mais quelle erreur
Tu sais pas lancer un node ?
euh
...
quand je lance sa me met
Uncaught SyntaxError C:\Users\asmam\Aylan Bot\index.js:43
SyntaxError: Unexpected end of input
at internalCompileFunction (internal/vm:73:18)
at wrapSafe (internal/modules/cjs/loader:1176:20)
at Module._compile (internal/modules/cjs/loader:1218:27)
at Module._extensions..js (internal/modules/cjs/loader:1308:10)
at Module.load (internal/modules/cjs/loader:1117:32)
at Module._load (internal/modules/cjs/loader:958:12)
at executeUserEntryPoint (internal/modules/run_main:81:12)
at <anonymous> (internal/main/run_main_module:23:47)
bah lis l'erreur
jarrive pas a comprendre lerreur
ligne 43 tu as une erreur

