#javascript-typescript

1 messages · Page 10 of 1

ocean bluff
#

tu dois avoir une erreur de syntaxe quelque part t'a du oublier un {

glass cargo
#

elle est sur le import

ocean bluff
#

mais tu ne peux pas utiliser de module npm dans une page web dans tous les cas

#

à part si tes en back end

floral bolt
glass cargo
glass cargo
#

:/

#

Du coup je peux pas modifier un fichier ?

ocean bluff
#

hmm enft je pense que tu peux quand meme l'importer

#

mais pas en l'appelant comme ça

#

je te conseillerais de faire tes propres recherches c'est surement possible

floral bolt
#

Tu peux pas import sur du vanilla

ocean bluff
floral bolt
#

C’est propre à nodejs

ocean bluff
#

ou utilisé await import('...')

glass cargo
ocean bluff
torn fog
#

Nop là en plus il est en vanilla js

#

Il n'a même pas de package.json

#

Pour utiliser fs il aurait fallu utiliser npm install fs

glass cargo
floral bolt
#

Ça ne marcheras pas

ocean bluff
#

la methode import est possible

#

await import

#

est possible

torn fog
#

Si il est en vanilla js tu peux que utiliser des librairies JS

glass cargo
#

ça crée bien tout, mais le dossier fs dans le node_modules est vide

ocean bluff
#

c'est ce que j'utilise pour importer mon module de morpion dans mon site

floral bolt
#

Bah non car il a pas init de projet

glass cargo
torn fog
glass cargo
#

Je look ça 👀

torn fog
#

Mais bon plus personne utilise ça presque xD

floral bolt
#

Ouais, c’est comme si tu partais sur explorer 😄

glass cargo
#

x)

torn fog
#

Je te conseille de partir sur du React avec Vite

#

C'est simple à apprendre et puissant

glass cargo
torn fog
floral bolt
glass cargo
torn fog
torn fog
#

Bah là il faut faire une partie front

#

Et une partie backend

floral bolt
#

Bah il y a de base non ?

torn fog
glass cargo
torn fog
#

:p

floral bolt
#

Enfin depuis le temps que je l’utilise j’ai jamais entendu parler de vite

#

Enfin maintenant je suis sous next

torn fog
#

Ah j'ai pas encore essayé next

glass cargo
#

ça sera peut-être plus simple que vous puissiez voir

torn fog
glass cargo
floral bolt
#

Donc il te faut une api côté back pour pouvoir gérer toutes t’es urls

glass cargo
#

Effectivement, je viens de voir que je pouvais accéder au fichier x)

uneven hare
#

