#javascript-typescript

1 messages · Page 108 of 1

misty parcel
#

J'ai supprimer des roles et ça ne marche toujours pas, quelle galère

misty parcel
#

hey re

#

J'ai fais ça

#
setTimeout(async() => {
            for (let i = 0; i < tblRoles.length; i++) {
                const roleConfig = tblRoles[i];
    
                const newRole = await interaction.guild.roles.create(roleConfig).catch(console.error);
    
                if (newRole) {
                    await interaction.channel.send(`✅ le role **${newRole.name}** a été crée`).catch(console.error);
                }
            }
        }, 1000);
#

Mais ça ne marche pas : (

#

C'est sencé crée des roles a partir d'un array

#

le tableau existe bel et bien

#

Le voici d'ailleurs

const tblRoles = [
            {
                color: 'RED',
                mentionable: false,
                name: "Administrateurs",
                permissions: 'ADMINISTRATOR',
                hoist: true
            }, {
                color: 'GREY',
                mentionable: false,
                name: "Bots",
                permissions: 'ADMINISTRATOR',
                hoist: false
            }, {
                color: 'GREEN',
                mentionable: true,
                name: "Modérateurs",
                permissions: ['KICK_MEMBERS', 'BAN_MEMBERS'],
                hoist: true
            }, {
                color: 'DARK_GREEN',
                mentionable: true,
                name: "Modérateurs en formation",
                permissions: ['KICK_MEMBERS'],
                hoist: true
            }, {
                color: 'BLUE',
                mentionable: false,
                name: "Membres",
                hoist: true
            }, {
                color: 'DARK_GREY',
                mentionable: false,
                name: "muted",
                hoist: false
            }
        ]
sharp grail
#

tu peux tester avec une autre app ça marchera

misty parcel
#

rho ptn x) chiant ça

#

Comment il fait le bot xenon alors

misty parcel
#

J'ai mis des set timestamp

sharp grail
sharp grail
#

et pourquoi le setTimeout ?

misty parcel
#

euh si ça fonctionne

#

jsp on m'a dit de faire ça

#

les set timeout c'est pour pas que les action se fassent trop vite @sharp grail

#

Pour qu'il y ait une interval

#

que toutes les actions puissent se dérouler

misty parcel
sharp grail
misty parcel
#

ah bon ? 🤔 Pourtant ça à réaliser deja plus d'accions quand j'ai mis les set timeout

sharp grail
#

Nan mais

#

bien sur que ça execute la fonction, mais ça change rien

misty parcel
#

ah bon

#

ah

sharp grail
#

ça changerait si tu voudrais le faire entre chaque rôle, ou entre chaque paquet de rôle par guild par ex (pas le vas ici), et encore, c'est pas la façon forcément la plus opti et forcément utile

#

bref, là le problème c'est que tu es rate limit sur la création de rôle dans cette guild

misty parcel
#

euh non

#

ah si si si

sharp grail
misty parcel
#

Je suis perdu ptn UwU

#

le code pour crée les roles c'est ça

#
setTimeout(async() => {
            for (let i = 0; i < tblRoles.length; i++) {
                const roleConfig = tblRoles[i];
    
                const newRole = await interaction.guild.roles.create(roleConfig).catch(console.error);
    
                if (newRole) {
                    await interaction.channel.send(`✅ le role **${newRole.name}** a été crée`).catch(console.error);
                }
            }
        }, 1000);
#

donc faut que je crée les roles mais pas dans une boucle for pour que ça fonctionne ?

sharp grail
#

nan mais~

#

pour le moment ça fonctionnera juste pas

#

quoi que tu fasses

misty parcel
sharp grail
#

si tu es pressé

#

utilise une autre app

misty parcel
#

hein

#

j'ai pas compris

sharp grail
#

utilise une autre application (autre bot)

misty parcel
#

aah

#

mais pourquoi avec un autre bot ça va marcher ?

sharp grail
#

pour info je crois que tu arrêteras d'être timeout à 21h30~

bitter grotto
#

