#javascript-typescript
1 messages · Page 1 of 1 (latest)
C'est mieux que d'utiliser la variable importer de discord.js
c'est sûr
et y'en besoin que pour Button Style ?
Les numéros ils sont dispo pour presque tout: type du component en gros bouton, select menu...
Type de channel, et encore. Ils sont visibles sur la doc de discord.js.
Aussi pour le type d'interaction c'est assez pratique d'ailleurs.
ah d'accord je vois !
si je veux faire une commande slash = 1 fichier
comment je dois faire ?
je les enregistre dans l'index ?
si c'est le cas comment je les importe depuis un autre fichier ?
Quelqu'un sais comment utiliser un svg avec matter.js sinon ? 
Hey, ta condition est inversée ligne 55
Enlève le ! car ton interaction est un bouton, là tu lui demande de rentrer dans la condition que si ton interaction n'est pas un bouton
oh j'avais même pas remarqué !
merci !
c'était pour un return à la base mais j'ai oublié de l'écrire !
l'erreur me dit que send ne peut pas être lu
ça a changé avec la V14 ?
je n'ai pas trouvé sur la doc
j'ai envoyé la mauvaise capture pardon
Fait voir l'erreur mais c'est possible qu'il ne retrouve pas le channel tu as pu te tromper dans l'id.
j'ai vérifié c'est le bon id
oki envoie l'erreur.
ça vient de ton channel il le trouve pas
après quand je mets le curseur sur send ça met 'any'
le channel il y a accès
donc logiquement il ne peut pas ne pas le trouver
Bah visiblement il ne le trouve pas puisque c'est undefined
Ah non laisse tomber ça doit venir du problème de Discord surement.
je dois faire quoi dans ce cas ?
Enfin je sais pas c'est sur les interactions mais y a peut être moyen.
Si c'est ça le problème il faut que attende.
Parce que là le problème c'est soit l'id soit ça.
ben c'est sûr que c'est ça alors parce que l'id j'ai vérifié
Salut les gars, je suis bien bloqué, quelqu'un pourrait m'aider ? 🙂
Faut que tu sélectionnes l'objet parent avec un truc comme $this.parent()
$this.parent().offset({
left: e2.pageX + elemX - width,
top: e2.pageY + elemY - height
});
Un truc comme ça j'imagine
Helloo, quelqu'un a déjà rencontré un soucis de ce type ? Tous ce passe bien (le channel s'est bien créé) mais discord m'affiche ce message...
components accepte uniquement le contenu "string"
c bon
bah nan car je provide un boolean pour le state donc il n'est pas sencé foutre une erreur
Bonsoir je suis passé enfin a discord.js14 et j'a voulue mettre mon embed pour mon gamedig mais jai une erreur
[FATAL] Possibly Unhandled Rejection at: Promise Promise {
<rejected> RangeError [MESSAGE_CONTENT_TYPE]: Message content must be a non-empty string.
at Function.verifyString (/home/container/node_modules/discord.js/src/util/Util.js:428:49)
at MessagePayload.makeContent (/home/container/node_modules/discord.js/src/structures/MessagePayload.js:114:22)
at MessagePayload.resolveData (/home/container/node_modules/discord.js/src/structures/MessagePayload.js:129:26)
at MessageManager.edit (/home/container/node_modules/discord.js/src/managers/MessageManager.js:130:8)
at Message.edit (/home/container/node_modules/discord.js/src/structures/Message.js:703:34)
at /home/container/handler/index.js:138:23 {
[Symbol(code)]: 'MESSAGE_CONTENT_TYPE'
}
} reason: Message content must be a non-empty string.
Bonjour, envoie ton code stp.
Là l'erreur ça veut dire que tu as mis un content vide du style content: ""
Oui je te donne ça
const loadStatut = async function (client) {
client.on("ready", async (client, message , args) =>{
let channelstatus = client.channels.cache.get("993457517482999878");
let status = await channelstatus.send('**Le status se chargera dans 60 secondes🕜**');
setInterval(async () => {
Gamedig.query({
type: "garrysmod",
host: "game3-fr.hosterfy.com",
port: "63573"
}).then((state) => {
console.log(state);
let StatusEmbed = new client.discord.MessageEmbed()
.setColor('ORANGE')
.setTitle(`${state.name}`)
.addField("🟠Statut", `En Dev`, false)
.addField("👥Joueurs", `${state.players.length} / ${state.maxplayers}`, true)
.addField("📶Latence", `${state.ping}`, true)
.addField("🗺️Map", `${state.map}`, true)
.addField("🔒Mot de passe", `${state.password}`, true)
.addField("🎮Lien de connexion", "gg", false)
.addField("🔧Workshop", "ddddd", false)
.setThumbnail("https://media.discordapp.net/attachments /993457596201705482/999670341238542466/logosm.png")
.setFooter('🕛Derniere actualisation:')
.setTimestamp();
status.edit({embeds: [StatusEmbed]});
}).catch((error) => {
console.log("Serveur Off");
let StatusEmbedOff = new client.discord.MessageEmbed()
.setColor('RED')
.setTitle(`Hors-Ligne`)
.addField(`🔴Statut`, "Hors-Ligne", false)
.addField("🔧Workshop", "ddddd", false)
.setThumbnail("https://media.discordapp.net/attachments/993457596201705482/999670341238542466/logosm.png")
.setFooter('🕛Derniere actualisation:')
.setTimestamp();
status.edit({embeds: [StatusEmbedOff]});
}, 60000);
});
}
Tu peux pas edit comme ça tu as juste à faire ça
status.edit({embeds: [StatusEmbed]});
Ah pourtant sur djs 12 il fonctionne
mais pas sur 14
mais je vais test
Normal y a eu des changements par exemple pour créer l'embed c'est pas MessageEmbed mais EmbedBuilder
Et pour les fields c'est pas comme ça aussi
- new MessageEmbed().addField('Inline field title', 'Some value here', true);
+ new EmbedBuilder().addFields([
+ { name: 'one', value: 'one' },
+ { name: 'two', value: 'two' },
+]);
Oh lalala
Je vais devoir tout réapprendre
Pour le coup tu as pleins de modif ouais.
C'est bon ça fonctionne mais il a juste pas delete le message
Genre le statut se chargera
Mais je crois jai du enlever le message delete
Si tu veux modifier le texte je te conseil de mettre
status.edit({content: "Ton texte", embeds: [StatusEmbed]});
Le message delete n'y est plus en effet.
Merci pour ton aide c'est sympa !
De rien 😉
Une question @untold shale, c'est bien pour avoir des informations sur un serveur Garry's Mod ?
Oui un gamedig
Un statut
Mais c'est génial ! Tu utilises un module ?
ça ne te dérangerait pas que j'utilise ton système ?
Nan stv utilise
Merci ! 😄
Dr
C'est quoi ton extension discord pour vsc
Celle-ci
Merci 😁
De rien !
Tu peux aussi utilisé gamedig pour fivem, rust,...
Je ne connaissais même pas l'existence de ce module
Disocord est pt
Hey ! Je suis entrain de réaliser un select menu pour obtenir un role mais lorsque je selectionne mon role sa ne fonctionne pas et aucune erreur apparaît dans ma console voici mon code
salut !
je ne suis pas sur mais je crois que chaque interaction a besoin d'un reply
donc dans ton interaction.isSelectmenu
après ton interaction.member.add
Mets un interaction.reply({content: "ton message", ephemeral: true})
(le ephemeral sert à ce que seul l'utilisateur puisse voir la réponse
je suis pas sûr de ça je débute moi en js mais il me semble que c'est ça
ah mince
il ne faut pas mettre 3 = pour ton
if(interaction.values === 'french)'```
Nan c'est pareil
ok
Oui
Sinon il va te mettre que y'as une erreur alors que ça marche quand même
Ta réponse s'envoie ?
https://gyazo.com/d863b3d6da8d51d0ff6365a7355ef720
Bah en gros sa me mets sa et j'ai aucune erreur dans la console
On
En gros ça veut dire que le bot n'arrive pas à trouver le menu de sélection
Doncc essaye de vérifier tes custom id
https://gyazo.com/4ed11286dd9f0db6ebceba1aa33f3e12
Bah la mes customid sont censé etre bon non ?
Oui c'est bizzare parceque c'est les bon id
En effet c'est peut être sa faut que je mette combien dcp
bah + que ce que tu as d'options je pense
Pcq quand je change sa me mets un erreur
Et max je mets quoi
J'ai sa comme erreur
6.name[BASE_TYPE_REQUIRED]: This field is required
at SequentialHandler.runRequest (g:\Drunk Guys\Drunk's Bot\node_modules\@discordjs\rest\dist\index.js:748:15)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async SequentialHandler.queueRequest (g:\Drunk Guys\Drunk's Bot\node_modules\@discordjs\rest\dist\index.js:560:14)
at async REST.request (g:\Drunk Guys\Drunk's Bot\node_modules\@discordjs\rest\dist\index.js:1000:22)
at async g:\Drunk Guys\Drunk's Bot\handlers\slashCommand.js:46:5 {rawError: {…}, code: 50035, status: 400, method: 'PUT', url: 'https://discord.com/api/v9/applications/999650119341322312/guilds/999659692269785189/commands', …}```
min : 1
max : 3
je pense
essaie tu verras bien
d'après l'erreur tu as pas respecté la forme d'un constructeur
(builder)
l'embed est correct
essaie de modif les min et Max values
J'ai changé les valeurs mais toujours la même erreur
C'est quoi ton code ?
@copper pagoda
Ici il nous dit qu'il recherche un type qui doit être requis.
oui un field
donc la forme n'est pas respectée
ça m'a l'ai correct pourtant.
je fais un select menu aussi et cette erreur s'affiche
l'interaction avec la slash ne marche pas
Bonjour j'ai un petit soucis il me dit que je n'ai pas le module alors que je l'ai defini plus haut
<rejected> Error: Cannot find module './config'
Require stack:
- /home/container/commands/Admin/say.js
- /home/container/handler/index.js
- /home/container/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:999:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.<anonymous> (/home/container/commands/Admin/say.js:1:16)
at Module._compile (node:internal/modules/cjs/loader:1099:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
at Module.load (node:internal/modules/cjs/loader:975:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Module.require (node:internal/modules/cjs/loader:999:19) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/home/container/commands/Admin/say.js',
'/home/container/handler/index.js',
'/home/container/index.js'
]
}
} reason: Cannot find module './config'
Require stack:
Fait voir le code.
const config = require('./config')
module.exports = {
name: "say",
aliases: ["text", "bot"],
category: "Admin",
description: "Dit du text avec le bot!",
ownerOnly: true,
run: (message, args) => {
if (!message.member.hasPermission('MANAGE_GUILD')) return message.channel.send('Vous n\'avez pas la permission d\'utiliser cette commande.')
if (!args[0]) return message.channel.send('Veuillez indiquer du texte à envoyer.')
message.delete()
message.channel.send(message.content.trim().slice(`${config.prefix}say`.length))
},
}
Il ne trouve pas ton fichier config. Il est comment ton arborescence ?
yep mais où ?
Tu as fait quoi comme action ?
Et ton say il est où ?
dans commands/Admin/say.js
faut mettre .js nan ?
Bah j'ai essayer avec pareil
premire ligne apres config
oki bah du coup faut que tu retournes 2 fois en arrière avec ../ ce qui donne
const config = require('../../config')
De rien.
Ah et une question MANAGE_GUILD Est toujours d'actus sur djs13 ou il a changé ?
Il me semble que c'est GUILD_MANAGER. Je ne suis pas sûr du tout
Hello quelqu'un pourrait me dire comment je peux faire dans ce cas s'il vous plait
Jai test et il me met une ereur
Tu as essayé de faire quoi ?
lorsque je sélectionne l'option noir sur le menu, echec de l'interaction
mais aucun message d'erreur dans la console
@vast chasm pour ton erreur j'ai la solution
il faut que tu mettes
interaction.values.includes('french')```
oui
Att je test
vsy
fais voir ton code
mets 1 dans minValues et maxValues
le setMinValues c'est le minimum d'options que l'utilisateur doit sélectionner
et setMaxValues c'est le maximum qu'il pourra
là tu as mis 3 or tu n'as créé que 2 options
(je sais c'est moi qui t'ai dit de mettre 3 mdr)
Quand je mets 1 dans max et min sa fait echec de l'intéraction sans erreur dans la console comme au début
mais le menu s'affiche ?
ça fait ça quand tu appuie sur l'option
yes
tu es sur d'avoir mis les bons id de rôles ?
Oui
ah bah sorry mais I dont know alors
Ok pg merci quand meme
Tu obtiens ton console.log() ?
Non
Met ce code dans un interactionCreate
if(interaction.isSelectMenu(){
...
}```
Tu es en v14 ?
Oui
Tu as fais ce que je t'ai dis précédemment ?
Je n'ai rien fais 
Sa fais toute la journée je galère ptdrrrr

un say
Fait-voir ton code
AOui att je fini un truc
Autant pour moi. Tu as bien raison c'est MANAGE_GUILD
const config = require('./config')
module.exports = {
name: "say",
aliases: ["text", "bot"],
category: "Admin",
description: "Dit du text avec le bot!",
ownerOnly: true,
run: (message, args) => {
if (!message.member.hasPermission('MANAGE_GUILD')) return message.channel.send('Vous n\'avez pas la permission d\'utiliser cette commande.')
if (!args[0]) return message.channel.send('Veuillez indiquer du texte à envoyer.')
message.delete()
message.channel.send(message.content.trim().slice(`${config.botPrefix}say`.length))
},
}
[FATAL] Possibly Unhandled Rejection at: Promise Promise {
<rejected> TypeError: Cannot read properties of undefined (reading 'hasPermission')
at Object.run (/home/container/commands/Admin/say.js:10:29)
at Object.execute (/home/container/events/client/messageCreate.js:21:23)
at Client.<anonymous> (/home/container/handler/index.js:30:58)
at Client.emit (node:events:527:28)
at MessageCreateAction.handle (/home/container/node_modules/discord.js/src/client/actions/MessageCreate.js:26:14)
at Object.module.exports [as MESSAGE_CREATE] (/home/container/node_modules/discord.js/src/client/websocket/handlers/MESSAGE_CREATE.js:4:32)
at WebSocketManager.handlePacket (/home/container/node_modules/discord.js/src/client/websocket/WebSocketManager.js:346:31)
at WebSocketShard.onPacket (/home/container/node_modules/discord.js/src/client/websocket/WebSocketShard.js:482:22)
at WebSocketShard.onMessage (/home/container/node_modules/discord.js/src/client/websocket/WebSocketShard.js:317:10)
at WebSocket.onMessage (/home/container/node_modules/ws/lib/event-target.js:199:18)
} reason: Cannot read properties of undefined (reading 'hasPermission')
Je comprend pas pk il est pas defini
Essaye ça
if(!message.member.permissions.has(Discord.Permissions.FLAGS.MANAGE_GUILD)) return message.channel.send('Vous n\'avez pas la permission d\'utiliser cette commande.')
Member est undefined c'est bizarre.
ça dépend comment est formé ton handler mais il y a moyen que en variable dans le run tu es mis (client, message, args) donc ici message serait = client.
Après comme je dis ça dépend de ton handler.
En passant, il faudrait penser à passer en commande slash 
Bah deja j'essaye de comprendre apres je fait les commandes slash
C'est possible
Essaye de rajouter client devant message voir.
C'est ta première commande la say ?
C'est ça
Oui
Oki nickel.
Oki ça marche bonne continuation pour la suite et je pense qu'avant de continuer essaye peut être de comprendre un peu plus ton handler pour savoir comment il fonctionne.
Ouais je vais essayer
Autant pour moi, je ne savais pas que tu venais de commencer. Si tu as besoin d'aide, n'hésite pas !
Effectivement, commence par les commandes basiques puis après tu t'orientes comme tu veux
Il me dit BITFIEL_INVALID alors que je l'ai bien mis dans l'index
Ouais en plus ya le wiki
Tu es en v13 ou en v14 ?
13
Heu
Hey ! je suis là juste pour poser une question rapide
c'est juste pour être full sûr de ce que je fais
dans un if, || veut dire ou et && veut dire et, c'est bien ça ?
if sa veut dire si je crois nan ?
yep
C'est ça ouais.
Et tu as aussi != n'est pas égale
J'ai chercher sur le wiki mais jai rien trouvé
C'est quoi ton code ?
.
dans l'index.
!==
ah
genre, if(eiffelTower > maman){
message.reply("la tour effeil est plus grande que votre mère, cheh")
break
};
const client = new Client({
intents: [
Intents.FLAGS.GUILDS,
Intents.FLAGS.GUILD_MEMBERS,
Intents.FLAGS.GUILD_BANS,
Intents.FLAGS.GUILD_INTEGRATIONS,
Intents.FLAGS.GUILD_WEBHOOKS,
Intents.FLAGS.GUILD_INVITES,
Intents.FLAGS.GUILD_VOICE_STATES,
Intents.FLAGS.GUILD_PRESENCES,
Intents.FLAGS.GUILD_MESSAGES,
Intents.FLAGS.GUILD_MESSAGE_REACTIONS,
Intents.FLAGS.GUILD_MESSAGE_TYPING,
Intents.FLAGS.DIRECT_MESSAGES,
Intents.FLAGS.DIRECT_MESSAGE_REACTIONS,
Intents.FLAGS.DIRECT_MESSAGE_TYPING,
],
});
Meme si je le met ça marche pas
ça c'est une inégalité stricte.
Pourquoi tous les activer ?
Si tu met un seul égal, la valeur est false non ?
si, je crois
C'est un mec qui m'a dit met les tous c'est mieux
ça dépend si tu as
'1' !== 1 avec un = ça met false mais avec 2 ça met true.
Bah si y en que tu te sert par ça sert strictement à rien.
Yep donc, il faut en mettre 2 sinon inutile
ça dépend si tu veux que mon exemple soit false tu en mets qu'un.
ok ok
Ce que je veux te dire c'est que ça revient à rien mettre
ça dépend du cadre où tu l'utilises derrière.
Du coup t'es en V13 bizarre que ça marche pas alors.
T'es sur d'être en V13 c'est ce qu'il y a de marqué dans ton package.json.
Oui oui
Yep
"discord.js": "^13.3.1",
oki ça marche.
Oui je comprend pas non
il me dit juste ça
throw new RangeError('BITFIELD_INVALID', bit);
^
RangeError [BITFIELD_INVALID]: Invalid bitfield flag or number: undefined.
Tu as du faire une erreur dans un alors.
Fais npm update ||Nolhan 😉||
Je viens de la faire pareil.
Intents.FLAGS.MANAGE_GUILD,
Faut mettre ceci on est d'accord ?
Salut désolé je n'étais pas là ce week-end je répond donc que maintenant j'ai essayé ce que tu m'as dis et j'ai toujours une erreur
Essaye plutôt comme ça
.then()
.catch((err) => console.log(err));
Essaye ça voir.
.then()
.catch(() => {console.log("Une erreur est survenue lors de l'envoie du message")});
Pareil
Ah je viens de voir ça viens pas du catch je crois je me suis planté mais tu as mis pour définir ton embed new Discord.MessageEmbed() mais en faut quand tu require discord.js tu as mis MessageEmbed alors il faut que tu enlèves Discord.
Que dans le InteractionCreate.js
.get() ?
à la place de this.command.
ok je vais test
pareil
ok ça marche c bon
le souci mtn c'est que ma slash cmd /ping ne s'affiche pas
aucun message d'erreur
le code :
Tu fais un edit. du msg.
Pour ré-afficher le place holder ?
Ouais.
Enfin perso c'est ce que je fais.
ok je vais regarder ça de plus pret merci ^^
Bonsoir, je suis bloqué, j'ai ce code :
case 'level' :
console.log(interaction.user.id)
let userData = JSON.parse(fs.readFileSync(`./users/${interaction.user.id}.json`));
console.log(userData[exp])
console.log(userData)
interaction.reply(`tu as ${userData[level]} niveaux (${userData[exp]} unités d'exp)`)
break;
j'arrive à console.log userData, ça me donne tout ça :
{
id: '625695158247358464',
bot: false,
system: false,
flags: 64,
username: 'ArthyStone',
discriminator: '6610',
avatar: 'a78d016eeaa07707a33fa988999d0af1',
palier: 0,
vocalMinutes: 0,
exp: 186,
level: 1,
nbrOfMessages: 21,
registerDate: 1658407486914,
createdTimestamp: 1569247750580,
defaultAvatarURL: 'https://cdn.discordapp.com/embed/avatars/0.png',
tag: 'ArthyStone#6610',
avatarURL: 'https://cdn.discordapp.com/avatars/625695158247358464/a78d016eeaa07707a33fa988999d0af1.webp',
displayAvatarURL: 'https://cdn.discordapp.com/avatars/625695158247358464/a78d016eeaa07707a33fa988999d0af1.webp'
}
donc en toute logique, je n'ai qu'à prendre ce que je veux mais ça ne marche pas ...
En gros si tu fais userData.id ça te retourne undefined ?
Oki c'est bizarre en effet.

Et ça fait quoi si tu le réattribue à une autre variable du style let data = userData; ?
déso, j'étais parti dormir
je vais essayer, c'est pas bête comme idée
ça met la même erreur
je suis trop bête
je me suis concentré sur le code 2 minutes et j'ai remarqué que j'avais oublié les guillemets
je pense m'être trompé en voulant aller trop vite, comme c'est une variable, je me suis sûrement dit qu'il y en avait pas besoin
Bonjour vous savez le nom du module qui permet de ping une adresse ip dans mon cas un vps par exemple
aucune idée déso
j'utilise moment.js, quelqu'un sait comment passer ça en français ?
genre, le jour et le mois sont écrits en anglais
et j'aimerais traduire ça
https://www.npmjs.com/package/ping
Ping, tout simplement
Via la locale : https://momentjs.com/docs/#/i18n/
Je t'invite aussi à regarder du côté de Luxon qui est en gros une version plus légère de moment
Salut, je voulais savoir mon foundProduct devrait pas avoir toute les couleurs qui sont dans mon basket pour les comparer avec la couleur de mon produit ?
Parce que là il affiche que le premier produit que j'ai envoyé dans le basket
Hello, petite question toute bête, comment est-ce qu'on doit procéder pour qu'un contextmenu soit accessible?
voilà respectivement mon fichier info.js ainsi que mon event interactionCreate.js, pour autant ça ne fonctionne pas.. une idée?
Comme tu l'as programmer là c'est direct dans l'utilisateur tu fais un clique droit sur l'user > application et tu as ta commande.
c'est ce que je cherche à faire à vrai dire
mais en l'état actuel des choses, impossible de trouver l'onglet Applications ;
Regardes dans les paramètres du serveur et dans les intégrations pour voir si t'es commandes apparaissent
tu parles de ça?
par curiosité, je viens de tenter avec un autre bot ( Koya ) et tout fonctionne correctement
Tu vois les slashcommands de ton bot ?
Sinon ça peut venir de ton handler dès fois.
j’utilise pas les slashcommands, seulement avec un préfixe de mon côté
je peux te l’envoyer en screen et tu me dis ce qu’il en est, car là, je bloque un peu honnêtement.. ^^’
ça peut venir de là du coup quand tu invites ton bot en faite enfin perso c'est ce que je fais sinon j'ai pas les commandes slash ou contexte menu.
Je vais sur discord developers sur mon app puis dans OAuth2 et enfin dans URL Generator et après je coche la case bot et applications.commands et après je mets les perms et je l'invite.
dans bot il est administrateur à priori
donc que les autres soient cochés ou non ça bypass, non?
Non car applications.commands n'est pas une permissions c'est un scopes
Ouais tu as lien et tu l'invites
ça a rien changé x)
je vais essayer avec une commande slash
a priori
si ça fonctionne
ça viendrait de mon handler?
enfin
par intermittence
m’enfin bref
je vais me débrouiller, merci du coup de main!
Mmh
Merci
Et aussi jai ceci dans ma console
(node:27) DeprecationWarning: Passing strings for MessageEmbed#setFooter is deprecated. Pass a sole object instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
Bonjour, c'est possible de connaitre la date d'il y a x nombre de jour, par exemple je veux avoir la date qu'il était il y a 3 jours
Ton problème est il résolu?
Sinon, ou est ce que tu setup tes slash commands ?
alors, pour t'expliquer, je me suis rendu compte que mes slash commands n'étaient pas setup, j'ai donc corrigé ça et je les setup donc dans le ready.js
par la suite, mes slashcommands marchaient mais bon, étant donné qu'une seule était correctement configurée ( car je fonctionne avec le préfixe ), mon bot était assez capricieux dès que je faisais une commande
et pour finir, j'ai pas réussi du coup mon context menu x)
désolé je suis un peu noob dans tout ça ^^'
C'est a dire tu fonctionne avec le prefixe ?
j'utilise un préfixe, et non les slashcommands
Ton context menu était set dans application ou même pas?
je crois bien que non ^^'
Aaah donc tu utilises des commandes nln slash et tu voudrais aussi utiliser les context menu
yup
ok ok 🤔
c'est un peu contradictoire mais c'est pour faciliter certaines commandes
Oui aprzs pourquoi pas
Lesquels 🤔 ? Tu comptes rendre ton bot public ?
absolument pas non, mais c'est juste pour diverses commandes avec mention uniquement (ex: userinfo )
du coup, j'ai refait le nécessaire pour faire apparaître les slashcommands
mais petite erreur x)
sinon c'est pas fun
hum.. quelques unes a priori
j'y suis depuis hier et je dois bien être à une vingtaine d'essais
Et t'as combien de commandes slash a set?
de commandes slash, 0, et en contextmenu, 2 a priori
On peut regarder ton setup de slash?
il se limite à ça dans mon ready.js
a priori ui ( j'ai pas vraiment d'idée de ce que ça fait, c'est pas moi qui l'ai fait )
Tes commandes de base fonctionne?
Plusieurs problèmes que je vois
- Tu mets toutes tes commandes dans le même panier, les slash (context) et les normales, ce qui fait que tu setup des commandes qui n'ont rien a faire la
- Pas de description ici ca ne risque pas d'être enregistrer dans tzs commandes 🤔
simplement que j'ai une erreur quand j'en met une, les contextmenu ne pouvant pas en avoir
Quelle erreur ?
je te dis ça dans un instant
Pas de soucis
faut croire que je vais devoir attendre, j'ai toujours ça
mais de mémoire, l'erreur était la suivante ;
bon
impossible de retrouver l'erreur
mais elle disait clairement qu'un contextmenu ne pouvait pas avoir de description
après sinon je met juste ça
quand tu dis setup, c'est bien qu'elles s'affichent quand j'entre un caractère / ?
Pour les chat-input oui
du coup non
a priori du coup, comme je te l'ai dit plus haut, si tu considère les contextmenu comme étant à mettre en slash, j'ai 2 slash et tout le reste en non slash
nope
j'ai dû m'amuser à tout corriger hier car je mettais type partout auparavant pour une commande help, mais maintenant les seuls endroits où type est utilisé c'est dans mes contextmenu
Donc éventuellement ce qu'on peut faire c'est avoir deux collections
Et dans le handler quand tu as type != null ça mets dans une collection appelé slashCommands
Pourquoi utiliser discord.js et discord-modals?
ça a rien à voir ça je crois, en théorie ça n'interfère pas avec les commandes
et c'est simplement que j'ai un peu de code en dessous pour gérer des modals
Yep normalement juste un commande x) mais autant utiliser discord.js maintenant que c'est sorti dessus 👀
et que je suis dans l'incapacité de créer un event qui fonctionne, donc faute de mieux, je laisse ça ici
c'est dessus?
j'en apprends x)
quelques uns effectivement x)
Dans ton premier array rajoute "slashCommands"
Qui sont pas forcément nécessaire x)
okay, c'est good
Bah maintenant dans ton handler
je vais manger, a priori je re dans une 30aine de minute ^^'
je te redis quand chuis là ;)
T'inquiète (probable que j'aille également manger)
haha pas de souci ^^
du coup, c’est good!
Et aprzs dans ton handler condition si type différent de null bah tu add dans slashCommands
if(cmd.type != null){return … }
je dois marquer quoi spécifiquement ? x)
pour add dans slashCommands
client.slashCommands.set ?
actuellement j’ai ca du coup
C’est moi où tu peux coder sur ton tel 😅
disons que j’apprends que le tas, ça se sent je pense x)
avec certaines applis tu peux, je récupère les fichiers via sftp et puis libre à moi de les modifier derriere
Ensuite ready.js tu modifies par slashCommands
et du coup ça évitera de créer l’ensemble de mes commandes en slashcommands? uniquement celle qui contiennent un type?
Oui
ok ok
Ce qui est bien également c'est pas de set tes commands a chaque redémarrage
tu préconises de faire comment ?
parce que pour le coup ça éviterait sûrement que j’atteigne la limite
des que je modifie l’une de mes commandes slash du coup je set de nouveau?
Yep
Hm
Modife le interactionCreate également
Mais sinon en théorie oui
Apres j'ai eu un bug avec ça où les slash n'était juste pas set, donc j'étais passé par REST directement
ça m’est arrivé hier, elles voulaient pas s’afficher du tout
j’ai du passer par un kick du bot
je modifie interaction create
étant donné que j'ai toujours cette erreur, impossible de te dire x)
si j’ai le temps dans la soirée je prendrais le token d’un 2e bot que j’ai sur le serv
pour essayer
Juste une question tu as fait combien de commande là ?
Parce que avoir créé 200 commandes en une journée c'est énorme
j’ai 40 commandes environ sur mon bot
sauf que
aucune n’est censée être en slash
mais au début, tout était set en slash et en textuel
du coup 5 redémarrages et c’était fini quoi
Ah ouais d'accord
Quelqu'un peut m'aider en voc svp ?
Let's go @sharp grail !
ça fonctionne !
enifn
ça s'affiche
pour la faire fonctionner c'est autre chose x)
yop
et au plus grand des hasards...
t'aurais pas une idée pour afficher un nom différent du name?
à savoir;
ici la commande s'appelle sûrement pas Warn un utilisateur
je sais pas si tu vois ce que je veux dire x)
manifestement si
ah oké
t’avais raison pour le coup ^^
en tout cas merci beaucoup de ton aide !
aucun problème t'inquiète pas, hésite pas à revenir si t'as un problème 👀
Svp
v14 ?
La réponse a été envoyé dans #bots-commands
Est ce que quelqu'un pourrait me créer un bot discord gratuitement. Je sais que ce n'est pas le salon adapté. Si intéressé mp moi, c'est une tâche que je n'arrive pas à accomplir et j'ai besoin de votre aide. J'ai un doc texte expliquant ce que j'aimerais
Comment je peux faire en nodejs pour push des data a partir de l'id du premier "étage" et le nom d'un membre pour le push dans son planning ?
J'ai lu le fichier, mais je ne sais pas comment faire pour le push
Tu récupères ton tableau et tu push avec un truc comme Insert
Insert ?~
Avec splice, sorry 😭
Bonjour, j'ai un petit probleme, j'ai actuellement 2 fichiers js et je voudrais récuperer les variables dans mon fichier Instance pour les utiliser dans mon app.js, mais cela ne marche pas
Voici mon code:
/* SpotifyInstance.js */
const { Client, Artist } = require("spotify-api.js");
exports.Spotify = class SpotifyInstance {
constructor () {
this.client
this. id = "XXXXXXXXXXXXXXXXXXXXXX"
this. secret = "XXXXXXXXXXXXXXXXXXXXX"
}
async run () {
let client = await Client.create({
refreshToken: true, // Set this to true.
token: {
clientID: this.id, // Your spotify application client id.
clientSecret: this.secret, // Your spotify application client secret.
}
})
// console.log(typeof client)
this.client = client
return client;
}
}
/* App.js */
const app = require('express')()
const { Spotify } = require("./SpotifyInstance");
const spotify = new Spotify();
spotify.run();
console.log('run', spotify.client)
let id = "XXXXXXXXXXXXXXXXXXXXXX"
let secret = "XXXXXXXXXXXXXXXXXXXXXX"
let uri = "localhost:8888/callback"
let code = "user-read-private user-read-email"
// Info getApiToken
const apiToken = async () => {
const res = await spotify.client.auth.getApiToken(id, secret)
console.log("res", res);
return res;
}
app.get('/infoApi', async (req, res) =>{
res.json({
data: await apiToken()
})
})
En gros lorsque je fais un clog de client dans mon SpotifyInstance.js j'obtient un résultat, mais lorsque que je fais un clog de spotify.client dans mon app.js, on me definit que spotify.client is undefined, avez vous une solution pour résoudre mon probleme ?
Bonjour j'ai l'erreur suivante : TypeError: MessageActionRow is not a constructor dans ces lignes :
const {MessageActionRow, MessageSelectMenu, SlashCommandBuilder} = require('discord.js')
module.exports = {
data: new SlashCommandBuilder()
.setName('selectmenu')
.setDescription('renvoie un select menu'),
async execute(interaction){
const row = new MessageActionRow()
.addComponents(
new MessageSelectMenu()
.setCustomId('select')
.setPlaceholder('Choisir un rôle')
.addOptions([
{
label: 'Vert',
description: 'Choisir le vert',
value: '1001470727389724702',
},
{
label: 'Rouge',
description: 'Choisir le rouge',
value: '1001471018948378744',
},
{
label: 'Bleu',
description: 'Choisir le bleu',
value: '1001471081338642495',
},
])
)
await interaction.reply({content : 'contenu du message', components: [row]})
}
}
Salut, tu es en V13 ou V14 pour la version de discord.js
Car si c'est V14 c'est
- const {MessageActionRow, MessageSelectMenu} = require('discord.js')
+ const {ActionRowBuilder, SelectMenuBuilder} = require('discord.js')
ohh merci beaucoup ça doit venir de là car jsuis en V14
De rien.
ça pourra t'aider si tu veux https://discordjs.guide/additional-info/changes-in-v14.html#before-you-start
ok merci !
Vous savez comment je peux récupérer les données d'un modal afin de créer un système de recherche. En fonction de ce que l'utilisateur rentre dans le modal cela lui affiche un embed différent ?
Bonjour je suis entrain de passer a la v14 de discord.js et j'aimerais faire un command handler, le probleme est que j'ai cette erreur, Cannot read properties of undefined (reading 'set') à cette ligne
bot.commands.set(commandFile.data.name, commandFile);
bot et CommandFile sont tout les 2 défini 😅
Bonjour, j'aurais besoin d'aide pour savoir comment faire des export ?
Quelqu'un peut m'aider ?
tu souhaite exporter quoi ?
Mes différent fichier
tu utilise un Handler ?
Non je sais pas faire tous ces truc la
C'est se que je veut essayer de faire
perso j'utilise fs pour faire mes handler
mais je pense que d'autre solution existe
Fs ?
Surement mais je comprend rien au tuto, tu pourrais passer vocal m'aider ?
T’as créé ta collection bot.commands ?
desoler de cette reponse tardive comment puis je faire cela ? j'ai mit ma collection dans mon index.js ^^
Show me comment tu l'as créé
const { Client, GatewayIntentBits, Partials, Collection } = require('discord.js');
const commands = new Collection();
comme ceci ^^
j'ai trouver mon erreur je suis desoler je chercher pas au bonne endroit, c'est pas const commands c'est bot.commands, vraiment desoler 😅
@cyan kernel salut spok desolé pour toute a l'heur dis moi le jeux pour apprendre la prog comment il s'appelle
codeCombat
Qui peut m'aider pour un embed en despi ?
bonjour je suis en train de bosser un exercice en react et il me demande de modifier les paramère de json en ajoutant "emmet.includeLanguages": { "javascript": "javascriptreact" }, "emmet.triggerExpansionOnTab": true mais je n'arrive pas a acceder à ces paramètre ça me met pas de page avec du code
je m'en susi sortie merci comme même
Hey ! J'ai un petit problème que je n'arrive pas a resoudre voici mon code :
client.on('interactionCreate', async interaction => {
if(interaction.isSelectMenu()){
if(interaction.customId === 'ticket-menu'){
console.log(interaction.values);
if(interaction.values[0] == 'dkw'){
interaction.guild.channels.create('name', {
type: 'GUILD_TEXT',
permissionOverwrites: [{
id: interaction.guild.id,
allow: ['VIEW_CHANNEL'],
deny: ['SEND_MESSAGES'],
}]
});
}
}
}
});```
Et voici lerreur lorsque que je select l'option 'dkw' : Uncaught DiscordAPIError DiscordAPIError[50035]: Invalid Form Body name[BASE_TYPE_REQUIRED]: This field is required at DiscordAPIError (g:\Drunk Guys\Drunk's Bot\node_modules\@discordjs\rest\dist\index.js:289:5) at runRequest (g:\Drunk Guys\Drunk's Bot\node_modules\@discordjs\rest\dist\index.js:748:15) at processTicksAndRejections (internal/process/task_queues:96:5)
pourquoi tu a interaction.value[0] ?
enleve [0], sa donne sa
if(interaction.values == "dkw"){
Bonjour j'aimerais mettre une fonction pour le status de mon bot, afin de pouvoir actualiser cette fonction lorsque un membre rejoin ou quitte le serveur, j'ai actuellement essayer de faire ceci mais cela me dit que ce n'est pas une fonction (realoadStatus is not a function at index.js ligne 22)
ready.js
function reloadStatus(bot) {
bot.user.setPresence({ activities: [{ name: `${bot.guilds.cache.size} serveur`, type: "WATCHING"}] })
}
module.exports = { reloadStatus };
index.js
bot
.login(config.bot.token)
.then(() => {
loadEvents(bot);
loadCommands(bot);
reloadStatus(bot);
})
.catch((err) => console.log(err));
Il faut que tu require ton ready.js pour importer ta fonction
Sinon le programme ne peut pas savoir où chercher ta fonction
il est require x)
j'ai reussi a resoudre ce probleme mais mtn dans la fonction me renvoie bien le console;log mais ne met pas l'activité du bot, je n'ai pas d'erreur, juste pas de status ^^
https://discord.gg/vjhCrFXR SVP besoin d'aide
Bonjour, je réalise un project MERN et j'ai un problème pour faire passer les cookies lors de l'authentification, si quelqu'un est doué en node et react je suis repreneur, merci
Bonjour j'ai un problème avec mon code juste en bas , l'interaction ne fonctionne pas et je comprend pas. SVP Aidez moi
erreur?
Non la console m'affiche rien
Et genre quand j'appuie sur le bouton sa me dit : Echec de l'interaction
version de discord.js ?
13.8.1
Bonjour, je ne comprend pas vraiment mon erreur
C:\Users\arthu\Desktop\Bot Zegnos\node_modules\discord.js\src\util\Util.js:279
if (!Object.hasOwn(given, key) || given[key] === undefined) {
^
TypeError: Object.hasOwn is not a function
at mergeDefault (C:\Users\arthu\Desktop\Bot Zegnos\node_modules\discord.js\src\util\Util.js:279:17)
at new BaseClient (C:\Users\arthu\Desktop\Bot Zegnos\node_modules\discord.js\src\client\BaseClient.js:25:20)
at new Client (C:\Users\arthu\Desktop\Bot Zegnos\node_modules\discord.js\src\client\Client.js:43:5)
at Object.<anonymous> (C:\Users\arthu\Desktop\Bot Zegnos\index.js:3:13)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:79:12)
at node:internal/main/run_main_module:17:47
Si tu rajoutes un console.log("test") entre ces 2 lignes ça l'affiche quand tu appuies sur ton bouton ?
Suffit vraiment de lire l'erreur quoi, le prototype hasOwn n'existe pas sur un objet
voici la ligne de code qui pose le problème :
const bot = new Discord.Client({intents: 3276799})
Ah oui mais c'est pas toi qui l'utilise d'accord
mais je touche jamais aux modules
Version discordjs ?
discord.js@14.0.3
sa me sort test dans la console
Ok et si tu remplaces par console.log(interaction.customid) ça sort quoi ?
sa me dit undefined
Tu as ton erreur 😉
Donc c'est ou que c'est pas définie ?
Bonjour, je réalise un project MERN et j'ai un problème pour faire passer les cookies lors de l'authentification, si quelqu'un est doué en node et react je suis repreneur
C'est tout simplement que la propriété customid n'existe pas dans une interaction
Faut lire la doc 🙂
Mais pourtant la j'ai utilisé et sa a marcher
C'est sa je comprend pas et même dans la vidéo du gars il fait sa
Euh bah oui techniquement tu peux
Mais tu peux juste utiliser .id à la place de .customid quoi
Je pense que c'est plus intéressant
Sa marche toujours pas
Debug
Pas de souci
Mais ducoup y'a aucun probleme ? sa veut dire
quelqu'un a une réponse ?
Tien @blissful hemlock
Il à répondue nn ?
oui mais c'est pas ça
Bonjour a tous, est ce que c'est possible avec nodejs de generer une image a partir d'une pas EJS existante
mdrr
tu date de ouf
toi aussi
👍
J'ai une question vous voyer la dernière ligne de code
en gros je veut pas l'envoyer dans le même salon
donc je fait les commande ect
mais genre sa me dis que
interaction.channel.reply n'est pas une fonction
vous saurez pas hasard une fonction ?
Voila mon code, pouvez vous m'aider à faire qu'en fonction de la réponse de l'utilisateur au modal, à afficher un embed différent en fonction de cette réponse
Bah normalement tu fais plusieur else if et juste dans ton code tu met triple égale pour voir sir le type ect sont les même et dès que cette condition est valider sa execute ta fonction
@lone flax Hello tu peut m'aider ?
J'y arrive paaaaaas 😭😭😭
Dutout ?
Déjà est ce que ta limité pour que le gars puissent dire que certain mots ?
Tout est possible de dire ?
oui tout est possible car c'est pour chercher des films
Déso je ne suis pas très bon en javascript
Bah c'est pas complique c'est juste un systeme de variable
et qui va chercher dans une bdd ou .json
Normalemnt
ok je vais voir ceka sur internet en tout cas merci de ton aide
Derien
Quelqu'un peut m'aider pour une commande d'interaction à l'envoie de message ?
Tu as une erreur, un problème ?
Oui
Envoie voir.
Tu as juste pas défini client.
Sa marche tjrs pas
Mais ce que tu peux faire pour aller plus vite c'est
interaction.guild.channels.cache.get()...
Au lieu de récup le channel dans le client il le récupèrera direct dans la guild convenu.
Regarde sa me sort quoi
Att c'est moi je me suis trompé garde ton .get je l'ai juste oublié dans la ligne.
JE la garde
ou
à la fin ou après quoi ?
Juste pourquoi tu veux redéfinir ton salon tu l'as déjà fait plus haut ?
interaction.guild.channels.cache.get()...
C'est un test
Ah oki.
C'est bon merci sa marche je te remercie
De rien quand c'est comme ça n'hésite pas à regarder la doc de discord.js
Je fessait que rechercher mais pas trouver
oki.
est-ce que je peux m'aider des variable jupiter ?
Bonjour est ce possible d'utiliser des argument dans les slash commande ?
Bonjour, oui tu peux ajouter des options, tu as la possibilité de mettre du texte, des nombres, des users, des channels et même faire un système d'autocomplete.
pourrait tu m'aiguiller sur la facon de faire ? 😅
j'ai fait un slashcommand handler et j'aimerais faire une commande clear avec plusieurs option, j'ai essayer avec le split mais sa na pas fonctionner 😅
Fait voir ton code stp>
celui de la commande ?
Ouais que je comprenne comment marche ton handler pour pas dire de bêtise.
Tu es en quelle version de discord.js juste ?
Oki ça marche je te dis du coup
merci beaucoup ^^
Tu peux rajouter dans le fichier de ta commande une fonction qui s'appelle .setOptions déjà
oui mais le probleme est que l'option est defini de base dans le code, ce n'est pas le joeurs qui met celle qui veut si ?^^
je l'ai utiliser pour une fonction reload de mes event et commande ^^
ça dépend soit tu les mets par défaut soit il peut la choisir.
d'accord et comment puis-je faire pour qu'il la choisisse ?
Et après tu construits tes options à partir de la doc : https://discord.js.org/#/docs/discord.js/14.0.3/typedef/ApplicationCommandOptionData
.setOptions([{
name: 'option',
description: 'A sample option',
type: ApplicationCommandOptionType.String,
}])
Ici il peut écrire ce qu'il veut
Et tu peux toujours changer le type que tu veux et rajouter des choix.
.addStringOption(option =>
option.setName("Input")
.setDescription("Nombre de message")
.setRequired(true))
je vien d'essayer sa, mais je vais essayer ta methode x)
C'est une autre méthode.
Juste au lieu de mettre String mets Number pour bien avoir un nombre.
N majuscule.
yep c'est fait sa tqt x)
Oki 😉
j'essaye et je te dit le resultat, merci beaucoup !
De rien perso je préfère y faire en json qu'importer SlashCommandBuilder mais c'est plus simple avec XD.
oui c'est sur, je verrais aussi pour faire sa x)
Après j'y ai intégrer au handler donc c'est encore autre chose.
Et pour récup la valeur tu peux faire ça
sa je verrais par la suite pour simplifier aussi, j'essaye deja de comprendre la v14 x)
elle change beaucoup de la v12 je trouve x)
Ouais c'est sur de la V12 à la V14.
il me dit que setOptions n'est pas une fonction x)
c'est bon j'ai reussi et je get apres x)
Oki<
J'ai réussi ce que je voulais faire. Si on veut par exemple que if ({ favoriteColor} = ("Roi Lion")) mais soit à peu près = ou = à roi lion comment je dois faire
SVP
comment sa ?
J'ai besoin d'aide, tu peut passer vocale car c'est un peu complicado ?
J'aimerais que lorque l'utilisateur met roi lion ou Roi Lion ou roi Lion cela affiche la meme chose. Meme si il se trompe dans le nom
Faut mettre 2 =
Pour que sa soit approximative
alors que 3 = c'est pile poil
et un = ?
Bah un = c'est genre une opération normalement
ok je vais tester
2 = c'est une égalité faible et 3 = c'est égalité stricte
ouai je m'en doutais en tout cas merci pour tout
Derien
desolé mais maintenant que j'ai mis 2 = cela me met
Pas dispo vocal dsl
Bon pas grave
Est ce que je peut savoir pourquoi j'ai cette erreur ?
Tu pourrais me montrer le code entier stp ?
Tien c'est lui et sa me sort une autre erreur
Ici tu as pas défini yourDog.
Sa me dit undefinided
Qu'est ce qui te dit undefined ?
Mon console.log
C'est interaction.customId et pas interaction.customid
Mais ou ?
Dans ton Console.log.
Bonsoir ! Si quelqu'un s'y connait en electronjs, je voulais savoir comment faire un require nodejs sur un script js lié à un html? Merci !
(require impossible autre part que sur le main.js)
Regarde sa me sort quoi comme erreur
Je comprend pas
Essaye ça voir.
Et je sais pas c'est quoi
C'est bien beau mais y a toujours les mêmes erreurs que toute à l'heure.
Lequel ?
== : Vérifie uniquement la valeur (Ex: (2 == '2') : true)
=== : Vérifie la valeur et le type (Ex: (2 === '2') : false)
C'est plus clair et "logique" que égalité faible et stricte qui ne veulent pas vraiment dire grand chose
Désoler si je me suis mal exprimer
T'inquiète 😛 Au moins c'est plus clair pour toi et pour l'intéressé :p
salut, j'aimerai avoir un peu d'aide par rapport aux routes dynamiques avec NextJS
très bien, alors j'espère que tu pourras m'aider
j'aimerai pouvoir coder un popup modal pour un formulaire où l'URL change mais la page reste statique, je sais pas réellement comment l'expliquer
mais si tu veux un exemple, je veux un peu la même chose que ça : https://www.reddit.com/r/nextjs/comments/o67klp/how_to_change_a_url_when_i_open_a_modal_with/
13 votes and 3 comments so far on Reddit
Bonsoir j'aimerais verifier lorsque un membre rejoin un certain channel vocal, comment puis-je faire cela s'il vous plait ?
Avec peut-être 20 secondes de recherche: https://stackoverflow.com/questions/64342340/how-to-detect-when-a-user-joins-a-voice-channel
merci bg, je viens de trouver sur YouTube
c'était plutôt simple finalement
Bonjour j'essaye de console.log lorsque un membre rejoin quitte ou change de salon vocal mais mes console.log ne fonctionne pas, je n'ai pas d'erreur juste rien qui ce passe, voici mon code
const { VoiceChannel, VoiceState } = require("discord.js")
module.exports = {
name: "voiceStateUpdate",
/**
*
* @param {VoiceState} oldState
* @param {VoiceState} newState
*/
execute(oldState, newState){
if(newState.channelID === null){
console.log('un utilisateur a quitter un channel', oldState.channelID);
}
else if(oldState.channelID === null){
console.log('un utilisateur a rejoin un channel', newState.channelID);
}
else{
console.log('un utilisateur a changer de channel', oldState.channelID, newState.channelID);
}
}
}
Bonjour, tu as activé l'intents pour avoir l'état des vocaux ?
je suis en v14 alors il est possible que celui ne sois pas mit correctement x)
j'ai fait ceci
const { Guilds, GuildMembers, GuildMessages, GuildVoiceStates} = GatewayIntentBits;
const bot = new Client({
intents: [Guilds, GuildMembers, GuildMessages, GuildVoiceStates],
Partials: [User, Message, GuildMember, ThreadMember]
});
Si ça doit être ça j'ai pas la.doc sous les yeux mais ça doit être ça.
je suis en handler, cela vien peut etre du param ?
normalement oui c'est sa pour l'intent, j'ai mit les autre de cette facon
Euh aussi pour récupérer l'id du Channel c'est channelId pas channelID
Si tu as déjà fait des évents de cette manière ça devrait être bon.
Vas-y.
maintenant cela fonctionne, cela ne passe juste pas dans le if et le else if 😅
peut importe ce que je fait cela met toujours que j'qi changer de vocal 😅
Bonjour, j'essaie avec Puppeteer de passer la hauteur et la largeur en variable, mais cela me retourne un message d'erreur :
error: new Errors_js_1.ProtocolError(),
^
ProtocolError: Protocol error (Emulation.setDeviceMetricsOverride): Invalid parameters Failed to deserialize params.width - BINDINGS: int32 value expected at position 22
at C:\Users\bibou\OneDrive\Documents\Dev\InovPlanning\node_modules\puppeteer\lib\cjs\puppeteer\common\Connection.js:278:24
at new Promise (<anonymous>)
at CDPSession.send (C:\Users\bibou\OneDrive\Documents\Dev\InovPlanning\node_modules\puppeteer\lib\cjs\puppeteer\common\Connection.js:274:16)
at EmulationManager.emulateViewport (C:\Users\bibou\OneDrive\Documents\Dev\InovPlanning\node_modules\puppeteer\lib\cjs\puppeteer\common\EmulationManager.js:36:73)
at Page.setViewport (C:\Users\bibou\OneDrive\Documents\Dev\InovPlanning\node_modules\puppeteer\lib\cjs\puppeteer\common\Page.js:1690:93)
at asyncCall (C:\Users\bibou\OneDrive\Documents\Dev\InovPlanning\server.js:32:14)
at processTicksAndRejections (node:internal/process/task_queues:96:5) {
originalMessage: 'Invalid parameters'
}
Fait plutôt un else if au pire.
Bonjour, je ne suis sûrement pas doué pour chercher dans les docs mais j'aimerais savoir comment est-ce qu'on peut savoir si un membre a un certain rôle ? je ne trouve pas
C'était juste parceque la valeur que je retournais de ma variable était un string et non un number
if(message.member.roles.has("iddurole")
Là c'est pour un message mais ça marche aussi pour une interaction
merci beaucoup 🙂
Qui c'est comment utiliser un Handler ?
require('./utils/handlers/EventUtil')(client);
Genre j'ai une erreur avec : client is not defined
Voici mon code: if ({ favoriteColor} = ("Roi Lion","Roi lion","roi lion","roi Lion","Le Roi Lion","le roi lion")){
interaction.reply({ embeds: [RoiLion], ephemeral: true});}
if ({ favoriteColor} = ("Alpha","alpha")){
interaction.reply({ embeds: [Alpha], ephemeral: true});}
bonjour je veux faire apparaitre et disparaitre plusieur paragraphe mis dans une "div" en cliquant sur un button. j'ai donc faic ce code en JS mai cela ne fonctionne pas :
const toggleBtn = document.querySelector('#button');
const divList = document.querySelector('.P1');
toggleBtn.addEventListener('click', () => {
if(divList.style.display === 'none') {
divList.style.display = 'block';
} else {
divList.style.display = 'none';
}
});
Si quelqu'un connais la soolution s'il vous plait aider moi
coment je peux faire pour que quand if ({ favoriteColor} = ("Roi Lion","Roi lion","roi lion","roi Lion","Le Roi Lion","le roi lion")){
interaction.reply({ embeds: [RoiLion], ephemeral: true});}
if ({ favoriteColor} = ("Alpha","alpha")){
interaction.reply({ embeds: [Alpha], ephemeral: true});} jles reponse aux modals ne sont pas égale à cela et bien ça affiche un embed d'erreur
Bah avec else
Tu peut passer vocale ?
non deso
hey !
j'ai utilisé ce que tu m'as passé et voici l'erreur :
node:events:505
throw er; // Unhandled 'error' event
^
TypeError: message.member.roles.has is not a function
at Client.<anonymous> (C:\Users\arthu\Desktop\Bot Zegnos\index.js:32:29)
at Client.emit (node:events:527:28)
at MessageCreateAction.handle (C:\Users\arthu\Desktop\Bot Zegnos\node_modules\discord.js\src\client\actions\MessageCreate.js:23:14)
at Object.module.exports [as MESSAGE_CREATE] (C:\Users\arthu\Desktop\Bot Zegnos\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)
at WebSocketManager.handlePacket (C:\Users\arthu\Desktop\Bot Zegnos\node_modules\discord.js\src\client\websocket\WebSocketManager.js:352:31)
at WebSocketShard.onPacket (C:\Users\arthu\Desktop\Bot Zegnos\node_modules\discord.js\src\client\websocket\WebSocketShard.js:481:22)
at WebSocketShard.onMessage (C:\Users\arthu\Desktop\Bot Zegnos\node_modules\discord.js\src\client\websocket\WebSocketShard.js:321:10)
at WebSocket.onMessage (C:\Users\arthu\Desktop\Bot Zegnos\node_modules\ws\lib\event-target.js:199:18)
at WebSocket.emit (node:events:527:28)
at Receiver.receiverOnMessage (C:\Users\arthu\Desktop\Bot Zegnos\node_modules\ws\lib\websocket.js:1178:20)
Emitted 'error' event on Client instance at:
at emitUnhandledRejectionOrErr (node:events:384:10)
at processTicksAndRejections (node:internal/process/task_queues:85:21)
😦
Dis moi tu veut faire quoi ?
j'aimerais faire en sorte que le bot fasse quelque chose si le membre qui utilise la commande a un certain rôle
En gros il faut que j'écrive ceci
we
on m'a conseillé d'utiliser ça :
if(message.member.roles.has("iddurole"))
Tu veut envoyer genre un message si il a le role
yep pour le moment oui
Donc dès que il a sont role, tu envoie un message
non, en gros, je veux que si il exécute la commande et qu'il a le rôle, ça envoie un message
Ah ok
att
ca fonctionne pas, cela me marque "Interaction has already been acknowledged."
Tu as lancé 2 fois ton bot ?
Ta surement oublier un await
ça ne ferait pas cette erreur je pense
Si j'avais eu le même probleme
oublier un await et avoir cette erreur ?
je pensais pas que ça pourrait faire ça ¯_(ツ)_/¯
ca fonctionne pas
Montre ton code
D'ailleur je cherche pour toi
en ce moment
👌
Je pense
Tu fait une condition comme : if (member.roles.has("iddurole"))
Regarde si sa marche
Oui
Et si sa marche pas essaye d'ajouter un guild
member tout court ça marche pas car il est pas défini
comment ça ?
Fais guild.member.roles.has("iddurole")
Qui à fais un handler
la guild n'est pas définie
puis, même si elle est définie, il n'y a rien dans le code qui définis quel membre doit être choisi
We c'est chaud ton truc
Tu est dans quelle évent ?
Essaye de lire c'est 2 truchttps://stackoverflow.com/questions/62371669/how-to-get-roles-of-guildmember-and-their-information / https://discord.js.org/#/docs/discord.js/main/class/Role
const Discord = require('discord.js');
const bot3 = new Discord.Client();
const token3 = 'I am not telling my bots token';
const mark2 = '*info personal'
bot3.on('message', msg =>{
let args...
bonjour je veux faire apparaitre et disparaitre plusieur paragraphe mis dans une "div" en cliquant sur un button. j'ai donc fais ce code en JS mais cela ne fonctionne pas :
const toggleBtn = document.querySelector('#button');
const divList = document.querySelector('.P1');
toggleBtn.addEventListener('click', () => {
if(divList.style.display === 'none') {
divList.style.display = 'block';
} else {
divList.style.display = 'none';
}
});
Si quelqu'un connais la soolution s'il vous plait aider moi
désolé, je n'ai pas lu tes documentations mais je suis juste en train de bidouiller des trucs avec des console.log() et ça m'a fait découvrir un truc
si tu fais message.member.roles, tu as beaucoup d'informations, par contre si tu fais message.member._roles, tu as juste les id des rôles
j'ai remarqué ça parce que quand tu console.log(message.member), tu as
GuildMember {
guild: <ref *1> Guild {
id: '723962533358076320',
name: 'Test',
icon: '2935bceaba38e8953a7925f08f184213',
features: [],
commands: GuildApplicationCommandManager {
permissions: [ApplicationCommandPermissionsManager],
guild: [Circular *1]
},
members: GuildMemberManager { guild: [Circular *1] },
channels: GuildChannelManager { guild: [Circular *1] },
bans: GuildBanManager { guild: [Circular *1] },
roles: RoleManager { guild: [Circular *1] },
presences: PresenceManager {},
voiceStates: VoiceStateManager { guild: [Circular *1] },
stageInstances: StageInstanceManager { guild: [Circular *1] },
invites: GuildInviteManager { guild: [Circular *1] },
scheduledEvents: GuildScheduledEventManager { guild: [Circular *1] },
available: true,
shardId: 0,
splash: null,
banner: null,
description: null,
verificationLevel: 0,
vanityURLCode: null,
nsfwLevel: 0,
premiumSubscriptionCount: 0,
discoverySplash: null,
memberCount: 8,
large: false,
premiumProgressBarEnabled: false,
applicationId: null,
afkTimeout: 300,
afkChannelId: null,
systemChannelId: '780081868375588885',
premiumTier: 0,
explicitContentFilter: 0,
mfaLevel: 0,
joinedTimestamp: 1659001493440,
defaultMessageNotifications: 0,
systemChannelFlags: SystemChannelFlagsBitField { bitfield: 0 },
maximumMembers: 250000,
maximumPresences: null,
approximateMemberCount: null,
approximatePresenceCount: null,
vanityURLUses: null,
rulesChannelId: null,
publicUpdatesChannelId: null,
preferredLocale: 'en-US',
ownerId: '625695158247358464',
emojis: GuildEmojiManager { guild: [Circular *1] },
stickers: GuildStickerManager { guild: [Circular *1] }
},
joinedTimestamp: 1593896403055,
premiumSinceTimestamp: null,
nickname: null,
pending: false,
communicationDisabledUntilTimestamp: null,
_roles: [ '723962587884028046' ],
user: User {
id: '625695158247358464',
bot: false,
system: false,
flags: UserFlagsBitField { bitfield: 64 },
username: 'ArthyStone',
discriminator: '6610',
avatar: 'a78d016eeaa07707a33fa988999d0af1',
banner: undefined,
accentColor: undefined
},
avatar: null
}
désolé pour le flood, je ne cherche pas à vous embêter
et du coup, si tu te concentre, tu peux trouver ça :
tout ça pour que has pose la même erreur
quelqu'un pourrait m'aider svp
Voici mon code et j'aimerai encore con lorsque l'utilisateur repond au modal par un résultat non enregistrer dans la liste cela lui envoie un embed de erreur
Tu fait un else
Et ducoup ta trouver ?
ca fonctionne pas
Cannot access 'Client' before initialization
non mais je suis un peu plus proche
Mias ducoup c'est la variable _roles ?
tu peut récup ces info ?
Quelqu'un peut m'explique le problème ?
oui, c'est _roles et pas juste roles
ah ok
t'as l'explication au dessus
?
car roles c'est tout ça : RoleManager { guild: [Circular *1] }
remonte un peu
A h ok
remonte à là
montre ton code
Uncaught ReferenceError ReferenceError: Cannot access 'Client' before initialization
at <anonymous> (undefined:6:20)
at Module._compile (undefined:1103:14)
at Module._extensions..js (undefined:1155:10)
at Module.load (undefined:981:32)
at Module._load (undefined:822:12)
at executeUserEntryPoint (undefined:77:12)
at <anonymous> (undefined:17:47)
ah désolé je ne sais pas du tout
Trkl pas grv
Est ce que ta fait un Handler ?
perso, comme je crée un petit bot, non, je ne suis pas sur handler
puis même sur mon bot avec pleins de trucs, j'arrive à m'y retrouver
Tu fais tout sur index.js
?
oui
ah, il y a un bot qui empêche d'envoyer deux fois le même message je crois
tu parle des activités ?
mais, les activités, tu peux pas y toucher, c'est une fonctionnalité en bêta, certains serveurs l'ont et d'autres non mais tu peux pas toucher à ça
Noon mais genre
les commande
quoi tu crée tes propre commande
ah oui, je crée mes propres commandes slash
d'ailleurs, utilise plutôt SHIFT + WIN + S pour faire une capture d'écran, après tu sélectionne avec ta souris un endroit à prendre en screen
Ah ok
Tu peut me screen
comment ta fait
stp
?*
C'est quoi
je viens de remarquer qu'activities c'est un bot
aH
➜ HTML (HyperText Markup Language)
HTML signifie « HyperText Markup Language » qu'on peut traduire par « langage de balises pour l'hypertexte ». Il est utilisé afin de créer et de représenter le contenu d'une page web et sa structure. D'autres technologies sont utilisées avec HTML pour décrire la présentation d'une page (CSS) et/ou ses fonctionnalités interactives (JavaScript).
➜ CSS : Feuilles de style en cascade
CSS est l'un des langages principaux du Web ouvert et a été standardisé par le W3C. Ce standard évolue sous forme de niveaux (levels), CSS1 est désormais considéré comme obsolète, CSS2.1 correspond à la recommandation et CSS3, qui est découpé en modules plus petits, est en voie de standardisation.
➜ Technologies web pour développeurs
Le Web fournit d'incroyables opportunités aux développeuses et développeurs. Pour tirer le meilleur parti de ces technologies, il est nécessaire de savoir comment les utiliser. Voici différents liens qui vous permettront de naviguer dans la documentation de ces technologies web.
j'ai cliqué et ça m'a fait planter Discord
bonjour je cherche a mettre en ligne mon premier site en react js mais je n'arrive pas a trouvé comment build mon projet
j'ai essayer de le poster sur github et qd je fait git init dans le bon répertoire avec git init jai un message d'erreur et un ami me dit de le build mais je ne sais pas comment faire
Bonjour j'ai besoins d'aide pour quelques chose ?
Lequel ?
comprends pas l'erreur
sur la photo
genre Guilds et Guild_Messages ?
we