salut, je suis en train d'apprendre a dev un bot discord en discord.js mais je me rends compte que les client.on messageCreate et interactionCreatemarche très bien sauf que les autres non...par exemple, j'ai mis JS client.on('guildMemberAdd', member => { console.log("Un membre est arrivé."); }); et rien ne se passe.
Même chose pour le JS client.on('messageDelete', message => { // Vérifiez que le message a été supprimé dans le salon que vous souhaitez surveiller if (message.channel.id === '1003709623552966716') { // Envoie un message dans le salon de log client.channels.cache.get('1003709623552966716').send(`Le message "${message.content}" a été supprimé dans le salon ${message.channel}.`); } });

glass cargo
#

Mais si je crée une API, il va falloir que je crée un code d'accès à mon site, or je le stocke où ?

uneven hare
#

si quelqu'un peut m'aider ca serait top

glass cargo
uneven hare
#

oui

#

juste après le client on messagedelete

#

et rien

#

meme pas d'erreurs

#

je ne comprends pas pourquoi j'e n'ai rien

glass cargo
#

bizarre

uneven hare
#

je peux envoyer tout mon index.js

torn fog
uneven hare
#

admin

glass cargo
uneven hare
#
const client = new Client({
    intents: [
        GatewayIntentBits.Guilds,
        GatewayIntentBits.GuildMessages,
        GatewayIntentBits.MessageContent
    ]
});```
uneven hare
glass cargo
#

Met les tous KappaCringe

uneven hare
#

ca marche

#

c'est bon ca marche

#

merci bcp

#

enft je suis con, le client c'est guildMemberAdd et j'avais pas le GatewayIntentBits.GuildMembers

pine quartz
#

Salut saut !

Alors j'ai fais une commande whitelist lié à une BDD mysql, j'ai une commande pour afficher tous les membres whitelist, mais je souhaite pouvoir faire une commande qui affiche seulement les bots qui sont whitelist, savez vous comment je pourrais faire, quel paramètre utiliser ?

Je sais :

  • Trouver tous les bots du serveur
  • Trouver tous les bots/users whitelist
sharp grail
#

bah

#

ça dépend

#

tu stockes quoi en bdd ?

#

juste les id ?

keen narwhal
#

Salut, je sais pas si je dois poster ça dans ce salon mais pour la faire courte :

Je veux faire un système un peu spécial dont la fonction et que quand un owner (couronné) blacklist un user cela le ban / blacklist de tout les serveur où mon bot y est et où il a lui l'ownership

J'aimerais savoir si cela et possible et si oui j'aimerais de l'aide afin de le fabriquer en échange je vous créditerais et puberai a ma commu de 32k

Ps: j'ai déjà le système de blacklist mais cela est simplement un gban entièrement classique qui bl dans tout les serveur ou y'a le bot

ocean bluff
#

simplement :/

sharp grail
#

Heu

#

Non?

#

C'est si débile ;-;

#

Surtout si le membre blacklist est pas en cache

keen narwhal
ocean bluff
ocean bluff
#
for(const guild of client.guilds.fetch()) {
   guild.members.fetch(blacklist.id).then((member) => {
       member.ban();
   }.catch();
};
sharp grail
#

t'as déjà l'id du membre à ban

#

donc autant utiliser

desert riverBOT
sharp grail
#

puis euh comment tu veux itérer une map de cette façon ;-;

ocean bluff
#
for(const guild of client.guilds.fetch()) {
   guild.ban(blacklist.id);
};
sharp grail
#

heu

#

non ?~

red torrent
#

Non fetch c'est asynchrone

sharp grail
#

déjà oui

ocean bluff
#

oui il faudrait await

red torrent
#

Tu n'as pas besoin de fetch les guilds si tu as l'intent Guilds

#

Toutes celles de ta shard sont déjà en cache

ocean bluff
#

client.guilds.cache

#

suffit alors ?

red torrent
#

Pas avec un for

ocean bluff
#

bah c'est un tableau

red torrent
#

Non

#

C'est une collection

ocean bluff
#

map alors ?

#

ah non une collection il a plus simple

red torrent
#

Tu as peut-être un équivalent à forEach

ocean bluff
#

get alors ?

red torrent
#

Get c'est pour récupérer la guild via son id

ocean bluff
#

ouais mais on n'a pas d'id

red torrent
#

Tu as peut-être guilds.cache.values()

#

Qui retourne un tableau

sharp grail
#
if (interaction.user.id == interaction.guild.ownerId) for (const guild of guilds.cache.values()) {
  if (guild.ownerId == interaction.user.id) guild.bans.create(id_user_blacklist, { reason: '' });
}
#

un truc comme ça

ocean bluff
#

ok

sharp grail
simple leaf
#

Vous savez quel truc as utilisé (qui vient de discord.js) le bot @terse geyser pour qu'il change de langue en fonction de la langue du client de l'utilisateur.
J'ai essayé :

const lang = message.user.locale

if (lang === fr) {
   message.reply("test fr")
} else if (lang === en) {
  message.reply("test en")
} else {
 message.reply("test autre")
}```
Le problème c'est que j'ai toujours "test autre" en sortie. Comment je fais ?
sharp grail
#

euh

#

mets les en string ptt

#

euh

#

et surtout

visual sequoia
sharp grail
#

la locale de user si je dis pas de bêtise elle est transmise uniquement dans interaction.locale

#

sinon pour les messages faut utiliser le locale de la guild

desert riverBOT
glass cargo
#

Et ensuite, pas sur que message.user renvoie quelque chose 👀

sharp grail
sharp grail
#

une erreur devrait pas sortir 'cannot read property of undefined'

simple leaf
#

Et après

sharp grail
#

ah okay

simple leaf
simple leaf
sharp grail
#

bah faut utiliser une interaction

simple leaf
#

J'ai fais par exemple

const Discord = require('discord.js')

module.exports {
name: "Test"
description: "test locale"
dm: false
}

async run(message, client, args) {

const lang = message.user.locale

if (lang === fr) {
   message.reply("test fr")
} else if (lang === en) {
  message.reply("test en")
} else {
 message.reply("test autre")
}
}
sharp grail
#

bah ;-;

#

là tu utilises les messages pour tes commandes c'est ça ?

simple leaf
#

Yep

sharp grail
#

Okay bah le problème

simple leaf
#

Message = interaction

sharp grail
#

non justement

simple leaf
#

Pour moi

sharp grail
#

okay on va reprendre

#

Les interactions ça englobe :

  • Les commandes d'application :
- slash (/) commands
- user commands
- message commands
  • Les interactions avec les components
- Button 
- Select menu (tous types)
  • Les pings
  • Les modal submits
  • L'autocomplete
#

Les messages c'est pas des interactions

sharp grail
#

les interactions en fait c'est spécifique d'une communication entre un user et une application (en gros)

#

Néanmoins si tu veux utiliser les messages en tant que commande et accéder à la locale de l'utilisateur, c'est possible mais faut des permissions d'accès sur l'utilisateur (OAUTH2 SCOPE identify)

#

tu peux aussi utiliser la guild preffered locale ou laisser l'utilisateur le sélectionner à travers une configuration que tu pourrais faire.
Sinon le plus simple c'est de passer avec des applications commands, et il existe pas mal de tutos sur le sujet avec la lib discord.js

desert riverBOT
#

:guide: Getting Started: Introduction
read more

sharp grail
#

le guide djs est sympa

sharp grail
#

att nan c'est le voice attends

sharp grail
# simple leaf

l'oauth2 est plus complexe que juste ça, faut faire tout un truc et franchement je m'y connais pas assez pour pouvoir te renseigner sur le sujet correctement 😅

sharp grail
simple leaf
sharp grail
#

bah

#

à partir de slash commands oui-

simple leaf
#

J'utilise pas les commandes en prefix

#

Mdr

sharp grail
#

pourquoi tu nommes ta variable message alors???

simple leaf
sharp grail
#

bah ça change tout sue

simple leaf
sharp grail
#

interaction.locale

simple leaf
#

Là c'est l'option "other"

sharp grail
#

okaaay

sharp grail
simple leaf
sharp grail
#

mdrr oui

#

pas de problème 😭

simple leaf
#

Je teste en rentrant chez moi là je suis en train de pleurer devant la défaite des bleus KaPOP

sharp grail
#

PAS MESSAGE

#

ne nomme plus message 😭

simple leaf
#

Ok ok

#

C'est juste que bon

sharp grail
#

boarf beau match quand même

sharp grail
# simple leaf C'est juste que bon

ouais nan mais message c'est pas très clair x)) après tu peux en soit hein faut juste que ce soit clair mais ça fait pas trop de sens étant donné que c'est une interaction x)

simple leaf
#

Juste par l'interaction ?

sharp grail
#

uip

simple leaf
sharp grail
#

noice 👀

clever bane
#

Bonsoir quelqu'un sait comment formater le texte comme la commande /imagine sur le bot Midjourney ?

queen ocean
#

Pour avoir l'ID, tu peux faire un clique droit sur le nom de la commande avant de l'envoyer

clever bane
#

</fight:1047970545037234336>

#

Merci je vais essayer sur mon bot

sharp grail
#

bah du coup le code est pas mal

#

fin celui que j'ai envoyé

#

mais faut gérer selon owner ou pas

#

ça sert à rien de le ban deux fois par exemple

#

mais la blacklist c'est quelque chose que tu stockes aussi non ?

uneven hare
#

salut, je suis en train de regarder la docu Canvassur et je galère sur la ligne JS const attachment = new Discord.AttachmentBuilder(await canvas.encode('png'), { name: 'profile-image.png' }); , j'ai cette erreur: Uncaught TypeError TypeError: canvas.encode is not a function c'est donc fort probable que ce soit du au changement de version (je suis en v14) mais je ne sais pas comment faire du coup...

#

si quelqu'un pouvait m'aider ca serait top

simple leaf
#

Je vais faire toute les langues mdr

keen narwhal
sharp grail
#

Mdrr

uneven hare
ocean bluff
pine quartz
idle tide
#

Bonjour,

Lors de mon lancement, j'ai cette erreur : ```js
C:\Users\louan\Desktop\AstoriaBot\node_modules@sapphire\shapeshift\dist\index.js:1672
return typeof value === "string" ? Result.ok(value) : Result.err(new ValidationError("s.string", "Expected a string primitive", value));
^

ValidationError: Expected a string primitive
at StringValidator.handle (C:\Users\louan\Desktop\AstoriaBot\node_modules@sapphire\shapeshift\dist\index.js:1672:70)
at StringValidator.parse (C:\Users\louan\Desktop\AstoriaBot\node_modules@sapphire\shapeshift\dist\index.js:113:88)
at validateName (C:\Users\louan\Desktop\AstoriaBot\node_modules@discordjs\builders\dist\index.js:819:17)
at MixedClass.setName (C:\Users\louan\Desktop\AstoriaBot\node_modules@discordjs\builders\dist\index.js:895:5)
at C:\Users\louan\Desktop\AstoriaBot\Loaders\loadSlashCommands.js:12:10
at Map.forEach (<anonymous>)
at module.exports (C:\Users\louan\Desktop\AstoriaBot\Loaders\loadSlashCommands.js:9:18)
at module.exports (C:\Users\louan\Desktop\AstoriaBot\Events\ready.js:13:11)
at processTicksAndRejections (node:internal/process/task_queues:96:5) {
validator: 's.string',
given: undefined
}```

Je crois qu'elle vient du loadSlashCommand, si c'est le cas dîtes le moi j'enverrai le code, si quelqu'un pourrait m'aider merci d'avance !

uneven hare
#

salut, je suis en train de faire un systeme de tickets sur mon bot discord.js et je veux envoyer plusieurs boutons sur le même message avec la ligne ```JSON

channel.send({content: "<@" + interaction.user.id + ">", embeds: [bugigembed], components: [claim, row]})``` mais au niveau du components, je n'arrive pas a faire en sorte que les deux s'envoient en meme temps (a en ajouter plusieurs) car j'ai cette erreur: Invalid Form Body et Component custom id cannot be duplicated

#

j'ai aussi essayé de mettre come ca channel.send({content: "<@" + interaction.user.id + ">", embeds: [bugigembed], components: ([claim], [row]) }) et là je n'ai plus aucune erreur mais mon bouton "claim" n'aparait pas

wooden compass
#

@violet egret

keen narwhal
#

salut ! je créé mon bot mais depuis presque 1 mois j'ai une erreur que je n'arrive pas à régler

#

ça me mets ça :

#
C:\Users\Admin\Documents\Bot Discord\node_modules\@sapphire\shapeshift\dist\index.js:1665
    return typeof value === "string" ? Result.ok(value) : Result.err(new ValidationError("s.string", "Expected a string primitive", value));
                                                                     ^

ValidationError: Expected a string primitive
    at StringValidator.handle (C:\Users\Admin\Documents\Bot Discord\node_modules\@sapphire\shapeshift\dist\index.js:1665:70)
    at StringValidator.parse (C:\Users\Admin\Documents\Bot Discord\node_modules\@sapphire\shapeshift\dist\index.js:106:88)
    at validateDescription (C:\Users\Admin\Documents\Bot Discord\node_modules\@discordjs\builders\dist\index.js:909:25)
    at MixedClass.setDescription (C:\Users\Admin\Documents\Bot Discord\node_modules\@discordjs\builders\dist\index.js:984:5)
    at C:\Users\Admin\Documents\Bot Discord\Loaders\loadSlashCommands.js:19:212
    at MixedClass._sharedAddOptionMethod (C:\Users\Admin\Documents\Bot Discord\node_modules\@discordjs\builders\dist\index.js:1346:50)
    at MixedClass.addChannelOption (C:\Users\Admin\Documents\Bot Discord\node_modules\@discordjs\builders\dist\index.js:1323:17)
    at C:\Users\Admin\Documents\Bot Discord\Loaders\loadSlashCommands.js:19:161
    at Collection.forEach (<anonymous>)
    at module.exports (C:\Users\Admin\Documents\Bot Discord\Loaders\loadSlashCommands.js:9:18) {
  validator: 's.string',
  given: undefined
}

Node.js v18.12.1
PS C:\Users\Admin\Documents\Bot Discord>                                       
 *  Historique restauré 

Windows PowerShell
Copyright (C) Microsoft Corporation. Tous droits réservés.

Testez le nouveau système multiplateforme PowerShell https://aka.ms/pscore6

PS C:\Users\Admin\Documents\Bot Discord>
 *  Historique restauré 

Copyright (C) Microsoft Corporation. Tous droits réservés.

Testez le nouveau système multiplateforme PowerShell https://aka.ms/pscore6

PS C:\Users\Admin\Documents\Bot Discord> node main
Commande ban.js chargée avec succès !
Commande clear.js chargée avec succès !
Commande kick.js chargée avec succès !
Commande mute.js chargée avec succès !
Commande ping.js chargée avec succès !
Commande unban.js chargée avec succès !
Commande unmute.js chargée avec succès !
Evènement interactionCreate.js chargé avec succès !
Evènement ready.js chargé avec succès !
C:\Users\Admin\Documents\Bot Discord\node_modules\@sapphire\shapeshift\dist\index.js:1665
    return typeof value === "string" ? Result.ok(value) : Result.err(new ValidationError("s.string", "Expected a string primitive", value));
                                                                     ^

ValidationError: Expected a string primitive
    at StringValidator.handle (C:\Users\Admin\Documents\Bot Discord\node_modules\@sapphire\shapeshift\dist\index.js:1665:70)
    at StringValidator.parse (C:\Users\Admin\Documents\Bot Discord\node_modules\@sapphire\shapeshift\dist\index.js:106:88)
    at validateDescription (C:\Users\Admin\Documents\Bot Discord\node_modules\@discordjs\builders\dist\index.js:909:25)
    at MixedClass.setDescription (C:\Users\Admin\Documents\Bot Discord\node_modules\@discordjs\builders\dist\index.js:984:5)
    at C:\Users\Admin\Documents\Bot Discord\Loaders\loadSlashCommands.js:19:212
    at MixedClass._sharedAddOptionMethod (C:\Users\Admin\Documents\Bot Discord\node_modules\@discordjs\builders\dist\index.js:1346:50)
    at MixedClass.addChannelOption (C:\Users\Admin\Documents\Bot Discord\node_modules\@discordjs\builders\dist\index.js:1323:17)
    at C:\Users\Admin\Documents\Bot Discord\Loaders\loadSlashCommands.js:19:161
    at Collection.forEach (<anonymous>)
    at module.exports (C:\Users\Admin\Documents\Bot Discord\Loaders\loadSlashCommands.js:9:18) {
  validator: 's.string',
  given: undefined
}

Node.js v18.12.1```
#

quand je fais node main pr lancer mon bot

#

quelqu'un sait comment régler ça svp je demande dans plusieurs serveurs d'aide depuis presque 1 mois mais personne ne sait

#

@north orchid tu sais stp ? prsk je peux plus avancer dessus ça me clc

north orchid
#

alors excuse moi mais je ne sais pas coder en javascript

#

je fais juste du html et du css mdr

keen narwhal
north orchid
#

ah oui

#

je code pas vraiment je remix du code que j'ai trouvé sur github)

keen narwhal
#

ah ok bon tanpis

#

dsl pr le ping du coup ^^

north orchid
#

pas de probleme

violet egret
#

Salut j'ai un problème si quelqu' peux m'aider sa serai d'une grande aide. J'essaie de fair en sorte que quand j'envoie ! ping le bot me réponde pong ! mais ça ne marche pas .Je demande ici si quelqu' sait pourquoi ça ne marche pas. Le code :
const Discord = require("discord.js");
const Client = new Discord.Client({
intents: [
Discord.Intents.FLAGS.GUILDS,
Discord.Intents.FLAGS.GUILD_MESSAGES
]
});

const prefix = "!";

Client.on("ready", () => {
console.log("bot opérationnel")
});

Client.on("messageCreate", message => {
if (message.author.bot) return;

if (message.content === prefix + "ping"){
message.reply("pong !");
}
});

keen narwhal
#

mais en vrai mets en codeblock c mieux

ocean bluff
#

ta les message content ?

violet egret
#

ah merci c'est bon j'ai réussi a corriger

neat lintel
#

Salut, petite question avec Nuxt.JS, j'ai un site qui fonctionne de la facon suivante:
Dans App.vue je fetch 2 routes de mon API: /categories et /articles pour récupérer les catégories et les différents articles du site et ensuite c'est dans le store ca bouge plus c'est nickel.
Cependant le principe même de Nuxt.JS est de générer des pages coté serveur pour éviter de perdre du temps dans le front avec le montage de l'app vue et c'est la que vient ma question: Vu que mon app fetch mon API etc pour générer le site et bien la génération de pages côté serveur perd un peu de son intérêt: La réponse avec la page est lente et du coup ça bouffe plein de ressources en générant une page à chaque fois alors si j'ai 1000 requêtes le serveur va générer 1000 pages identiques et j'en vois pas l’intérêt car les données de l'API sont les mêmes pour tous le monde donc je voulais savoir si y avait une autre façon de procéder ? un genre de mise en cache du site par exemple

#

D'un autre côté c'est pas un site statique non plus, les données sont susceptibles de changer X fois par jour

fleet scaffold
neat lintel
#

D'ac merci je vais regarder

fleet scaffold
#

derrière le navigateur à des fonctions sympathique pour Cacher les requêtes

neat lintel
#

ouais mais la je perd l'interet de performances avec le rendu coté serveur

fleet scaffold
#

il faut vraiment l'utiliser pour certaines choses, mais pas toutes

neat lintel
#

l'avantage que j'ai avec le SSR et que déja quand l'utilisateur va sur la page ya pas des barres de chargement partout en attendant l'API, et vu que l'API et le front sont sur le même serveur j'ai quand même une requête localhost donc ca reste relativement rapide

#

mais j'ai pensé à autre chose, plutot que mettre en cache coté Nuxt peut être mettre en cache coté API en utilisant une DB Redis je me suis dis, ca éviterai de fetch la DB SQL à chaque fois

fleet scaffold
#

Exemple avec un Web logiciel très connu

#

pterodactyl

#

qui utilise Redis pour le stockage des sessions et la mise en caches des requêtes répétitives justement justement

neat lintel
#

ouais en vrai ca devrait permettre d'avoir de bonnes perfs, et j'ai vu ce dont tu me parlais avec Static Site Itération ca a l'air d'exister dans Nuxt avec Incremental Static Generation (ISG) mais je suis pas sur que la feature soit finalisée, ils ont mit ca dans la rubrique "A venir"

fleet scaffold
#

moi je l'utilise sur Next

#

(Pas nuxt du coup)

neat lintel
#

je vais voir si je peux l'activer car j'ai pas exactement compris si la feature était implémentée ou non

fleet scaffold
#

faut combiné ça avec des Appels API en général

#

Par exemple t'as des parties statiques, qui ce régénère tout les X temps

#

(Via L'ISG)

neat lintel
#

je peux pas lui demander de regénérer spécifiquement quand ya un changement car les services sont indépendants (je sais pas quand ya un changement) mais suffit que je configure un TTL a 10mins par exemple et ca suffira

silent aurora
#

Hello, quelqu'un à déjà eu ce problème sur un projet nextjs (react)

leaden prism
#

Bonjours, pourquoi mon code me renvoie 'ser is not defined'?

bot.db.query(`SELECT * FROM server`, async(err, req)=> {
                                    for(let i=0; i<req.length; i++) {
                                        const serv = []
                                        serv.push(req[i].guild)
                                                                      
                                   
                                    }
                                    console.log(serv.length)
                                    
                                    
                    
                                }),
                                ```
queen ocean
leaden prism
#

A ok mrc

#

pourquoi sa me met sa sur le site?

queen ocean
leaden prism
#

nn c bon g trouvé mrc

keen narwhal
#

Bonjour j'ai besoins d'aide j'arrive pas a voir les commandes slash de mon bot alors que j'ai tout déployé et fait toutes les manipulation...

const fs = require('node:fs');
const path = require('node:path');
const jsonc = require('jsonc');
const { REST } = require('@discordjs/rest');
const { Routes } = require('discord.js');
const { token } = require('./config/token.json');

const commands = [];
const commandsPath = path.join(__dirname, 'commands');
const commandFiles = fs.readdirSync(commandsPath).filter(file => file.endsWith('.js'));

const { clientId, guildId } = jsonc.parse(fs.readFileSync(path.join(__dirname, 'config/config.jsonc'), 'utf8'));

for (const file of commandFiles) {
    const filePath = path.join(commandsPath, file);
    const command = require(filePath);
    commands.push(command.data.toJSON());
}

const rest = new REST({ version: '10' }).setToken(token);

rest.put(Routes.applicationGuildCommands(clientId, guildId), { body: commands })
    .then(() => console.log('Successfully registered application commands.'))
    .catch(console.error);

Voici le code du fichier deploy command

#
const { SlashCommandBuilder } = require('discord.js');

module.exports = {
    data: new SlashCommandBuilder()
        .setName('add')
        .setDescription('Add someone to the ticket')
    .addUserOption(input => 
      input.setName('user')
      .setDescription('The user to add')
      .setRequired(true)),
    async execute(interaction, client) {
    const added = interaction.options.getUser('user');
    const ticket = await client.db.get(`tickets_${interaction.channel.id}`);
    if (!ticket) return interaction.reply({content: 'Ticket not found', ephemeral: true}).catch(e => console.log(e));
    if (ticket.invited.includes(added.id)) return interaction.reply({content: 'User already added', ephemeral: true}).catch(e => console.log(e));

    if (ticket.invited.lenght >= 25) return interaction.reply({content: 'You can\'t add more than 25 users', ephemeral: true}).catch(e => console.log(e));

    client.db.push(`tickets_${interaction.channel.id}.invited`, added.id);

    await interaction.channel.permissionOverwrites.edit(added, {
      SendMessages: true,
      AddReactions: true,
      ReadMessageHistory: true,
      AttachFiles: true,
      ViewChannel: true,
    }).catch(e => console.log(e));

    interaction.reply({content: `> Added <@${added.id}> to the ticket`}).catch(e => console.log(e));

    client.log("userAdded", {
      user: {
        tag: interaction.user.tag,
        id: interaction.user.id,
        avatarURL: interaction.user.displayAvatarURL()
      },
      ticketId: ticket.id,
      ticketChannelId: interaction.channel.id,
      added: {
        id: added.id,
      }
    }, client);
    },
};

Et voici celui d'une commande

keen narwhal
#

J'ai réussi j'avais juste pas start le deploy command

uneven hare
#

salut, pour mon serv gta rp, je suis en train de faire un questionnaire avec les menus qui quand vous le démarrez, vous crée un salon et le démarre, mais j'aimerai rajouter un systeme de points et le fait de pouvoir les faire qu'une fois tous les jours

#

et je n esait pas comment faire car pour les points, si je crée une variable, c'est général et pour tout le monde et pour le faire 1 fois par jour je ne sait pas..

#

si quelqu'un sait ca serait top

regal pelican
#

Hello j'ai un probleme je suit une video sur youtube pour crée un bot discord et j'ai 2 erreur mais je ne sait pas pourquoi possible de m'aider ?

keen narwhal
#

Tu t'es trompé avec ' et "

regal pelican
#

Mrc bg

regal pelican
#

hello je reviens avec un nouveaux probleme lors de la création de ma permiere commande j'ai trouver l'erreur mais je ne sais pas comment la regler (j'ai surligner le lieu de l'erreur)

glass ore
#

C’est pas « bot.command.cache.set » jsp

regal pelican
#

sa marche toujours pas : (

glass ore
#

Je sais pas alors désolé

regal pelican
#

tkt merci quand meme

floral bolt
#

Bot.command est défini ?

regal pelican
#

il me semble

floral bolt
#

Regarde bien

regal pelican
#

l'erreur du joueur francais effectivement bot.command n'est pas defini mais sur la vidéo de support que je regarde il ne la pas defini non plus

floral bolt
#

Tu as juste oublier un « s »

regal pelican
#

ou ?

#

a discord.collections ?

floral bolt
#

Non

#

Tu as défini bot.commands

regal pelican
#

jsuis un peu tebé deso

floral bolt
#

Mais tu sets sur bot.command

regal pelican
#

je vois pas

floral bolt
regal pelican
#

faut je mette les set devant on est d'accord

floral bolt
#

Non

regal pelican
#

ptn jsuis bete

floral bolt
#

Il faut un s a command

regal pelican
#

mrc

normal lichen
#

Bonjour, excusez moi je fait un bot discord en discord js v14 via handler, et j'aimerais vérifier si le membre qui fait la commande a un rôle particulier a la place de vérifier si il a la permissions, vous savez si c'est possible ?

    data: new SlashCommandBuilder()
        .setName('wl')
        .setDescription('whitelist le membre')
        .setDefaultMemberPermissions(PermissionFlagsBits.Administrator)

Dernière ligne, j'aimerais vérifier un rôle plutôt que une permissions, merci beaucoup ^^
je connais

if (message.member.roles.has'iddurole'

mais je me demander si il y'avais pas une fonction toute faite dans le builder ^^

autumn glacier
#

A part en changeant dans les paramètres directement du serveur mais c'est tout

normal lichen
#

je vais rester sur une condition de role et c'est tout mdrr sa sera plus simple, merci x)

autumn glacier
#

Par contre tu viens de m'apprendre qu'ils avaient remis le système de permission par défaut

#

😭

normal lichen
#

lequel mdrr ?

autumn glacier
#

J'me suis arrêté à l'époque où fallait setup les permissions après avoir deploy les commandes mdrrr

normal lichen
#

ahh moi je faisait en v12 avant des bot mdrr et la j'avais envie d'essayer la v14 mais je mle rappel plus trop comment c'était x)

autumn glacier
#

Moi j'fais tout les bots en ts maintenant tu gagnes trop de temps

normal lichen
#

ah oui ? j'ai jamais essayer, ts j'en ait fait vite fait avec du react, faudra que j'essaye x)

still quest
#

Hey petit soucis en discord.js V13:
Mon image possède une écriture noir alors que je lui ai demandé blanc...

 var canvas = Canvas.createCanvas(1011, 639);
                ctx = canvas.getContext("2d");
                var background = await Canvas.loadImage("./id_card.png")
                ctx.drawImage(background, 0, 0, 1011, 639);

                ctx.font = "20px Impact"
                ctxfillStyle = "#ffffff"
                ctx.fillText(memberid.tag.toUpperCase(), 470, 120)

                var attachment = new Discord.MessageAttachment(canvas.toBuffer(), "id_card_" + memberid.tag + ".png")
                Client.channels.cache.get("1055480778596814848").send({files: [attachment]})```

Quelqu'un saurait comment régler?
still quest
#

PROBLEME TROUVE

keen narwhal
#

Quel est ton problème?

keen narwhal
#

OK

pseudo flicker
#

bonsoir j'aurais besoin d'aide pour une commande , le problème c'est que j'ai aucune erreur dans le terminal

const { prefixconfig, token, config, channelID } = require('./config.json');
const { Client, Intents, MessageEmbed, Discord, EmbedBuilder, AttachmentBuilder } = require('discord.js');

const client = new Client({
    intents: [
        Intents.FLAGS.GUILDS,
        Intents.FLAGS.GUILD_MESSAGES,
        Intents.FLAGS.MessageEmbed,
        Intents.FLAGS.GUILD_MEMBERS,
        Intents.FLAGS.MESSAGE_CONTENT
    ]
});

client.on("error", async (err) => {
    console.log(`[ANTI-CRASH] Error: ${err}`);
})

 client.on('messageCreate', async message => {
    if(message.author.bot) return;
    if (message.content.startsWith("test")) {
        console.log("maybe")
        message.channel.send({embeds: [
            new EmbedBuilder()
            .setColor(0x0099FF)
            .setTitle('Test Commande Embed')
            .setDescription('No description Found')
            //.setURL('N/A')
            //.setFooter({ text: '', iconURL: '' })
            .addFields(
                { name: 'one', value: '1' },
                { name: 'two', value: '2' },
                { name: 'three', value: '3'},
                { name: 'four', value: '4' },
                { name: 'five', value: '5' },
                )
        ]})

    }
});


client.login(token);```
pseudo flicker
#

pour l'instant aucune je veut juste voir le fonctionnement des commandes embed

#

mais le problème j'ai aucune erreur pour voir de ou viens le problème

#

attend je vais remplir

simple arch
#

( surement répondre à un "test" en affichant un embed )

pseudo flicker
#

oui après tout le monde peut lire un code mdr

simple arch
#

tu as une console nodeJS ou pas?

pseudo flicker
#

je veut juste voir le fonctionnement peut importe ce que on met dedant j'aimerais juste que ça marche

#

j'utilise le terminal VSC pour mes test sinon vps

simple arch
#

ok (pareil, vps donc console)
essaye de mettre des console log dès que possible,
genre juste apres message => {
pour voir s'il capte une commande :)

pseudo flicker
#

déjà fait dans la commande ça prend pas en compte même la gestion d'erreur affiche rien

client.on("error", async (err) => {
    console.log(`[ANTI-CRASH] Error: ${err}`);
})```
pseudo flicker
#

ça marche

keen narwhal
#

Bonjour, j'essaie de faire un hamburger en react et j'ai un petit problème avec un useState directement dans le react.developpement.js:1622 (désolé je ne sais pas trop ou posté ça ^^) cette erreur est survenue lors de l'ajout de mon components hamburger a index.js) quelqu'un aurait peut être eu ce problème? ( j'ai regardé sur le net mais pas vraiment trouvé de solution)

keen narwhal
#

message d'erreur :

"
react.development.js:1622 Uncaught TypeError: Cannot read properties of null (reading 'useState')
at Object.useState (react.development.js:1622:1)
at Hamburger (Hamburger.js:112:1)
at ./src/components/Hamburger.js (Hamburger.js:154:1)
at options.factory (react refresh:6:1)
at webpack_require (bootstrap:24:1)
at fn (hot module replacement:62:1)
at ./src/components/Title.js (SocialNetwork.js:27:1)
at options.factory (react refresh:6:1)
at webpack_require (bootstrap:24:1)
at fn (hot module replacement:62:1)
"

#

et quand j'import le useState il ne le reconnais pas

normal lichen
#

Bonjour excusez moi, savez vous comment je peut récupérer une boolOption sur un slashCommandBuilder s'il vous plait ?

autumn glacier
normal lichen
#

merci, je sais pas pk j'ai pas essayer mdrr j'ai mit juste getBool x)

floral bolt
#

import { useEffect, useState } from 'react';

#

au lieu de faire un handleclick tu peux faire : onClick={(e) => setClick(!click)}

keen narwhal
#

Bonsoir, quelqu'un serrait t'il me dire d'où viens cette erreur car je comprends pas ca me fais cette erreur sur chaque commande que j'exécute.
```js
throw new DiscordAPIError(data, "code" in data ? data.code : data.error, status, method, url, requestData);
^

DiscordAPIError[40060]: Interaction has already been acknowledged.
at SequentialHandler.runRequest (C:\Users\matba\OneDrive\Desktop\Football live bot\node_modules@discordjs\rest\dist\index.js:667:15)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async SequentialHandler.queueRequest (C:\Users\matba\OneDrive\Desktop\Football live bot\node_modules@discordjs\rest\dist\index.js:464:14)
at async REST.request (C:\Users\matba\OneDrive\Desktop\Football live bot\node_modules@discordjs\rest\dist\index.js:910:22)
at async ChatInputCommandInteraction.reply (C:\Users\matba\OneDrive\Desktop\Football live bot\node_modules\discord.js\src\structures\interfaces\InteractionResponses.js:111:5)
at async Query.<anonymous> (C:\Users\matba\OneDrive\Desktop\Football live bot\Commandes\reactionrole.js:33:13) {
requestBody: {
files: [],
json: {
type: 4,
data: {
content: undefined,
tts: false,
nonce: undefined,
embeds: undefined,
components: [ { type: 1, components: [Array] } ],
username: undefined,
avatar_url: undefined,
allowed_mentions: undefined,
flags: undefined,
message_reference: undefined,
attachments: undefined,
sticker_ids: undefined,
thread_name: undefined
}
}
},```

#
  rawError: {
    message: 'Interaction has already been acknowledged.',
    code: 40060
  },
  code: 40060,
  status: 400,
  method: 'POST',
  url: 'https://discord.com/api/v10/interactions/1055823952720699443/aW50ZXJhY3Rpb246MTA1NTgyMzk1MjcyMDY5OTQ0Mzo1cElDclJDZnNCRHJLU0pFeUNCOXBnWGFnZXk5S1BOTFZZQ0NDOFVocWxCb0tGbDVLaTlwTE9nN3VuYTdmSFBsejVwRTBsV2xORVlmRWU3ZUJVM3FUUlZxZzRsOXR5QXkxR2xXMFdSVHFaM29FVXV2Sk5kaGNjWnNiYUFGc0RPWA/callback'
}```
uneven hare
#

salut, je veux faire un bouton url pour mon bot, j'ai donc mis ca dan smon scirpt: JSON const button = new ButtonBuilder() .setLabel('Vote') .setStyle(ButtonStyle.Link) .setURL('https://top-serveurs.net/gta/vote/amonarp-semi-whitelist') client.channels.cache.get("992826398429429931").send({ embeds: [embed], components: [button]}); et j'ai cette erreur Uncaught DiscordAPIError DiscordAPIError[50035]: Invalid Form Body components[0][UNION_TYPE_CHOICES]: Value of field "type" must be one of (1,). alors que tout me semble bon...🤷‍♂️

floral bolt
#

non ton embed est comme vide

#

tu dois lui mettre une description ou un field

hardy ivy
#

Hello, je dev mon bot discord et j'aimerais, dans plusieurs de mes commandes, faire un truc un peu plus jolie en utilisant des embeds. Sauf que je pense que je mis prends mal. Il me crache cette erreur.
Merci d'avance !

copper orbit
#

c'est impossible d'envoyer un embed vide

uneven hare
hardy ivy
copper orbit
#

message.channel.send(embeds: [])

floral bolt
hardy ivy
copper orbit
#

ah si

#

oublié ^^

hardy ivy
#

ah bah donc c'est bon alors ?

copper orbit
#

oui

floral bolt
#

.setLabel('Clic ici!')

copper orbit
#

il l'a deja mis

hardy ivy
copper orbit
#

car tu as mis embed au lieu embeds

hardy ivy
#

ah oui ok

floral bolt
copper orbit
#

?

#

tu parles a Paco-rmn

#

?

floral bolt
#

ah oui jsuis teubé ce soir 😮

copper orbit
#

pg ^^

floral bolt
#

je me fatigue moi meme

simple arch
#

faudrait un truc comme sur les forums avec chacun son salon KappaCringe

simple arch
#

Salut, tu as une base de donnée dans ton bot? (.db)

normal lichen
#

Bonjour, savez vous qus qu'elle est l'event qui s'active lorsque une invitation est créer ou supprimer s'il vous plait ?

normal lichen
#

merci beaucoup !

uneven hare
frozen depot
#

Bonjour j'ai un problème avec mon Bot je souhaite transformer des commandes discord V12 en v14 mais je galère de fou

simple arch
#

📱 notlikethis

frozen depot
#

Je code pas sur téléphone....

proud acorn
#

Hello, j'ai une fetch response qui quand j'utilise la méthode .json() me donne quelque chose comme:

{to: 'fr', translated: [Array]}

Je ne comprends pas vraiment pourquoi j'obtiens [Array] sous forme de string comme cela, mais quand j'essaye d'utiliser la méthode .text() plutôt que json j'obtiens bien le texte que je veux.
Comment devrais-je m'y prendre pour obtenir mon texte tout en utilisant du JSON (plus facile a manipuler), ou peut-être simplement que d'utiliser du JSON n'est même pas nécessaire? (sachant que le snippet est simplifié).

simple arch
#

Salut,
quand tu fais un console.log (Juste avant le json) de ton data obj contenant translated, ça donne quoI?

normal lichen
#

Bonjour, quand je fait une slashcommand celle ci fonctionne mais le bot met toujours un messages disant que l'application ne répond plu, savez vous comment je peut retirer ce message ?

autumn glacier
frozen depot
floral bolt
#

Tu vas plus galéré a essayé de update ton code que de tous refaire

#

Apprend le js ça ira plus vite

icy seal
#

et recommencer depuis le début sera bien plus simple que uptade un code de v12 a v14

frozen depot
pseudo flicker
uneven hare
pseudo flicker
#

yes trop utile

hollow onyx
#

bonjour

#

des gens pour m'aider j'ai une erreur au lancement de mon bot discord

#

TypeError: Assignment to constant variable.
at Object.<anonymous> (C:\Users\aijil\OneDrive\Bureau\Project powerstress.in\main.js:17:8)
at Module._compile (node:internal/modules/cjs/loader:1218:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1272:10)
at Module.load (node:internal/modules/cjs/loader:1081:32)
at Module._load (node:internal/modules/cjs/loader:922:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:82:12)
at node:internal/main/run_main_module:23:47

fair ether
#

Coucou,
alors ça ma fais un peux près la même chose, l'erreur est du à un problème de syntaxes, regarde bien tes codes si tu n'as pas manqué de majuscule ect...

hollow onyx
hollow onyx
#

const { Client, GatewayIntentBits, Collection, ActivityType } = require('discord.js');
const config = require('./config');
const bot = new Client({
intents: [
GatewayIntentBits.Guilds,
GatewayIntentBits.GuildPresences,
GatewayIntentBits.GuildMessageReactions,
GatewayIntentBits.GuildMessages,
GatewayIntentBits.MessageContent,
GatewayIntentBits.GuildMembers,
GatewayIntentBits.GuildVoiceStates

]

})

config = require('./config');

bot.on("ready", (client) => {
console.log(Connectés à ${client.user.username} !\n + -> Le bot est utilisé sur ${client.guilds.cache.size} serveurs !);

client.user.setPresence({
    activities: [{ name: config.clients.activity, type: ActivityType.Watching}],
    status: 'dnd',
           })

})

bot.login(config.token)

#

personne sais ou j'ai fauté parce que vraiment j'vois pas

ocean bluff
#

tu ne peux pas re assigner une constante

hollow onyx
#

pourtant j'ai suivis un tuto le mec fait exactement pareil et ça marche wtf x)

ocean bluff
#

mais pourquoi tu re assigne config

#

enleve la ligne

#

elle est inutile

hollow onyx
#

ah mais elle y est deux fois dans mon fichier

#

la constante

#

merci pour le conseil je test 🙂

#

t'es un mc

#

c'était ça bg

autumn glacier
#

J'ai un doute, c'est soit message.author.guild.roles.add soit il faut que tu get l'author en tant que membre donc
message.guild.members.cache.get(message.author.id).roles.add

#

(je crois)

frozen depot
#

bonjour j'ai cette erreur à chaque fois que je fais une commande même si la commande fonctionne

floral bolt
#

Tu n’envoies pas de réponse

fair ether
#

Pour ma part j'ai quel que petit problème avec mes codes, j'ai un erreur de synthaxes pourtant je ne vois pas ou est le problème je vous envoies ça

#

const Client = new Discord.Client({
intents: [
Discord.Intents.Flags.Guilds,
Discord.intents.Flags.Guilds_Messages
]
});

Client.on("ready", () => {
console.log("bot update c'est ok!");
});

Client.on("MessageCreate", message => {
if (message.author.bot) return;

message.reply("Bien vu !");

});

loud flint
#

Je ne connais pas la lib, mais tu pourrais peut être donner le détail de ton erreur ?

#

@fair ether

fair ether
# loud flint Je ne connais pas la lib, mais tu pourrais peut être donner le détail de ton err...

Okay, alors quand je marque quel que chose dans
intents: [
Discord.Intents.Flags.Guilds
]
});
ça me met cette erreur la
at <anonymous> (/Users/mac/Documents/Programmation/index.js:5:9)
at Module._compile (internal/modules/cjs/loader:1159:14)
at Module._extensions..js (internal/modules/cjs/loader:1213:10)
at Module.load (internal/modules/cjs/loader:1037:32)
at Module._load (internal/modules/cjs/loader:878:12)
at executeUserEntryPoint (internal/modules/run_main:81:12)
at <anonymous> (internal/main/run_main_module:23:47)
Process exited with code 1

J'ai donc vu que si je ne met rien et que je laisse
intents: []}); ou intents: 1}); mon bot marche je pense que la commande n'est peut être pas reconnu ou il manque quel que chose...

#

Mais du coup je ne peux rien faire

loud flint
#

Je ne connais pas du tout la librairie donc ça va être difficile pour moi de t'aider (d'autres auront surement une meilleure connaissance des bots discord en js avec cette librairie là). Je vais tout de même essayer de faire de mon mieux en explorant la documentation (https://discordjs.guide/popular-topics/intents.html#error-disallowed-intents) :

Il semblerait que tu doives faire ceci plutôt :

const Client = new Discord.Client({
    intents: [
        Discord.GatewayIntentBits.Guilds,
        Discord.GatewayIntentBits.GuildMessages
    ]
});

Je n'ai pas pu tester évidemment puisque je n'ai pas de bot discord à disposition et que je ne connais pas la lib 🙂

(Petite précision, ce n'est pas une erreur de syntaxe que tu as mais bien une erreur de sémantique).

#

@fair ether

#

Sur la documentation que je t'ai donnée, il y a plusieurs cas 🙂

fair ether
#

Il n'y a aucun soucis là dessus honnêtement merci quand même de vouloir m'aider je vais tester ce que tu m'a donné de ce pas, puis d'un côté ça me plaît d'avoir des bugs pour pouvoir savoir c'est quoi le problème puis de les corriger ensuite, mercii beaucoup ❤️

loud flint
fair ether
loud flint
#

Nickel ! Bon courage 😉

frozen depot
floral bolt
#

Interaction.reply

frozen depot
floral bolt
#

Non ça ne marche pas

keen narwhal
#

j'ai un souci possible de m'aidez

shadow dew
#

bonsoir

#

quelqu'un c'est utiliser react et le hook useContext

floral bolt
torn fog
floral bolt
floral bolt
floral bolt
torn fog
# floral bolt ?

Non je rigole psk le mec il demande de l'aide mais en fin de compte nop

#

C'est les fameux " Quelqu'un est développeur ? "

fair ether
#

Coucou, je reviens pour un autre problème alors avec le code :


Client.on("ready", () => {
    console.log("bot update c'est ok!");
});
const { Token } = require("./config.json");
Client.login(Token)

Client.on("messageCreate", message => {
    if (message.author.bot) return;

    if(message.content === prefix + "Lauriana"){
        message.reply("je suis la");

    }
});```

Mon but étais de tester l'interaction du bot avec l'utilisateur le problème c'est que la commande marche donc cet à dire que je n'ai aucun problème d'erreur, mais pourtant malgré ça quand j'ajoute le "préfix" le bot ne dis rien, cependant quand j'enlève le préfix le bot marche correctement et interagis avec mes messages... si vous avez d'autre ligne de code pour ça je suis preneur hein ![goddamn](https://cdn.discordapp.com/emojis/710048618702307359.webp?size=128 "goddamn")
shadow dew
#

mais J'ai cette erreur que je n'arrive pas a résoudre

#
ERROR  TypeError: undefined is not an object (evaluating '_useContext.register')```
#

voila le code

floral bolt
shadow dew
#

nop

floral bolt
#

voila tu peux faire ca 🙂

shadow dew
#

ok je vais essayer

magic plover
#

Bonsoir a vous j'ai un petit souci sur une de mes commande j'essai de faire un classement donc xp + level mais le je comprend pas en quoi l'erreur et du

voila le code + erreur :

magic plover
keen narwhal
#

essaie ouais comme ca

    execute: async (enderium, interaction, user) => {
magic plover
#

Dac je test sa

magic plover
#

c'est moi qui et mis des user's' dans le userData alors qu'il y avais pas a mettre de 's' xD

#

arg

#

merci a toi ^^

keen narwhal
#

ah oui ok nickel

torpid kestrel
keen narwhal
fair ether
hollow onyx
#

salut tout le monde

#

je viens a vous car j'ai un petit soucis

#

avec mon bot j'ai essayer d'ajouter un code pour ajouter une commande warn mais il renvoie une erreur sans + de précision

#

// warn command

if (command === warn) {

  const member = message.mentions.members.first() || message.guild.members.cache.get(argument[0]) || message.guild.members.cache.find(x => x.user.username.toLowerCase() === argument.slice(0).join(" " || x.user.username === argument[0]));
  if (!message.member.permissions.has("KICK_MEMBERS")) return message.channel.send("You do not have permission to execute this command!") 
  if (!message.guild.me.permissions.has("KICK_MEMBERS")) return message.channel.send("I don't have permission to warn people!")
  if (message.member === member) return message.channel.send("You cannot warn yourself!")
  if (!member.kickable) return message.channel.send("I cannot kick this user as they have perms over me.")
  if (!argument[0]) return message.channel.send("You must specify someone in this command!")
  if (!argument[0]) return message.channel.send("You must specify someone in this command!")

  let reason = argument.slice(1).join(" ") || 'No reason given.'

  const dmEmbed = new MessageEmbed()
  .setDescription(`:white_check_mark: You were **Warned** in ${mesagge.guild.name} | ${reason}`)
  .setColor("RED")


  message.channel.send({ embeds: [embed] })
  member.send({ embeds: [dmEmbed] }).catch(err => {console.log("This user has their DMS off.")})

}

#

merci d'avance

pseudo flicker
# fair ether Et moi on peut m'aider pour ça 😂
const { Token } = require("./config.json");
const prefixes = "!"
client.on('ready', async () => {
    console.log("bot update c'est ok!");
    client.on('message', (message) => {
        if(message.author.bot) return;
        if (message.content.startsWith(prefixes + "Lauriana")) {
            console.log("Work")
            message.reply("ça marche")
        }
    })
client.login(Token);```
autumn glacier
fair ether
hollow onyx
#

c'est toi qui ma filé un coup de main pour mon problème précédent 😄

#
    at <anonymous> (c:\Users\aijil\OneDrive\Bureau\Project powerstress.in\main.js:33:1)
     at Module._compile (internal/modules/cjs/loader:1218:14)
    at Module._extensions..js (internal/modules/cjs/loader:1272:10)
    at Module.load (internal/modules/cjs/loader:1081:32)
    at Module._load (internal/modules/cjs/loader:922:12)
    at executeUserEntryPoint (internal/modules/run_main:82:12)
    at <anonymous> (internal/main/run_main_module:23:47)
Aucun débogueur disponible. Impossible d'envoyer 'variables'
Process exited with code 1 ```
autumn glacier
#

ça permettra de le mettre sous cette forme

// code
#

Mais le problème viens d'au dessus

#

j'veux bien tu mette le début de ton code

#

Il doit te manquer un let command = args[0] ou un truc du genre

hollow onyx
autumn glacier
#

Ah oui non là il te manque un gros bout

hollow onyx
#

putain les tutos youtube c'est vraiment de la D

#

j'ai beau suivre a la lettre tout de a jusqu'a z j'fini avec des erreurs x)

autumn glacier
#

ajoute:


let prefix = "!";
bot.on("messageCreate", async (message) => {

  let args = message.content.slice(prefix.length).trim().split(/ +/g);
  let messageArray = message.content.split(" ");
  let command = messageArray[0];

  if (command === `warn`) {

      const member = message.mentions.members.first() || message.guild.members.cache.get(argument[0]) || message.guild.members.cache.find(x => x.user.username.toLowerCase() === argument.slice(0).join(" " || x.user.username === argument[0]));
      if (!message.member.permissions.has("KICK_MEMBERS")) return message.channel.send("You do not have permission to execute this command!") 
      if (!message.guild.me.permissions.has("KICK_MEMBERS")) return message.channel.send("I don't have permission to warn people!")
      if (message.member === member) return message.channel.send("You cannot warn yourself!")
      if (!member.kickable) return message.channel.send("I cannot kick this user as they have perms over me.")
      if (!argument[0]) return message.channel.send("You must specify someone in this command!")
      if (!argument[0]) return message.channel.send("You must specify someone in this command!")

      let reason = argument.slice(1).join(" ") || 'No reason given.'

      const dmEmbed = new MessageEmbed()
      .setDescription(`:white_check_mark: You were **Warned** in ${mesagge.guild.name} | ${reason}`)
      .setColor("RED")


      message.channel.send({ embeds: [embed] })
      member.send({ embeds: [dmEmbed] }).catch(err => {console.log("This user has their DMS off.")})

}
});
#

bon ça risque de pas marcher du premier coup

#

mais déjà ce sera mieux

#

En gros pour recevoir les messages déjà tu dois listen l'event messageCreate, comme l'event ready que tu as fais au dessus

#

sinon si tu fais pas ça, ton bot va tenter d'executer ton code directement au lancement

fair ether
static hound
#

Heya !!! J'ai un petit soucis que j'ai du mal à comprendre 😅
Pour faire simple, suite à un CTRL+Z, je dois changer la position X et Y de mon élément par son ancienne position. Le code du changement en première image (très basique 👀 )

Et voici le résultat de la console en deuxième image. Normalement, si on suit bien, la deuxième ligne dans la console devrait être 0 0 0 0.
Mais pour un élément n'étant pas en ancienne position x: 0, y: 0, le changement est bien fait (troisième screen)

J'espère en tout cas que vous pourrez et merci d'essayer ^^

#

AH PUTAIN !!! JE L'AI !
Si prop.x ou prop.y est égal à 0, JavaScript va considérer que c'est comme un booléen. Étant donné que 0 égal false, alors il ne rentre pas dans la condition !

#

En plus, c'est évident 🤣

fair ether
hollow onyx
#

t'inquiète moi j'apprend aussi faire un bot c'est une première

#

mais avec des gens qui on l'habitude comme Bycop t'inquiète il va t'aider quand il verra ton message

fair ether
autumn glacier
#
const prefix = "!"

Client.on("ready", () => {
    console.log("bot update c'est ok!");
});
const { Token } = require("./config.json");
Client.login(Token)

Client.on("messageCreate", message => {
    if (message.author.bot) return;

    console.log("Message reçu");

    if (message.content.startsWith(prefix + "Lauriana")){
        message.reply("je suis la");
    }
});
#

d'ailleurs évite le Client en majuscule appel le plutôt client tout court

fair ether
autumn glacier
fair ether
#

Nan il me log dans la console je vois
6 message reçu je te fais une photo

autumn glacier
#

en dessous du message reçu

fair ether
#

c'est fait, ça ma fais la même chose, je vois qu'un message reçus au lieu de 6 message reçu 😔

autumn glacier
#

peut-être je vais dire une bêtise

#

mais remplace la ligne 21 par

client.on("messageCreate", (message) => {
#

jsp si ça change un truc

#

et au pire fait carrément console.log(message);

#

car c'est pas normal qu'il te log rien

fair ether
#

Il me Log rien du tout, quand je marque la commande, ça m'envoie un message reçu via ma console mais je n'ai rien sur mon serveur

autumn glacier
#

On s'en fou là du serveur j'essaye de te debug ton truc 🤣

#

les console.log ils vont pas régler le problème

#

c'est pour trouver d'où ça vient

autumn glacier
#

Tkt

autumn glacier
# fair ether 😭 pardon
client.on("messageCreate", (message) => {
    if (message.author.bot) return;

    console.log("Message reçu");
    console.log(message ?? "Unknown");
    console.log(message.content);

    if (message.content.startsWith(prefix + "Lauriana")){
        message.reply("je suis la");
    }
});
#

tu peux test ça

fair ether
#

Bien sûr attend je te dis ça

autumn glacier
#

lancer, faire la commande et screen

fair ether
#

La je n'ai aucune confirmation si le bot est mis à jour

autumn glacier
#

essaye de relancer là

#

des fois ça met plus de temps

fair ether
#

ça fait rien 😔

autumn glacier
#

regarde dm

fair ether
#

Bah vu que ça ma donné aucun message du si il a été mis à jour ça a du coup deconnecter mon bot

#

Je vais tenter avec tes code en haut si ça marche en dm

past nimbus
#

Pourquoi il fait des photo de son écran ?

fair ether
#

Pour lui montrer ce que ça me montre comme problème

past nimbus
#

Le screen fonctionne pas ?

fair ether
#

Non c'est mes codes qui ne marche pas, de base ça marche mais mon bot me log rien sur discord

loud flint
fair ether
fair ether
loud flint
fair ether
#

😂 Comme le code actuellement je ne suis qu'un novice

loud flint
#

Et ça viendra avec le temps 🙂

fair ether
#

ah bah la je t'en fait des trucs moche la je n'ai que des problèmes 🤭 y'en a je corrige et y'en a je n'y arrive pas

static sky
#

Hello, jme sens idiot là, mais à votre avis pourquoi ceci ne fonctionne pas:

data = { ... level: 8 ... }
const key = 'level';
console.log(key, data[key], data['level'], data.level);
// le log donne undefined, 8, 8

Pourquoi j'ai undefined quand j'essaye de récupérer dynamiquement ?

keen narwhal
#

Salut, j'ai un soucis avec mon guildCreate.js / Quand un membre ajoute mon bot, le bot ne crée pas de channel

const Discord = require("discord.js")
const { EmbedBuilder } = require("discord.js")
const { PermissionsBitField } = require("discord.js")
const { ChannelType, PermissionsBitField } = require('discord.js');

module.exports = async (bot, guild, db) => {
    
    let db = bot.db;
    
    db.query(`SELECT * FROM server WHERE guild = '${guild.id}'`, async (err, req) => {

        if(req.length < 1) {

           db.query(`INSERT INTO server (guild, captcha, antiraid, logs, antispam, setwelcome, setauto) VALUES  (${guild.id}, 'false', 'false', 'false', 'false', 'false', 'false')`)
        } 
    })

    guild.channels.create({
        name: 'new-channel',
        type: ChannelType.GuildText,
        permissionOverwrites: [
          {
            id: bot.guild.id,
            deny: [PermissionsBitField.Flags.ViewChannel],
          },
          {
            id: bot.user.id,
            allow: [PermissionsBitField.Flags.ViewChannel],
          },
        ],
      });
}```
keen narwhal
#

Bonjour quand je fait sa la commande /ban je met le membre et la raison sa me met sa

#

Aucune erreur dans la console

keen narwhal
magic plover
#

Bonsoir il y en a qui savent comment on peut mettre les badges discord sur une commande d'info de l'user ?

torn fog
#

il vient d'où i

#

à aucun moment il est définis

#

t'a pas confondu le q avec un i ?

autumn glacier
#

Ok non j'ai rien dis je crois tu peux faire sans maintenant

#

sinon moi je faisais en bitshift pour faire passer les flags en badge1, badge2,..

charred lake
#

Holà,
J'ai développé une petite librairie pour gérer mes images, mais impossible de l'utiliser.
Pourtant j'ai intégré mon élément :

{ src: "//sat-front-lib.kub.nwb.fr/index.js", type: "module", async: true },

Je le retrouve bien dans mon HTML :

<script src="//sat-front-lib.kub.nwb.fr/index.js" type="module" async=""></script>

Mais quand je souhaite l'utiliser :

<img src="https://www.test.fr/test.jpg" onerror="this.onerror = null; this.src = urlSecoursAbsolute('https://www.test.fr/test.jpg')" alt="tst" class="object-fit-cover">

J'ai une erreur :

Uncaught ReferenceError: urlSecoursAbsolute is not defined
    at HTMLImageElement.onerror

Je n'arrive pas à comprendre pourquoi, est-ce que mon import est mauvais ? Est-ce que c'est mon module qui est mauvais ?

Je précise que je suis sous Nuxt, je suis preneur de toute aide, car ça me sort par la tête.

magic plover
autumn saffron
#

Bonjour, quelqu'un saurait me dire ce qu'est cette erreur svp ?

Type '{ key: number; title: string; description: string; category: string; image: string; price: number; }' is not assignable to type 'IntrinsicAttributes'.

Une solution ?

Merci

fickle thunder
#

Bonjour quelqu'un pourrait m'expliquer comment marche le système de pagination svp j en ai besoin mais je ne comprends pas sont fonctionnement

past nimbus
#

Quelle pagination..?

simple arch
#

une pagination c'est découper un nombre de lignes en plusieurs pages.
exemple :
j'ai 27 résultats, je veux des pages de 10,
il y aura 3 pages contenant : 10 + 10 + 7 résultats.

fickle thunder
#

JSP si c'était compréhensible

simple arch
#

oui, comment utiliser les 25 emplacements de field, lorsqu'il y a bien plus de résultats. ça je nsais pas :s

fickle thunder
floral bolt
#

tu dois crée ton propre systeme

simple arch
#

essaye de voir dans le code source de bots qui existe déjà et qui contiennent cette fonctionnalité que tu as du voir passer :)

fickle thunder
simple arch
#

moi je conseillerai plutot d'aller voir si t'en trouve :D
(j'aime bien rectifier les expressions qui disent l'inverse de ce qu'on pense car sinon on comprend rien xD)

fickle thunder
simple arch
#

tu enleve la partie "populaire" et hop tu auras d'autres codes source :3

sharp vapor
#

Salut salut je suis en train de créer un bot discord comment on fais pour lui set un prefix svp

ancient sonnetBOT
#
Résultats de la recherche: prefix

Node.lookupPrefix()
La méthode Node.lookupPrefix() renvoie une DOMString (chaîne de caractères) contenant le préfixe d'un URI d'un espace de nom donné, s'il est présent, et null sinon. Quand plusieurs préfixes sont possibles, le résultat dépend de l'implémentation.

Element.prefix
La propriété en lecture seule Element.prefix renvoie le préfixe d'espace de noms de l'élément spécifié ou null si aucun préfixe n'est précisé.

Example:

string = element.prefix

Attr.prefix
La propriété Attr.prefix en lecture seule renvoie le préfixe de l'espace de noms de l'attribut spécifié ou null si aucun préfixe n'est spécifié.

Example:

string = attribute.prefix
#
Résultats de la recherche: discord.js
glass cargo
sharp vapor
#

et aussi quand je start debugging le bot ne veux pas se mettre en ligne je fais comment

magic plover
desert riverBOT
#

Documentation suggestion for @sharp vapor:
:method: Client#login()
Logs the client in, establishing a WebSocket connection to Discord.

glass cargo
sharp vapor
#

Debugger attached.
Waiting for the debugger to disconnect...

sharp vapor
glass cargo
#

Suis le guide. Ça va t’aider à créer un bot Discord avec DiscordJS ^^

sharp vapor
#

ça marche

hollow onyx
#

bonjour je cherche a faire un auto role

#

et j'ai une erreur

#

`` Client.on("guildMemberAdd", member => {
console.log("un membre est arrivé.");
});

Client.on("guildMemberRemove", member => {
console.log("un membre a quitté le serveur.");

}); ``

#

``Debugger attached.
Waiting for the debugger to disconnect...
node:events:994
throw new ERR_INVALID_ARG_TYPE('emitter', 'EventEmitter', emitter);
^

TypeError [ERR_INVALID_ARG_TYPE]: The "emitter" argument must be an instance of EventEmitter. Received type string ('guildMemberAdd')
at new NodeError (node:internal/errors:393:5)
at eventTargetAgnosticAddListener (node:events:994:11) ``

#

les évènements discord.js c'est un casse tete ça change tout le temps ou c'est moi ???

glass cargo
fading glacier
#

Salut salut, comment est-ce que je pourrais faire pour récupérer les 100 derniers unban avec le fetchAuditLogs, puis les 100 d'avant et ainsi de suite jusqu'à récupérer le nombre d'unbans que je souhaite ? sachant qu'on ne peut pas fetch plus de 100 logs d'un coup et que pour les 100 premiers je sais déjà faire 🙂

sharp grail
#

et bien

desert riverBOT
sharp grail
#

tu peux utiliser before

#

et prends le dernier des 100 fetch

keen narwhal
fickle thunder
#

Bonsoir je voudrai savoir si quelqu'un c'est faire des pagination j'en ai besoin urgemment merci

past nimbus
#

De la pagination sur quoi........?

fickle thunder
fickle thunder
floral bolt
fickle thunder
floral bolt
#

En gros là façons la plus simple c’est de crée plusieurs embed

#

Et chaque bouton envois un embed spécifique

fickle thunder
#

ok mais c'est gérer avec une base de donné c'est sa le pb

floral bolt
#

Bah je vois pas où est le problème mais c’est quoi que tu veux afficher ?

robust stirrup
#

bonsoir

#

quelqu'un sais pourquoi j'ai cet erreur ?

past nimbus
#

T'as pas installé le package

#

Comme te le dis l'erreur

humble pine
keen narwhal
robust stirrup
#

bsr quelqun peut maider

round valve
#

mais lis 😭

robust stirrup
#

j'ai installe discord js pourtant

humble pine
#

Hello!
Je commence tout juste à créer mon site web (Très simple) et j'aimerais y afficher un compteur relier a mon bot discord qui afficherais le nombre de guilds ou il est.
Ca fait une bonne heure que je cherche mais je ne trouve que des trucs via discord.js hors je passe juste avec l'api de discord en js web (Je suis nul en api pure et dur)

Quelqu'un pourrait m'aider ? :c Merci d'avance ! 😄

round valve
robust stirrup
#

oui

#

et donc sa comment on le resoud

round valve
humble pine
robust stirrup
humble pine
#

Pas via discord.js

round valve
round valve
robust stirrup
#

désolé j'ai du faire un truc qui va pas

round valve
humble pine
round valve
#

pourquoi pas gruger ? x)

humble pine
#

C'est a dire ? x)

round valve
#

en faite je veux pas dire de bêtise car je comprends pas vraiment ta demande enfaite x)