Bonjour, j'ai crée une appli de TodoList, tout fonctionne bien mais j'ai un petit probléme niveau filtres , une foit les item supprimer il devrait ne plus apparaitre, mais il me reste toujours un actif visibile dans mon filtre completed, et les autres actifs se supprime bien .. J'ai essayer un peut tout, mais sa doit etre une broutille que je trouve pas ... Quelqu'un aurait une soluce svp ? (lien du projet : https://anthoenge.github.io/todo/)

analog remnant
#

Bonjour, j'ai créé un bot réaction rôle mais quand je clique sur la réaction je n'ai pas le rôle (il n'y a aucune erreur sur visual studio code)

analog remnant
exotic spoke
#

Oui

analog remnant
# exotic spoke Oui

ça te dérange si je te fait un partage d'écran parce que sinon ça va être chaud

#

?

lost pier
#

Yooo wavey

Je suis actuellement entrain de bosser sur un script et je suis bloqué sur un « problème » du à mes connaissances limitées (je suis toujours entrain d’apprendre 😅) j’aurais besoin d’un petit coup de main j’ai quelques questions rien de plus, si quelqu’un aurait la gentillesse de venir en dm répondre à mes questions farfelues ça serait super gentil :sacultWaw:

analog remnant
lost pier
# dire latch Pose les ici 🙂

Alors pour faire "simple" je bosse sur un script qui analyse les transactions d'un wallet crypto à la recherche de transferts d'un certain token, jusque ici j'ai toutes les données dont j'ai besoin mais il faut analyser ces données.. Je regroupe toutes les données dans un tableau (le script fonctionne si un site perso) et je voudrais pouvoir analyser les données du tableau une par une mais je ne sais pas trop comment m'y prendre.. Les données que je récupèrent comporte des adresses de wallet qui sont inscrite dans le tableau et ce sont ces adresses que je souhaite analyser

#

Désolé si c'est pas très claire je peux pas faire autrement 😅

#

Après quelques recherches j'ai pensée à rassembler toutes ces données dans une base données et ensuite lancer une analyse via un script sur cette bdd mais c'est un peut complexe et je me demande si il n'y a pas une manière plus simple de le faire

left forum
#

Tu peux essayer avec du JSON je pense

past nimbus
#

Bah si tu as un tableau, travaille directement sur ce tableau...?

true bone
#

bonjour , j'ai une erreur mais je sais pas pk elle intervient

// index.js const Discord = require("discord.js")
const bot = new Discord.Client();
const token = require("./token.json")

bot.on("ready", async () => {
    bot.user.setStatus("idle")
})

bot.login(token.token);```
```js
// Erreur C:\BOTV2\node_modules\discord.js\src\client\Client.js:548
      throw new TypeError('CLIENT_MISSING_INTENTS');
      ^

TypeError [CLIENT_MISSING_INTENTS]: Valid intents must be provided for the Client.
    at Client._validateOptions (C:\BOTV2\node_modules\discord.js\src\client\Client.js:548:13)
    at new Client (C:\BOTV2\node_modules\discord.js\src\client\Client.js:76:10)
    at Object.<anonymous> (C:\BOTV2\index.js:2:13)
    at Module._compile (node:internal/modules/cjs/loader:1105:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)
    at node:internal/main/run_main_module:17:47 {
  [Symbol(code)]: 'CLIENT_MISSING_INTENTS'```
dire latch
#

Il te manque les intents @true bone

true bone
dire latch
#

Oui par exemple

true bone
#

sauf que ça fait trj la meme erreur

dire latch
#

Regarde des tutos sur ytb, doc etc 🙂

true bone
#

car je regarde lui
https://www.youtube.com/watch?v=oye2Dk654hY
mais dans cette video le mec a pas le probleme des intents

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬╣ Description ╠▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

Bonjour à tous,
Aujourd'hui on se retrouve pour le premier épisode d'une serie sur la création d'un bot Discord. Si vous trouvez un défaut a cette vidéo, faites le moi parvenir. Vous pouvez aussi me proposer des commandes a faire avec le bot sous cette vidéo. N'oubliez pas de lâcher un gros li...

▶ Play video
harsh snow
#

Bonjour, je veut mettre mes commandes en handler mais j'ai une petit erreur que je n'arrive pas a regler.

ERREUR :
TypeError: Cannot read properties of undefined (reading 'send')

CODE ```const Discord = require("discord.js");
const client = new Discord.Client({ intents: 98303 });
const drangheta = require('./config.js');
const Gamedig = require('gamedig');
const cron = require("cron");

client.on("messageCreate", message => {
if (message.author.bot) { return }
const prefix = "+";
if (!message.content.startsWith(prefix)) { return } // j'ai réglé une erreur mais y en aa une qui subsiste
const args = message.content.split(" ")
const commandName = args.shift().slice(prefix.length)
try {
const commandFile = require("./commands/" + commandName + ".js")
commandFile.run(message, client)
} catch (e) {
console.log(e)
}
})

past nimbus
#

L'erreur de vient pas de là de toute évidence...

misty parcel
#

Bonjour

#

c'est roro

#

j'ai un problème, voici mon code :

let rapportTextChannel = interaction.guild.channels.cache.find(channel => channel.name === "rapport")

        if (rapportTextChannel) {
            await rapportTextChannel.send({
                content: `Rapport : \n La template **${interaction.options.getNumber('modele')}** a été crée par ${interaction.user.username}. \n \nPour voir le rapport coplter de la template => {lien}`
            })
        }
#

le problème c'est que lem message ne s'envoie pas

#

le salon rapport existe bel et bien

neat lintel
#

le channel est bien trouvé ?

misty parcel
#

ça envoie rien donc je ne sais pas

neat lintel
#

oui mais ton bot le trouve ? dans la variable il y a quoi ?

misty parcel
#

🤷‍♂️

neat lintel
#

bah mets un console.log

misty parcel
#

J'ai pas fais de consolelog

#

ok

sharp grail
misty parcel
#

le nom est bon

sharp grail
#

donc ton channel n'est surement pas dans le cache, donc soit tu fetch tous les channels, soit tu utilises directement l'id de channel pour le fetch directement, sachant que les noms des salons ne sont pas uniques

misty parcel
#

ah euh je ne peux pas @sharp grail

#

Le salon est crée par le bot lors d'une commande

sharp grail
#

et donc ? ;-;

#

fin x), il est créé dans une autre commande ?

#

dans tous les cas sinon tu peux avoir une db ?

analog remnant
#

Bonjour, en voulant coder mon bot pour qu'il envoie un embed quand quelqu'un rejoint je reçois cette erreur

fading glacier
#

la méthode .sendMessage() n'existe pas c'est simplement .send()

analog remnant
red torrent
#

"Cannot send an empty message"

#

+1 en lecture

lone flax
#

Pour send des embeds tu dois utiliser channel.send({ embeds: [tonObjetEmbed] })

#

Juste mettre l'objet, ça ne marche plus dans les dernières versions.

#

Tu es sûrement entrain de regarder un tutoriel qui est sur une version dépassée, et tu l'appliques sur la dernière v13, il y a eu beaucoup de changements, risque pas de passer.

analog remnant
#

Je suis débutant en codage et je galère beaucoup merci beaucoup de votre aide

lone flax
harsh snow
#

Salut j'ai un problème je peut pas utilisé channel.send({ embeds: [embed] })

Code :

const Discord = require('discord.js')
const drangheta = require('../config.js');

module.exports = {
    name: "help",
    role: [drangheta.roles['Recruteur']],
    description: "Commandes du bot.",
    run: (client, message, args) => {
            const embed = new Discord.MessageEmbed()
                .setTitle("Commandes Du Bot")
                .setColor("#FF0000")
                .setAuthor({ name: "Famille El Drangheta", iconURL: "https://cdn.discordapp.com/attachments/971661141791088670/976842966968729610/NDRANGHETA_2.png" })
                .setThumbnail("https://www.pngkey.com/png/full/75-754812_question-mark-image-point-d-interrogation-png.png")
                .addField("+help", "Affiche la liste des commandes")
                .addField("+stats", "Affiche les stats des serveurs LYG")
                .addField("+mdp", "Donne le mot de passe du channel ts")
                .addField("+vote [MENTION] [NOTE]", "Crée un vote famille")
                .addField("+bureau", "Donne le mot de passe du bureau chef")
                .setFooter({ text: "Bot crée par Natanael Mazato" })
    
                console.log(embed)
        }
    }
dire latch
#

Ba message.channel.send({ embeds: [embed] });

harsh snow
near saddle
#

Ça sent le noobistan de Lucien ça

harsh snow
near saddle
#

Envoie directement l’erreur quand tu message.Channel.send

harsh snow
#
    at Object.run (C:\Users\ronia\OneDrive\Desktop\Bot Discord NodeJS\commands\help.js:21:33)
    at Client.<anonymous> (C:\Users\ronia\OneDrive\Desktop\Bot Discord NodeJS\index.js:15:21)
    at Client.emit (node:events:527:28)
    at MessageCreateAction.handle (C:\Users\ronia\OneDrive\Desktop\Bot Discord NodeJS\node_modules\discord.js\src\client\actions\MessageCreate.js:26:14)
    at Object.module.exports [as MESSAGE_CREATE] (C:\Users\ronia\OneDrive\Desktop\Bot Discord NodeJS\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)
    at WebSocketManager.handlePacket (C:\Users\ronia\OneDrive\Desktop\Bot Discord NodeJS\node_modules\discord.js\src\client\websocket\WebSocketManager.js:351:31)    
    at WebSocketShard.onPacket (C:\Users\ronia\OneDrive\Desktop\Bot Discord NodeJS\node_modules\discord.js\src\client\websocket\WebSocketShard.js:444:22)
    at WebSocketShard.onMessage (C:\Users\ronia\OneDrive\Desktop\Bot Discord NodeJS\node_modules\discord.js\src\client\websocket\WebSocketShard.js:301:10)
    at WebSocket.onMessage (C:\Users\ronia\OneDrive\Desktop\Bot Discord NodeJS\node_modules\ws\lib\event-target.js:199:18)
    at WebSocket.emit (node:events:527:28)```
misty parcel
#

ok bon @sharp grail la commande s'execute genre 20 minutes plus tard mais ça à la limite c'est pas très grave

true bone
# dire latch Ceci

j'ai un souci quand j'ouvre le terminal ça me met ça PS C:\WINDOWS\System32\WindowsPowerShell\v1.0> et quand je fait npm init -y
et apres ça met un code d'erreur ```npm ERR! code EPERM
npm ERR! syscall open
npm ERR! path C:\WINDOWS\System32\WindowsPowerShell\v1.0\package.json
npm ERR! errno -4048
npm ERR! Error: EPERM: operation not permitted, open 'C:\WINDOWS\System32\WindowsPowerShell\v1.0\package.json'
npm ERR! [Error: EPERM: operation not permitted, open 'C:\WINDOWS\System32\WindowsPowerShell\v1.0\package.json'] {
npm ERR! errno: -4048,
npm ERR! code: 'EPERM',
npm ERR! syscall: 'open',
npm ERR! path: 'C:\WINDOWS\System32\WindowsPowerShell\v1.0\package.json'
npm ERR! }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It's possible that the file was already in use (by a text editor or antivirus),
npm ERR! or that you lack permissions to access it.
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator.

npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\Johann\AppData\Local\npm-cache_logs\2022-05-22T14_30_29_683Z-debug-0.log```

lone flax
red torrent
#

Ou sinon il faut que tu ajoutes une exception à ton anti virus

true bone
red torrent
#

Comme tout logiciel oui

true bone
#

trj pareil

red torrent
#

Du coup ça vient probablement de ton anti virus

#

Tu utilises quoi comme antivirus ?

true bone
#

avast

#

pour tant avant ça me vesait pas ça

red torrent
true bone
#

je sais pas si ça vient de ça

red torrent
#

Parce-que moi j'ai le même genre de problème quand Dead by Daylight est lancé : impossible d'utiliser npm

true bone
red torrent
#

Alors que d'habitude ça t'ouvre un terminal intégré dans visual studio code?

true bone
red torrent
#

Tu dois avoir un logiciel en cours d'exécution qui bloque l'accès

near saddle
red torrent
red torrent
#

Parce-que tu vas bloquer à chaque erreur par manque de connaissance. Dans ton cas l'erreur est basique et écrite clairement

past nimbus
#

Juste ton dossier

#

T'es dans sys32

true bone
past nimbus
#

Alors ton IDE est cassé, car il te dit l'inverse ^^

red torrent
#

Non l'IDE bloque sur l'ouverture de l'exécutable du terminal (qui lui se trouve dans sys32)

true bone
#

vien dans ma voc au pire

red torrent
#

Il n'y arrive pas alors il bloque à cette étape sans exécuter la suite (le cd...)

past nimbus
#

Ouvre un terminal alors et teste d'install

true bone
#

car ça c'est le nom de mon ficher
[+] Viperr Protect

past nimbus
near saddle
#

Pour le coup j’essaie d’apprendre, mais ça n’a rien de facile

red torrent
# near saddle Étant?

c'est justement là que ça ne va pas t'aider, si à chaque message d'erreur tu viens demander à ce qu'on corrige code à ta place la solution tu n'apprendras jamais et tu n'avanceras pas

red torrent
near saddle
red torrent
#

j'essaie de t'aider à trouver la solution tout seul simplement en lisant le message d'erreur

near saddle
#

bah

#

Pour le coup

near saddle
#

TypeError: Cannot read properties of undefined (reading 'send')

#

Donc c’est le channel qui est indéfini?

red torrent
near saddle
#

En l’occurrence par le passé ça a toujours fonctionné comme ça

#

Simplement en récupérant le Channel d’envoi du message initial

red torrent
#

il n'est pas forcément indéfini sur ton serveur. Il est surtout indéfinit à l'endroit ou tu veux l'utliser

#

quand tu veux utiliser <Message>.channel tu dois vérifier certaines choses

#

déjà tu peux commencer par vérifier que ta variable message est bien ce que tu penses

near saddle
#

Donc console.log?

red torrent
#

exactement

near saddle
#

@harsh snow tu peux faire ça ? x)

red torrent
#

tu peux envoyer le console.log ici ensuite, que je te montre comment utiliser la doc discord.js

near saddle
#

La doc je commence à la comprendre un peu

#

Du moins je crois

near saddle
red torrent
#

pour voir si <Message>.channel est toujours définit ou s'il y a des cas ou il ne l'est pas

harsh snow
#

le console.log

red torrent
#

*<ref 1> Client

#

donc déjà ta variable message n'est pas le message

#

tu as peut-être inversé l'ordre des paramètres

#

essaies de console.log ta variable client

near saddle
#

Pour l’ordre des paramètres on a fait client, message, args

red torrent
#

oui mais quand il console.log(message) ça lui log l'instance de Client

harsh snow
#
    at Object.run (C:\Users\ronia\OneDrive\Desktop\Bot Discord NodeJS\commands\help.js:21:30)
    at Client.<anonymous> (C:\Users\ronia\OneDrive\Desktop\Bot Discord NodeJS\index.js:15:21)
    at Client.emit (node:events:527:28)
    at MessageCreateAction.handle (C:\Users\ronia\OneDrive\Desktop\Bot Discord NodeJS\node_modules\discord.js\src\client\actions\MessageCreate.js:26:14)
    at Object.module.exports [as MESSAGE_CREATE] (C:\Users\ronia\OneDrive\Desktop\Bot Discord NodeJS\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)
    at WebSocketManager.handlePacket (C:\Users\ronia\OneDrive\Desktop\Bot Discord NodeJS\node_modules\discord.js\src\client\websocket\WebSocketManager.js:351:31)    
    at WebSocketShard.onPacket (C:\Users\ronia\OneDrive\Desktop\Bot Discord NodeJS\node_modules\discord.js\src\client\websocket\WebSocketShard.js:444:22)
    at WebSocketShard.onMessage (C:\Users\ronia\OneDrive\Desktop\Bot Discord NodeJS\node_modules\discord.js\src\client\websocket\WebSocketShard.js:301:10)
    at WebSocket.onMessage (C:\Users\ronia\OneDrive\Desktop\Bot Discord NodeJS\node_modules\ws\lib\event-target.js:199:18)
    at WebSocket.emit (node:events:527:28)```
#

pour client

near saddle
#

T’as écrit clenit

red torrent
#

plutôt "client" que "cleint"

harsh snow
#

pas faux x)

#

ca mais pareil que en haut

red torrent
harsh snow
#

yes

red torrent
#

ok donc le problème vient de plus haut

#

montre moi le fichier messageCreate.js

near saddle
#

On l’a pas dissocié de l’index

red torrent
#

alors montre moi ta fonction messageCreate

near saddle
#

Ça vient

#

En théorie

true bone
#

petit question par rapport au bot c'est important les / commandes car moi je trouve ça eclater

red torrent
# harsh snow

Déjà tu vois que quand tu appelles la méthode run() tu envoies en argument le message puis ensuite le client

red torrent
#

donc tu peux pas lire le contenu des messages pour écouter les commandes si tu n'as pas l'intent

#

ce qui fait que tu n'as pas le choix pour faire des commandes

true bone
red torrent
#

c'est un peu une norme

true bone
#

et tu me conseil de continue a suivre ou de chercher un autre

near saddle
#

Dans la fonction messageCreate

#

On inverse l’ordre des paramètres ?

#

Enfin

#

Dans le commandFile run

red torrent
#

soit dans la fonction messageCreate, soit dans tes fichiers qui contiennent les commandes

#

peu importe

near saddle
#

Ok ok

red torrent
#

tu peux aussi envoyer la variable args en 3ème paramètre

#

si jamais tu en a besoin au moins il y sera

near saddle
#

Sinon il sera undefined dans les commandes?

red torrent
#

oui

near saddle
#

Okay

#

Merci beaucoup donc ^^

red torrent
#

ça devait t'afficher quelque-chose d'un peu différent

red torrent
#

ça sera bien plus constructif et au moins tu comprendras ce que tu fais

analog remnant
#

Je viens de créé ma commande clear et quand je le lance je reçoit l'erreur ```Uncaught Error Error: Cannot find module 'discordjs/builders'

dire latch
#

npm i @discordjs/builders -__-

#

Tu as oublié le @

analog remnant
dire latch
#

Faut le faire dans le code aussi

#

Tu les as pas mis

analog remnant
#

const { SlashCommandBuilder } = require('@discordjs/builders'); comme ça ?

dire latch
#

Oui

analog remnant
#

Une personne peut m'aider a résoudre cette erreur :

name: This field is required
    at execute (c:\Users\victo\Desktop\BOT\Bot Victor\node_modules\discord.js\src\rest\RequestHandler.js:350:13)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)```
ashen rapids
#

Tu nous a bien donné toute l'erreur ?

analog remnant
#

Oui

analog remnant
ashen rapids
#

T'as cette erreur quand tu fais quoi ?

#

Une commande ?

#

Ou direct au lancement ?

analog remnant
#

direct au lancement il me met "bot opérationnel" et instant après j'ai l'erreur

ashen rapids
#

Regarde donc ton index.js

stiff linden
analog remnant
ashen rapids
ashen rapids
analog remnant
#

je vais voir merci

keen narwhal
#

Bonjour, comment fait-on pour utiliser plusieurs fichiers sur express (par exemple : un fichier pour envoyer des mails, un autre pour l'api ...)

ashen rapids
#

Tu export des fichiers à chaque fois 😇

iron kettle
#

Hello tout le monde, petite question
Je dev actuellement une application Vue JS et j'aurais deux questions / conseils à vous demander ! 😄

  1. A quoi sert le Store ( Pinia ) concrètement et dans quel cas est-ce que vous me conseilleriez de l'utiliser ?
  2. Quelle serait la solution la plus optimale pour gérer le back end / base de données ?
    J'vais utiliser JWT Token pour l'authentification, mais pour la connexion etc ? Axios ? Laravel ?
    Je connais pas tout donc je préfère demander avant de me lancer
    Merci d'avance à ceux qui me répondront
ashen rapids
past nimbus
#

Certains te diront que l'utilisation est une bonne pratique, d'autres que non, ça va dépendre des points de vue de chacun

Laravel est un framework PHP pour faire ton API, en équivalent JS on aurait express, Nest, fastify etc...
Axios est simplement un outil pour simplifier l'utilisation de fetch

iron kettle
past nimbus
#

Donc si tu reload la page, change de page, change de navigateur etc... tu perds les data du store

iron kettle
iron kettle
past nimbus
# iron kettle D'accord, dans ce cas je ne sais pas s'il me sera vraiment utile... Tout dépend ...

Vuejs au même titre que React et Angular, sont des frameworks/libs de site single page, donc pas de changement de page à proprement parlé

Si tu gères PHP, oui même si j'ai tendance à conseiller de favoriser les mêmes langages quand c'est possible pour limiter les dettes techniques
MySQL tu le retrouvera aussi bien en PHP, qu'en NodeJS, Python etc ...
D'ailleurs je te conseille de te renseigner sur d'autres SGBD, MySQL n'a plus le monopole du SQL depuis un moment

#

Tu ne peux que reply une fois à une interaction il me semble, à voir si quelqu'un gère bien discordjs pour confirmer

iron kettle
#

( je vais manger je reviens haha )

past nimbus
#

Première réponse tu reply ensuite tu followUp

iron kettle
past nimbus
#

Tu peux simplement faire un replyOrFollowUp qui va automatiquement soit reply soit followUp en fonction des cas

#

Fais simplement une méthode qui check si l'interaction à déjà une réponse
L'objet interaction contient un boolean pour savoir ça

iron kettle
iron kettle
past nimbus
#

Regarde sur google, si tu trouves rien je t'aide

iron kettle
#

😄

past nimbus
iron kettle
#

Donc NodeJS est obligatoire pour lire / écrire dans une base de donnée ?

past nimbus
#

Si tu veux le faire en JS, oui
Enfin techniquement non mais considère que oui

La vraie réponse serait non car techniquement ton front peut se connecter à une database mais c'est pas bien du tout

iron kettle
#

Ah, bah je vais utiliser Laravel dans ce cas
Mon hébergement ne supporte pas NodeJS
Mon app sera faite en pure HTML / CSS / JS
Mais du coup j'utiliserais PHP au lieu de NodeJS

past nimbus
#

C'est quoi ton host ?

Du coup tu vas faire du SSR ou du CSR ?

#

Oui, après tu peux également en faire une fonction pour ne pas avoir à écrire ça à chaque fois

past nimbus
iron kettle
#

J'suis chez OVH

#

Mais mon hébergement supporte pas NodeJS

#

Donc obligé d'utiliser PHP dans ce cas ?

past nimbus
past nimbus
#
  replyOrFollow(interaction)({
    embeds: [fastSkynhostEmbed(`Configuration de 'l'adresse IPv4/IPv6...`)],
  });

Par exemple, comme ça tu centralises le replyOrFollow dans une méthode donc si tu as des modifs à faire par la suite c'est plus simple

#

Je t'ai juste montré le cas d'utilisation, pas la façon de l'implémenter

#

Bah c'est ce qu'il te reste à faire là x)
T'as aucune idée ?

iron kettle
past nimbus
# iron kettle Mieux d'utiliser PHP que mon front / JS

Perso je suis plus adepte du CSR car dans la majorité des cas c'est plus adapté/intéressant mais certaines personnes peuvent préférer le SSR
Par contre dans ton cas si tu as du front en VueJS et ton back en PHP, t'es obligé de faire du CSR

#

Commence déjà par faire la fonction

#

Tu sais créer une fonction ?

#

Commence par là

#

Bah on essaye de faire quoi là ?

cyan iron
#

SSR = Server Side Rendering
CSR = Client Side Rendering

true bone
#

Bonjour , petit question comment je fait si j'ai envie d'enlever mon help de mon fichier index.js
et de creer un fichier help.js et qu'il marche

true bone
#

?

#

voila mes fichier

split sigil
#

Bonjour c'est que j'ai un petit souci avec mon bot
En fait message.channel.id me met cette erreur : Cannot read property 'id' of undefined et ça me pose problème et j'arrive pas à résoudre ce problème si quelqu'un sait comment Merci de m'en informer

torn fog
true bone
# torn fog const Help = () { } export default Help

tu peut m'aider j'ai une erreur

//index.js const Discord = require ('discord.js');
const Client = new Discord.Client({

    

    intents: [
        Discord.Intents.FLAGS.GUILDS,
        Discord.Intents.FLAGS.GUILD_MESSAGES
    ]
});
Client.commands = new Collection();






['CommandUtil', 'EventUtil'].forEach(handler => { require(`./utils/handlers/${handler}`)(client) });

Client.once('ready', () => {
    console.log('Je suis prêt');
});

Client.login("**************************");



        ```

