#javascript-typescript
1 messages · Page 61 of 1
@nova crater t'as restart après avoir fait tes modifs?
et tu as save ?
restart ? en fesant 'node index' oui et j'ai save le fichier
node index.js
index marche aussi
Node index sa marche aussi
pas besoin de spécifier le format du fichier, node va trouver tout seul
okok
dans ces cas là faites juste node . 
le problème c'est que ça supprime pas sur discord ce que j'ai supprimer dans le fichier mais ça r'ajoute ce que j'ai mis
screen
nan mais screen le resultat sur discord
les autres bots ? Y'en a pas d'autres ?
faut que t'arrêtes en faisant ctrl+c dans la console
avant de restart ton bot
là ce que t'as fait c'est que t'as ouvert d'autres invites de commande
et t'as fait node index dedans
si tu veux absolument ouvrir un nouveau terminal au moins ferme ce que tu as ouvert
là t'as plusieurs instances de ton bot qui sont on du coup chacun envoie son résultat
????
je peux pas être plus clair
pour "restart"
il faut d'abord arrêter ce que tu redémarre
sinon t'as ton bot allumé en plusieurs exemplaires
et chaque exemplaire répond à ta commande
en gros je fait ctrl+c pour arrêter ce que je redémarre et ensuite je fait node pour restart ?
oui
mais ça change rien
tu fais ctrl+c dans la console où t'as lancé ton bot nan?
@nova crater Ferme toutes les invites de commandes que tu as lancé
Quand tu refais un node index ça stop pas l'autre
pour fermer toutes les invites de commandes je fais quoi ?
tu peux aussi passer dans le gestionnaire des tâches et fermer chaque instance
également oui
ah oui c bon ça à marché merci à vous tous


Salut à tous, je suis un peu désespéré, quand on envoie un émoji personnalisé via un webhook normalement ça fonctionne. Ca fonctionne sur tous les serveurs à part le mien, le bot a pourtant la permission d'envoyer des émojis externes. Comment régler le problème ?
le bot a pourtant la permission d'envoyer des émojis externes.
Je vois pas le rapport vu que c'est un webhook donc pas lié au bot 🤔
Ton role everyone a la perm d'use les emoji externe ? 👀
Oui je sais bien
Mais au cas où le webhook hériterait des permissions de son créateur. Tu vois ce que je veux dire ?
Ton role everyone a la perm d'use les emoji externe ? 👀
Oui
Tout le monde peut utiliser les émojis externes c'est ça que je trouve bizarre
Nope, ça ne va pas régler mon problème, étant donné que c'est un bot inter pub
On a justement opté pour les webhooks à cause de ça
Mais là ça fonctionne pas 
Bon tan pis sinon, mais c'est assez embêtant
quelqu'un peut m'aider je sais plus comment allumer mon bot 😕 c'est bête😅
node .
ça fait rien j'ai essayer
t’as mis un client.login() ?