robust stirrup
#

ca l'ajoute pas

round valve
#

...

robust stirrup
#

j'ai fais un truc qui allais pas ?

humble pine
robust stirrup
robust stirrup
round valve
humble pine
#

Une requête de ce genre qui me donne la liste des serveurs sur lequel le bot est ^^

humble pine
#

Mais nannnn xD

robust stirrup
round valve
robust stirrup
#

sa beug sa genere pas

humble pine
robust stirrup
#

pk sa fais sa

round valve
round valve
humble pine
round valve
#

thx

robust stirrup
#

sa me refais la meme erreur

humble pine
#

Pour faire des requêtes

round valve
humble pine
#

Mais non justement j’ai pas la liste des serveurs 😭

round valve
#

on est d'accord que tu veux le nombre de serveurs ?

humble pine
#

Ui

#

Sur lequel mon bot est

round valve
#

donc tu peux faire

#
const data = requestdata;

console.log(data.length);
round valve
#

ton erreur est juste un problème de permission, a toi de vérifier ton erreur

humble pine
#

data =

robust stirrup
humble pine
#

Et y'a pas les serveurs la xD

round valve
#

attend je test car tu me rends perplexe

#

ah oui effectivement

humble pine
#

ui

round valve
#

@humble pine

humble pine
#