```// erreur C:\Users\Johann\OneDrive\Bureau\Viperr Protect\index.js:11
Client.commands = new Collection();
                      ^

ReferenceError: Collection is not defined
    at Object.<anonymous> (C:\Users\Johann\OneDrive\Bureau\Viperr Protect\index.js:11:23)
    at Module._compile (node:internal/modules/cjs/loader:1105:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)
    at node:internal/main/run_main_module:17:47
torn fog
red torrent
#

['CommandUtil', 'EventUtil'].forEach(handler => { require(./utils/handlers/${handler})(client) });

true bone
red torrent
#

tu n'as pas importé Collection

true bone
red torrent
#

dans celui où tu l'utilises

true bone
#

?

red torrent
#

soit tu utilises Discord.Collection soit dans ton require tu l'ajoutes

#
const Discord, {Collection} = require('discord.js');
analog remnant
#

bonjour, je teste un handler avec le commande ping qui renvoie pong a ping mais je ne reçoit rien en retour

true bone
# red torrent ```js const Discord, {Collection} = require('discord.js'); ```

C:\Users\Johann\OneDrive\Bureau\Viperr Protect\index.js:1
const Discord, {Collection} = require('discord.js');
^^^^^^^

SyntaxError: Missing initializer in const declaration
at Object.compileFunction (node:vm:352:18)
at wrapSafe (node:internal/modules/cjs/loader:1033:15)
at Module._compile (node:internal/modules/cjs/loader:1069:27)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)
at node:internal/main/run_main_module:17:47

red torrent
#

gardes ton const Discord = require('discord.js'); mais ajoutes en dessous ```js
const { Collection } = Discord;

true bone
# red torrent ouais alors ça doit pas marcher comme ça avec les requires
  throw err;
  ^

Error: Cannot find module './utils/handlers/EventUtil'
Require stack:
- C:\Users\Johann\OneDrive\Bureau\Viperr Protect\index.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at C:\Users\Johann\OneDrive\Bureau\Viperr Protect\index.js:21:51
    at Array.forEach (<anonymous>)
    at Object.<anonymous> (C:\Users\Johann\OneDrive\Bureau\Viperr Protect\index.js:21:30)
    at Module._compile (node:internal/modules/cjs/loader:1105:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
    at Module.load (node:internal/modules/cjs/loader:981:32) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [ 'C:\\Users\\Johann\\OneDrive\\Bureau\\Viperr Protect\\index.js' ]
}
PS C:\Users\Johann\OneDrive\Bureau\Viperr Protect>```
red torrent
#

Error: Cannot find module './utils/handlers/EventUtil'

#

qu'est-ce que tu veux que je te dise?

true bone
analog remnant
red torrent
#

soit il trouve pas le fichier, il n'y a pas d'export dans ton fichier

true bone
#

c'est bon

analog remnant
true bone
#

j'ai pareil

analog remnant
#

on suit le même tuto je crois

true bone
#

salut , j'aimerai faire ce tuto
https://www.youtube.com/watch?v=m-ge_9RT8oU&list=LL&index=1
dans un fichier autre a index.js genre bouton.js

Dans cette vidéo, nous voyons comment ajouter des bouton et interagir avec à l'aide de votre bot discord.
Avec la dernière version de discord.js (v13)

----- Serveur partenaire -----
Game Creators Area : https://discord.gg/K3qyS4jDwc

------- Mon serveur discord ------
https://discord.gg/4GxNn7MWmz

Documentation de discordJS : https://discord....

▶ Play video
#

qu'est ce que je doit faire pour ça?

urban stream
tired torrent
#

Hello!

Je me permets d'envoyer un message parce que je me casse le crâne sur canvas 🥵
J'ai dans mon code un tableau avec des objets mes "données"

const data = [
        {img: await Canvas.loadImage(championAvatar), x: width / 2 - 256 / 2, y: 256 / 6, color: "#fdd835"},
        {img: await Canvas.loadImage(secondAvatar), x: 0, y: 0},
        {img: await Canvas.loadImage(thirdAvatar), x: 0, y: 0}
    ];

Ces données, je voudrais les afficher sur mon canvas en utilisant un masque rond et mettre les images dessus:

data.forEach((res) => {
        ctx.drawImage(maskImg, res.x, res.y, 256, 256); // Mon masque rond
        ctx.globalCompositeOperation = "source-in";
        ctx.drawImage(res.img, res.x, res.y, 256, 256); // L'image de mon user
    })

Sauf que quand je mets une data, bah la première apparaît correctement et quand j'en met plus d'une, ça supprime la première
J'ai essayé d'use ctx.save() & ctx.restore() pour "dupliquer" mon roundedMask comme marcherais un .clone()/.cloneNode() sans succès ! 😅

Auriez-vous une idée ?
Merci ! 😄

iron kettle
#

Est-ce qu'il est possible d'utiliser Laravel / PHP dans une App VueJS pour la lier à une base de données SQL / MySQL ?
Ou est-ce que je dois faire l'inverse et créer une application Laravel a laquelle j'inclus VueJS ?

past nimbus
#

Euh... ?
Ton vuejs va être ton front, ton laravel ton back (api)
Ton front va faire des requêtes http à ton back

iron kettle
#

Oui, effectivement

#

Et j'essaie de savoir s'il est possible d'ajouter laravel a une application vue

#

Ou si je dois faire l'inverse et créer un projet laravel auquel j'ajoute vue, ce qui, je le sais, est possible

past nimbus
#

Non mais y a pas de "ajouter x à y"

#

Comprend bien front et back

golden aurora
#

Salut !
Je rencontre un petit problème: en gros j’essaie de créer un Channel dans un serveur discord. ( en djs ). J’ai seulement accès au « client » ( le nom de ma déclaration du discord client ) et je vois la plupart des gens utiliser la référence message pour ensuite créer leur Channel. Est ce que je peux le faire directement avec le client et si oui comment ?
Merci d’avance 😄

sharp grail
#

Bien sur !

#

tu auras besoin de le créer à travers une guild mais c'est bien sur possible

golden aurora
#

Ah Nice !

#

Alors j’avais déjà essayé de faire un

client.guild.channel.create(….)
et 
client.guild.createChannel(….)

Mais il m’a dit que channel.create et createChannel n’étaient pas des fonctions

sharp grail
#

ah yep x)

#
let guild = client.guilds.cache.get(id) || await client.guilds.fetch(id).catch(console.error);

guild.channels.create(...)
#

tu trouveras plus d'informations sur la doc

golden aurora
#

Ok merci beaucoup !

#

Ah oui et id c’est l’ID du Server ?

sharp grail
#

yep

#

développer mode

golden aurora
#

Ok ! Eh ba super encore merci

sharp grail
#

pas de soucis n'hésite pas à revenir vers nous en cas de problème ;)

golden aurora
#

Yes j’hésiterai pas 😀

torn fog
true bone
#

qui a la ligne de code pour mettre un status svp

ashen rapids
crude ruin
#

Hello,
I have un problème xD
Visiblement je suis pas le seul à m'être posé la question :
Pourquoi 1.10 * 3 = 3.3000000000000003 ?
Ou encore 0.35 * 3 = 1.0499999999999998 ?

J'utilise ce calcul :

price += parseInt(basket[i].quantity) * parseFloat(basket[i].price);

Je ne trouve que des propositions type "faire un Math.floor", sauf que bon, le patron risque de pas aimer que sa baguette soit vendu 1€ en ligne ou qu'on fasse cadeau de 4 centimes pour des chouquettes xD

past nimbus
#

à toi de définir la partie utile, typiquement si tu bosses qu'avec des euros, pas besoin du troisième chiffre significatif

crude ruin
#

Oui j'y ai pensé, sauf que 3 chouquettes devraient donner 1.05€, là ça donne 1.49

#

Et bon, j'ai pas toute la liste de ses produits, et elle risque de bouger, donc je peux pas d'avance me dire "fck it si ça fini par un 9 je met un 0 et +1 sur le chiffre d'avant", vu qu'il vendra peut-être un truc à .99ct '-'

past nimbus
#

par exemple

crude ruin
#

oh

#

incrédible

past nimbus
#

Comme dit, suffit de définir la partie utile

#

Et sinon, ce que la majorité des app font, c'est calculer en cents

crude ruin
#

Par le passé je n'avoir point trouvé telle sorcellerie, merci beaucoup '-'

#

Ah ?

past nimbus
#

On stocke tous en cents et le problème est réglé pour cette partie

#

Si ta baguette coute 1€50, tu stockes 150 et tu vas simplement / 100 lors de l'affichage à l'utilisateur

#

Sachant que la deuxième solution est la plus "propre"et qui va t'éviter d'avoir des decimaux dans ta db

#

En informatique, calculer des nombres à virgules c'est chiant, donc on s'adapte

crude ruin
#

Ooooh, oui effectivement pas con '-'

#

Merci beaucoup !

past nimbus
#

np

true bone
ashen rapids
#

Envoie moi le lien et je t'explique comment ça fonctionne

true bone
ashen rapids
#

Tu sais coder un peu ou vraiment pas ?

broken solar
#

Bonsoir, quelqu'un aurait une idée de comment modifier la taille d'une border en fonction de plusieurs valeurs ? Comme la photo ci-dessous ?

bitter mango
vivid bramble
#

quelqu'un peut me dire pourquoi mon bot ne se lance pas ?

bitter mango
vivid bramble
#

pardon 😂

#
const client = new Client({intents: 3});
const { TOKEN } = require("./config.json");

client.once("ready", () => {
    console.log("BOT ON");
    client.user.setActivity("Ecoute Yuston XIII", {type: "PLAYING"})
});

client.login(Token)```
#

et mon config.json :

