#javascript-typescript
1 messages · Page 108 of 1
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
}
]
Bah ton bot est ratelimit x)
tu peux tester avec une autre app ça marchera
Bon j'ai trouver une alternative ultime
J'ai mis des set timestamp
Mais j'ai ce soucis
Justement tu as des restrictions sur son utilisation, mais discord a aussi augmenté ses limites globales
si ton app est rate limit ça ne va pas fonctionner
et pourquoi le setTimeout ?
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
et effectimevement ça marche sauf pour çà
franchement ça change pas grand chose, surtout que le client discord.js limite déjà son nombre de requete par seconde
ah bon ? 🤔 Pourtant ça à réaliser deja plus d'accions quand j'ai mis les set timeout
ç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

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 ?

utilise une autre application (autre bot)
pour info je crois que tu arrêteras d'être timeout à 21h30~
oui
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/)
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)
Fait voir ?
Le code ?
Oui
ça te dérange si je te fait un partage d'écran parce que sinon ça va être chaud
?
Comme tu veux
Yooo 
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:
rejoin moi dans le dernier salon stp
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
Tu peux essayer avec du JSON je pense
Bah si tu as un tableau, travaille directement sur ce tableau...?
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'```
Il te manque les intents @true bone
c'est ça non
// const intents = new Discord.Intents(32767) ```
Oui par exemple
sauf que ça fait trj la meme erreur
Regarde des tutos sur ytb, doc etc 🙂
tu me conseil qui?
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...
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)
}
})
L'erreur de vient pas de là de toute évidence...
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
le channel est bien trouvé ?
ça envoie rien donc je ne sais pas
oui mais ton bot le trouve ? dans la variable il y a quoi ?
🤷♂️
bah mets un console.log
ton channel n'est potentiellement pas dans le cache, ou le nom n'est pas bon
le nom est bon
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
ah euh je ne peux pas @sharp grail
Le salon est crée par le bot lors d'une commande
et donc ? ;-;
fin x), il est créé dans une autre commande ?
dans tous les cas sinon tu peux avoir une db ?
Bonjour, en voulant coder mon bot pour qu'il envoie un embed quand quelqu'un rejoint je reçois cette erreur
la méthode .sendMessage() n'existe pas c'est simplement .send()
Merci mais je n'ai plus la même erreur
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.
Je suis débutant en codage et je galère beaucoup merci beaucoup de votre aide
C'est normal de débuter, essaye juste de bien suivre des tutoriels à jour, bien comprendre ce que tu fais, et surtout apprendre à lire correctement les erreurs que la console affiche pour comprendre les problèmes.
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)
}
}
Ba message.channel.send({ embeds: [embed] });
Ça sent le noobistan de Lucien ça
ca met une erreur
Envoie directement l’erreur quand tu message.Channel.send
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)```
ok bon @sharp grail la commande s'execute genre 20 minutes plus tard mais ça à la limite c'est pas très grave
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```
Tu as un anti-virus sur ton PC ?
Essaies d'ouvrir ton terminal en administrateur
Ou sinon il faut que tu ajoutes une exception à ton anti virus
comment ça c'est possible d'ouvrir visual studio code en admin?
Comme tout logiciel oui
trj pareil
Tu as un jeu en cours d'exécution en même temps ?
non mais replit
je sais pas si ça vient de ça
Parce-que moi j'ai le même genre de problème quand Dead by Daylight est lancé : impossible d'utiliser npm
le souci c'est que ça m'ouvre le terminal dans powershell
Alors que d'habitude ça t'ouvre un terminal intégré dans visual studio code?
non en gros ça ouvre le cmd dans mon fichier pas dans PS C:\WINDOWS\System32\WindowsPowerShell\v1.0>
Tu dois avoir un logiciel en cours d'exécution qui bloque l'accès
Quelqu’un pourrait regarder cette erreur ? On arrive pas du tout à la régler
Une condition réglera ton erreur
Je pense qu'il faut que tu apprennes le JavaScript avant d'utiliser des librairies comme discord.js
Parce-que tu vas bloquer à chaque erreur par manque de connaissance. Dans ton cas l'erreur est basique et écrite clairement
@past nimbus
non il est sur mon bureau
Alors ton IDE est cassé, car il te dit l'inverse ^^
Non l'IDE bloque sur l'ouverture de l'exécutable du terminal (qui lui se trouve dans sys32)
vien dans ma voc au pire
Il n'y arrive pas alors il bloque à cette étape sans exécuter la suite (le cd...)
Ouvre un terminal alors et teste d'install
ça peut etre a cause du nom ?
car ça c'est le nom de mon ficher
[+] Viperr Protect
ça
Étant?
Pour le coup j’essaie d’apprendre, mais ça n’a rien de facile
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
Déjà c'est quoi le message d'erreur ? Juste le message d'erreur. On va commencer par ça
Il est dans la console ici
j'en ai pas besoin moi
j'essaie de t'aider à trouver la solution tout seul simplement en lisant le message d'erreur
ct a cause du [+]
TypeError: Cannot read properties of undefined (reading 'send')
Donc c’est le channel qui est indéfini?
c'est ça
En l’occurrence par le passé ça a toujours fonctionné comme ça
Simplement en récupérant le Channel d’envoi du message initial
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
Donc console.log?
exactement
@harsh snow tu peux faire ça ? x)
tu peux envoyer le console.log ici ensuite, que je te montre comment utiliser la doc discord.js
Pour le coup j’attend que Natanael envoie
bah en fait c'est simple dans le console.log nodejs va t'afficher le type de message (qui sera Message si tout se passe bien). Ensuite tu n'as plus qu'à regarder sur la doc les propriétés du type Message
pour voir si <Message>.channel est toujours définit ou s'il y a des cas ou il ne l'est pas
*<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
Pour l’ordre des paramètres on a fait client, message, args
oui mais quand il console.log(message) ça lui log l'instance de Client
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
T’as écrit clenit
plutôt "client" que "cleint"
le truc qui commence par <ref *1> Client { ?
yes
On l’a pas dissocié de l’index
alors montre moi ta fonction messageCreate
petit question par rapport au bot c'est important les / commandes car moi je trouve ça eclater
Déjà tu vois que quand tu appelles la méthode run() tu envoies en argument le message puis ensuite le client
si tu as un bot certifié tu peux pas avoir l'intent de récupérer le contenu des messages sans raison valable
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
car si tu veut je regarde cette playlist
https://www.youtube.com/playlist?list=PLuWyq_EO5_AJ4pXBLXi3KgAb4_uYVkmr3
et je crois que le mec fait que des commandes/
c'est un peu une norme
et le mec il utilise glob alors que tous les autre non ainsi que promisify
et tu me conseil de continue a suivre ou de chercher un autre
Donc pour le coup
Dans la fonction messageCreate
On inverse l’ordre des paramètres ?
Enfin
Dans le commandFile run
soit dans la fonction messageCreate, soit dans tes fichiers qui contiennent les commandes
peu importe
Ok ok
tu peux aussi envoyer la variable args en 3ème paramètre
si jamais tu en a besoin au moins il y sera
Sinon il sera undefined dans les commandes?
oui
du coup ça c'était pas vraiment ce qu'il affichait
ça devait t'afficher quelque-chose d'un peu différent
moi je te conseille d'apprendre le javascript & nodejs pour ensuite créer ton bot en suivant la documentation plutôt que des tutos youtube
ça sera bien plus constructif et au moins tu comprendras ce que tu fais
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'
J'ai bien fait le npm i @discordjs/builders
const { SlashCommandBuilder } = require('@discordjs/builders'); comme ça ?
Oui
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)```
Tu nous a bien donné toute l'erreur ?
Oui
direct au lancement il me met "bot opérationnel" et instant après j'ai l'erreur
Regarde donc ton index.js
e
j'essaye d'enlever des bouts de script dans le index mais rien ne change
C'est sur ta partie Slash command
T'as fait un truc qu'il y a aucun sens
Dans le index ?
Oui
je vais voir merci
Bonjour, comment fait-on pour utiliser plusieurs fichiers sur express (par exemple : un fichier pour envoyer des mails, un autre pour l'api ...)
Tu export des fichiers à chaque fois 😇
Hello tout le monde, petite question
Je dev actuellement une application Vue JS et j'aurais deux questions / conseils à vous demander ! 😄
- A quoi sert le Store ( Pinia ) concrètement et dans quel cas est-ce que vous me conseilleriez de l'utiliser ?
- 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
-
Pour partager des états entre tes composants ! C'est pratique
Par exemple pour avoir les informations sur le compte de l'utilisateur sur toutes les pages, sans forcément avoir besoin de passer tes states à toutes tes pages -
Le JWT Token est une bonne pratique pour gérer l'auth
Axios aussi, un bon outil pour communiquer avec ton back
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
Kk, petite question du coup concernant le store ! Il permet concrètement de stocker des informations de manière globale et de pouvoir les utiliser sur tout le site ! Est-ce qu'il est conservée d'une session à une autre ou est-ce qu'il n'exclu pas l'utilisation d'un localStorage ?
Non c'est uniquement dans la ram de la page courante
Donc si tu reload la page, change de page, change de navigateur etc... tu perds les data du store
Donc si je suis plus à l'aise avec PHP et MySQL, mieux vaut utiliser Laravel pour communiquer avec mon back ?
D'accord, dans ce cas je ne sais pas s'il me sera vraiment utile... Tout dépend si les données sont conservées en changeant de page via le router avec vuejs, auquel cas il pourrait me servir
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
D'accord dans ce cas je vais essayer d'utiliser le store
Dans ce cas, qu'est-ce que tu me conseillerais d'utiliser pour ma base de données ? Pour lire / écrire dedans en JavaScript ? Je n'ai encore jamais utilisé JavaScript pour la liaison backend donc je sais pas trop comment gérer ça haha, je commence tout juste
( je vais manger je reviens haha )
Postgres est une très bonne base de données
De même pour MariaDB
C'est quasiment un copier/coller de MySQL niveau requête à peu de chose près mais avec pas mal d'avantages
Première réponse tu reply ensuite tu followUp
Et côté JS il faudrait que je me tourne vers quel type de méthodes pour écrire / lire dans ma base ?
Par méthode tu entend quoi ?
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
Bah comment je peux écrire / lire dans une base de données SQL en JavaScript ?
J'ai jamais fait en JavaScript donc j'sais pas du tout
Comme en PHP, tu fais un serveur qui va le faire pour toi avec des endpoints API
Regarde sur google, si tu trouves rien je t'aide
Ça me parle pas vraiment ( du tout ) la
😄
Ici tu vas faire du nodeJS (du js côté serveur)
Donc NodeJS est obligatoire pour lire / écrire dans une base de donnée ?
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
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
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
J'ai rien dis, j'ai ma réponse en faire vu que tu fais du vue et du php
J'suis chez OVH
Mais mon hébergement supporte pas NodeJS
Donc obligé d'utiliser PHP dans ce cas ?
C'est mieux ?
J'imagine que oui
Mieux que ?
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 ?
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à ?
C'est quoi le CSR et SSR ?
SSR = Server Side Rendering
CSR = Client Side Rendering
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
Tu export ton fichier JS
genre dans index je marque```
// module.exports = {
}```
?
voila mes fichier
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
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
T'a marqué client au lieu de Client
['CommandUtil', 'EventUtil'].forEach(handler => { require(./utils/handlers/${handler})(client) });
je me suis tromper d'erreur
tu n'as pas importé Collection
dans quel fichier
dans celui où tu l'utilises
soit tu utilises Discord.Collection soit dans ton require tu l'ajoutes
const Discord, {Collection} = require('discord.js');
bonjour, je teste un handler avec le commande ping qui renvoie pong a ping mais je ne reçoit rien en retour
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
ouais alors ça doit pas marcher comme ça avec les requires
gardes ton const Discord = require('discord.js'); mais ajoutes en dessous ```js
const { Collection } = Discord;
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>```
Error: Cannot find module './utils/handlers/EventUtil'
qu'est-ce que tu veux que je te dise?
pas le bon fichier ?
il trouve pas le fichier
soit il trouve pas le fichier, il n'y a pas d'export dans ton fichier
Par contre eno tu peut m'aider moi je teste un commands handler avec le commande ping qui renvoie pong mais je ne reçois rien en retour
j'ai pareil
on suit le même tuto je crois
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....
qu'est ce que je doit faire pour ça?
Hello,
Est-ce que quelqu'un pourrait m'aider à régler ce petit soucis de formatage de date svp?
https://jsfiddle.net/vr6ax0tc/
Test your JavaScript, CSS, HTML or CoffeeScript online with JSFiddle code editor.
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 ! 😄
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 ?
Euh... ?
Ton vuejs va être ton front, ton laravel ton back (api)
Ton front va faire des requêtes http à ton back
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
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 😄
Bien sur !
tu auras besoin de le créer à travers une guild mais c'est bien sur possible
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
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
Ok ! Eh ba super encore merci
pas de soucis n'hésite pas à revenir vers nous en cas de problème ;)
Yes j’hésiterai pas 😀
Tu dois utiliser des requêtes HTTP ou HTTPS pour call ton API avec des méthodes par exemple GET POST
qui a la ligne de code pour mettre un status svp
Regarde la doc 😄
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
à toi de définir la partie utile, typiquement si tu bosses qu'avec des euros, pas besoin du troisième chiffre significatif
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 '-'
par exemple
Comme dit, suffit de définir la partie utile
Et sinon, ce que la majorité des app font, c'est calculer en cents
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
np
j'arrive pas l'utiliser
Envoie moi le lien et je t'explique comment ça fonctionne
Tu sais coder un peu ou vraiment pas ?
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 ?

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"
}```
Incroyable cet emoji
blc je le reset
C’est parce que tu as mis TOKEN en maj quand tu require ta config
Merci bg mais je sais comment modif le css, je parlais plutôt de comment faire les 3 jauges dans le cercle en fonction de différentes valeurs, mb je me suis mal exprimé
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
T'es sur que tu a toutes t'es dépendances ?
Tu as bien nodejs >16
Je suis pas sur mais je pense que ca peut t'aider https://wet-boew.github.io/wet-boew-legacy/v3.1/demos/charts/pie-fr.html
Génère des graphiques à partir de données d’un tableau.
La v14 se mets à jour vers la v16 quand tu l'installes
C'est ça que je cherchais, merci bg 🙂
Tu réinstalle
oui normalement
bah non tjrs en 14 ... :/
ok
Tu dois faire apt-get update puis apt-get upgrade node
ah bah c'est bon ^^
Ça ça get juste les files pour update node
remontre ton code
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 ton config.json (sans le token)
essaie de console log ta const
Bizarre
sinon le plus simple c'est env hein c'est plus secure
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
sur le developer portal tu as oublié les intents du bot
Oui
Pas de problème
stp tu peut envoyer ta ligne pour le status
client.user.setActivity("Ecoute Yuston XIII", {type: "PLAYING"})
client.user.setActivity("Yuston XIII", {type: "LISENING"})
ptit tips
et mrc
ça affiche pas le status
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]});
}
})
}```
"message is not defined"
C’est pas dur à comprendre ^^
je me suis tromper d'erreur
Ah xD
ça me fait ça qu'avec help mes deux autre commandes marche
non
Tu viens de modifier le message 
oui car j'ai corriger le code mon ancien erreur
c'est pas dans index
Alors pourquoi tu crée un client ?
pour etre sur qu'il est pas d'erreur
Tu peux me montrer ton messageCreate ?
// 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}`);
};
},
}```
// ./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.
//
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
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
if (message.content === Client.prefix + help) {}
Le problème d'apprendre en copiant des vidéos youtube, tu ne sais pas ce que tu fais
Le problème c'est surtout que ces personnes qui suivent le tuto Youtube ne connaissent même pas le JavaScript. Donc à la moindre erreur ils bloquent.
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
@remote lark
?
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}'`)
})
}
})
Avant toute chose, est-ce que t'as vraiment besoin de stocker ça ?
oui, car sinon la data n'est pas actualisée
Non, ce que je veux dire, est-ce que c'est vraiment pertinent d'avoir cette data en base de données ?
oui
Bon, soit
Tu as déjà debug ton code un peu ?
cette à dire ?
Bah tu as déjà tester certaines choses ?
oui, mais sans succès
Et du coup, tu as testé quoi...? On va éviter de perdre du temps, donne les info utiles ^^'
changer speudo serveur, speudo utilisateur, enlever un role, mettre un nouveau role mais aucun retour
Et donc...? Le hook est bien trigger ?
Si oui, le code s'arrête où ?
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 ? "
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"
ouch..
Je le prend bien tkt
Hello everybody! :)
Par hasard, quelqu’un parmi vous fait du React Native?
Oui
Je m'excuse pour mon impertinence ^^
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
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
new Client ? @true bone
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```
stp aide moi
La seule chose qui peut réellement t'aider c'est que t'apprennes le js
Au moins un minimum
Jsp après, jconnais pas ton code 🤷♀️
Si tu cherches quelqu'un pour dev à ta place, tu peux mettre une offre sur le site !
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 👌
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
Il faut inviter ton bot avec les / commands@steep forge
comment ca ?
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
bah c'est exactement le meme code que le bot de base
le seul truc que j'ai changé c'est le token
c'est a dire ?
Les /, tu dois attendre 1H pour que sa fonctionne
Sauf si tu le fais pour 1 discord directement
bah il est en logne depuis hier soir je l'es laisser tourné toute la nuit
Oui mais tu l'avais pas invité avec les /
Essaye de relancer ton bot 🙂
Et tu attends les 1H ducoups
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
Yes 🙂
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é
bon bah apres 1h30 toujour rein
;-;
Bonsoir, quelqu'un aurait une idée de comment executer une function toutes les x heure côté back ?
Une cron si tu sais que ton back est single instance, sinon une lambda
avec nodejs ?
Pour le cron ? Oui, mais c'est pas spécifique à nodejs
Pour la lambda, peu importe la techno
Cimer bg, je check ça
Si qlq peux m'aider ^^
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)
Complètement débile d'ailleurs il faudrait changer ça
La modification est assez récente, j'ai déjà suggéré de changer ça pour utiliser les permissions du bot en lui même mais c'est non.
C'est parce-qu'une réponse à une interaction utilise un token similaire à celui des webhooks
Ils ont la flemme
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]})
ligne 5 tu a une faute de frappe "description"
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)```
Tu utilises vraiment un module pour ping..?
ça vient pas de l'a l'erreur
Je me doute mais quand même ^^
Le channel n'existe pas ou n'est pas dans le cache du bot
c'est le send
...
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
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```
Montre une autre de tes commandes par hasard @true bone
"Que se passerait-il si je lisais le message d'erreur avant de demander de l'aide ?"
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]});
}
}}```
Voilà, maintenant tu compares et tu déduis
Et faut pas copier/coller le code d'internet sans comprendre
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
Le content n'est pas obligatoire
Comment tu passes outre? Si je supprime la ligne la commande ne s’affiche pas
J’ai trouvé merci
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");
});
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]}
)
)}
}
petit tips trois alt gr 7 tu marque js tu va a la ligne fait //tu met le nom de ton fichier tu va a la ligne et tu met ton code
et trop alt gr 7 a la fin
hein ?
j'ai pas comrpis
Tu essaies d'envoyer un message sur un channel qui existe pas
Tu peux pas envoyer un message sans contenu. Soit tu mets un "content", soit un "embed" mais un message vide ne s'enverra pas
Quelqu'un saurait pourquoi quand je fais une commande ca la fais 2 fois ?
Rien à voir mais normal que dans ton module.export, ta clé se nomme descirption et pas description ?
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]});
}
});
?
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 ?
Ton écouteur d'évènement messageCreate doit être appelé deux fois. C'est pas dans cette partie du code qu'il y a le problème
En utilisant une fonction
C'est-à-dire ? Si tu peux détailler, avec un screen peut-être
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));
})
Owo Merci 👍
y en plus que 1 mais il le met toujoours 2 fois
Re je viens de tester et ça n'a pas résolu mon problème : (
Il faut toujoiurs que je refresh la page
Alors à mon avis, tu dois avoir 2 bots qui tournent en même temps sur le même token
Tu fais comment pour update ton DOM avec ta nouvelle variable ?
comment ca ?
dans ce cas le problème vient de l'évènement de ton bouton
Genre t'as lancé le bot 2 fois
Soit chez toi, soit quelquu'un d'autre
si je change le token c bon ?
Ca fonctionnera mais le mieux c'est quand même de kill le processus en double
Voici mon bouton <td class="pattern"><button id='btnPatOne'>1</button></td>
merci
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));
})
🤷♂️
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 ?
L'ID de ton bouton c'est btnPatOne
En vrai faudrait arrêter d'inciter à faire un console log plutôt que d'utiliser le debuger on gagnerait un temps fou
donc tu as deux boutons ?
Je parle de l'élément qui correspond à pwdOne
dans ton html c'est quel élément qui a comme id pwdOne ?
On fais comment pour que le bot envoie un message ephemeral ?
on répond à une interaction
Dans la méthode reply, tu utilises la propriété ephemeral
Tu mets à true
non
Je viens de faire un log et les chaines se generent normalement
il n'y a pas de propriété ephemeral dans un send
c'est uniquement dans la méthode reply d'une interaction
Un reply oui
Alors j'ai plusieurs boutons mais j'en ai parametrer qu'un pour l'instant
. @misty parcel
Du coup ton elem correspond à quoi ?
Je suis trop famous
C'est le champ ou la chaine est sencé s'envoyer
Si tu peux nous montrer le champ
tu peux montrer le code html de ton champ?
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);
})
}
}
}
}
})
tu peux pas
<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>
@primal stratus
Utilise les / command plutôt et tu pourras le faire
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
Alors je suis probablement aveugle car je suis fatigué mais je vois pas ton élément pwdOne 😂
c'est un td
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
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
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
Je try de re-up mon mess vu que j'ai pas eu de réponse...
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)
@burnt perch 👀
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)
essaie de mettre ça dans une reactive :
import { reactive } from 'vue'
const compteur = reactive([
{count : 0, horaire : "18h00", visible : true},
{count : 0, horaire : "18h15", visible : true},
{count : 0, horaire : "18h30", visible : true},
{count : 0, horaire : "18h45", visible : true}
])
mais il manque du code dans ce que tu as envoyé non ?
Oui il y a pas tout mais c'est la même chose ce qui suit
C'est ça ! merci beaucoup c'est exactement ce que je cherchais 🙂
Nickel !
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");
});```
Sauf si c'est un spam bot 🤔
Un spam bot qui va bloquer un bot ?
Je crois qu'on s'est tous embrouillé, moi le premier, dans le message du problème 🥲
WTF oui je confirme on s'est embrouillé 😂
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 ?
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
Quand on bloque quelqu'un, l'autre personne peut voir qu'on l'a bloqué ?
Je suis un ange, jamais personne m'a bloqué
Nn mais les messages ne s'affiche plus ducoup
Si elle t'envoie un message
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é
Elle ? 🧐
"La personne"

Mais merci pour ton intervention
Même dans les salons publics ? Genre là le bot verrait plus le message de l'user ?
Merde mauvaise personnes
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)
Mais pour répondre à ton truc essaie de bloquer ton bot et de faire en sorte qu'il répond à ton message si ça marche ça veut dire que c'est ok je pense
Si toi tu as bloqué quelqu'un tu ne le vois plus, mais lui voit encore tes messages
Bah t'auras un bouton du genre "afficher le message" comme un spoiler
Si c'est toi qui l'a bloqué sinon oui c'est comme a dit max
Oui donc pas de soucis pour le bot. Il peut get le message de cette personne
En même temps on teste des choses improbables mdr
D'ailleurs même si le bot est bloqué par l'utilisateur ou qu'il n'a plus de serveur en commun avec lui (il ne peut donc plus le mp) il est toujours possible pour le bot de modifier/supprimer des messages privés qu'il a envoyé.
//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
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 ......
@lone flax Maintenant c'est que messageCreate ou alors message existe encore ?
dacc du coup ton problemes vient peut êtres des intents ? (je suis pas sur)
En fait le prblme ce que quand qlq bloque le bot, le bot ne peut pas mettre de réaction sous son message ducoup il plante
Tu met un try & catch
C'est a dire? (jconnais pas trop le langage je débute dsl 😅)
Google est ton amis 🤷♀️ mdr
Okay, merci quand meme
Y'a pas un algorithme du genre : "si l'utilisateur qui a envoyer le message a bloquer le bot alors retourner"
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!
Bah ça n'est pas trop possible malheureusement
Sauf si tu utilises un deuxième bot par exemple
Ah ouais bien vu
Dit nous ton problème 🙂
Bonsoir, quelqu'un aurait une idée de comment destroy un graphique ( j'utilise chart.js ) ? 🙂
tu es dans un channel javascript donc part du principe que oui ^^
Cad ?
Tu peux catch la méthode react pour éviter qu'une promesse non capturée fasse crash ton bot
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
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 ......
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 ^^
Montre l'erreur du coup
Utilise les slash command de Discord. Ya plein de guides desssus !
Ouaip, je fais ça quand je rentre bg ^^
Tu peux utiliser la méthode destroy() directement sur ton object
Le souci dans mon code est que le graph ne se réaffiche pas
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
Salut je me demandais comment on utilise les variables js avec un syntaxe comme ça: "var x = { "v": joueur };" ?
C'est un objet
Donc en appelant x.v
Normal tu destroy au moment de l'afficher
Faut que tu le destroy seulement quand tu veux mettre à jour
Tiens ça pourra t'aider : https://www.chartjs.org/docs/latest/developers/updates.html
Open source HTML5 Charts for your website
cimer bg
@ashen rapids Merci
Tu peux me dire comment faire stp?
c'est quoi le code?
J'arv pas trop a trouver dans la docu
essaies Google tu verras c'est super utile 😉
La méthode catch() renvoie un objet Promise et ne traite que des cas où la promesse initiale est rejetée. Elle a le même effet qu'un appel à Promise.prototype.then(undefined, siRejetée) (c'est en fait ce qui se passe dans le moteur, obj.catch(onRejected) est traduit en obj.then(undefined, onRejected)). Cela signifie qu'il est nécessaire de fourn...
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
Pour utiliser try catch avec une promesse il faut attendra sa resolutiln avec await
Sinon
Ajoute .catch([callback]);
Bonjour, quelqu'un serait comment hide/toggle des divs en fonction d'un id ? ( pour une navbar )
console.log(error)
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
Comme pour n'importe quel objet js, tu dois mettre l'index de l'élément du tableau
config.modelOneData[0].color
oké merci
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
Fais une fonction wait
Tu peux le faire facilement en une ligne avec une Promise et await !
Par simple curiosité, c'est quoi l'extension qui te permet de prendre des screens comme ça ?
C'est CodeSnap, juste ça me fais chier parceque on peut pas copier la photo on est obligé de l'enregistrer mdr
Ok ok, je vois ça partout donc je me demandais 🥲
C'est connu comme extentions il y a plein de copie de ce genre d'extention mdr
Es-tu en train de dire que je suis un boomer ? 
Maisss non mdrr je l'ai decouverte dans le mois aussi mdr
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
Surtout pas
export const wait = (timeInMs: number): Promise<void> => {
return new Promise((resolve) => {
setTimeout(() => {
return resolve();
}, timeInMs);
});
};
Par exemple pour implementer une attente
ça c'est du TS non ?
Bonjour est ce que c normal que la latence de mon bot sois de -2100 ?
ça change rien, la seule différence c'est quez c'est typé
ça fait rien mais bon c'est pas grave du coup mdr
Comment ça ?
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é
Ouais après en TS ça devient vite lourd du coup je vais en explicite ^^
Uncaught SyntaxError: await is only valid in async functions and the top level bodies of modules (at (index):542:11)
T'as jamais fais d'async ?
Non mdr
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
c'est pour le coté pédagogique que tu fais ça ou tu veux juste un outil car sinon y'a déjà des truc qu'il le font
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
Je ne pense pas
quelle tristesse
Yes tu peux
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
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}`)
}
}
}
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
ok je dénonce c zaros qu'a fait le code
Euh non du coup vu que aucun emote ce supp
Ce que je veux dire c'est que ça se trouve dans l'exécution de ton code, ça passe même pas par là
Donc go débug
Ouais ben j'ai debug et bah ça fait le meme resultat hein 🤷♂️
Avec du bon vieux console.log
Ou alors le debugger de Vscode si t'es dessus
Bonsoir, j'ai un petit problème lors de m'a màj 12 à 13 Discord
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?
Tu inverses les valeurs ?
dans l'idée oui mais comment j'peux faire ça ?
genre c'est quoi la fonction qui permet de faire ça
Nan mais ton array, c'est toi qui le définis ?
non
ce serait trop simple sinon j'suis pas bete 😭
okok je vais me renseigner sur la doc, merci !
Ok 🙂
tonarray.sort((a,b) => return a - b })
Ou alors <Array>.reverse()
pas judicieux non, si les nombres sont pas dans l’ordre ça fera de la merde
.sort() est sûrement la meilleure solution
@oak turret justement il ne veut pas trier par ordre décroissant, il veut inverser son tableau
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
Plus petite les logs stp !
C'est bon là ?
Tu as check l'erreur ?
Que ce soit dans la commande comme dans l'index.js J'ai regardé, malheureusement je vois pas l'erreur
Montre ton index.js
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
Je pense que tu vas t'en sortir avec ça ^^
Oui 🙂 Merci quand même ^^
Salut j'ai une question comment je peux faire pour vérifier si un joueur à un rôle ?
Oui merci
J'ai une erreur : Uncaught TypeError TypeError: interaction.member.roles.find is not a function mon code : if (interaction.member.roles.find(r => r.name === "Gérant Staff")) {
essaie ceci :
if (interaction.member.roles.cache.find(r => r.name === "Gérant Staff")) {
Nickel ça marche merci
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 oui j’avais juste mal écrit mon message deso
Je te l’envoie dans 5min
Pourquoi en MP ?
pour éviter de flood ici ou quoi
C'est le but du salon, donc ça flood pas ;)
bon x)
salut c'est normal j'ai coder un bot et mon bot ne marche pas
Tu as une erreur ?
aucune
Sois plus précis, où alors met ton code
merci bien on ma aider
Ok
Heyo juste à titre informatif apparamment ça a été désactivé temporairement le fait d'activer la communautée
Ah mince
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 ?
avec un code c'est plus simple pour aider 😉
Définies tes valeurs par défaut dans les states dans la méthode componentDidMount
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)
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 ? 😊
Je pense qu'il y a une incompréhension quelque part
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 ^^')
Par datatable, tu entend front ou base de données ?
React c'est du front, datatable ≠ database
Donc il cherche à faire un tableau en react pour afficher des données
Si jamais tu as mui
C'est jeune mais plutôt très bien
qui peut m'aider pour mon message de bienvenue il s'envoie pas
({ embeds: [embed] });
c a pas changer
Client.channels.cache.get('833058434197749780').send({embeds: [embed]});
Ta bien changé à chaque ligne où tu as un .send ?
merci ca marche mais ca donne pas le role
et le message peut s'envoyer qu'une fois
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
Regarde le code 👍
quel code ?
on peut m'expliquer
Tu déclares plusieurs fois config
oe mais comment je change
Commence par les bases, tu vas gagner du temps
pourquoi use les deux ENV && Json pour de la config ?
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();
on pourrait m'aider c'est urgent svp
nan c'est bon mrc j'ai trouvé la solu 🙂
Si c'est urgent pose ton problème 
Bonjour quelqu'un connais la librairie full calendar ^^
cimer mais mistik je te connais tah extinction mgl
il y a pas moyen tu m'aide pour un petit projet
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.
Tu peux garder l'image en utilisant attachment.proxyURL
Elle ne va pas être supprimée elle ?
Genre elle est gardée même si l'image d'origine est supprimée ?
C'est pas très RGPD-friendly tout ça 
Oui
Je sais pas comment ça fonctionne réellement mais moi je save comme ça quand un message est supprimé !
Je sais pas, car l'image n'est pas une info perso. Ca dépend surtout ce qu'il y a dessus donc ça se discute
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
Yep ya ça aussi, ya un délai qu'on connait pas