oh

#

att

#

Tu peux me montrer tt le code ? en changeant le token x)

round valve
#
const axios = require('axios')

const response = await axios.get('https://discord.com/api/v10/users/@me/guilds', { headers:{'Authorization': 'Bot TOKEN', 'Content-Type': 'application/json'} });
const body = response.data;
console.log(body.length + " servers");
humble pine
#

Alors att je test x)

round valve
#

x)

humble pine
#
TypeError: Cannot read properties of undefined (reading 'length')
    at Object.<anonymous> (/home/runner/AchingDeliciousMetric/index.js:6:18)
    at Module._compile (node:internal/modules/cjs/loader:1155:14)
#

Alors

#

En fait ca fonctionne

round valve
#

mets-le dans une fonction qui support le async x)

humble pine
#

ah atta

round valve
humble pine
#

wow

#

enfin

round valve
#

x)

humble pine
round valve
#

c'était si simple pourtant x)

humble pine
#

Maintenant je convertir ce code pour l'utiliser sur mon site x)

#

Merci beaucoup !

round valve
#

Pas de soucis

visual sequoia
#

Salut,

Je cherche comment réaliser une authentification par steam sur mon serveur discord quelqu'un a un idée comment faire ou la déjà fait car j'ai essayer avec express mais j'y arrive pas...