#
    "Token": "OTc4NjgyNTU0NjI0Mzg5MjUx.G-D5cx.8k1EuCIP5gDmLewO6KUkR5IbvAeZYLSOyl2IOA"
}```
lone flax
bitter mango
#

Ton token bg

#

supprime

vivid bramble
#

blc je le reset

bitter mango
#

vite

#

ah ok mdr

vivid bramble
#

x)

lone flax
#

C’est parce que tu as mis TOKEN en maj quand tu require ta config

vivid bramble
#

Ah..

#

le boulet

lone flax
#

Alors que dans ton fichier config il y a que le T en maj

#

Yes

vivid bramble
#

tjrs la meme erreur

#

alors que j'ai mis Token

broken solar
bitter mango
#

Si tu veux te simplifier la vie crée toi une règle, tout est en minuscule et quand tu veux faire deux mots, une maj au debut du nouveau mot gere coucouJeTuElle

vivid bramble
bitter mango
#

T'es sur que tu a toutes t'es dépendances ?

vivid bramble
#

bah j'ai pourtant bien npm discord.js

#

ah...

#

not compatible '-'

raw birch
vivid bramble
#

comment j'peux installer le 16 ? si le 14 est deja dl

raw birch
broken solar
bitter mango
#

Tu réinstalle

vivid bramble
#

comme ça c'est bon?

bitter mango
#

oui normalement

vivid bramble
#

bah non tjrs en 14 ... :/

bitter mango
#

sinon utilise nve il me semble

#

faut que tu executes le script

vivid bramble
#

ok

raw birch
vivid bramble
#

ah bah c'est bon ^^

raw birch
vivid bramble
#

mtn il me dit que mon token est pas mis alors que si --'

bitter mango
#

remontre ton code

vivid bramble
#
const client = new Client({intents: 3});
const { Token } = require("./config.json");

client.once("ready", () => {
    console.log("BOT ON");
    client.user.setActivity("Ecoute Yuston XIII", {type: "PLAYING"})
});

client.login(Token)```
raw birch
bitter mango
#

essaie de console log ta const

vivid bramble
raw birch
#

Bizarre

bitter mango
#

sinon le plus simple c'est env hein c'est plus secure

vivid bramble
#

ah nan c'est bon j'avais oublier de changer le token vu que j'ai reset

#

mtn quand je "node ."

#

ca me mets ça

#

mon bot est tjrs pas on

raw birch
vivid bramble
#

ca ?

raw birch
#

Oui

vivid bramble
#

Aaaaah c'est bon

#

tu as regler mon soucis bg

#

merci

raw birch
#

Pas de problème

true bone
vivid bramble
#

client.user.setActivity("Ecoute Yuston XIII", {type: "PLAYING"})

true bone
#

ptit tips

#

et mrc

vivid bramble
#

??? x)

#

ah ok merci

true bone
vivid bramble
#

normal

#

LISTENING

#

et pas LISENING

true bone
#

my bad

#

Probleme avec ma commande +help

Bot [+] Viperr Proctect#4139 en ligne
Une erreur est survenue :
TypeError: command.execute is not a function
// ./Commands/Help.js
const Discord = require('discord.js');
const { readdirSync } = require('fs');
const Client = new Discord.Client(({intents : [98045]}))

module.exports = {
    name: 'help',
    descirption: 'Commande Help',
}
Client.on("messageCreate", message => {
    if (message.author.bot) return;
if(message.content === prefix + "help"){
    const embed = new Discord.MessageEmbed
    .setColor("#2400FF")
    .setTitle("Liste des commandes")
    .setAuthor("Coded By Terror#0999", "https://i.imgur.com/QhpmKwE.gif")
    .setDescription("**__Vous y trouverez la liste des commandes du bot__**")
    .addField("**__+help__**", "**Permet de voir toutes les commandes**")
    .addField("**__+add__**", "**Permet de voir les différent bouton**")
    .addField("**__+ms__**", "**Permet de voir la latence du bot**")

    
message.reply({ embeds: [embed]});
}
})


    }```
glass cargo
#

C’est pas dur à comprendre ^^

true bone
glass cargo
#

Ah xD

true bone
#

ça me fait ça qu'avec help mes deux autre commandes marche

glass cargo
#

🤔

#

Ah ben logique x)

#

Ta commande est en dehors du client.on() XD

glass cargo
#

Tu viens de modifier le message KappaCringe

true bone
#

oui car j'ai corriger le code mon ancien erreur

glass cargo
#

Okay

#

Et je comprends pas le module.exports dans le fichier main 🤔

true bone
glass cargo
#

Alors pourquoi tu crée un client ?

true bone
true bone
glass cargo
#

Tu peux me montrer ton messageCreate ?

true bone
#
// module.exports = {
    name: 'messageCreate',
    once: false,
    async execute (message, Client) {
        if (message.author.bot) return;
        if (!message.content.toLowerCase().startsWith(Client.prefix)) return;
        if (message.channel.type === 'DM') return;

        const args = message.content.slice(Client.prefix.length).trim().split(/ +/);
        const commandName = args.shift().toLowerCase();

        if (!Client.commands.has(commandName)) return console.log(`No commandName : ${commandName}`) && message.reply(`\`No command named : ${commandName}\``);

        const command = Client.commands.get(commandName);
        try {
            command.execute(message, args, Client);
        } catch (err) {
            console.error(`Une erreur est survenue :\n${err}`);
        };
    },
}```
glass cargo
#
// ./Commands/Help.js
const Discord = require('discord.js');
const { readdirSync } = require('fs');

module.exports = {
    name: 'help',
    descirption: 'Commande Help',
   async execute (message, args, client) {
    if (message.author.bot) return;
if(message.content === prefix + "help"){
    const embed = new Discord.MessageEmbed
    .setColor("#2400FF")
    .setTitle("Liste des commandes")
    .setAuthor("Coded By Terror#0999", "https://i.imgur.com/QhpmKwE.gif")
    .setDescription("**__Vous y trouverez la liste des commandes du bot__**")
    .addField("**__+help__**", "**Permet de voir toutes les commandes**")
    .addField("**__+add__**", "**Permet de voir les différent bouton**")
    .addField("**__+ms__**", "**Permet de voir la latence du bot**")

    
message.reply({ embeds: [embed]});
}
}```
#

Essaie ça pour la commande help.

true bone
#

// 
if(message.content === prefix + "help"){
                       ^

ReferenceError: prefix is not defined
    at Object.execute (C:\Users\Johann\OneDrive\Bureau\Viperr Protect\commands\help.js:9:24)
    at Object.execute (C:\Users\Johann\OneDrive\Bureau\Viperr Protect\events\messageCreate.js:16:21)
    at Client.<anonymous> (C:\Users\Johann\OneDrive\Bureau\Viperr Protect\index.js:26:50)
    at Client.emit (node:events:527:28)
    at MessageCreateAction.handle (C:\Users\Johann\OneDrive\Bureau\Viperr Protect\node_modules\discord.js\src\client\actions\MessageCreate.js:26:14)
    at Object.module.exports [as MESSAGE_CREATE] (C:\Users\Johann\OneDrive\Bureau\Viperr Protect\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)
    at WebSocketManager.handlePacket (C:\Users\Johann\OneDrive\Bureau\Viperr Protect\node_modules\discord.js\src\client\websocket\WebSocketManager.js:351:31)
    at WebSocketShard.onPacket (C:\Users\Johann\OneDrive\Bureau\Viperr Protect\node_modules\discord.js\src\client\websocket\WebSocketShard.js:444:22)
    at WebSocketShard.onMessage (C:\Users\Johann\OneDrive\Bureau\Viperr Protect\node_modules\discord.js\src\client\websocket\WebSocketShard.js:301:10)
    at WebSocket.onMessage (C:\Users\Johann\OneDrive\Bureau\Viperr Protect\node_modules\ws\lib\event-target.js:199:18)
PS C:\Users\Johann\OneDrive\Bureau\Viperr Protect> ^C```
#

il y en dans mon index.js

red torrent
#

Tu peux pas essayer de lire le message d'erreur avant de l'envoyer ?

#

Parce-que ça donne l'impression qu'on code ton bot à ta place

glass cargo
#

....

#

Il est pas dans le help.js

bitter mango
#

if (message.content === Client.prefix + help) {}

bitter mango
red torrent
bitter mango
#

Même sans connaitre js tu sais lire et tu comprend vite où est l'erreur si tu cherche vraiment par toi même et que tu va pas sur un serveur des le petit problème

mystic bison
#

@remote lark

remote lark
#

?

signal marsh
#

Bonsoir j'aurais besoin d'aide, ci dessous je veut que lorsque une personne change son speudo ça change dans la data. Sauf lorsque je change mon speudo rien ne ce passe. Merci d'avance 😉

#
    client.on('guildMemberUpdate', (oldMember, newMember) => {

        console.log(newMember)
        console.log(oldMember)
        if (oldMember.nickname !== newMember.nickname) {
            db.query(`SELECT * FROM user WHERE id = '${newMember.user.id}'`, (err, rows) => {
                db.query(`UPDATE user SET username = '${newMember.user.username}'`)
            })
        }
    })
past nimbus
#

Avant toute chose, est-ce que t'as vraiment besoin de stocker ça ?

signal marsh
#

oui, car sinon la data n'est pas actualisée

past nimbus
#

Non, ce que je veux dire, est-ce que c'est vraiment pertinent d'avoir cette data en base de données ?

signal marsh
#

oui

past nimbus
#

Bon, soit

Tu as déjà debug ton code un peu ?

signal marsh
#

cette à dire ?

past nimbus
#

Bah tu as déjà tester certaines choses ?

signal marsh
#

oui, mais sans succès

past nimbus
#

Et du coup, tu as testé quoi...? On va éviter de perdre du temps, donne les info utiles ^^'

signal marsh
#

changer speudo serveur, speudo utilisateur, enlever un role, mettre un nouveau role mais aucun retour

past nimbus
#

Et donc...? Le hook est bien trigger ?
Si oui, le code s'arrête où ?

signal marsh
#

Le code ne s'exécute même pas (aucune erreur, rien dans la console),
Je ne sais malheureusement pas ce que veux dire "Le hook est bien trigger ? "

past nimbus
#

Eh bien faudrait commencer par là ^^', je pense que simplement avec ces info et une recherche google tu auras ta réponse
Un hook c'est une fonction qui va écouter un event. Le hook est trigger quand cet event est "entendu"

signal marsh
past nimbus
#

ouch..

signal marsh
#

Je le prend bien tkt

past nimbus
#

mmh

#

Bon, t'as fais ta recherche google ?

torn fog
#

Letsss goo spam les requêtes SQL

quartz hull
#

Hello everybody! :)
Par hasard, quelqu’un parmi vous fait du React Native?

quartz hull
quartz hull
# torn fog Oui

Je suis en train de bosser sur une appli pour mon projet d'examen.
Dans le moment où j'essaie d'utiliser le chart que j'ai dl j'ai eu des erreurs que j'ai réussi à résoudre, mais le problème que j'ai toujours, c'est que je ne vois pas le dot...et pour fermer le chart (qui veut pas se fermer avec le swipe, j'ai du utiliser une stratégie pourrie; un const closeModal dans une balise text)

#

Je m'excuse pour le dérangement et le petit spam ^^'

#

J'ai essaye de me débrouiller tout seul en créchant sur internet, mais j'ai quasiment rien trouve et je suis le seul dans mon école qui fait du React Native

true bone
#

j'ai un probleme ça me dit bot is not defined comment je fait pour le const vue que j'ai pas de fichier bot?
c

new Bot(new embedManager(), new componentManager)
^

ReferenceError: Bot is not defined
    at Object.<anonymous> (C:\Users\Johann\OneDrive\Bureau\Viperr Protect\index.js:7:1)
    at Module._compile (node:internal/modules/cjs/loader:1105:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)
    at node:internal/main/run_main_module:17:47```


```js
// 
const Discord = require('discord.js');
const { readdirSync } = require('fs');
const compenentManager = require('./manager/compenentManager');
const Client = new Discord.Client(({intents : [98045]}))
const componentManager = require('./manager/compenentManager')
const embedManager = require('./manager/emebedManager')
new Bot(new embedManager(), new componentManager)


Client.prefix = '+'; // Le préfixe
Client.commands = new Discord.Collection;

Client.on('ready', () => {
Client.user.setPresence({ activities: [{ name: 'Coded By Terror', type: 'STREAMING' }] });
})

const commandFiles = readdirSync('./Commands').filter(file => file.endsWith('.js'));
const eventFiles = readdirSync('./Events').filter(file => file.endsWith('.js'));

for (const file of commandFiles){
    const command = require(`./commands/${file}`);
    Client.commands.set(command.name, command);
}

for (const file of eventFiles) {
    const event = require(`./events/${file}`);
    if (event.once) {
        Client.once(event.name, (...args) => event.execute(...args, Client));
    } else {
        Client.on(event.name, (...args) => event.execute(...args, Client));
    }
}
constructor(embedManager, compenentManager)
this.embedManager = embedManager
this.compenentManager = compenentManager

dire latch
#

new Client ? @true bone

true bone
# dire latch **new Client** ? <@966294231532572692>

pas bete et la comment je fait pour le new
askip c'et une erreur

new Client(new embedManager(), new componentManager)
^

TypeError: Client is not a constructor
    at Object.<anonymous> (C:\Users\Johann\OneDrive\Bureau\Viperr Protect\index.js:7:1)
    at Module._compile (node:internal/modules/cjs/loader:1105:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)
    at node:internal/main/run_main_module:17:47```
true bone
past nimbus
#

La seule chose qui peut réellement t'aider c'est que t'apprennes le js

#

Au moins un minimum

dire latch
ashen rapids
#

Si tu cherches quelqu'un pour dev à ta place, tu peux mettre une offre sur le site !

ancient sonnetBOT
#
🔎 Les offres de GCA !

Tu es à la recherche d'un créateur de contenu ?
D'un super développeur pour te faire le nouveau site de l'année, ou encore d'un graphiste pour réaliser le logo de ton serveur ?

Clique ici et tu trouveras ton bonheur !
Il te suffit simplement de créer ton offre en détaillant précisemment ce que tu recherches 👌

steep forge
#

bonjoiur bonsoir !

#

j'ai un probleme avec mon bot ou avace discord je sais pas

#

en gros
de base j'ai un bot
et pour un projet lier, j'ai créé une copie de ce bot pour certaine raison

j'ai donc juste pris dossier non modifié du bot de base ( donc sans les données de serveur, comme quand je l'ai lancer)
j'ai créé une nouvelle aplication sur discord ect..