?
comment ça @oak turret
c'est bon il c'est allumer mais par contre mon reaction role ne fonctionne pas
voici l'erreur :
TypeError: Cannot read property 'find' of undefined
at Client.<anonymous> (C:\Users\boder\Documents\Discord Bot\Tuto djs\index.js:49:43)
at Client.emit (events.js:315:20)
at MessageReactionAdd.handle (C:\Users\boder\Documents\Discord Bot\Tuto djs\node_modules\discord.js\src\client\actions\MessageReactionAdd.js:46:17)
at Object.module.exports [as MESSAGE_REACTION_ADD] (C:\Users\boder\Documents\Discord Bot\Tuto djs\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_REACTION_ADD.js:4:37)
at WebSocketManager.handlePacket (C:\Users\boder\Documents\Discord Bot\Tuto djs\node_modules\discord.js\src\client\websocket\WebSocketManager.js:384:31)
at WebSocketShard.onPacket (C:\Users\boder\Documents\Discord Bot\Tuto djs\node_modules\discord.js\src\client\websocket\WebSocketShard.js:444:22)
at WebSocketShard.onMessage (C:\Users\boder\Documents\Discord Bot\Tuto djs\node_modules\discord.js\src\client\websocket\WebSocketShard.js:301:10)
at WebSocket.onMessage (C:\Users\boder\Documents\Discord Bot\Tuto djs\node_modules\ws\lib\event-target.js:125:16)
at WebSocket.emit (events.js:315:20)
at Receiver.receiverOnMessage (C:\Users\boder\Documents\Discord Bot\Tuto djs\node_modules\ws\lib\websocket.js:797:20)
et bah regarde d'ou vient le .find et debug
tu dois find sur un élement qui n'éxiste pas
j'ai debug mais ça à rien changer
y'a plus d'erreur mais mon réaction rôle ne fonctionne toujours pas @slim anvil
je n'en sais rien je sais meme pas a quoi il ressemble :/
Yo comment on fait pour qu'un bot discord est dans sa description joue à et le nombre de joueur ou alors un bot déjà existant
like this ?
Yes
il te faut un module
C a dire
si tu veux pas faire ton bot
t'as un bot de mtx qui le fait à ta place
mais pas en description bot
Tu peux me partager le lien stp
Au pire tu peux pas cree un serv 24h stp
Demande au support
je look ça tqt deux secondes j'me le prends 24h
c'est écrit quoi
en gros "Bot Discord" ..
Moi j'ai pas
tu es le propriétaire du serveur ?
Non
Normal donc
Mais j'ai tt les perm
A ok donc la tu peux pas me partager le lien
mais y a pas de lien
ça marche pas comme ça
faut que tu demandes ça au proprio du serveur
Ok
@keen narwhal si tu as besoin d'aide c'est ici, sinon merci d'écrire une demande complète
voila quand je veut mettre en ligne mon bot sur heroku (en fesant deploy) j'ai une erreur dans les logs:
"
2020-09-29T15:51:13.415486+00:00 app[worker.1]: at WebSocket.onClose (/app/node_modules/ws/lib/event-target.js:124:16)
2020-09-29T15:51:13.415486+00:00 app[worker.1]: at WebSocket.emit (events.js:315:20)
2020-09-29T15:51:13.415486+00:00 app[worker.1]: at WebSocket.emitClose (/app/node_modules/ws/lib/websocket.js:191:10)
2020-09-29T15:51:13.415487+00:00 app[worker.1]: at TLSSocket.socketOnClose (/app/node_modules/ws/lib/websocket.js:850:15)
2020-09-29T15:51:13.415487+00:00 app[worker.1]: at TLSSocket.emit (events.js:327:22)
2020-09-29T15:51:13.415488+00:00 app[worker.1]: at net.js:674:12
2020-09-29T15:51:13.415568+00:00 app[worker.1]: (node:4) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)
2020-09-29T15:51:13.415667+00:00 app[worker.1]: (node:4) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
2020-09-29T15:51:13.471375+00:00 heroku[worker.1]: Process exited with status 0
2020-09-29T15:51:13.525019+00:00 heroku[worker.1]: State changed from up to crashed"
ps: sa fait longtemp que j'ai pas toucher du code j'ai repris le code d'un de mes ancien bot
le bot fonctionne en local?
oe
Bonjour j'ai crée un bot pour un canvas mais j'ai une erreur durant le lancement
client.on('guildMemberAdd', async member => {
const channel = member.guild.channels.cache.find(ch => ch.name === 'général');
if (!channel) return;
const canvas = canvas.createCanvas(700, 250);
const ctx = canvas.getContext(`2d`);
const background = await Canvas.loadImage(`./welcome.jpg`);
ctx.drawImage(background, 0, 0, canvas.width, canvas.height);
ctx.font = `40px Calvert MT Std`;
ctx.fillStyle = `effffff`
ctx.fillText(member.displayName, canvas.width / 2.2, canvas.height / 1.7);
ctx.beginPath();
ctx.arc(125, 125, 100, 0, Math.PI * 2, true);
ctx.closePath();
ctx.clip();
const avatar = await Canvas.loadImage(member.user.displayAvatarURL({ format: `jpg`}));
ctx.drawImage(avatar, 25, 25, 200, 200)
const attachment = new Discord.MessageAttachment(canvas.toBuffer(), `./welcome.jpg`);
channel.send(
`Welcome to the server, ${member.user.username}!`,
attachment
);
});
Et voici l'erreur : (node:2404) UnhandledPromiseRejectionWarning: ReferenceError: Cannot access 'canvas' before initialization
at Client.<anonymous> (C:\Users\PC\Desktop\bot falco\index.js:26:18)
at Client.emit (events.js:310:20)
at Object.module.exports [as GUILD_MEMBER_ADD] (C:\Users\PC\Desktop\bot falco\node_modules\discord.js\src\client\websocket\handlers\GUILD_MEMBER_ADD.js:16:14)
at WebSocketManager.handlePacket (C:\Users\PC\Desktop\bot falco\node_modules\discord.js\src\client\websocket\WebSocketManager.js:384:31)
at WebSocketShard.onPacket (C:\Users\PC\Desktop\bot falco\node_modules\discord.js\src\client\websocket\WebSocketShard.js:444:22)
at WebSocketShard.onMessage (C:\Users\PC\Desktop\bot falco\node_modules\discord.js\src\client\websocket\WebSocketShard.js:301:10)
at WebSocket.onMessage (C:\Users\PC\Desktop\bot falco\node_modules\ws\lib\event-target.js:125:16)
at WebSocket.emit (events.js:310:20)
at Receiver.receiverOnMessage (C:\Users\PC\Desktop\bot falco\node_modules\ws\lib\websocket.js:797:20)
at Receiver.emit (events.js:310:20)
(node:2404) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:2404) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
const canvas = canvas.createCanvas(700, 250);
Tu utilises une variable dans son initialisation
Donc ce que tu dois faire, c'est à ton require, mettre Canvas en majuscule ainsi
Et ainsi faire const canvas = Canvas.createCanvas(700, 250)
En ayant bien modifié le require évidement : const Canvas = require("Canvas")
@keen narwhal
@idle ice Nickel mais maintenant j'ai cette erreur
(process:11688): Pango-WARNING **: 18:14:00.437: couldn't load font "Calvert MT Std Not-Rotated 40px", falling back to "Sans Not-Rotated 40px", expect ugly output.
(node:11688) UnhandledPromiseRejectionWarning: ReferenceError: attachment is not defined
at Client.<anonymous> (C:\Users\PC\Desktop\bot falco\index.js:43:5)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
(node:11688) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside
of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the
node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:11688) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
@keen narwhal couldn't load font "Calvert MT Std Not-Rotated 40px", falling back to "Sans Not-Rotated 40px", expect ugly output.
Tu ne peu pas modif une font sur discord il me semble
Bas comment je peut faire du coup ? ^^
Yo, Comment je peux faire pour afficher dans le status du bot dans cmb de guild il est ?
Ok cimer
C'est un peu différent si tu fais des shards mais c'est nécessaire seulement si t'es à plus de 5000 serveurs il me semble
@dire latch
Oui? @KazΣn / Real#4568
Pour mon Canvas de bienvenu j’ai mis la photo de l’utilisateur qui rejoins mais je ne sais pas comment la bouger sur l’image, quelqu’un serais quoi ajouter ou modifier pour changer la position de la photo de profile
Je testerais quand je rentrerais
@dire latch Tu dirais quelle ligne ?
Ancien screen sur j’ai juste corrigé ce qui n’allais pas avec un peut d’aide
ton attachement tu l’utilise pas
Oe je l’ai corriger
Le dernier ctx.drawImage
Yo, je cherche à envoyer un message au "member" dans un guildMemberRemove
Sachant que quand je fais
member.send(LeaveEmbed);
J'ai droit à cette erreur
(node:9252) UnhandledPromiseRejectionWarning: DiscordAPIError: Cannot send messages to this user
car il doit bloquer les messages quand pas sur le meme serveur
du coup gères juste l'erreur
c’est possible d’héberger son bot sur amazon aws ?
c’est possible d’héberger son bot sur amazon aws ?
oui
C'est d'ailleurs la solution vers laquelle les gens se tournent habituellement
mais genre c'est de la bonne qualité ?
AWS oui of course
ok ok jvais essayer d'host dessus
Si tu trouve ça trop difficile à config tu peux te tourner vers glitch ou heroku
oee mais justement je cherche une meilleur puissance
Euh yo, j'ai un soucis avec mon bot genre j'ai cette erreur mais j'ai aucune indication d'où vient l'erreur :/
Connexion en tant que La Pampa#6397!
(node:5376) UnhandledPromiseRejectionWarning: DiscordAPIError: Unknown Message
at RequestHandler.execute (C:\Users\Firyo\Desktop\discord_bot\pampa_host\node_modules\discord.js\src\rest\RequestHandler.js:170:25)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
(node:5376) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:5376) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
case `jeu`:
msg.delete();
for (let index = 0; index < GameList.length; index++) {
GameList[index].emotename = client.emojis.cache.find(emoji => emoji.name === GameList[index].emoji);
}
let msgDescription = "";
GameList.forEach(item => {
msgDescription = `${msgDescription} ${item.emotename} : ${item.name} \n \n`;
});
const GameEmbed = new Discord.MessageEmbed()
.setColor(`#ABA298`)
.setTitle(`Sur quel jeu voulez-vous commencer la session ?`)
.setAuthor(`Requête de : ${msg.author.username}`, msg.author.displayAvatarURL({
format: 'png',
dynamic: true,
size: 512
}))
.setDescription(msgDescription)
.setThumbnail('https://firyo.mtxserv.com/img/choice.png')
.setImage('https://firyo.mtxserv.com/img/pampabanner.png')
.setTimestamp()
msg.channel.send({ embed: GameEmbed }).then(embedMessage => {
for (const item of GameList) {
embedMessage.react(item.emotename);
}
});
break;```
Voilà
En gros je pense que tu essai de supprimer un message deja supprimer ou inexistant
tu peut essayer de verifier msg.delete(); voir si msg existe encore
J'ai trouvé le problème, ça venait du fait que le bot était lancé 2 fois (Sur mon host et moi pour tester) ducoup c'est bon
Ah bah oui dcp mdr
Bonjour, j'ai un bot publique sous discordjs est j'aimerais savoir si vous savez comment faire en sorte qu'il envoie un message uniquement que lorsque quelqu'un rejoint le discord du bot (et non lorsque quelqu'un rejoint un discord sur lequel le bot est présent)
faut que tu fasse par rapport à la guild
un exemple du type : si client rejoins la guild x alors envoyé msg dans guild x
je sais pas vraiment comment marche le système de guild avec discord js
Merci bien
Hey, je serai à la recherche d'une personne expérimentée pour me dire si l'idée de mon bot ait possible.
Dans un premier temps j'aimerais que le bot puisse créer 2 salons vocaux un spécial pour le staff (privée) et un autre public.
Dans un second temps j'aimerait que les gens qui sont dans le salon vocal public puisse entendre ce que dise les gens du salon privé sans qu'il soit dedans.
J'espère que vous avez compris ma requête. 😅
Je pense pas que ce soit possible car un bot ne peux pas rejoindre 2 salon vocal en même temps donc il te faudrait 2 bot dans un premier temps, après créer les salon le bot peux bien le faire mais je vois pas comment faire pour qu'il enregistre les utilisateurs et qu'il les retransmettent via l'autre bot .
Non, impossible 🙂
alors la logique et le système n'est pas si compliqué que sa
Un qui rec, et l’autre qui fait écouter à la demande
c'est surtout complexe
je pense que le plus relou c’est le rec et l’écoute en quasi temps réel mais ça reste faisable je pense
Faudrait que le bot envoie le voc & l'autre le reçoit, mais y'aurais une latence entre le temps qu'il l'envoie & qu'il le reçoit
Bonsoir je voudrais savoir si il existe un module ou autre pour crée un status pour serv gmod pour voir le nombre de joueurs co's etc
oui gamedig
Ok merci
Comment le add a un channel ?
Genre je doit crée le embed et tout ou juste copier le Gamedig
Tu a un exemple de code dans #partage-ton-code et tu peux creer un code pour le mettre dans un embed
Ok super merci beaucoup
Si tu y arrive pas je peux te passer le code directement
J'ai essayé avec le embed mes j'arrive pas je viens tout juste de débuter en js ses assez compliquée à comprendre au début
Oki att
let players = state.players.map(player => player.name)
const status = new MessageEmbed()
.setColor('GREEN')
.setTitle(`cequetuveux`)
.addField("❯ Serveur",`» \`${state.name}\``,false)
.addField("❯ Joueurs",`» \`${state.players.length}\` \ / \`${state.maxplayers}\``,true)
.addField("❯ Latence",`» \`${state.ping}\``,true)
.addField("❯ IP",`» \`${state.connect}\``,false)
.addField("❯ MAP",`» \`${state.map}\``,false)
.addField("❯ Mot de passe",`» \`${state.password}\``,false)
.setFooter('cequetuveux', client.user.avatarURL({ format: 'png', dynamic: true, size: 1024 }))
client.channels.cache.get(statusserveurchannel).send(status); ```
A la place de statusserveurchannel tu met l'id de ton channel et c bon
ça change rien dans le fait que ça marche 🙂
ça peut causer des problèmes cela dit de mettre var
Ah oki dans ce cas je vais mettre let a la place
Merci
Quand je lance mon bot il me dit
Uncaught ReferenceError: Gamedig is not defined
index.js:39
No debugger available, can not send 'variables'
Process exited with code 1
@tidal niche
Tu dois mettre const Gamedig = require('gamedig') en haut de ton code
Merci ❤️
J'ai mis dans mon index.js puis quand je le lance j'ai encore une erreur
(node:20128) UnhandledPromiseRejectionWarning: ReferenceError: MessageEmbed is not defined
at c:\Users\Genet\Desktop\botdiscord\index.js:44:20
<node_internals>/internal/process/warning.js:40
(node:20128) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
<node_internals>/internal/process/warning.js:40
(node:20128) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
const { MessageEmbed } = require('discord.js');
Voilà merci darz 👍
J'ai encore
Uncaught ReferenceError: Gamedig is not defined
index.js:39
Process exited with code 1
Envoie ton code stp
Ok
})
const { MessageEmbed } = require('discord.js');
Gamedig.query({type: 'garrysmod',host: 'ip',port: '27036'}).then((state) => {
let players = state.players.map(player => player.name)
const status = new MessageEmbed()
.setColor('RED')
.setTitle(`Status LaLouche`)
.addField("❯ Serveur",`» \`${state.name}\``,false)
.addField("❯ Joueurs",`» \`${state.players.length}\` \ / \`${state.maxplayers}\``,true)
.addField("❯ Latence",`» \`${state.ping}\``,true)
.addField("❯ IP",`» \`${state.connect}\``,false)
.addField("❯ MAP",`» \`${state.map}\``,false)
.addField("❯ Mot de passe",`» \`${state.password}\``,false)
client.channels.cache.get(765980099907944499).send(status);
})
Tu a pas mis const Gamedig = require('gamedig')
})
const Gamedig = require('gamedig')
const { MessageEmbed } = require('discord.js');
Gamedig.query({type: 'garrysmod',host: '164.132.233.136',port: '27036'}).then((state) => {
let players = state.players.map(player => player.name)
const status = new MessageEmbed()
.setColor('RED')
.setTitle(`Status LaLouche`)
.addField("❯ Serveur",`» \`${state.name}\``,false)
.addField("❯ Joueurs",`» \`${state.players.length}\` \ / \`${state.maxplayers}\``,true)
.addField("❯ Latence",`» \`${state.ping}\``,true)
.addField("❯ IP",`» \`${state.connect}\``,false)
.addField("❯ MAP",`» \`${state.map}\``,false)
.addField("❯ Mot de passe",`» \`${state.password}\``,false)
client.channels.cache.get(765980099907944499).send(status);
})
Toujours même erreur
C:\Program Files\nodejs\node.exe .\index.js
Process exited with code 1
Uncaught ReferenceError: Discord is not defined
C une erreur avec Discord c pas la même la
Mais je vois pas où tu a mis discord vu que je vois pas la totalité du code
const { Client, Collection, MessageEmbed } = require('discord.js');
const { token } = require('./config.json');
const fs = require('fs');
const client = new Client();
client.login(token)
client.commands = new Collection()
Je doit add tout en haut de mon index.js
Uep
Merci
// index.js
client = new Discord.Client(),
config = require('./config.json'),
fs = require('fs')
client.login(config.token)
client.commands = new Discord.Collection()
Je garde ou je delete
Tu peux delete
Ok
C:\Program Files\nodejs\node.exe .\index.js
Process exited with code 1
Uncaught c:\Users\Genet\Desktop\botdiscord\index.js:38
const { MessageEmbed } = require('discord.js');
^
SyntaxError: Identifier 'MessageEmbed' has already been declared
Tu l'a mis 2 fois du coup
donc tu peux supprimer const { MessageEmbed } = require('discord.js');
Ok
C:\Program Files\nodejs\node.exe .\index.js
Process exited with code 1
Uncaught ReferenceError: Client is not defined
Renvoie ton code stp
Dr 🙂
Vous avez pas un code pour actualisé tout les 1 minute un truc dans le genre ?
Actualisé quoi ?
Tu crée une fonction qui s'appelle elle même, et dans le ready de ton bot tu appelles la fonction en question
Sinon, je cherche un moyen de récupérer les infos de mon serveur gmod pour mon bot discord, (un peu comme le screen du dessus)
Tu cherche a faire quoi car le code je l'ai envoyer un peux plus haut si tu souhaite faire comme ça
ah bah merci
Hello quelqu'un sait comment choper les grades que l'user a ?
if(message.member.roles.cache.some(r=>["760161563524202520", "760163468375752746", "760164164374364230", "760162141381853204", "760161715907330078", "763671554579234876", "762753820404088833", "760163194450083881", "760162516490911794", "760163328487063623"].includes(r.id)) ) {
}
@oak turret
je l'ai pris de cette page ^^
j'ai pas la soluce pour choper les grades que l'user a parmi les autres grades
Tu souhaite afficher les grade que l'user a actuellement ?
Hey les gars, c'est quoi la méthode la plus simple et efficace pour récupérer l'invitation utilisée par qq pour rejoindre ?
Car j'en ai une, mais ça plante lorsque l'invitation est à usage unique
const cachedInvites = bot.invites.get(bot.server.id)
const newInvites = await bot.server.fetchInvites()
bot.invites.set(bot.server.id, newInvites)
const usedInvite = newInvites.find(inv => cachedInvites.get(inv.code).uses < inv.uses)
if(usedInvite === undefined) return
hello j'ai une question sur ticket tool eq que je peut modifier le nom du ticket qui s'ouvre ?
genre changer tickrt-0001 avec un autre truc
Je ne l'ai pas de tête, non
ok sa marche merci
Hello ! quelqu'un sait comment je peux choper l'id d'un embed après son envoi pour pouvoir ensuite l'edit ?
car actuellement il me fait une erreur d'api car il essaye de modif le message que l'user a envoyé et non l'embed
don't work mais ^^
bah tu dois juste refaire un embed globalement
sur l'edit
ou alors j'ai pas compris 🤔
oulah j'ai pas compris
en gros, il me chope l'id du message que j'envoie; du coup mon bot peut pas edit le contenu normal quoi, mais du coup je cherche à choper l'id de l'embed que mon bot envoie suite à la commande d'un user tu comprends ?
j'ai test ça mais pareil, pourtant c'est censé être l'id de l'embed là mais toujours pas :x
pour éditer un embed faut recréer un embed
ou en tout cas récupérer l'existant et l'éditer
alors euh
Alors que la tu essayes de remplacer ton embed par l'id de l'embed
merde, donc du coup dans mon then() je dois re-créer un embed ?
comment je récup l'ancien du coup ?
bah dans ton then, le R doit être l'embed que tu envoies sans doute
mais sinon tu l'as tout simplement dans ton pays_embed
mais surement dans le r aussi
je vais log tout ça
mon r c'est le message que j'envoie moi et non mon embed en fait
ah non j'suis con
Ouais donc, le bot veut pas édit son propre message du coup je comprends pas le coup de re-créer un embed ?
J'ai aucun soucis à éditer un embed précédemment envoyé 🤔
- Je conserve l'id de l'embed envoyé en faisant
let embedID = await message.channel.send(embed) - Je récupère le message via l'id (avec message cache, tu m'as compris)
- J'édite l'embed
- Message.edit avec l'embed édité
je vais test ça !
alors le 2 je comprends pas trop ahah
Ok donc, j'ai bien l'id et tout, seulement il veut pas édit son propre embed le bot je comprends pas
ça marche ! seulement à chaque édit il me met un "object object[]" juste au-dessus de mon embed et je sais pas pourquoi pour le coup
Bonsoir, je suis entrain de dev (merci yourube) un bot multi taches pour un de mes serveurs, quand je le lance (via Visual studio code) tout fonctionne et au bout d'une vingtaine de seconde il s'éteint avec ce message :
`C:\Program Files\nodejs\node.exe .\index.js
Lancer avec succès !
(node:12104) UnhandledPromiseRejectionWarning: DiscordAPIError: Unknown Message
at RequestHandler.execute (c:\Users\user\node_modules\discord.js\src\rest\RequestHandler.js:154:13)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
at async RequestHandler.push (c:\Users\user\node_modules\discord.js\src\rest\RequestHandler.js:39:14)
at async MessageManager.delete (c:\Users\user\node_modules\discord.js\src\managers\MessageManager.js:126:5)
(node:12104) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:12104) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.`
Quelqu'un pourrais m'aider svp
Est-ce parce qu'il n'est pas héberger ?
Hello, il faudrait qu'on voit ton code, mais la visiblement c'est lié à un edit/delete ou get d'un message qui te fait une erreur
tu as run une commande ou rien du tout ?
Après quelques secondes y'a ça qui apparait sans que je touche rien :
Process exited with code 1 Uncaught TypeError: Cannot read property 'setName' of undefined
Et après le bot s'arrête
C'est fix, merci pour ton aide 😉
good
Ah bah j'ai parler trop vite 😅
Nouvelle erreur puis arret du bot :
Process exited with code 1 Uncaught TypeError: Cannot read property 'send' of undefined No debugger available, can not send 'variables'
Je sais pas si ça change quelque chose mais je précise que je lance en Start Without debugging
il peut pas send ton message car surement le "channel" n'existe pas avant donc le send est undefined
Tu as pas la ligne qui t'indique d'ou vient ton erreur ?
Non mais je crois savoir d'où viens l'erreur si tu me dit ça, je check ça je te dit dans quelques minutes
Ca à l'air d'être bon, merci encore
👌 good luck
Encore moi ^^) j'ai régler tout les soucis mais j'en ai un nouveau :
Quand un utilisateur qui n'a pas les droit essaye d'utiliser le bot exemple :
%clear 10
Le bot s'arrête, avec ce message :
Uncaught TypeError: Cannot read property '768304653799653377' of undefined index.js:33 Process exited with code 1
Merci à ceux qui prendrons le temps de m'aider
const duration = config.cooldown[message.channel.id]
C'est fix aussi merci 😉 Je reviens ici si j'ai encore besoin d'aide mdr
suffit de lire tes erreurs et d'aller à la ligne, t'as vu ca va tout seul après 😛
Hello,
Est ce que quelqu'un serait comment je peux récupérer le dernier message dans un channel svp ?
Merci 😉
log le channel
et j'sais pas si avec l'id du message tu peux choper le contenu
comme les grades genre
j'ai trouvé ça
channel.lastMessage.content
tu remplace channel par ton channel tu sais message.channels.cache.get('id').lastMessage.content je sais pas si c'est good encore
J'ai déjà tester, mais ça ne fonctionnes pas @oak turret
Je viens de comprendre
C'est l'histoire de cache c'est pour ça
C'est à dire qu'il faut déjà que le bot est log le message dans son cache
Pour que ça fonctionne
bah oui du coup faut que tout soit ok quoi
Je peux faire comment pour get l'ancien message avant que le bot soit lancé ?
genre avant la commande ?
Si tu veux récupérer des messages qui ne sont pas en cache, il faut jouer avec Fetch()
Salut ✌️
J'ai un soucis avec mon bot (Discordia), j'ai fait une sorte de mini reactionRoles (en gros tu réagis ça te met un rôle) sauf que des fois ça marche et des fois non.
Pareil mon bot se déconnecte sans que le bot ai crash genre il déco de Discord mais mon terminal affiche rien aucune erreur et il est toujours lancé
Voilà le code pour les curieux :
Si il n'y a aucune activité sur le bot pendant un certain moment, Discord le stop si je dis pas de conneries
Beh ouais fin du coup les réactions marchent plus x)
@hybrid berry Pas du tout
ok car des fois mon bot faisait sa
@hybrid berry Pas du tout
@dire latch avec Discordia si
Ah
Les joies de discordia
Oui c'est nul, je suis censé refaire le bot mais flemme
@humble storm comment je peu éviter ça ?
En changeant de framework ? 
Ouais ok
Hey ! Je dev mon bot en Discord.py, je n’arrive pas à créer un Channel dans une catégorie (déjà crée au prealable).
Tkt, qq dev en discord.py ou pas ici ?
Ca aidera les gens de savoir déjà si tu as une erreur qui arrive lors de la création du channel et de voir ton code aussi
Okay alors, j’ai aucune erreur et j’allume mon ordi pour envoyer ça.
(Je précise que je débute vraiment donc le code va être mal fait je pense 😆)
@bot.command()
async def register(ctx):
async def channel(self, ctx, role: discord.Role, *, name):
name = "test-1"
overwrites = {
ctx.guild.default_role: discord.PermissionOverwrite(read_message=False),
ctx.guild.me: discord.PermissionOverwrite(read_message=True),
role: discord.PermissionsOverwrites(read_message=True)
}
channel = await ctx.guild.create_text_channel(name=name, overwrites=overwrites, category=self.bot.get_channel(759157067642306621))
Voilà mon code, je voudrai que quand on tape /register, ça nous crée un channel dans une catégorie déjà crée
Voilà mon code, je voudrai que quand on tape /register, ça nous crée un channel dans une catégorie déjà crée
@languid hinge
Tu dois faire ca
au lieu de mettre get_channel
category = None
for i in self.bot.get_guilf(id).categories:
if i.id == id_de_la_category:
category = i
break
name = "test-1"
overwrites = {
ctx.guild.default_role: discord.PermissionOverwrite(read_message=False),
ctx.guild.me: discord.PermissionOverwrite(read_message=True),
role: discord.PermissionsOverwrites(read_message=True)
}
channel = await ctx.guild.create_text_channel(name=name, overwrites=overwrites, category=category)
J’essaie ça merci !
J'ai une erreur :
Traceback (most recent call last):
File "C:\Users\User\AppData\Local\Programs\Python\Python38-32\pimp.py", line 86, in <module>
for i in self.bot.get_guilf(id).categories:
NameError: name 'self' is not defined
Bonjour, je ne trouve pas de solution a un problème j'ai une commande avec des arguments !test args1 args2
a noté que l'args 2 peux être écris avec qu'un seul mot "Test" ou aussi avec "Test Test Test Test" sauf que voilà je ne trouve pas comment afficher tout les arguments de l'args 2 donc "Test Test Test Test" sans afficher l'args 1.
tesarguments c'est args[1] c'est ça ? parce que ducoup comment je récupére le reste genre j'aimerais récupérer tout mes args sauf le premier
nop sa me met tjrs mon premier args
let args = content.split( " " );
yep [ '!test', '283315291986067457', 'test', 'test', 'test' ]
tu veux garder tous sauf le premier ?
yep "283315291986067457"
et ducoup aussi la commande donc !test
ah c'est bon sa fonctionne 👍 au lieu du args.slice(1).join(" ") j'ai mit 2 étant donné que dans mon array ya deux args devant et sa fonctionne
tu fais juste
tu devrais faire plus simple
tu peux utiliser le .shift()
pour supprimer le premier élément d'un tableau
dac sa marche pareil ducoup je remplace juste slice par shift(2) ?
Non juste .shift()
args.shift()
console.log(args)
il t'affichera plus que les autres sous forme de tableau bien sur
Sauf si tu veux supprimer + convertir directement le reste en string utilise la méthode de Osmium, en fonction de ce que tu veux
yep parce que ducoup il faudrait que je fasse deux shift vu que j'ai deux args devant
Je vois pas le rapport ??
le but est de supprimer le premier élement du tableau
D'ou ma phrase juste après si tu lis bien
Si il veut le garder en tableau il peut juste shift
Sauf si tu veux supprimer + convertir directement le reste en string utilise la méthode de Osmium, en fonction de ce que tu veux
^^
**Salut, est-ce que quelqu'un aurait l'aimabilité de m'aider pour une intégration de Json ? Merci d'avance 😉 **
problème:
-J'aimerai mentionner le role @Bataillon d’Exploration, or j'ai essayé mais lors de l'incorporation de l'embed ca ne marche pas
Json:
"embed": {
"title": "Corps d'armée",
"color": 14937245,
"description": "@unkempt marsh : :one:\nGarnison: :two:\nBrigade Spéciale: :three:\nBrigade Anti-Personnel: :four:\nBrigade d’Entraînement: :five:",
"image": {
"url": "https://media.discordapp.net/attachments/749028801044021349/769566141906944070/thumb-1920-736462_8.png?width=732&height=381"
}
},
"content": "__**Choisissez vos corps d'armée !**__"
}```
pour le role tu dois faire <@&id> je crois
mais par contre dans un embed ca ne mention pas je crois
bah j'avais essayé et j'avais eu ca
oui remplace le ! par &
ca marche merci beaucoup 😉
Tu crée ton bot dans un classe ?
@cinder tartan Comment ça ?
Tu sais quoi tu peux envoyer ton code ?
Tu voulais dire un objet ?
Stv
Proxilys je t’envoie le code de tout le bot ?
Bonjour, j'ai besoin d'aide à ce niveau la dans un code ( pour un embed ) Je met le title desc footer etc et à l'intérieur j'arrive à ajouter des emojis comme ceci
mais je n'arrive pas à ajouter des émojis ( gif )
pouvez vous m'aider ?
Je met ça <:nomemojis:idemojis> pour les émojis pas animé ça marche mais pas pour les émojis animé sois je suis con et j'ai mal tapé un truc mais aprés 6 tentatives bah ça marche pas 😂
const emoji = client.emojis.cache.find(emoji => emoji.id=== "id");
Hey 👋
Je comprends pas, impossible d'avoir les reactions du message même sur un message caché avec des reactions qui sont mises lorsque le bot est démarré:
const giveaway = await channel.messages.fetch(giveawayId, true, true)
console.log(giveaway.reactions) // undefined
giveaway => CommandoMessage
(DIscord Commando, node v12, discord.js v12)
channel.messages.cache ?
Comment on crée un channel dans une catégorie déjà existante ? (en discord.js)
je te montre ça
Okay merci !
const chan = message.guild.channels.create(`ticket-de-${message.author.username}`, {
type: 'text',
parent: '716388235076436058',
})
le parent c'est l'id de la catégorie
J'essaie ça !
Yes c'est parfait merci bcp !!!
Comment je config les permissions à la création du channel ? Pour que seul l'user quia exécuté la commande ait accès au channel ?
(et les admins mais ca c de base)
const chan = message.guild.channels.create(`ticket-de-${message.author.username}`, {
type: 'text',
parent: '716388235076436058',
}).then(chan => {
chan.overwritePermissions(message.guild.roles.everyone, {
VIEW_CHANNEL: false,
SEND_MESSAGES: false
})
chan.updateOverwrite(message.author.id, {
VIEW_CHANNEL: true,
SEND_MESSAGES: true,
READ_MESSAGE_HISTORY: true
})
chan.updateOverwrite(message.guild.roles.cache.get('id grade'), {
VIEW_CHANNEL: true,
SEND_MESSAGES: true
})
})
})
Balaise mrc !!
je ne fais que reprendre mon code ahah tqt ^^
😂
Comment on crée des variables user ? (Genre par exemple qui stocke l’XP d’un user)
bdd
Okay
Je vx que mon Bot envoie un message à la création du Channel dans ce dernier.
(Le channel crée par la commande que tu m’a donnée.)
Comment je fais ?
(Promis j’arrête de t’embêter après Xd)
ah bah tiens :
const chan = message.guild.channels.create(`ticket-de-${message.author.username}`, {
type: 'text',
parent: '716388235076436058',
}).then(chan => {
chan.send(
send_embed = new Discord.MessageEmbed()
.setColor("00ff00")
.setTitle("Réagissez avec l'émoji pour fermer votre ticket.")
.addFields(
{ name: "Joueur", value: message.author, inline: true },
{ name: "Raison", value: raison, inline: true }
)
.setFooter(message.author.id)
).then(msg => msg.react("❌"))
chan.overwritePermissions(message.guild.roles.everyone, {
VIEW_CHANNEL: false,
SEND_MESSAGES: false
})
chan.updateOverwrite(message.author.id, {
VIEW_CHANNEL: true,
SEND_MESSAGES: true,
READ_MESSAGE_HISTORY: true
})
chan.updateOverwrite(message.guild.roles.cache.get('716001100301598770'), {
VIEW_CHANNEL: true,
SEND_MESSAGES: true
})
})
Yes merci bcp !!
pas de soucis, tu veux faire quoi d'autre
qu'est ce que c'est laid le promise chaining bordel
Mmh faire Des message contains qui ne fonctionne que dans une catégorie de Channel (Genre l’user envoie
« Je suis content »
Et le bot voit qu’il y a le mot « content » et envoie un message de réponse)
Mdrrr
là ça doit être un
if ( message.content.contains("content") ) { message.reply("tata") } truc comme ça je crois
Et je fais comment pour que ce code ne fonctionne que dans une catégorie ? (Je voudrai que ça fonctionne dans ma catégorie ticket mais pas dans la catégorie discussion par exemple)
Le .contains() c'est que sur les nodes éléments (html en gros)
c'est .includes('content')
if ( message.content.includes("content") ) { message.reply("tata") }
Comme ça ?
👌
Et pour le mettre dans une catégorie seulement tu a une idée ?
si tu veux pour la category tu peux la recupérer dans le message.channel tu as un parentId ou categoryId je sais plus trop
fais un console.log(message.channel) et regardes les propriétés que tu as mais je crois que c'est parentID oui
du coup tu peux checker si ton parentID === 'id de ta catégorie'
si tu veux un truc fixe
Du genre je met que si le Channel a un parentid === ID de ma catégorie alors ça exécute mon code ?
Voila
C’est quoi la fonction pr get le parentid De mon channel ?
fais un console.log(message.channel) et regardes les propriétés que tu as mais je crois que c'est parentID oui
@slim anvil
log ton message.channel et regarde tout ce que tu as dedans
🙂
A okay merci !
bon courage 👌
Merci !
Quelqu'un sais comment faire afficher un message embed avec des mots clés ex: !embed ? (chu un peu perdu sur discord.js)
Pas full bien compris
je crois qu'il veut juste savoir comment envoyer un embed via une commande !embed
https://discordjs.guide/command-handling/
https://discordjs.guide/popular-topics/embeds.html
Dans ce cas
@oak turret J'ai un problème avec le ```chan.updateOverwrite(message.guild.roles.cache.get('716001100301598770'), {
VIEW_CHANNEL: true, SEND_MESSAGES: true })```Je dois mettre quoi dans l'ID ?
l’id de ton grade
a okaaaay
https://discordjs.guide/command-handling/
https://discordjs.guide/popular-topics/embeds.html
Dans ce cas
merci rhey 😉
Salut, je voudrais faire un système de bibliothèque avec des messages déjà envoyé.. Je get le premier message par exemple et si quelqu’un ajoute la réaction 1️⃣ ça lui envoie l’histoire qui correspond à la réaction 1 du message 1, parce qu’en gros j’aurais plusieurs messages avec les mêmes réactions.. Je voulais donc savoir si vous saviez comment faire, j’ai beau réfléchir je n’y arrive pas :/
En gros, je voudrais qu’à chaque fois que quelqu’un appuie sur une réaction genre : 1️⃣ Bah ça lui envoie l’histoire qui est relier à cette réaction je sais pas si tu comprends, mais genre il y aurait plusieurs messages avec les mêmes réactions donc je veux pas que ça envoie toute les histoires avec la réaction 1️⃣ mais seulement l’histoire de la réaction 1️⃣ du message 1️⃣ s’il a appuyé sur celui-ci je sais pas si tu comprends mieux
et après c’est des .then()
quel rapport le .then avec ce qu'il veut faire 🤔
bah il veut appuyer une fois dessus puis encore une fois non?
sa question je crois est plus comment faire son système
je suis pas sur qye ce soit le fait de react
ouais car j’ai pas capté son système
tu peux fair ca avec un object ou tableau d'object
const histories = {
1: {
1: 'Histoire 1',
2: 'Histoire 2'
},
2: {
1: 'Histoire a',
2: 'Histoire b'
}
}
et ensuite en fonction du choix du mec tu pourras venir chercher
histories[1][2] qui te retournera "Histoire 2"
c'est un exemple parmis tant d'autre @keen narwhal mais faut que avant de faire ton système de reaction ou quoi tu réfléchisses bien à comment structurer ta data
puis tu adapteras ensuite ton système à ça
Mercé, j’vais regarder ça
Salut j'ai un beau bug sur discord js et je comprend vraiment pas je suis en plus ...
le premier client.on fonctionne le second non :/
const {Client, Collection,MessageEmbed} = require('discord.js');
const client = new Client();
client.on('message', message =>{
console.log('t')
});
client.on('guildMemberAdd', member => {
console.log('tt')
});
client.login('moi') ;
quand je rejoins rien ...
voilà pour votre info
c’est dans ton éditeur hein console.log
Oui je viens de voir il y a eu une update @keen cave
yes
Il parle d'ajouter des Intents de cette façon
const client = new Client({ ws: { intents: ['GUILDS', 'GUILD_MESSAGES', 'GUILD_PRESENCES', 'GUILD_MEMBERS'] } });
par ex
Essaye d'ajouter ça pour voir
non mais suffit de cocher un truc sur le portail dev -_-
Ah okay, car sinon tu as toutes les infos sur les intents ici: https://discordjs.guide/popular-topics/intents.html#enabling-intents
Ah pour ça ils sont tous modifs -__-
J'ai un gros soucis, mon bot s'allume et à la fin des loads des commandes/events ect
Mon bot se déco tout seul
Avec aucune erreur
@shell cedar regarde juste au-dessus y a la solution
Hello ! Je voudrai que mes message.content.includes ne fonctionne que dans une categorie , comment faire ? Merci d’avance pour votre réponse 😄
tu peux checker le message.channel.id ?
oui
Nice merci !
Ca ne fonctionne pas, j'ai mis ce code :```if(message.channel.id == "759157067642306621"){
bot.on("message", async message => {
if (message.author.bot) return;
if (message.content.includes("pimp")) {
message.channel.send("😀 Voici mon prefix: " + PREFIX).then(msg => {msg.delete({ timeout: 15000 })});
};
});
}```
Pas d'erreurs dans la console
Mdr
Pas comme ça
bot.on("message", async message => {
if (message.author.bot) return;
if (message.content.includes("pimp") && message.channel.id == "759157067642306621") {
message.channel.send("😀 Voici mon prefix: " + PREFIX).then(msg => {msg.delete({ timeout: 15000 })});
};
});```
Comme ça il me semble
je l'ai mis mais ca ne change toujours rien, il parle quand meme partout quand je met un message avec le include
montre
if (message.author.bot) return;
if (message.content.includes("pimp") && message.channel.id == "759157067642306621") {
message.channel.send(":grinning: Voici mon prefix: " + PREFIX).then(msg => {msg.delete({ timeout: 15000 })});
};
});```
tu as bien restart ton bot ?
oui
oui
t'as bien save t'es sur ?
oui je viens de le refaire
après c une id de catégorie hein
je veux que ca fonctionne dans toute une catégorie
comment ?
de la meme façon que ton channel
regarde la doc de discordjs elle est bien faite tu as toutes les infos concernant ce que tu veux faire
regarde comment est constitué la collection Channel
ou sinon tu fais un console.log(message.channel)
et tu regardes ce qu'il y a dedans pour comprendre un peu comme tout ca peut fonctionner
Hello
Excusez moi de vous déranger
Quelqu'un serait tester un coup l'event guildMemberAdd
Car avant il s'appellait très bien mais là, j'ai beau rejoindre le Discord, ça fonctionne pas
merci 😉
#javascript-typescript message
@oak turret je suis obligé ? Si je fais new Discord.Client() ?
apparemment après je sais pas car j’ai pas eu le pb moi-même donc j’ai pas chercher à le régler
ouais je viens de look c’est ça
c’est new Client etc
GUILD_MEMBERS donc l’indent prend en compte les 3 events ( add, remove, et update) donc guildmemberadd, remove, update
pour + d’infos
Hello, savez vous pourquoi en gros j'ai ma commande : !accept [discord id d'un mec] et en gros cette commande dois tout simple récupérer l'args 1 donc le discord id et ajouter le role "test" au discord id, sa fonctionne très bien sauf que des fois sa crash mon bot en disant :
TypeError: Cannot read property 'addRole' of undefined
(sur certain id discord) savez vous pourquoi ?
client.guilds.get('guildid').members.get(`${args[2]}`).addRole('roleid')
@boreal edge tu peux aussi le faire via Discord tu as des éléments à accepté et ce sera ok normalement
@weak grove essaye
client.guilds.get('guildid').members.cache.get(`${args[2]}`).addRole('roleid')
engros la tu te get un objet pas le membre
donc forcément la method ne marche pas
ah dac merci je vais test sa 🙂
ce n'est plus addrole
client.guilds.get('guildid').members.cache.get(`${args[2]}`).roles.cache.add('roleid')```
ouaip c’est .add ou .remove
oui aussi j'avai zapper
sa ne marche toujours pas
TypeError: Cannot read property 'add' of undefined
guild.member(client.users.get( args[2] )).roles.cache.add(role)
et j'ai aussi essayer la méthode de @idle ice
Rytrak
Prend l'entiéreté de mon code, ne le change pas en quelque chose qui n'a aucun sens x)
sa met sa
client.guilds.get('470897860473389066').members.cache.get(${args[2]}).roles.cache.add('763917247151472653')
^
TypeError: Cannot read property 'get' of undefined
Commençons progressivement
console.log( client.guilds.get('470897860473389066') )
Ca te donne quoi ?
sa me donne tout les channels
Okay
console.log( client.guilds.get('470897860473389066').members.cache.get(args[2]) )
Ah bah c'est bon, rien qu'en retapant j'ai vu
${args[2]} c'est pour l'AFFICHER
args[2] c'est pour la récupérer
Donc tu veux la récupérer, pas l'afficher
ahh je vais test
nop sa marche pas
client.guilds.get('470897860473389066').members.cache.get(args[2]).roles.cache.add('763917247151472653')
^
TypeError: Cannot read property 'get' of undefined
ça change rien ${args[2]} de args[2]
dans ce cas là
Essaye d'y aller step by step, console log deja ton client.guilds.get('470897860473389066') vois ce que tu récupères
sa me récup bien les channel du serv
le truc c'est que le get est une requete
donc quand tu fais .member.get derrière je pense que tu fais ca sur une Promise
fait un .then ?
dac donc je then après client.guild.get
yep
mtn c'est au tour de members
client.guilds.get('470897860473389066').then.members.cache.get(args[2]).roles.cache.add('763917247151472653')
^
TypeError: Cannot read property 'members' of undefined
ahhh
att je t'écris le code
dac merci
client.guilds.get('470897860473389066')
.then(reponse =>{
console.log(reponse.members.cache)
})
try this
déja
.then(reponse =>{
^
TypeError: client.guilds.get(...).then is not a function
ok 2sec je test
t'es sous quelle version de discordjs
ui
"version": "11.5.1"
Yep
dac mais ducoup si je veux update je dois modif tout mon code ?
non plus
hein ok oups
bah att
mais aussi pourquoi pas faire la commande avec une mention c'est plus simple non ?
nn il faut lui rajouter un role
enfaite la sa marche
guild.member(client.users.get( args[2] )).addRole(role)
sur moi sa marche mais sur certaines personnes sa ne marche pas
guild.member(client.users.get( args[2] )).addRole(role)
^
TypeError: Cannot read property 'addRole' of null
oui bah tu peux le faire avec une mention ajouter un role
je trouve ça plus clean perso
c'est à dire ?
let member = message.mentions.members.first();
member.roles
.add('id du role')
.then(() => {
message.channel.send(`gg t'es validé ${member}`);
}).catch(console.error);
je pense que ça devrait le faire avec ta version
donc en gros mon robot mention
!accept @weak grove
et après sa lui met le role ?
oui
engros dans le code tu recup la mention tu add un role au membre que ta mention puis ça envoie un message
ou ça te renvoie une erreur si y'en a
.add('763917247151472653')
^
TypeError: member.roles.add is not a function
rolalaaa bon att je test et jtenvoie ça
j'ai tester un autre truc et sa marche
sauf que sa revient a la même chose sa refait le bug
incompréhensible
sur moi et d'autre personne sa marche sauf que sur lui et certaine personne sa met une erreur
member.addRole(role)
^
TypeError: Cannot read property 'addRole' of undefined
ok c'est bon
tient :
if (message.content.startsWith(`!accept`)) {
let mention = message.mentions.members.first();
if (mention == undefined) {
message.reply(`Veuillez mentionner un membre.`)
} else {
mention.roles.add("id du role")
}
}
tout bêtement bon ça n'a rien à voir avec le truc que t'a fait à la base mais ça devrait lfaire
oui mais genre quand j'ai fait mon truc plus haut que sa ma mit l'erreur j'avez pourtant bien mention le mec
essaye celui la
le code ?
nn même en mention qu'une fois
ta laisser le if (message.content.startsWith(!accept)) {} ?
oui il est plus haut
bah bizzare moi ça marche
nn en gros j'aimerais que un webhook execute une commande dans un channel invisible a tlm a pars mon bot ensuite mon bot récupére la commande du webhook donc "accept 283315291986067457" et met un role a l'id discord sauf que moi sa marche et certaine personne aussi mais certaine personne non
au moment du add role
quand je met l'id d'un mec random et bah sa met une erreur sa me dit que addRole est undefined
je suis sur discord js 11.5
yes
t'as essayé log un peu tout ?
donc ça fonctionne pas sur certaines personnes juste
oui
mais pourquoi t'utilises un webhook ? je comprends pas trop ton système
pour que le web envois une requete a discord mais sa sa marche bien c'est le addrole
aah okay, je vois bah alors là je connais pas du tout addRole donc relou ce problème
ouais 🤔
Pourquoi tu fait pas la requête via ton site directement ?
A moins que j'ai pas bien compris ce que tu essaye de faire mais la si je comprends bien t'essaye de faire un truc un peu bizarre 🤔
Bah oui c'est juste une requête à l'api de discord
comme un bot ferait via discord.js
bah engros tu uses ton bot directement à partir du site
sans use de webhook
si c'est bien ce que à voulu dire bob
Yep
franchement j'ai aucune idée comment je pourrais modif mon webhook pour add un role
bah tu l'utilises pas
engros tu fais un bot tout ce qui à de plus normal
sauf sur ton site
Tu fait une requête à l'api de discord sur la route du add role avec les différents paramètres requis et tu utilise le header "Authorization" pour te "connecter" avec ton bot
sur une page php ?
Oui
un webhook pour faire des commandes c'est pas trop ça à la limite pour envoyer des infos mais pas plus
Hello, j'essais de récup les réactions d'un embed, mais je n'y arrive po, si vous avez des soluces, je vois pas comment faire depuis un guildMemberadd
j'ai essayé de log reaction, y a "emojis" mais pareil c'est pas ça que je veux, du coup je sais pas trop comment faire xd
tu veux faire quoi exactement
get où l'user réagis, et faire des conditions en fonction de sa réaction
mais pourquoi au guildMemberAdd alors ?
car quand quelqu'un arrive il est "en attente de validation", et seulement après validation de l'user ( par la réaction ✅ ) ça lui enlève le grade et il a accès au serveur, sinon il est kick
oui mais tu dois faire ca au reactionAdd
pour trigger l'ajout d'une reaction sur un message deja existant
tu pourras pas use les collector reaction ou autre la du coup donc l'event reaction add
Ah ! Donc à partir de l'envoi de l'embed ( inclus ) je mets ça dans reactionAdd ?
Ahhh mais c'est au staff de valider l"utilisateur ?
Du coup si tu veux, tu peux envoyer ton message si, et a l'envoie utiliser le awaitReactions ou collectorReactions (je sais plus le nom pr le deuxieme)
var message = await msg.channel.send(embed);
var tabEmoji = ['🐲', '🪄', '🪙'];
message.awaitReactions(r => tabEmoji.includes(r.emoji.name), { max: 1 })
.then(collected => {
let r = collected.first();
switch (r.emoji.name) {
case '🐲':
// ce que tu veux faire si on réagie avec cette emoji
break;
}
})
.catch(console.error);
PErso je fait comme ça désolé de te couper Enzo
comme ca tu peux meme faire en sorte d'avoir un timer et si pas accepté au bout de 10 minutes hop tu l'acceptes auto ^^
yes voila le truc au dessus
je pensais que tu voulais une reaction de la part du mec qui join
Non du coup ! Et Merci à vous ! Loc du coup je le remplace dans mon guildmemberAdd ?
désolé
ok javai pas capter le contexte
euh oui oui il faut que ce soit une fonction async c'est tout
sorry
okay ! je test !
du coup, ça me log direct 'ok', je comprends pas trop ?
car là il a l'air de détecter direct les réactions, et pas une réaction d'un user et pas du bot
bah quand tu réagis avec oui normal
heinnnn okk att je look
dès qu'il envoie l'embed il m'envoie le "ok"
jtest ça
enfin je pense pas mais on va faire par deduction
pareil
euh alors je connais pas du tout
var message = await msg.channel.send(embed);```
toi ton async est sur message alors qu'il devrait là ou y'a ton client.on par exemple genre ça :
```javascript
client.on("message", async msg => {
})```
mais avec le truc dont tu as besoin
je ne suis pas sur à 100% mais je ne voit que ça
@oak turret
je comprends pas, c'est l'event guildMemberAdd moi, et mon (member) est en async mais je capte pas là
bah engros la diff c'est que l'équivalent de message chez moi on a "await" avant et toi " async" c'est la seule diffèrence
donc ça doit surment venir de là
je pense
donc je suis censé faire quoi ? xd
yes
ah donc je await mes message.react() okay my bad
ah bah yes
re, ducoup j'ai trouver l'erreur du problème sauf que l'erreur est bizzard, en gros
client.users.get( args[2] ) récupére uniquement les infos du mec quand il est connecter dans un salon vocal mais j'aimerais le get même si il 'nest pas co
comment pourrais-je faire ??
ah bon
euh normalement non att
mais ducoup att tu ne le fait pas avec une mention ?
ahh je vais tenter
c'était juste une question mais ducoup j'en déduis que non mdr
ok mais ce qui me semble bizzare que ce soit uniquement les gens en voc perso j'avait test tout à l'heure ça aller bien
mais c'est quoi ton event de base ?
c'est une simple commande
client.on('message', (message) => {
});
ouais le reste sa passe en undefined
ça me parait bizzare il doit y avoir un autre truc dont je suis pas au courant car là je voit pas...
client.fetchUser(args).then(user => {
// Got the user!
message.channel.send('Found user: ' + user.tag
+ '\nAvatar: ' + user.displayAvatarURL);
}).catch(() => {
// User not found
message.channel.send('Could not find user with the given ID.');
});
bn j'ai fait une petite recherche finnalement car ça me tracasse ton truc essaye avec ça pour le coup le code ne vient pas de moi donc pas sur que sa marche
Mais engros regarde si sa marche même avec les gens pas dans des channel vocal
Re ! Comment je peux get les datas de ça ? car je connais pas trop les Collections ? Merci :))
@oak turret
Tu peux utiliser collection.get(<id>)
https://discord.js.org#/docs/collection/master/class/Collection?scrollTo=get (RTFM)
j'ai fais comme ça du coup
Yop ! Pour un système de "setup" j'ai pensé à une bdd à la place du json logique, mais je sais pas lequel car j'aurais qu'un truc quoi "is_setup" et donc je sais pas lequel serait le plus rapide et simple à faire, si vous avez des idées, ça serait cool ^^
setup dequoi
en gros, si tu veux là ça envoie des message dans des channels prédéfinis, seulement j'aimerais laisser le choix aux users de choisir leurs propres channel, pour la validation quoi, et donc bah le faire qu'une fois, ou je sais pas si c'est la meilleure des choses à faire, je cherche des conseils ^^
Nop en gros t'as la validation par les staffs du coup, et ce channel là bah il peut être choisi, et le bot enverra les messages de validations dedans pour que les users soient validés ou pas
mais du coup le laisser variable je pense que c'est mieux
yes mais du coup enregistre juste l'id du channel qui a été choisit dans un channelSetup
je vois pas pourquoi t'as besoin d'utiliser une bdd
c'est peut etre use sur pleins de bot
enfin pleins de serveur
si il aime pas trop le json
ouais ok
yes, et oui du coup pour pleins de serveurs je compte le mettre en public, et du coup ouais le json mais seulement c'est delete si le bot est restart
mais du coup pouvoir changer le channel quand on veut c'est mieux je pense non ?
bah le json non c'est pas delete si tu restart
ce sera dans ton fichier json

Oui a toi de voir
bahh, là actuellement quand je restart il revient à false quoi ?
par contre tes conditions if (is_setup == false) etc ça sert a rien tu peux juste if (!is_setup) ou l'inverse
bah il faut réécrire ton fichier json évidemment
oauip mais c'était juste pour tester ça, ah yes donc je suis censé faire comment du coup ?
bah fs.writeFile(...) etc
Bah tu crées un json et tu écris dedans
ah okay fs my bad
je sais pas t'es le premier a blamer json quand les gens l'utilise mais finalement tu l'as jamais utilisé ? 😂
pour le coup écrire un fichier json y a rien de compliqué
bah pas écrire dedans juste changer les values dedans, après on m'a dit de pas stocker et tout dedans même si y a rien de ouf là mais oui du coup je l'utilise pas souvent à part pour les config ^^
et je blame pas json ?
bah pour changer les values dedans tu dois bien écrire dedans
bah si c'est pour stocker 5 channel ca craint rien
sisi je t'ai deja vu dire de pas use json et de faire du sql ou autre 👀
mais c'est pas le sujet
bah pas écrire dedans juste changer les values dedans, après on m'a dit de pas stocker et tout dedans même si y a rien de ouf là mais oui du coup je l'utilise pas souvent à part pour les config ^^
@oak turret tu peux faire de la config "dynamique" et tant que ça a pas une taille monstrueuse ton fichier c'est ok
yes mais du coup oui pour des trucs précis par pour des trucs comme le mien ouais, et yes juste de la config de base j'use mais merci les mecs ^^
bah la config dynamique c'est carrément ton cas de figure
ou alors j'ai vraiment pas compris ce que tu veux faire
ah mais ce que je voulais faire yes, mais là du coup je vais le laisser variable le channel, mais ma config du bot genre token et prefix quoi c'est de ça que je parlais que j'use actuellement
tu peux carrément use t'auras pas masse d'utilisation de ton json généralement une fois que c'est setup ils vont pas le changer chaque seconde
oui mais meme variable tu peux
tu as juste a rewrite ton fichier json de data
oauip c'est sûr, mais au cas-où ça offre une liberté enfin je peux toujours changer après ^^
tu as ton JSON pour ta config, que tu peux passer en .env d'ailleurs ausi
et ton JSOn de data
oauip aussi, bah je vais voir ça, merci les mecs !
bonjour je suis passez en discord js 12.4.1 et mes embed ne fonctionne plus sa me met une erreur :
(node:1273024) UnhandledPromiseRejectionWarning: TypeError: fields.flat is not a function
const embedss = new Discord.MessageEmbed().setColor('#ff0000').setTitle('test').setDescription('tttttt').setFooter('rdsfsdf');
const embed = new Discord.MessageEmbed()
.setColor("couleur")
.setDescription("tata");
message.channel.send(embed);
sa marche toujours pas 🤔
node:1274210) UnhandledPromiseRejectionWarning: TypeError: fields.flat is not a function
fileds.flat way
const { MessageEmbed } = require("discord.js");
const embed = new MessageEmbed()
.setColor("couleur")
.setDescription("tata");
message.channel.send(embed);```
Nan 🤔
bah si t'as
non plus
déjà mit
C'est quoi ton code complet ?
montre + ton code
client.on('message', (message) => {
let content = message.content;
let args = content.split( " " );
if ( content.startsWith( "!update" ) ) {
var guild = client.guilds.cache.get('470897860473389066');
let utilisateur = message.mentions.members.first();
if (!args[1]) {
client.channels.get("727155213718388807").send('Attention ! Erreur de syntaxe dans l\'API !')
}else{
if(message.channel.id == "578904930757115914"){
message.channel.send(embed);
}
}
}
});
Ya pas d'embed dedans 🤔
const { MessageEmbed } = require("discord.js");
const embed = new Discord.MessageEmbed()
.setColor("couleur")
.setDescription("tata");
plus haut ya sa
même dans le code ya pas
client.channels.get("727155213718388807").send('Attention ! Erreur de syntaxe dans l'API !') pas censé fonctionner ça y pas le .cache si t'es en 12 si je me trompe po
Ah mais normal que sa fonctionne pas mdr
ah bah oui
je suis passé de v10 a v12
const { MessageEmbed } = require("discord.js");
client.on('message', (message) => {
let content = message.content;
let args = content.split( " " );
if ( content.startsWith( "!update" ) ) {
var guild = client.guilds.cache.get('470897860473389066');
let utilisateur = message.mentions.members.first();
if (!args[1]) {
client.channels.cache.get("727155213718388807").send('Attention ! Erreur de syntaxe dans l\'API !')
}else{
if(message.channel.id == "578904930757115914"){
const embed = new MessageEmbed()
.setColor("couleur")
.setDescription("tata");
message.channel.send(embed);
}
}
}
});```
Il me semble
oui
il faut que ton embed soit dans ta condition
fin là où tu veux l'utiliser
sinon il connait pas
normal
Yes
nop
(node:1277153) UnhandledPromiseRejectionWarning: TypeError: fields.flat is not a function
Essaye de mettre à jour
ya rien
Comment ça ?
c'est vide
Ah
ok
Hello, j'ai pas d'erreur mais il n'écrit pas dans mon fichier ( je voulais test cette méthode) il n'écrit pas et n'éxécute pas mon code après, j'ai chercher sur internet mais rien de très intéressant, pareil avec un writeFile()
Si tu lui cale un .catch il te ressors rien?
nop c'est good fs boudait, mais il me boude plus ! xD
quel enfoiré ce fs...
il est assez colérique 😮
Hey, c'est pas comme ça pour find un salon ? 🤔
let tickets = msg.guild.channels.cache.find(ch => ch.name === `ticket-${msg.author.id}`);
Ou je suis devenu null 😦 mdrr
message.channel.name.startsWith() sinon
bah avec startsWith tu peux
startsWith(ticket-de-${message.author.id})
et de là if(ticket) {} else {}
comme Enzo avait fait pour mon cas
ca revient au meme le startsWith ou ===
oui c’sur
car lui si il set le nom a ticket-xxxx
il peut vérifier que ca soit égale aussi
(dans son cas)
yes
Ba en gros
J'essaye de find un salon nommer ticket-iddumec
Si le salon est trouver = erreur
Sinon
Sa fais son ticket
J'ai toute la partie de création de ticket mais pas pour find le salon @slim anvil
ticket ?
Oui mais ca te renvoie quoi actuellement ticket
Et tu le définis comment ton ticket ? mdrr
c'est ça ma question
non mais ticket = code pour find ton salon que t’as mis au-dessus
Ba rien @slim anvil
log le?
undefined
et il existe ou pas en vrai ?
donc il le trouve pas
il est censé existé ou non
Oui @slim anvil
okay juste pour voir ce que ca te retourne
msg.guild.channels.cache.find(ch => console.log(ch.name));
voir si ca te retourne tout bien ou non
Ah donc je met ceci à la fin ?
await msg.guild.channels.ca.... pr try
recopie ce qu’as dis enzo
Nan mais je suis pas con omg
bah ??
bah je comprend pas ta question
Je demande juste, car j'ai pas compris sa phrase
tu met quoi à la fin
"il doit passer a la suite avant d'avoir terminé"
const ticket = await msg.guild.channels.cache.find(ch => ch.name === `ticket-${msg.author.id}`)
Oui sa j'avais compris
Bah en gros il attend pas la fin de la boucle pour passer à la suite, donc du coup surement que ton ticket doit encore etre undefined
je suis pas sur mais testons
Ah nan
Je fais le find
Puis si find = trouver = erreur
Puis le code si il trouve pas plus bas
??
Ba en gros
j'ai compris ce que tu cherches à faire
const ticket = await msg.guild.channels.cache.find(ch => ch.name === `ticket-${msg.author.id}`);
if (ticket) return msg.channel.send("error");
// CODE CREATION DU CHANNEL TICKET
c'est tjrs pas good ?
devrait pas y en avoir besoin effectivement car c'est dans le cache ouais mais le fidn est bon pourtant
mais quand tu log ticket il est tjrs undefined ? 🤔
je test j'ai 0 soucis 🤔
par curiosité, bien en v12 ? version de node aussi minimum 12?
Ba