Thanks in advance!

spring oak
glass cargo
#

Salut 👋
Est-ce que quelqu'un saurait comment corriger ça ?

#

Problème corrigé à coup de @ts-ignore kappathugs

past nimbus
#

Mon dieu

red torrent
#

"problème corrigé"

past nimbus
#

Corrigé la merde en la foutant sous le tapis

red torrent
#

C'est plutôt "problème ignoré" le ts-ignore

#

Dans le constructeur du collector tu peux spécifier les types d'interaction que tu vas récupérer

#

Il me semble même que InteractionCollector a des arguments génériques

frozen depot
#

Bonjour je souhaiterais faire un dashboard qui permet de éteindre allumé un bot discord qui est sur le même serveur que le bot

dry hawk
#

yo petit question comment on ajoute du code dans notre bot discord sur Discord
DEVELOPER PORTAL Merci

mint garden
#

Tu vas dans ton bot

#

Puis dans "Commandes"

#

Tu cliques ensuite sur [+ créateur de commande]

#

Tu mets le nom de la commande puis le déclencheur

#

Tu mets le language (BDscript, BDscript2, sur pc -> javascript)

#

Et dans le "Message de réponse", tu mets ton petit code !

mint garden
#

Il suffit simplement de copier le token de ton bot et le tour est joué