et j'ai changer uniquement le token dans les fichier du 2eme, le reste est le meme
et je ne sais pas pourqois , mais bien que l'aplication est config pareille et qu'il a les perms , mes commandes slash ne sont pas syncronysé avce les serveur
sur les intégration, j'ai bien le truc de commande slash pour les gere , mais les commande ne sont tout simplement pas la comme si il y en avais aucne

j'ai essayer de reprendre le dossier vierge et de rehost le bot de base avce, et poutan bah les commandes y sonts

donc je ne voie absuloment pas d'ou le pb peux venir avec le deuxiemme
je n'ai aucune erreur sur ma console au lancement, les event et les commande se charge sans probleme
ici il apparais bien en ligne, mais les commandes n'y sonts pas

dire latch
#

Il faut inviter ton bot avec les / commands@steep forge

steep forge
#

enfin j'ai utiliser le bouton " inviter " qui est dessus quois

#

et sur le 1er c'st comme ca que les autre l'ajoute et sa fonctionne bien

dire latch
#

Et tu met les perms en bas

#

Et tu copy le lien

steep forge
#

je try pour voir

#

nope toujour pas

#

j'ai juste ca mais elle sonts toujours pas la

dire latch
#

Ton code est pas bon alors 🤔

#

Ou sois tu les intègres mais tu dois attendre 1H

steep forge
#

bah c'est exactement le meme code que le bot de base

#

le seul truc que j'ai changé c'est le token

steep forge
dire latch
#

Les /, tu dois attendre 1H pour que sa fonctionne

#

Sauf si tu le fais pour 1 discord directement

steep forge
#

bah il est en logne depuis hier soir je l'es laisser tourné toute la nuit

dire latch
#

Oui mais tu l'avais pas invité avec les /

#

Essaye de relancer ton bot 🙂

#

Et tu attends les 1H ducoups

steep forge
#

dak

#

du coup la je l'es stop j'ai attendu qu'il soit en hors ligne te je l'es relancer

#

et en soit
bha tout fontion j'ai rien de plus ni de moi que sur le 1er

#

du coup je fais comme t'as dir je vias attendre j'uqye 20h et je verrais si les commandes sont la

dire latch
#

Yes 🙂

oak turret
#

les badges sont des rôles

#

il suffit de check si le membre l’a ou pas

#

en fonction un emoji s’affiche

#

c’est pas plus compliqué

steep forge
#

;-;

broken solar
#

Bonsoir, quelqu'un aurait une idée de comment executer une function toutes les x heure côté back ?

past nimbus
past nimbus
onyx dagger
#

Si qlq peux m'aider ^^

red torrent
#

Il faut que le role @everyone ai le droit d'utiliser des emojis d'autres serveurs. Ton bot n'affiche probablement pas les emojis custom quand il essaie d'en afficher dans une réponse à une interaction

#

Les interactions sont soumises aux permissions des webhooks (donc everyone)

cyan iron
#

Complètement débile d'ailleurs il faudrait changer ça

red torrent
#

C'est parce-qu'une réponse à une interaction utilise un token similaire à celui des webhooks

cyan iron
#

Ils ont la flemme

true bone
#

Bonjour , j'ai un souci avec mon système de ticket
voici mon erreur ```C:\Users\Johann\OneDrive\Bureau\Viperr Protect\commands\ticket.js:17
Client.channels.cache.get("971399473756528670").send({content: "Appuyez sur le bouton pour ouvrir un ticket", components: [row]})
^

TypeError: Cannot read properties of undefined (reading 'send')
at Object.<anonymous> (C:\Users\Johann\OneDrive\Bureau\Viperr Protect\commands\ticket.js:17:48)
at Module._compile (node:internal/modules/cjs/loader:1105:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.<anonymous> (C:\Users\Johann\OneDrive\Bureau\Viperr Protect\index.js:17:21)
at Module._compile (node:internal/modules/cjs/loader:1105:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)voici mon codejs
// ticket.js const Discord = require('discord.js');
const Client = new Discord.Client(({intents : [98045]}))
module.exports = {
name: 'ticket',
descirption: 'Envoie le bouton pour ajoutez le bot',
}
var nbTicket = 0;

Client.on("ready", async () => {
var row = new Discord.MessageActionRow
.addComponents(new Discord.MessageButton)
.setCustomId("open-ticket")
.setLabel("ouvrir un ticket")
.setStyle("PRIMARY")
});

Client.channels.cache.get("971399473756528670").send({content: "Appuyez sur le bouton pour ouvrir un ticket", components: [row]})
Client.channels.cache.get("978980709496684585").send({content: "Appuyez sur le bouton pour ouvrir un ticket", components: [row]})

normal lichen
odd pendant
#

Salut ! : J'ai une erreur avec ping-lite sur mon hébergeur 😉

/home/container/node_modules/ping-lite/ping-lite.js:39
    throw new Error('Could not detect '+this._bin+' on your system');
          ^
Error: Could not detect /bin/ping on your system
    at new Ping (/home/container/node_modules/ping-lite/ping-lite.js:39:11)
    at Timeout._onTimeout (/home/container/index.js:49:19)
    at listOnTimeout (node:internal/timers:559:17)```
past nimbus
#

Tu utilises vraiment un module pour ping..?

true bone
normal lichen
sharp grail
true bone
sharp grail
#

...

#

Ton erreur signifie clairement que ton get renvoie undefined

#

Donc ton channel n'est pas en cache

#

Maintenant si tu persistes a croire que c'est le send vas y mais c'est pas le réel problème

true bone
#

j'ai un souci toute mes commande marche sauf ticket

le code```js
// ticket.js
const Discord = require('discord.js');
const Client = new Discord.Client(({intents : [98045]}))
module.exports = {
name: 'ticket',
descirption: 'Envoie le bouton pour ajoutez le bot',
permissions: Discord.Permissions.FLAGS.MANAGE_GUILD,

async run(bot, message, args) {
    if(message.content === prefix + "ticket"){

    let Embed = new Discord.MessageEmbed()
    .setColor("#2400FF")
    .setTitle('**__Ticket__**')
    .setDescription("**Appuyez sur le bouton ci-dessous pour ouvrir un ticket**")
    .setThumbnail("https://media.discordapp.net/attachments/977535850747428894/978721115604135956/Viperr.gif")
    .setFooter({ text: 'Ce bot a été créer par Terror#0999'}) 

}
}
}

erreurPS C:\Users\Johann\OneDrive\Bureau\Viperr Protect> node index
Bot [+] Viperr Proctect#4139 en ligne
Une erreur est survenue :
TypeError: command.execute is not a function```

past nimbus
#

Montre une autre de tes commandes par hasard @true bone

red torrent
#

"Que se passerait-il si je lisais le message d'erreur avant de demander de l'aide ?"

true bone
# past nimbus Montre une autre de tes commandes par hasard <@966294231532572692>
const { readdirSync } = require('fs');
const Client = new Discord.Client(({intents : [98045]}))
const prefix = '+'

module.exports = {
    name: 'help',
    descirption: 'Commande Help',
   async execute (message, args, client) {
    if (message.author.bot) return;
if(message.content === prefix + "help"){
    const embed = new Discord.MessageEmbed()
    .setColor("#2400FF")
    .setTitle("Liste des commandes")
    .setAuthor("Coded By Terror#0999", "https://i.imgur.com/QhpmKwE.gif")
    .setDescription("**__Vous y trouverez la liste des commandes du bot__**")
    .addField("**__+help__**", "**Permet de voir toutes les commandes**")

    .addField("**__+add__**", "**Permet de voir les différent bouton**")
    
    .addField("**__+ms__**", "**Permet de voir la latence du bot**")
    .setImage("https://media.discordapp.net/attachments/977535850747428894/978721115604135956/Viperr.gif")
    .setFooter({ text: 'Ce bot a été créer par Terror#0999'}) 
    
message.reply({ embeds: [embed]});
}
}}```
past nimbus
#

Voilà, maintenant tu compares et tu déduis

#

Et faut pas copier/coller le code d'internet sans comprendre

full prawn
#

yo. Sur un menu deroulant, un titre est egixé avec la derniere ligne de code comme sur la photo ci dessus. Y a il un moyen de supprimer le titre ? j'ai ajouté entre les parentheses ** ** pour que cela apparaisse en invisible sur discord mais ca rend moche ca fait un ecart. Merci d'avance

past nimbus
#

Le content n'est pas obligatoire

full prawn
#

Comment tu passes outre? Si je supprime la ligne la commande ne s’affiche pas

#

J’ai trouvé merci

primal stratus
#

Bonjour j'ai un souci avec le message de bienvenue j'ai voulu rajouter une image mais ça me marque

Require stack:
- /Users/kaze/Desktop/dossier sans titre/index.js
    at Module._resolveFilename (node:internal/modules/cjs/loader:939:15)
    at Module._load (node:internal/modules/cjs/loader:780:27)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at <anonymous> (/Users/kaze/Desktop/dossier sans titre/index.js:58:16)
    at Module._compile (node:internal/modules/cjs/loader:1105:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Module._load (node:internal/modules/cjs/loader:827:12)
    at executeUserEntryPoint (node:internal/modules/run_main:77:12)
    at <anonymous> (node:internal/main/run_main_module:17:47)```

Mon code 

Client.on("guildMemberAdd", async member => {
console.log("Un membre est arrivé.");
//<@>
Client.channels.cache.get("977961773921603684")
.send("<@" + member.id + "> Bienvenue à toi on éspere que tu te sentiras bien parmi nous");
member.roles.add("978303683316039730")

var canvas = Canvas.createCanvas(1024, 500);

ctx = canvas.getContext("2d");

var background = await Canvas.LoadImage("./download.jpg");
ctx.drawImage(background, 0, 0, 1024, 500);

var attachment = new Discord.MessageAttachment(canvas.toBuffer(), "Welcome.png");

Client.channels.cache.get("978303683316039730").send({files: [attachment]});
});

Client.on("guildMemberRemove", member => {
console.log("un membre a quitté le serveur.");
Client.channels.cache.get("977961773921603684")
.send("<@" + member.id + "> Au bon ba tempis un parmis d'autre");
});

true bone
#

bonjour , j'ai un souci avec mon systeme de ticket
voici l'erreur ```C:\Users\Johann\OneDrive\Bureau\Viperr Protect\commands\ticket.js:26
await message.channel.send({embed: [Embed], components: [row]}
^

TypeError: Cannot read properties of undefined (reading 'send')
at Object.execute (C:\Users\Johann\OneDrive\Bureau\Viperr Protect\commands\ticket.js:26:31)
at Object.execute (C:\Users\Johann\OneDrive\Bureau\Viperr Protect\events\messageCreate.js:16:21)
at Client.<anonymous> (C:\Users\Johann\OneDrive\Bureau\Viperr Protect\index.js:26:50)
at Client.emit (node:events:527:28)
at MessageCreateAction.handle (C:\Users\Johann\OneDrive\Bureau\Viperr Protect\node_modules\discord.js\src\client\actions\MessageCreate.js:26:14)
at Object.module.exports [as MESSAGE_CREATE] (C:\Users\Johann\OneDrive\Bureau\Viperr Protect\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)
at WebSocketManager.handlePacket (C:\Users\Johann\OneDrive\Bureau\Viperr Protect\node_modules\discord.js\src\client\websocket\WebSocketManager.js:351:31)
at WebSocketShard.onPacket (C:\Users\Johann\OneDrive\Bureau\Viperr Protect\node_modules\discord.js\src\client\websocket\WebSocketShard.js:444:22)
at WebSocketShard.onMessage (C:\Users\Johann\OneDrive\Bureau\Viperr Protect\node_modules\discord.js\src\client\websocket\WebSocketShard.js:301:10)
at WebSocket.onMessage (C:\Users\Johann\OneDrive\Bureau\Viperr Protect\node_modules\ws\lib\event-target.js:199:18)et voici mon codejs
// const Discord = require('discord.js');
const Client = new Discord.Client(({intents : [98045]}))
module.exports = {
name: 'ticket',
descirption: 'Envoie le bouton pour ajoutez le bot',
permissions: Discord.Permissions.FLAGS.MANAGE_GUILD,

async execute(bot, message, args) {

    let Embed = new Discord.MessageEmbed()
    .setColor("#2400FF")
    .setTitle('**__Ticket__**')
    .setDescription("**Appuyez sur le bouton ci-dessous pour ouvrir un ticket**")
    .setThumbnail("https://media.discordapp.net/attachments/977535850747428894/978721115604135956/Viperr.gif")
    .setFooter({ text: 'Ce bot a été créer par Terror#0999'}) 

    var row = new Discord.MessageActionRow()
    .addComponents(new Discord.MessageButton()
    .setStyle("SUCCESS")
    .setLabel("Ouvrir un ticket")
    .setEmoji("🏷️")
    .setCustomId("ticket"),

    message.author ? await message.delete() : 
    await message.channel.send({embed: [Embed], components: [row]}
    
    )


    )}       
}
true bone
#

et trop alt gr 7 a la fin

ashen rapids
#

Tu essaies d'envoyer un message sur un channel qui existe pas

red torrent
primal stratus
#

Quelqu'un saurait pourquoi quand je fais une commande ca la fais 2 fois ?

fathom jay
primal stratus
#

Quelqu'un saurait pourquoi quand je fais une de ces commandes elle ce fait 2 fois ?

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

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

   //+help
   if(message.content === prefix + "help"){
      const embed = new Discord.MessageEmbed()
         .setColor("#000001")
         .setTitle("Liste des commandes")
         //.setURL("url choisi")
         .setAuthor("AfterChange__", "https://i.pinimg.com/originals/31/6e/fe/316efe688f20b4df4a2215a1377d0ff1.jpg", "https://www.youtube.com/channel/UC7jTITA4TK5SXZ_nNYH6QzQ")
         .setDescription("Vous y trouverez la liste des commandes du bot")
         .setThumbnail("https://a-static.besthdwallpaper.com/tokyo-ghoul-re-dragon-kaneki-wallpaper-1600x600-9465_84.jpg")
         .addField("__Help__", "Affiche la la liste des commandes")
         .addField("__Ping__", "Renvoie pong")
         .addField("__Info__", "Vous donne une liste d'informations")
         .setImage("https://i.pinimg.com/736x/83/da/e7/83dae7db94ab7d21c3671c426a28a3b6.jpg")
         .setTimestamp()
         .setFooter("AfterChange__ Company", "https://i.pinimg.com/originals/31/6e/fe/316efe688f20b4df4a2215a1377d0ff1.jpg");

      message.channel.send({ embeds: [embed]});
      }

});
primal stratus
#

?

misty parcel
#

Salut je me suis mit au javasrpt du coter du developpement web et j'aile problème suivant :
Donc en gros j'ai un petit programme en JS qui permet de générer une suite de charactères aléatoires, voici le code :

let pwdGen = "AZERTYUIOPQSDFGHJKLMWXCVBNazertyuiopqsdfghjklmwxcvbn0123456789"

let pwd = ''


btnPwdOne.addEventListener("click", (e) => {
    for (let i = 0; i < 50; i++) {
        pwd += pwdGen.charAt(Math.floor(Math.random() * pwdGen.length))
    }
    pwdOne.replaceWith(pwd)
})

Donc le code marche super bien la chaine de charactères se génère et tout enfin bref,

Le seul problème que j'ai c'est que quand je reclique sur le bouton la chaine de charactères ne se régénère pas et par conscéquent je suis obliger de recharger la page pour pouvoir en re regenerer un,

est ce que quelqu'un sait comment faire en sorte que quand je clique sur le bouton ça génère sans que j'ai besoin de recharger la page ?

red torrent
misty parcel
#

Ouais

#

Mais encore

ashen rapids
red torrent
# misty parcel Mais encore
function randomString(length = 10) {
    let result= '';
    const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
    const charactersLength = characters.length;
    for (let i = 0; i < length; i++) {
        result += characters.charAt(Math.floor(Math.random() * charactersLength));
    }
    return result;
}

btnPwdOne.addEventListener("click", (e) => {
    pwdOne.replaceWith(randomString(50));
})
misty parcel
#

Owo Merci 👍

primal stratus
misty parcel
#

Il faut toujoiurs que je refresh la page

ashen rapids
# primal stratus

Alors à mon avis, tu dois avoir 2 bots qui tournent en même temps sur le même token

ashen rapids
red torrent
ashen rapids
#

Soit chez toi, soit quelquu'un d'autre

primal stratus
#

si je change le token c bon ?

ashen rapids
#

Ca fonctionnera mais le mieux c'est quand même de kill le processus en double

misty parcel
#

Voici mon bouton <td class="pattern"><button id='btnPatOne'>1</button></td>

misty parcel
#

Et le js

let pwdOne = document.getElementById('patOne')
let btnPwdOne = document.getElementById('btnPatOne')

function randomString(length = 10) {
    let result= '';
    const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
    const charactersLength = characters.length;
    for (let i = 0; i < length; i++) {
        result += characters.charAt(Math.floor(Math.random() * charactersLength));
    }
    return result;
}

btnPwdOne.addEventListener("click", (e) => {
    pwdOne.replaceWith(randomString(50));
})
#

🤷‍♂️

ashen rapids
#

pwdOne ça correspond à quoi ?

#

Et si tu mets un console.log dans ton listener, il s'affiche à chaque fois que tu cliques dessus ?

#

Ou seulement la première fois ?

misty parcel
#

Au bouton

#

Aub outon qui permet de genere une chaine

ashen rapids
#

L'ID de ton bouton c'est btnPatOne

past nimbus
#

En vrai faudrait arrêter d'inciter à faire un console log plutôt que d'utiliser le debuger on gagnerait un temps fou

red torrent
ashen rapids
#

Je parle de l'élément qui correspond à pwdOne

red torrent
#

dans ton html c'est quel élément qui a comme id pwdOne ?

primal stratus
#

On fais comment pour que le bot envoie un message ephemeral ?

red torrent
ashen rapids
misty parcel
#

Je viens de faire un log et les chaines se generent normalement

red torrent
#

il n'y a pas de propriété ephemeral dans un send

misty parcel
red torrent
#

c'est uniquement dans la méthode reply d'une interaction

ashen rapids
#

Un reply oui

cyan iron
misty parcel
red torrent
ashen rapids
#

Du coup ton elem correspond à quoi ?

misty parcel
#

Je suis trop famous

misty parcel
ashen rapids
#

Si tu peux nous montrer le champ

red torrent
misty parcel
#

ah le code

primal stratus
#

Enfete j'ai ce code et je cherche comment je peux faire pour qu'apres avoir suprimer tel nombre de message le bot envoie un message ephemeral qui dit le nombre de message qui a été suprimer

mon code :

Client.on("message", message => {
   if(message.member.permissions.has("MANAGE_MESSAGES")){
      if(message.content.startsWith(prefix + "clear")){
         let args = message.content.split(" ");
         
         if(args[1] == undefined){
            message.reply("Nombre de message non ou mal défini.");
         }
         else  {
            let number = parseInt(args[1]);
            
            if(isNaN(number)){
               message.reply("Nombre de message non ou mal défini.");
            }
            else {
               message.channel.bulkDelete(number).then(message => {
                  console.log("Supression de " + message.size + "message réussi !");
               }).catch(err => {
                  console.log("Erreur de clear : " + err);
               })
            }
         }
      }
   }
})
misty parcel
#
<tbody>
            <tr>
                <td><a href="#">help</a></td>
                <td>Pattern number one generates a sequence 
                    <br>
                    of characters from the Greek alphabet as
                    <br>
                    well as Arabic numerals ranging from 0 to 9, 
                    <br>
                    the password contains 50 arguments</td>
                <td class="pattern"><button id='btnPatOne'>1</button></td>
                <td id='patOne'>//</td>
                <td></td>
            </tr>
            <tr>
                <td><a href="#">FAQ</a></td>
                <td>Pattern 2</td>
                <td class="pattern"><button>2</button></td>
                <td>//</td>
                <td>//</td>
            </tr>
            <tr>
                <td><a href="#">Tutorials</a></td>
                <td>Pattern 3</td>
                <td class="pattern"><button>3</button></td>
                <td>//</td>
                <td>Model 5</td>
            </tr>
            <tr>
                <td>contenu</td>
                <td>Pattern 4</td>
                <td class="pattern"><button>4</button></td>
                <td>//</td>
                <td>Contenu</td>
            </tr>
            <tr>
                <td>contenu</td>
                <td>Pattern 5</td>
                <td class="pattern"><button>5</button></td>
                <td>//</td>
                <td>Contenu</td>
            </tr>
            <tr>
                <td>contenu</td>
                <td>Pattern 5</td>
                <td class="pattern"><button>5</button></td>
                <td>//</td>
                <td>Contenu</td>
            </tr>
            <tr>
                <td>contenu</td>
                <td>Pattern 5</td>
                <td class="pattern"><button>5</button></td>
                <td>//</td>
                <td>Contenu</td>
            </tr>
            <tr>
                <td>contenu</td>
                <td>Pattern 5</td>
                <td class="pattern"><button>5</button></td>
                <td>//</td>
                <td>Contenu</td>
            </tr>
            <tr>
                <td>contenu</td>
                <td>Pattern 5</td>
                <td class="pattern"><button>5</button></td>
                <td>//</td>
                <td>Contenu</td>
            </tr>
            
        </tbody>
ashen rapids
misty parcel
#

Voila donc pouyr apporter plus de precisions j'ai un champ avec un bouton et un champ vide

#

quand je clique sur le bouton le champ vide se transforme en champ avec des chaines de characteres

#

Et du coup quand je clique sur le bouton ça genere la chaine qu'une fois mais quand je reclique ça ne genere plus rien

#

et quand je console log le resultat ça envoie des chaines différentes

ashen rapids
#

Alors je suis probablement aveugle car je suis fatigué mais je vois pas ton élément pwdOne 😂

red torrent
#

mais le problème vient du fait que tu utilises la méthode .replaceWith() sur ton élement pwdOne

#

du coup une fois que tu as remplacé ton élément il n'existe plus et ne peut donc plus être remplacé

#

Tu dois utiliser .innerText à la place

ashen rapids
#

Oui c'est bon j'ai trouvé 😂

#

La solution a été donné du coup

misty parcel
#

x) tkt

#

okok je vais test

#

ça a marcher

#

Merci les amis

primal stratus
#

quelqu un saurais comment je peux faire pour que ce code soit fonctionnel ?

message.channel.send(`${message.author}`, new Discord.MessageEmbed() .setTitle(`🏓**Pong** `) .setDescription(`**Latency:**${Date. now() - message.createdTimestamp}ms`) .setColor('BLEU'));
#

je cherche a faire une commande ping

primal stratus
#

Y’a pas d erreur mais je sais pas comment faire pour que ça soit une commande

#

Je veux juste faire que ça donne ça quand on fais +ping

quartz hull
waxen flax
#

Bonjour j'ai une petite question, j'ai voulu créer un tableau de plusieurs compteurs a différentes horaires ou lorsque je clique sur un bouton pour chaque horaire le count ajoute +1 à sa valeur cependant tout fonctionne bien, lorsque je regarde dans l'extension vue ma valeur change bien mais pas sur ma page. Elle change seulement quand je vais "controle-S" le code de ma page. J'ai vu que ça pouvait être une histoire de cache mais je sais pas comment m'y prendre..