dry hawk
#

donc il me faut hébergé le bot si je comprend bien ?

mint garden
#

Tu débutes en création de bots ?

dry hawk
#

j'ai deja codé mais jamais fait le rest

mint garden
#

Je connais une application pour coder ton bot et l'héberger gratuitement mais le problème, c'est qu'il faut regarder des pubs

dry hawk
#

ouais nn c bon la j'ai reussi a l'hébergé tout sa tout sa

mint garden
copper pagoda
dry hawk
#

ouais j'ai mis sur un truc gratuit

mint garden
sick mirage
#

Bonjour je voudrais s'avoir pk jais cette erreur svp si on pourrais m'aider ?

blissful summit
#

Car bot est pas défini tu as du mettre comme cela
const client = new Discord.Client();

sharp vapor
#

Je fais comment ??

keen narwhal
#

Bonjour, je suis en train de faire un bot discord avec " StartsWith " en regardant une vidéo pour savoir comment faire sauf que la commande ne s'effectue rien ne se passe aucune erreur j'ai bien regardé 2 3 fois pour n'avoir rien n'oublié mais rien n'y fait, le code de la commande :

client.on("message", message => {

    if(message.content.startsWith("!clear")) {
    message.delete();
        if(message.member.hasPermission('MANAGE_MESSAGE')) {

            let args = message.content.trim().split(/ +/g);

            if(args[1]) {
                if(!isNaN(args[1]) && args[1] >= 1 && args[1] <= 99) { 

                    message.channel.bulkDelete(args[1])
                    message.channel.send(`Vous avez supprimé ${args[1]} messages`)
                }
                else {
                    message.channel.send(`Vous devez indiquer une valeur entre 1 et 99 !`)
                }
            }
            else {
                message.channel.send(`Vous devez indiquer un nombre de message a supprimé !`)
            }
        }
        else {
            message.channel.send(`Vous devez avoir la permission de gérer les messages pour éxécuter cette commande !`)
        }
    }``` 

peut etre que c'est parce que je regarde une vidéo sur une ancienne version je ne sais pas, si quelqu'un saurait m'aiguiller ?
keen narwhal
dire latch
#

console.log(i), ligne 169 et tu regardes ce que sa te donne @keen narwhal

keen narwhal
#

Bonjour, j'utilise ElectronJS et quand je fais cette commande npm run build j'ai cette erreur :

#

Pouvez-vous m'aider ?

blissful summit
dire latch
keen narwhal
#

Yep

keen narwhal
blissful summit
#

np, faudrait check ça sur ton Discord Dev Portal

keen narwhal
#

enft

blissful summit
keen narwhal
#

V14 je pense c a cause de ça

#

Parce que je regarde une vidéo qui est en v12

blissful summit
#

J'utilise la même version, j'ai modifié quelques petites choses et ça fonctionne

#

message.member.hasPermission créé une erreur, il faut utiliser message.member.permission.has

keen narwhal
#

Je vais regardé ça

blissful summit
#
client.on("message", message => {
    if(message.content.startsWith("!clear")) {
        message.delete();
        if(message.member.permissions.has('MANAGE_MESSAGE')) {
            let args = message.content.trim().split(/ +/g);
            if(args[1]) {
                if(!isNaN(args[1]) && args[1] >= 1 && args[1] <= 99) { 
                    message.channel.bulkDelete(args[1])
                    message.channel.send(`Vous avez supprimé ${args[1]} messages`)
                }
                else {
                    message.channel.send(`Vous devez indiquer une valeur entre 1 et 99 !`)
                }
            }
            else {
                message.channel.send(`Vous devez indiquer un nombre de message a supprimé !`)
            }
        }
        else {
            message.channel.send(`Vous devez avoir la permission de gérer les messages pour éxécuter cette commande !`)
        }
    }
})
#

Essaye comme cela, de mon côté avec la même version, ça fonctionne

keen narwhal
#

Okok

red torrent
#

L'événement c'est "messageCreate" et pas "message"

keen narwhal
#

Parce que j'ai essayé avec son code et ça marche toujours pas

#

Je comprend pas

blissful summit
#

Tu as une erreur ?

keen narwhal
#

Nan toujours rien

blissful summit
#

Bizarre, de mon côté ça fonctionne sans erreur

keen narwhal
#

Genre vraiment je sais pas ce que j'aurai pu oublié / mal faire

blissful summit
#

Sans erreur ca va être compliqué :/

keen narwhal
#

Meme moi j'en ai pas mdr je comprend pas, bon bah merci quand meme je vais cherché et je redemanderai si y faut

blissful summit
#

np, bonne soirée

keen narwhal
#

A toi aussi

dire latch
#

@keen narwhalTu as bien mis les intents ?

blissful summit
dire latch
#

Qu'il montre son code ducoups

keen narwhal
#

Je vais montré attendez

#
const { Client, GatewayIntentBits, ActivityType } = require('discord.js');;
const { EmbedBuilder } = require('discord.js'); 
const { token } = require('./config.js');
const Discord = require("discord.js");
const { ReadFileSync, WriteFileSync, readFileSync, fstat } = require('fs')
const { ActionRowBuilder, ButtonBuilder, StringSelectMenuBuilder, ButtonStyle, Events } = require('discord.js');

const client = new Client({
    intents: [
        GatewayIntentBits.Guilds, 
        GatewayIntentBits.GuildMessages,
        GatewayIntentBits.MessageContent,
        GatewayIntentBits.GuildMembers,
    ],
});

client.on('ready', () => {
    console.log(`Prêt ! Connecté en tant que ${client.user.tag}`);

    // Status du bot
    client.user.setPresence({
        activities: [{ name: `Dev`, type: ActivityType.Playing }], 
        status: 'online', 
    });
});

// Notifier un arrivant et lui attribuer un role 
client.on("guildMemberAdd", member => [
    client.channels.cache.get('1039522374837612564').send(`Bienvenue ${member}!`),
    member.roles.add('1057457609969504364'),
])

// supprimer des messages
client.on("message", message => {

    if(message.content.startsWith("!clear")) {
        message.delete();
        
        if(message.member.permissions.has('MANAGE_MESSAGE')) {

            let args = message.content.trim().split(/ +/g);
            if(args[1]) {

                if(!isNaN(args[1]) && args[1] >= 1 && args[1] <= 99) { 
                    message.channel.bulkDelete(args[1])
                    message.channel.send(`Vous avez supprimé ${args[1]} messages`)
                }
                else {
                    message.channel.send(`Vous devez indiquer une valeur entre 1 et 99 !`)
                }
            }
            else {
                message.channel.send(`Vous devez indiquer un nombre de message a supprimé !`)
            }
        }
        else {
            message.channel.send(`Vous devez avoir la permission de gérer les messages pour éxécuter cette commande !`)
        }
    }
})



// token du bot (config.js)
client.login(token);
#

tout ça

sharp grail
#

mets des console.log pour voir si le code s'execute // utilise le mode debug

floral bolt
floral bolt
keen narwhal
#

le bot il a le admin en role

#

et quand je met des console.log la ou tu ma dit rien ne s'affiche

dire latch
#

client.on("message", message => {

Change en

client.on("messageCreate", message => {
  console.log("Event message OK);
#

Et test voir si tu met un message, il met un truc

#

@keen narwhal

floral bolt
dire latch
keen narwhal
#

oh ça marche

#

c bon

#

letsss go

dire latch
#

Ok nickel, et tu as changés quoi ? @keen narwhal

dire latch
#

Ok nickel

keen narwhal
#

ptn merci vraiment

#

je comprenais pas

dire latch
#

Np

red torrent
#

Donc en v14 il y a de grandes chances pour qu'il soit devenu obsolète

clear gyro
#

Quelqu’un s’y connaît en plesk svp ?

normal lichen
#

Bonjour pourriez-vous m'aider ? la console me dit :

Uncaught TypeError: Cannot read properties of null (reading 'addEventListener')
    at form.js:5:14

j'ai ce code :

const signUpButton = document.getElementById('signUp');
const signInButton = document.getElementById('signIn');
const container = document.getElementById('container');

signUpButton.addEventListener('click', () => {
    container.classList.add("right-panel-active");
});

signInButton.addEventListener('click', () => {
    container.classList.remove("right-panel-active");
});
icy oracle
normal lichen
#

Bah non... mon js est lié étant donner qu'il réussi à lire son contenue, il trouve que addEventListener est null, s'il ne trouverais pas mon fichier il me mettrait une erreur404 en console, de plus j'ai vérifier mes div est celle-ci porte le bon nom avec le même orthographe ^^

icy oracle
#

essaye temporairement avec un querySelector pour voir ?

past nimbus
#

Toujours vérifier quand un élément est nullable

normal lichen
#

je vais essayer merci

icy oracle
#

Et Scylla à raison, vérifie si ton élément existe, après là j'imagine que c'est ton code perso et que le signUpButton est forcément sur la page 🤷‍♂️

normal lichen
#

bah oui c'est mon code mdrr x)

#

je suis en php architecture mvc, le problème peut venir de la ?

#

le querySelector me met bien null, je comprend pas pk, je vais essayer de renommer mes div a et b pour voir

icy oracle
#

Quand je dis "ton code" je veux dire que c'est ton projet un peu perso

#

Sinon pour l'architecture normalement si ton JS est bien appelé dans ton HTML normalement aucun soucis

#

Tu utilises un framework ?

normal lichen
#

bah c'ets pas un projet perso, c'est pour une entreprise mais oui c'est moi qui fait tout mdrr ^^

#

non pas vraiment

icy oracle
#

Ah alors tu devrais bien vérifier tout car si quelqu'un passe derrière toi il aura plus de mal à s'y retrouver

normal lichen
#

c'est une base mvc que j'ai créer pour pas avoir a refaire mes fonctions pour la connexion et autre, on peut pas vraiment appeler sa un framework ^^

icy oracle
#

Enfin ça te regarde

normal lichen
#

oui tqt je le sais

icy oracle
#

Tu utilises webpack ou similaire pour ton CSS / JS ?

normal lichen
#

webpack

icy oracle
#

Hmm alors ça peut venir de là

#

Mais bon si tu me dis que ton JS est connecté je vois pas le problème

#

Tu appelles ton JS comment, j'avoue que quand j'utilises webpack il est déjà pré-configuré donc ça me parle pas trop

normal lichen
#

oui mon js est connecter regarde ^^

#

si pas connecter (404 not found)
si connecter erreur addEventListener

icy oracle
#

Ah bah oui du coup

normal lichen
#

en plus j'arrive a faire le querySelector x)

#

et meme juste un console.log ^^

icy oracle
#

et le 404 au dessus rien a voir ?

normal lichen
#

nop c'est pas une erreur c'est un warning

icy oracle
#

ah bon d'accord

normal lichen
#

c'est parce que j'ai pas toute les extensions ^^

icy oracle
#

et si tu console.log ton signUpButton ?

normal lichen
#

il me renvoie null

past nimbus
#

Ton js se run avant la gen de ton dom

#

C'est tout

icy oracle
#

Ouaip

#

Je pense aussi, je connais pas webpack mais soit ça vient de là, soit tu l'appelle en haut de ton HTML sans defer

normal lichen
#

oui je l'appel en début de page

icy oracle
#

ajoute defer à ta balise script

#

<script src="code.js" defer></script>

normal lichen
#

sa fonctionne merci !

icy oracle
#

merci à Scylla :)

normal lichen
#

je ne connaissait pas du tout ce mot clé merci beaucoup ! ^^

leaden prism
#

Bonjours, j'ai fait une commande /set_suggest affin de configurer des suggestions pour le serveur sauf que avec mon bot non-hébergé elle apparait mais pas avec celui hebergé alors que le bot à les memes permitions et le code est le meme pouvez vous m'aider svp

glass cargo
desert riverBOT
glass cargo
#

au lieu de .add()

normal lichen
#

Bonjour, j'essaye d'apprendre les bases de ts en essayant de faire un bot discord, mais lorsque je souhaite faire "tsc -w" la console me dit que tsc n'est pas reconnu comme non d'applet de commande, faut-il installer quelque chose ou créer une variable d'environnement ?

modern skiff
normal lichen
modern skiff
autumn glacier
leaden prism
spiral veldt
#

Hey, j'ai cette erreur mais je ne comprend pas...

Uncaught ExpectedConstraintError Error: Invalid string format
    at run (c:\Users\Utilisateur\OneDrive\Bureau\Libert'Assistant\node_modules\@sapphire\shapeshift\dist\index.js:1549:64)
    at <anonymous> (c:\Users\Utilisateur\OneDrive\Bureau\Libert'Assistant\node_modules\@sapphire\shapeshift\dist\index.js:113:66)
    at parse (c:\Users\Utilisateur\OneDrive\Bureau\Libert'Assistant\node_modules\@sapphire\shapeshift\dist\index.js:113:29)
    at validateName (c:\Users\Utilisateur\OneDrive\Bureau\Libert'Assistant\node_modules\@discordjs\builders\dist\index.js:819:17)
    at setName (c:\Users\Utilisateur\OneDrive\Bureau\Libert'Assistant\node_modules\@discordjs\builders\dist\index.js:895:5)
    at <anonymous> (c:\Users\Utilisateur\OneDrive\Bureau\Libert'Assistant\Loaders\loadSlashCommands.js:19:175)
    at _sharedAddOptionMethod (c:\Users\Utilisateur\OneDrive\Bureau\Libert'Assistant\node_modules\@discordjs\builders\dist\index.js:1262:50)
    at addStringOption (c:\Users\Utilisateur\OneDrive\Bureau\Libert'Assistant\node_modules\@discordjs\builders\dist\index.js:1251:17)
    at <anonymous> (c:\Users\Utilisateur\OneDrive\Bureau\Libert'Assistant\Loaders\loadSlashCommands.js:19:157)
    at module.exports (c:\Users\Utilisateur\OneDrive\Bureau\Libert'Assistant\Loaders\loadSlashCommands.js:9:18)
    at module.exports (c:\Users\Utilisateur\OneDrive\Bureau\Libert'Assistant\Events\ready.js:6:11)
    at emit (events:513:28)
    at triggerClientReady (c:\Users\Utilisateur\OneDrive\Bureau\Libert'Assistant\node_modules\discord.js\src\client\websocket\WebSocketManager.js:385:17)
    at checkShardsReady (c:\Users\Utilisateur\OneDrive\Bureau\Libert'Assistant\node_modules\discord.js\src\client\websocket\WebSocketManager.js:368:10)
    at <anonymous>```
#
(c:\Users\Utilisateur\OneDrive\Bureau\Libert'Assistant\node_modules\discord.js\src\client\websocket\WebSocketManager.js:194:14)
    at emit (events:513:28)
    at checkReady (c:\Users\Utilisateur\OneDrive\Bureau\Libert'Assistant\node_modules\discord.js\src\client\websocket\WebSocketShard.js:511:12)
    at onPacket (c:\Users\Utilisateur\OneDrive\Bureau\Libert'Assistant\node_modules\discord.js\src\client\websocket\WebSocketShard.js:483:16)
    at onMessage (c:\Users\Utilisateur\OneDrive\Bureau\Libert'Assistant\node_modules\discord.js\src\client\websocket\WebSocketShard.js:320:10)
    at onMessage
(c:\Users\Utilisateur\OneDrive\Bureau\Libert'Assistant\node_modules\ws\lib\event-target.js:199:18)
    at emit (events:513:28)
    at receiverOnMessage (c:\Users\Utilisateur\OneDrive\Bureau\Libert'Assistant\node_modules\ws\lib\websocket.js:1178:20)
    at emit (events:513:28)
    at dataMessage (c:\Users\Utilisateur\OneDrive\Bureau\Libert'Assistant\node_modules\ws\lib\receiver.js:528:14)
    at getData (c:\Users\Utilisateur\OneDrive\Bureau\Libert'Assistant\node_modules\ws\lib\receiver.js:446:17)
    at startLoop (c:\Users\Utilisateur\OneDrive\Bureau\Libert'Assistant\node_modules\ws\lib\receiver.js:148:22)
    at _write (c:\Users\Utilisateur\OneDrive\Bureau\Libert'Assistant\node_modules\ws\lib\receiver.js:83:10)
    at writeOrBuffer (internal/streams/writable:392:12)
    at _write (internal/streams/writable:333:10)
    at Writable.write (internal/streams/writable:337:10)
    at socketOnData (c:\Users\Utilisateur\OneDrive\Bureau\Libert'Assistant\node_modules\ws\lib\websocket.js:1272:35)
    at emit (events:513:28)
    at addChunk (internal/streams/readable:324:12)
    at readableAddChunk (internal/streams/readable:297:9)
    at Readable.push (internal/streams/readable:234:10)
    at onStreamRead (internal/stream_base_commons:190:23)
    at callbackTrampoline (internal/async_hooks:130:17)```
#

Voici mon LoadSlashCommands

#
const Discord = require("discord.js")
const { REST } = require("@discordjs/rest")
const { Routes } = require("discord.js")

module.exports = async bot => {

    let commands = []; 

    bot.commands.forEach(async command => {

        let slashcommand = new Discord.SlashCommandBuilder()
        .setName(command.name)
        .setDescription(command.description)
        .setDMPermission(command.dm)
        .setDefaultMemberPermissions(command.permission === "Aucune" ? null : command.permission)

        if(command.options?.length >= 1) {
         for(let i = 0; i < command.options.length; i++) {
            slashcommand[`add${command.options[i].type.slice(0, 1).toUpperCase() + command.options[i].type.slice(1, command.options[i].type.length)}Option`](option => option.setName(command.options[i].name).setDescription(command.options[i].description).setRequired(command.options[i].required))
         }   
        }

        await commands.push(slashcommand)
    })

    const rest = new REST({version: "10"}).setToken(bot.token)

    await rest.put(Routes.applicationCommands(bot.user.id), {body: commands})
    
    console.log("Les Slashs Commandes sont créées avec succès !")
}
#

Quelqu'un pourrait m'aider svp

glass cargo
#

Regarde le message du bot en dessous du miens

leaden prism
#

mais j'ai un handler mais ya juste celle la qui veut pas s'afficher

wet kiln
#

Bonjour, j’ai actuellement un panel pterodactyl avec l’eggs discord installer, malheureusement il utilise la version node 14 alors qu’on est déjà à la 18, comment changer la version?

glass cargo
glass ore
#

Discord JS

Sur un embed, combien de buttons max ont peut mettre ?

glass cargo
glass ore
glass cargo
#

de rien :p

wet kiln
#

mais moi sa me propose nul part de changer la version node

sharp grail
#

regarde ce qui est écrit en dessous

#

"This server's Docker image has been manually set by an administrator and cannot be changed through this UI"

#

J'ai pas compris si c'était ton panel où non, si c'est le cas bah tu peux aller le changer via le panel administrateur sinon demande à ton hébergeur

burnt shard
#

Si quelqu'un pouvait regarder mon problème

dire latch
#

@burnt shardHost --> 127.0.0.1

terse stone
#

svp

#

ca fait 1 semaine je suis coincé ici

glass cargo
terse stone
glass cargo
#

Ah x)

#

Tu as bien pensé à activer le message content intent ?

frozen depot
#

Bonjour je voudrais savoir comment faire un event qui va envoyer un message dans un channel quand le bot s'allume et s'éteint et aussi quand y'a une erreur envoyer l'erreur dans un channel

icy oracle
#

Pour que le bot s’allume c’est bot.on ou le nom de ton Discord client à la place de bot les autres je sais pas

rancid willow
#

Bonsoir, simplement une question : comment je peux faire en sorte que mon bot post quotidiennement à genre 18h un message automatique (je ne sais pas comment m'y prendre, si quelqu'un peut m'éclairer sur quoi m'orienter)

wet kiln
#

bonsoir, j'ai cette erreur sur mon bot pterodactyle sa veux dire quoi? :

/home/container/node_modules/discord.js/src/util/Util.js:348
    if (!Object.hasOwn(given, key) || given[key] === undefined) {
                ^
TypeError: Object.hasOwn is not a function
    at mergeDefault (/home/container/node_modules/discord.js/src/util/Util.js:348:17)
    at new BaseClient (/home/container/node_modules/discord.js/src/client/BaseClient.js:25:20)
    at new Client (/home/container/node_modules/discord.js/src/client/Client.js:43:5)
    at Object.<anonymous> (/home/container/main.js:3:13)
    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:79:12)
    at node:internal/main/run_main_module:17:47
glass cargo
glass cargo
#

Je tiens à préciser que javascript s'écrit collé

queen ocean
#

@floral bolt @glass cargo @feral sorrel
On est sur un Discord d’entraide, si vous voulez pas aider quelqu’un pour X ou Y raison, ne répondez tout simplement pas dans le channel 👌

#

La demande de Red reste dispo ici pour ceux qui veulent aider (vu que c’est le principe du serv)

queen ocean
queen ocean
# wet kiln c'était ca, merci ^^

Si tu veux garder la version que tu avais installé, c’est sûrement à cause de ta version de nodejs sur la machine
Sur la doc de DiscordJS il indique pour chaque version qu’elle version minimum de nodejs tu dois avoir

merry ledge
#

Salut tout le monde, j'aurais besoin d'aide assez rapidement, j'ai un soucis sur mon code JS mais je suis un nouveaux partisans du dev et je comprend pas, si quelqu'un pourrait m'aider, pingez moi si vous êtes disponible, je vous montrerais en partage d'écran ^^, MERCI !
ps : c'est pour mon portfolio

#

Alors, sa c'est mon JS, il y a seulement la première page des AC qui devrait normalement fonctionner soit : SAE1.01_AC11.01.html

#

Le problème c'est que dans la console de la page j'ai sa et je ne peux pas cliquer sur mon AC qui se trouve sur ma page web

#

C'est à dire celle-ci, quelqu'un pourrait m'aider ? C'est vraiment urgent car si je ne résout pas le problème je ne peux pas continuer..

glass cargo
merry ledge
#

@glass cargoAh attend, j'ai fais un tab sur mes deux then maintenant j'ai un autre problème

#

Maintenant j'ai sa

#

et ça me dis

glass cargo
#

Je suppose que le querySelector() ne renvoie rien :)

merry ledge
#

Voila ce que la croix me marque

keen narwhal
#

vous savez comment faire un message avec écrit rejeter le message avec un bot comment sur la capteur d'écran ?

glass cargo
keen narwhal
#

Merci

#

comme ça ?

#

sinon si vous avez un exemple je veux bien ?

visual sequoia
keen narwhal
#

Ok merci

visual sequoia
keen narwhal
visual sequoia
keen narwhal
visual sequoia
#

ah mais ses un message donc ses juste message.reply

#

@keen narwhal

keen narwhal
#

ok je vais essayer

visual sequoia
glass cargo
#

Quand je met <Interaction> devant, ça veut dire que la fonction reply() est rattachée à la classe Interaction.

#

Et deuxièmement, tu ne peux pas répondre à un message par un message éphémère.

visual sequoia
desert riverBOT
#

Documentation suggestion for @visual sequoia:
:method: Message#reply()
Send an inline reply to this message.

glass cargo
#

Look là

glass cargo
#

Dans les options, tu n’as pas ephemeral.

glass cargo
visual sequoia
#

Ah ouais je viens de test my bad

glass cargo
#

^^

keen narwhal
#

ducoup si je fais un embed avec un bouton et que je clique dessus puis je mais un message ça devrait marcher

visual sequoia
keen narwhal
#

la je le mais ou ?

glass cargo
visual sequoia
#

dans ta response a interactionCreate

glass cargo
#

Pour ça il te faudra ceci :

desert riverBOT
glass cargo
#

Voilà