#
<script setup>
const compteur =  [
  {count : 0, horaire : "18h00", visible : true},
  {count : 0, horaire : "18h15", visible : true},
  {count : 0, horaire : "18h30", visible : true},
  {count : 0, horaire : "18h45", visible : true},
#
<template>
<table>
  <tr  v-for="(counts, index) in compteur" :key="counts.index">
       <th :class="{ 'vert': counts.visible, 'rouge': !counts.visible}" >{{counts.horaire}}</th>
       <td v-if="counts.count == 0">{{counts.count}}</td>
       <td v-if="counts.count == 1">X<br> {{counts.count}}</td>
       <td v-if="counts.count == 2">XX<br> {{counts.count}}</td>
       <td v-if="counts.count == 3">XXX<br> {{counts.count}}</td>
       <td v-if="counts.count == 4">XXXX<br> {{counts.count}}</td>
       <td v-if="counts.count == 5">XXXXX<br> {{counts.count}}</td>
       <td v-if="counts.count == 6">XXXXXX<br> {{counts.count}}</td>
       <td v-if="counts.count == 7">XXXXXXX<br> {{counts.count}}</td>
       <td v-if="counts.count == 8">XXXXXXXX<br> {{counts.count}}</td>
       <button v-if="counts.count !== 8" @click="counts.count++">
    +
  </button>
#

Merci d'avance 😉

#

(c'est vueJs)

queen ocean
true bone
#

bonjour , j'ai eu une erreur que je n'est jamais eu au par avant ```:\Users\Johann\OneDrive\Bureau\Viperr Protect\node_modules\discord.js\src\rest\RequestHandler.js:201
throw new HTTPError(error.message, error.constructor.name, error.status, request);
^

HTTPError [FetchError]: request to https://discord.com/api/v9/gateway/bot failed, reason: connect EACCES 162.159.136.232:443
at RequestHandler.execute (C:\Users\Johann\OneDrive\Bureau\Viperr Protect\node_modules\discord.js\src\rest\RequestHandler.js:201:15)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async RequestHandler.push (C:\Users\Johann\OneDrive\Bureau\Viperr Protect\node_modules\discord.js\src\rest\RequestHandler.js:51:14)
at async WebSocketManager.connect (C:\Users\Johann\OneDrive\Bureau\Viperr Protect\node_modules\discord.js\src\client\websocket\WebSocketManager.js:134:9)
at async Client.login (C:\Users\Johann\OneDrive\Bureau\Viperr Protect\node_modules\discord.js\src\client\Client.js:254:7) {
code: 500,
method: 'get',
path: '/gateway/bot',
requestData: { json: undefined, files: [] }
}```
Dite moi si vous voulez un deux mes code (index ect)

burnt perch
burnt perch
waxen flax
waxen flax
burnt perch
#

Nickel !

onyx dagger
#

Yo!
Je voudrais faire en sorte que mon bot mette une réaction sur chaque message qui'il voie. J'ai réussi mais il faudrait qu'il mette une réaction meme si l'utilisateur le bloque. Comment puis-je faire pour faire en sorte que le bot mette la réaction meme si l'utilisateur qui a envoyer le message a bloquer le bot ?
Mon code :

Client.on("messageCreate", message => {
  if (message.author.bot) return
  console.log("auto réaction et auto threads");
  message.react("943609264117792769");
});```
ashen rapids
#

Tu peux pas me semble

#

Qui va bloquer un bot dans tous les cas 🙂

burnt perch
ashen rapids
#

Je crois qu'on s'est tous embrouillé, moi le premier, dans le message du problème 🥲

burnt perch
ashen rapids
#

Je crois qu'il veut que le bot puisse mettre une réaction sur le message d'un user même si l'user a bloqué le bot

#

Mais du coup pourquoi bloqué un bot ?

burnt perch
#

Bah ducoup je disais que on peut se dire qu'on bloque un bot car il spam mais sinon oui pas de raison de le faire....

#

Genre spam mp etc ou autre truc chiant

ashen rapids
#

Quand on bloque quelqu'un, l'autre personne peut voir qu'on l'a bloqué ?

#

Je suis un ange, jamais personne m'a bloqué

burnt perch
#

Nn mais les messages ne s'affiche plus ducoup

lone flax
#

Elle va voir qu'il y a un problème avec un message d'erreur de discord

#

Et se douter que tu l'as bloqué

torn fog
#

Elle ? 🧐

lone flax
#

"La personne"

burnt perch
#

Une personne

#

Pas un personne

torn fog
lone flax
#

Mais merci pour ton intervention

ashen rapids
burnt perch
#

Merde mauvaise personnes

sharp grail
#

pour moi tu ne peux pas add de réactions au message de quelqu'un qui t'a bloqué (ou que tu as bloqué) juste en mp 🤔 (ah non)

burnt perch
lone flax
burnt perch
#

Si c'est toi qui l'a bloqué sinon oui c'est comme a dit max

ashen rapids
#

Oui donc pas de soucis pour le bot. Il peut get le message de cette personne

burnt perch
#

Bah faut tester

#

Mdrrr tout ça pour ça 😂😂😂

ashen rapids
#

En même temps on teste des choses improbables mdr

red torrent
primal stratus
#
//le truc avec les bouton1
Client.on("messageCreate", message => {
   if(message.content === prefix + "info"){
      var row = new Discord.MessageActionRow()
         .addComponents(new Discord.MessageButton()
            .setCustomId("bouton1")
            .setLabel("Appuyez")
            .setStyle("PRIMARY")
            .setEmoji("❤️")
         ).addComponents(new Discord.MessageButton()
            .setCustomId("bouton2")
            .setLabel("Appuyez")
            .setStyle("PRIMARY")
            .setEmoji("💔")
         ).addComponents(new Discord.MessageButton()
            .setLabel("Discord")
            .setStyle("LINK")
            .setEmoji("🤖")
            .setURL("(un url)")
         ).addComponents(new Discord.MessageButton()
            .setLabel("Daisy Asakury")
            .setStyle("LINK")
            .setEmoji("🌸")
            .setURL("(un url)")
         ).addComponents(new Discord.MessageButton()
            .setLabel("Suzuya")
            .setStyle("LINK")
            .setEmoji("🩸")
            .setURL("(un url)")
         );

         message.channel.send({content: "https://i.pinimg.com/originals/31/6e/fe/316efe688f20b4df4a2215a1377d0ff1.jpg", components: [row]});
   }
});

//bouton1
Client.on("interactionCreate", interaction => {
   if(interaction.isButton()){
      if(interaction.customId === "bouton1"){
         interaction.reply("mdr");
      }
   }
})


//bouton2
Client.on("interactionCreate", interaction => {
   if(interaction.isButton()){
      if(interaction.customId === "bouton2"){
         interaction.reply("lol");
      }
   }
})
#

bonjour j ai un souci avec ce code

#

voici le message d erreur

#
Uncaught ReferenceError ReferenceError: message is not defined
    at <anonymous> (/Users/kaze/Desktop/dossier sans titre/index.js:56:4)
    at Module._compile (node:internal/modules/cjs/loader:1105:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Module._load (node:internal/modules/cjs/loader:827:12)
    at executeUserEntryPoint (node:internal/modules/run_main:77:12)
    at <anonymous> (node:internal/main/run_main_module:17:47)
#

si quelqu'un arriverais a me dire ou est le soucis

bronze locust
#

Bonjour je suis entrain d'essayer de crée mon premier bot discord et j'aimerais savoir comment faire pour que l'utilisateur exécute une commande par exemple "/infos x" et que "x"soit une valeurs(nombre) choisie par l'utilisateur et que cette valeur soit intégré dans une fonction mathématique (x*100/55 = y)et que ducoup l'utilisateur choisie la valeur de "x" et que "y" ce calcule automatiquement avec un message du style la valeurs de y est ......

floral bolt
#

@lone flax Maintenant c'est que messageCreate ou alors message existe encore ?

lone flax
#

messageCreate

#

Me semble que message a été supprimé

floral bolt
# floral bolt

dacc du coup ton problemes vient peut êtres des intents ? (je suis pas sur)

onyx dagger
onyx dagger
dire latch
#

Google est ton amis 🤷‍♀️ mdr

onyx dagger
#

Y'a pas un algorithme du genre : "si l'utilisateur qui a envoyer le message a bloquer le bot alors retourner"

onyx dagger
#

Y'a pas quelqu'un qui peut m'aider?
Je voudrais faire en sorte que mon bot mette une réaction sous chaque message qu'il voie. J'ai réussi mais il faudrait qu'il mette une réaction sous le message meme si la personne qui a envoyer le message a bloquer mon bot. Prcq quand quelqu'un envoie un message alors qu'il a bloquer mon bot, ca ne met pas la réaction, ca m'affiche : DiscordAPIError: Reaction blocked dans la console, puis ca fait crasher le bot ducoup.
Comment puis-je faire ?

Mon code :

Client.on("messageCreate", message => {
  if (message.author.bot) return
  console.log("auto réaction et auto threads");
  message.react("943609264117792769");
});```
Voila.
Merci d'avance!
sharp grail
#

Sauf si tu utilises un deuxième bot par exemple

onyx dagger
burnt perch
white temple
#

Salut

#

quelqu'un s'y connait bien en js

dire latch
broken solar
#

Bonsoir, quelqu'un aurait une idée de comment destroy un graphique ( j'utilise chart.js ) ? 🙂

burnt perch
red torrent
#

Ou alors comme ça a été dit plus haut tu fais un try catch

#

Et si tu sais pas ce que c'est tu peux chercher sur Google

bronze locust
#

Bonjour je suis entrain d'essayer de crée mon premier bot discord et j'aimerais savoir comment faire pour que l'utilisateur exécute une commande par exemple "/infos x" et que "x"soit une valeurs(nombre) choisie par l'utilisateur et que cette valeur soit intégré dans une fonction mathématique (x*100/55 = y)et que ducoup l'utilisateur choisie la valeur de "x" et que "y" ce calcule automatiquement avec un message du style la valeurs de y est ......

broken solar
# ashen rapids Cad ?

En gros, j'ai un graph fait avec chart.js, tout est carré etc, mais j'aimerais lui réinjecter d'autre données toutes les heures

#

Mais j'ai une erreur et il me demande de le destroy avant ^^

ashen rapids
#

Montre l'erreur du coup

ashen rapids
broken solar
broken solar
#

Voici l'erreur

ashen rapids
# broken solar

Tu peux utiliser la méthode destroy() directement sur ton object

broken solar
#
function Graph(label, colorHex, data) {
    this.label = label;
    this.colorHex = colorHex;
    this.data = data;
    let ctx = document.getElementById('tendanceCrypto').getContext('2d');
    let myChart = new Chart(ctx, {
        type: 'pie',
        data: {
            datasets: [{
                data: this.data,
                backgroundColor: this.colorHex,
            }],
            labels: this.label
        },
        options: {
            responsive: true,
        }
    })
    myChart.destroy(); // Si je destroy ici, le graph ne s'affiche pas
}

setInterval(() => { 
    let BTC = Math.floor(Math.random() * 100);
    let ETH = Math.floor(Math.random() * 100);
    let LTC = Math.floor(Math.random() * 100);
    // myChart.destroy();
    var newChart = new Graph(["Bitcoin", "Ethereum", "Litecoin"], ["#FF5154", "#EFCA08", "#0AD3FF"], [BTC, ETH, LTC]);
    console.log(JSON.stringify(newChart)) ;
}, 36000);
#

Il faudrait que je destroy avant de le recréer mais je ne vois pas comment faire

novel crow
#

Salut je me demandais comment on utilise les variables js avec un syntaxe comme ça: "var x = { "v": joueur };" ?

ashen rapids
#

Donc en appelant x.v

ashen rapids
novel crow
#

@ashen rapids Merci

onyx dagger
#

c'est quoi le code?

#

J'arv pas trop a trouver dans la docu

red torrent
#

essaies Google tu verras c'est super utile 😉

onyx dagger
# red torrent essaies Google tu verras c'est super utile 😉

Ducoup j'ai fait ca mais ca marhce tjrs pas...

  if (message.channel.id != '972493402358816802') return
  if (message.channel.type === 'GUILD_PUBLIC_THREAD') return
  if (message.channel.type === 'GUILD_PRIVATE_THREAD') return
  if (message.author.bot) return
  try {
    message.react("😀");
  } catch (error) {
    console.log(error);
  }
});```
#

Ca marche mais ca me catch pas error

#

et le bot crash

#

quand il a une erreur

sharp grail
#

Pour utiliser try catch avec une promesse il faut attendra sa resolutiln avec await

#

Sinon

#

Ajoute .catch([callback]);

broken solar
#

Bonjour, quelqu'un serait comment hide/toggle des divs en fonction d'un id ? ( pour une navbar )

misty parcel
#

Salut j'ai besoin de récupérer les données json d'un tableau que voici

#

Le problème c'est que j'y arrive pas

#

J'ai essayer config.modelOneData.color mais ça marche pas

past nimbus
#

Comme pour n'importe quel objet js, tu dois mettre l'index de l'élément du tableau

torn fog
misty parcel
#

oké merci

bitter mango
#

Comment je peux faire pour que entre chaque fois que mon for s'execute, il y ai un time out, j'ai essayer en mettant tout le code de mon for (pas le for compris) mais le time out ne s'applique que une seule fois

past nimbus
#

Fais une fonction wait

ashen rapids
bitter mango
ashen rapids
#

Ok ok, je vois ça partout donc je me demandais 🥲

bitter mango
#

C'est connu comme extentions il y a plein de copie de ce genre d'extention mdr

ashen rapids
#

Es-tu en train de dire que je suis un boomer ? KappaCringe

bitter mango
#

Maisss non mdrr je l'ai decouverte dans le mois aussi mdr

bitter mango
# past nimbus Fais une fonction `wait`
function sleep(milliseconds) {
        let start = new Date().getTime();
        for (var i = 0; i < 1e7; i++) {
          if (new Date().getTime() - start > milliseconds) {
            break;
          }
        }
      }

Genre ça ?, si c'est ça ca fonctionne pas non plus mdr

past nimbus
#

Surtout pas

bitter mango
#

Ah oups

#

Je fais comment du coup ?

past nimbus
#
export const wait = (timeInMs: number): Promise<void> => {
  return new Promise((resolve) => {
    setTimeout(() => {
      return resolve();
    }, timeInMs);
  });
};

Par exemple pour implementer une attente

bitter mango
#

ça c'est du TS non ?

primal stratus
#

Bonjour est ce que c normal que la latence de mon bot sois de -2100 ?

past nimbus
bitter mango
past nimbus
#

Comment ça ?

ashen rapids
#

Si t'es chiant sur le nombre de ligne, tu peux facilement faire :

const wait = timeInMs => new Promise(resolve => setTimeout(resolve , timeInMs));```

Et tu await ton wait()
Ce qui fait que ta promesse est resolve seulement quand ton timeout est terminé
past nimbus
bitter mango
#

Uncaught SyntaxError: await is only valid in async functions and the top level bodies of modules (at (index):542:11)

past nimbus
#

T'as jamais fais d'async ?

bitter mango
#

Non mdr

past nimbus
#

ouch..

#

Google it ^^

floral bolt
#

Salut, quelqu'un de chaud pour m'aider a faire un scrapper pour download des images d'un hashtag sur insta ? je galere de fous

burnt perch
misty parcel
#

Bonjour est ce qu'un bot es t capable d'activer la communautée d'un serveur ? Si oui comment on fait svp ? J'ai chercher des choses comme setCommunity mais ça n'existe pas

misty parcel
#

quelle tristesse

ashen rapids
#

Sur ton objet guild, tu utilises la méthode edit : https://discord.js.org/#/docs/discord.js/stable/class/Guild?scrollTo=edit
La méthode edit prend en paramètre data, un objet de type GuildEditData

Et cet objet contient une propriété features, qui est un array des fonctionnalités de la guild.
Tu as toutes les valeurs possibles ici : https://discord.js.org/#/docs/discord.js/stable/typedef/Features

Ce qui t'intéresse pour activer la communauté est : COMMUNITY

misty parcel
#

Ah merci beaucoup @ashen rapids

#

Re

#

Bon j'ai un autre problème en gros mon bot est sencé supprimer tous les emojis de mon serveur, sauf qu'il ne le fait pas, voici mon code

#
const emojis = await guild.emojis.fetch().catch(console.error);
    if (emojis) {
        for (let emoji of emojis) {
            emoji = emoji[1];
            emojiDelete = emojis.delete()

            await sleep(500 + actualRateLimitTimeout);
            if (emojiDelete) {
                console.log(`Emoji supprimé : ${emojiDelete.name}`)
            }
        }
    }
ashen rapids
#

Est-ce que le code est exécuté au moins ?

#

Et attention, delete() renvoie une promesse, donc possiblement une erreur

#

Et faut pas catch comme ça. Utilise try / catch

misty parcel
#

ok je dénonce c zaros qu'a fait le code

misty parcel
ashen rapids
#

Donc go débug

misty parcel
#

ouah j'ai tellement jamais debug que je sais pas comment on fait

#

sur vscode

misty parcel
ashen rapids
#

Avec du bon vieux console.log

#

Ou alors le debugger de Vscode si t'es dessus

keen narwhal
#

Bonsoir, j'ai un petit problème lors de m'a màj 12 à 13 Discord

snow apex
#

bonjour à tous !
j'ai un array1 qui contiens ces valeurs : [1,2,3,4,5,6] (c'est des valeurs d'exemples, en vérité c'est des strings)
j'ai envie que la derniere valeur deviennes la première, l'avant dernière la deuxième etc..., en gros que l'array soit comme ceci : [6,5,4,3,2,1]

#

comment faire?

dire latch
#

Tu inverses les valeurs ?

snow apex
#

genre c'est quoi la fonction qui permet de faire ça

dire latch
#

Nan mais ton array, c'est toi qui le définis ?

snow apex
#

ce serait trop simple sinon j'suis pas bete 😭

oak turret
#

tonarray.sort()

#

avec la fonction de comparaison

snow apex
dire latch
#

Ok 🙂

oak turret
#

tonarray.sort((a,b) => return a - b })

red torrent
#

Ou alors <Array>.reverse()

oak turret
#

pas judicieux non, si les nombres sont pas dans l’ordre ça fera de la merde

#

.sort() est sûrement la meilleure solution

red torrent
jovial lion
#

Bonjour 🙂
Je cherche à rajouter une commande pour mes tickets, qui permet de rajouter un membre dans le channel, cependant j'ai une erreur (voir le screen)
Et voici mon code

const {SlashCommandBuilder} = require('@discordjs/builders');
  
module.exports.run = async (interaction, client) => {
      const chan = client.channels.cache.get(interaction.channelId);
      const user = interaction.options.getUser('target');
      if (!interaction.member.roles.cache.find((role) => role.name === "🔰┊Staff")) return interaction.reply({ content: "Tu dois faire partie du STAFF pour accéder à cette commande", ephemeral: true })
      if (chan.name.includes('ticket')) {
        chan.edit({
          permissionOverwrites: [{
            id: user,
            allow: ['SEND_MESSAGES', 'VIEW_CHANNEL'],
          },
          {
            id: interaction.guild.roles.everyone,
            deny: ['VIEW_CHANNEL'],
          },
          ],
        }).then(async () => {
          interaction.reply({
            content: `<@${user.id}> a été ajouté au ticket!`
          });
        });
      } else {
        interaction.reply({
          content: 'Tu n\'es pas dans un salon de ticket!',
          ephemeral: true
        });
      };
    };

  module.exports.cmd = new SlashCommandBuilder()
  .setName('add')
  .setDescription('Ajouter quelqu\'un au ticket')
  .addUserOption((option) =>
    option
      .setName('target')
      .setDescription('Le membre à ajouter dans le ticket')
      .setRequired(true))```

Merci de votre aide
past nimbus
#

Plus petite les logs stp !

jovial lion
#

C'est bon là ?

past nimbus
#

Tu as check l'erreur ?

jovial lion
#

Que ce soit dans la commande comme dans l'index.js J'ai regardé, malheureusement je vois pas l'erreur

past nimbus
#

Montre ton index.js

jovial lion
#

Ok j'ai trouvé en faite, j'avais mal compris par contre, Il y a cette erreur, qui vient par contre bien de mon add.js

past nimbus
#

Je pense que tu vas t'en sortir avec ça ^^

jovial lion
#

Oui 🙂 Merci quand même ^^

wild bramble
#

Salut j'ai une question comment je peux faire pour vérifier si un joueur à un rôle ?

wild bramble
#

Oui merci

wild bramble
near saddle
wild bramble
#

Nickel ça marche merci

wild bramble
#

Quelqu'un peut m'aider : mon code : .setDescription("<@" + member.id + "> vient de soumettre une suggestion : \n" + sugg) erreur : Uncaught TypeError TypeError: Cannot read properties of undefined (reading 'id')

near saddle
#

Es tu sur que l’erreur vient bien d’ici ?

#

@wild bramble

wild bramble
#

@near saddle oui j’avais juste mal écrit mon message deso

near saddle
#

Montre l’ensemble de ta commande

#

( en mp si tu veux )

wild bramble
#

Je te l’envoie dans 5min

cyan iron
#

Pourquoi en MP ?

near saddle
#

pour éviter de flood ici ou quoi

cyan iron
#

C'est le but du salon, donc ça flood pas ;)

near saddle
#

bon x)

burnt current
#

salut c'est normal j'ai coder un bot et mon bot ne marche pas

queen ocean
burnt current
#

aucune

modern skiff
burnt current
modern skiff
#

Ok

misty parcel
ashen rapids
#

Ah mince

runic slate
#

Hello tout le monde !
J'ai une petite question
J'ai un form qui modifie les données de l'utilisateur (nom prénom etc)
du coup j'utilise un onChange pour modifier la valeur dans mon input
Mais j'aimerai avoir une defaultValue, c'est à dire que si je modifie rien, la valeur reste inchangée. Mais le defaultValue={ma valeur dans le State} fonctionne pas et du coup ça renvoie la valeur avec rien dedans (ex : name=" " au lieu du nom qui était dans mon state)
Est-ce qu'il y a un truc que je rate ?

burnt fractal
red torrent
waxen flax
#

Bonjour j'ai un tableau de tableaux et j'aimerais récupérer le nom de la category d'un des tableaux du tableau pour ensuite l'appelé dans le v-for, problème j'arrive bien a récupérer la category quand je clique sur mon lien sauf que dans le v-for je sais pas comment m'y prendre voici mon code :

#
const category = route.params.category; // read parameter id (it is reactive) 
/*Définitions des variables utiles pour le chargement des données de la page*/
const produits = [
    {pizzas : [
        {id : 1, nom : "Margarita", prix : 9.00, description : "Mozzarella, persillade, olives", vegetarienne : true, base : "tomate/origan"},
        {id : 2, nom : "Reine", prix : 10.50, description : "Mozzarella, jambon, champignons frais, huile d\'olives, olives", vegetarienne : false, base : "tomate/origan"},
    ]},
    {bruschettas : [
        {id : 1, nom : "Classique", prix : 7.50, description : "Mozzarella, jambon, tomate, origans, huile d\'olives, crème liquide, olives", vegetarienne : false, base : "tomate/origan"},
        {id : 2, nom : "Chèvre", prix : 8.00, description : "Mozzarella, chèvre, miel, amandes, huile d\'olives, crème liquide, olives", vegetarienne : false, base : "crème fraîche"}
    ]},
]
#
<div   
                v-for="(item, index) in produits"
                :key="item.name"
                :data-index="index"
              >
                <div v-for="(produit,index) in item.category" :key="produit.name" :data-index="index">
                    <a href="#">
                    <div style="border: black 2px solid;border-bottom: 0;padding: 20px 20px 0px 20px;">
                        <h5>{{ produit.nom }}</h5>
                    </div>
                    <span class="image fit">
                        <img src="" alt="" />
                    </span>
                    </a>
                </div>
              </div>
#

(c'est encore du Vue Js)

#

La ref de category me renvoie bien pizzas (quand je clique sur pizzas) cepedant je vois pas comment faire pour chercher dans le deuxieme v-for item.pizzas (category)

acoustic sapphire
#

Hello, je cherche à faire une datatable en react, mais peu convaincu par les librairies que je trouve. (soit trop complexe pour mon utilisation, soit peu de doc pour la modifier)
Qqun en aurait une sympa à me conseiller ? 😊

past nimbus
#

Je pense qu'il y a une incompréhension quelque part

acoustic sapphire
#

C'est à dire ? 😅

#

J'ai un projet de gestion de données en node js et react. Et je cherche une datatable pour afficher certaines données sur certaines pages (je reformule au cas ou ^^')

past nimbus
#

Par datatable, tu entend front ou base de données ?

red torrent
#

React c'est du front, datatable ≠ database

#

Donc il cherche à faire un tableau en react pour afficher des données

past nimbus
#

Si jamais tu as mui

#

C'est jeune mais plutôt très bien

burnt current
#

qui peut m'aider pour mon message de bienvenue il s'envoie pas

dire latch
burnt current
dire latch
queen ocean
burnt current
#

et le message peut s'envoyer qu'une fois

past lynx
#

salut j'ai pris le script d'un bot sur github mais ils n'ont pas expliqué les commandes a faire dans le cmd quelqu'un pourrait m'aider

#

c'est un bot en version DJS V13

#

C'est pour le bot oneforall

ashen rapids
#

Regarde le code 👍

past lynx
#

quel code ?

burnt current
#

on peut m'expliquer

past nimbus
burnt current
past nimbus
#

Commence par les bases, tu vas gagner du temps

ionic swan
#

tu peux utilisé que env ou que le json

#

ou alors si tu veux les deux

#

tu peux changés par : (C'est un exemple)


const db = require('./config.json');

puis tu peux remove ça -->

const { config } = require('dotenv');

Sa suffit ça :

require("dotenv").config(); 
keen narwhal
#

on pourrait m'aider c'est urgent svp

oak turret
#

yes

#

@keen narwhal

keen narwhal
cyan iron
#

Si c'est urgent pose ton problème KaPOP

normal lichen
#

Bonjour quelqu'un connais la librairie full calendar ^^

burnt current
burnt current
lone flax
#

Yop

#

Pour mon système de commandes sur mon Discord, je choppe le lien discord des images et je les stocke en db pour les renvoyer lorsque c'est nécessaire

#

Evidemment, le cache de Discord fait que vu que j'ai supprimé le message d'origine, l'image ne peut plus être vue (pareil pour tous les types d'attachment)

#

Sauf que j'ai pas envie d'écrire ça sur ma machine, et encore moins de les foutre sur un truc genre imgur (surtout que ça peut être tout type de fichier)... Est-ce que vous connaissez un moyen de faire en sorte que Discord ne supprime pas le cache de son fichier (par exemple en renvoyant le fichier autre part avant de le supprimer) ?

Edit: Je suis obligé de retirer les messages. J'ai pensé juste garder les images et retirer le contenu du message, mais ce n'est pas possible à ma connaissance.

ashen rapids
#

Tu peux garder l'image en utilisant attachment.proxyURL

lone flax
#

Genre elle est gardée même si l'image d'origine est supprimée ?

#

C'est pas très RGPD-friendly tout ça KappaCringe

ashen rapids
ashen rapids
lone flax
#

A mon avis ils la suppriment après un certain temps

#

Il me semble qu'ils peuvent garder ça 6 mois, ou 3 ans je ne sais plus

ashen rapids
#

Yep ya ça aussi, ya un délai qu'on connait pas