#javascript-typescript
1 messages · Page 96 of 1
Pour le début pour tester tu peux le faire à la main
Non effectivement elle n'y est pas
Après comme l’a dig Smaug tu pourras faire un handler (cherche command handler et event handler discord.js v13 sur internet)
D'accord
en vrai pas besoins d'en prendre un sur internet, si tu veux le faire a la main autant le faire avec fs et sinon utiliser un framework comme #sheweny-js
très sympa ce framework
Hey comment je peu rajouter des information custom a une request mysql en nodejs pcq si je remplace "" par `` sa couille par tout
merci d'avance
Bonsoir moyen de m'aider à nouveau voilà mon code et mon erreur est Unexpected token '??='
Merci
Excuse moi à nouveau toujours un petit problème le voici
Toujours pareil alors que je viens de le refaire
vérifie le serveur, le bot, et que tu l'as invité correctement.
de toute facon ca peut venir que de la, vérifie aussi l'id de la guild dans le code
Ah bah je comprend pas tout est bon pourtant j'ai bien reverif
Fais voir le lien avec lequel tu as invité ton bot
Ton bot est peut-être mal invité sur un autre serveur (sans le scope applications.commands)
Je me suis dit la même chose mais ça ne peut pas être ça, il précise bien le serveur sur lequel il ajoute les commandes
@clear crater tu as mis guilddId au lieu de guildId
Bonjour, j'ai une erreur bizarre, je ne sais pas pourquoi :/
const mongoose = require("mongoose");
module.exports = async (client) => {
const mongoOptions = {
useNewUrlParser: true,
autoIndex: false, // Don't build indexes
family: 4, // Use IPv4, skip trying IPv6
useUnifiedTopology: true
};
mongoose.connect(client.config.mongooseConnectionString, mongoOptions)
.then(() => {
setTimeout(() => {
console.log("Connecté à MongoDB !".bgGreen);
client.channels.cache.get(client.config.botlogs).send("**" + client.e.online + " ➜ Base de données connectée !**")
}, 1500)
})
.catch((err) => {
console.log(`MongoDB déconnecté : ${err}`.bgRed)
client.channels.cache.get(client.config.botlogs).send("**" + client.e.offline + " ➜ Une erreur est survenue lors de ma connexion à la base de données !**")
})
console.log(typeof client.commands)
}
erreur :
TypeError: require(...) is not a constructor
Commence par vérifier que tu as bien installé mongoose
Si c'est le cas, essaye de mettre let à la place de const
ça ne changera rien, si il n'avait pas installé mongoose ça le lui dirait même si oui il peut vérifier. Après mettre let à la place de const ne change rien non plus à part que let tu peux modifier la valeur après
Oui je viens d'y penser mais à moins qu'il n'utilise pas NodeJs ou alors qu'il ait redéfini la fonction require je ne sais pas d'où ça vient 🤔
Comment tu fais pour appeler ce fichier ?
tu le require non ?
Sinon tu peut utiliser la syntaxe import from
Hey ! J'ai un petit problème avec discord.js v12 : Je veux que quand un message est envoyé dans un channel spécifique, le message soit renvoyé dans un autre.
Quand j'envoie le message dans le salon adéquat.
(discord.js n'est pas une librairie que j'utilise très fréquemment)
Voici le code :
const config = require('./config.json');
const channelID = config.receiveChannel;
const x = config.sendChannel;
client.on('message', async (message) => {
if (!message) return;
if (!message.guild) return;
if (message.channel !== channelID) return;
if (message.author.bot) return;
if (message.author.id == client.user.id) return;
const embed = new MessageEmbed()
.setAuthor(`${message.author.username}#${message.author.discriminator}`)
.setDescription(`${message.content}`)
.setTimestamp();
try {
x.send(embed)
} catch (error) {
console.log(error)
}
})
alors 👀
tu essayes de comparer un object channel avec un snowflake (id) x)
de plus, tu tentes de send un message dans un channel alors que x est certainement un string 👀
C’est le module mongoose
J’ai intégré la fonction dans mon évent ready
Montre justement comment
Il n'y a donc pas moyen d'envoyer un message dans un channel ciblé ?
:_: Client#channels
All of the Channels that the client is currently handling, mapped by their ids - as long as sharding isn't being used, this will be every channel in every guild the bot is a member of. Note that DM channels will not be initially cached, and thus not be present in the Manager without their explicit fetching or use.
:_: Guild#channels
A manager of the channels belonging to this guild
Bon.... j'ai fais comme tu m'as dis mais toujours rien. Voilà ce que j'ai changé :
client.guilds.cache.get(`924220151245713428`).send(suggEmbed)
@sharp grail :c
client.guilds.cache.get(`924220151245713428`).channels.cache.get('channel-id').send(suggEmbed)```
On send dans un channel pas dans un serveur
t'es pas allé voir les liens 
Je l'ai fais aussi ça, mais ça n'a pas marché :c
Coupable
erreur ?
lui avec le code que t'as send à la place du x.send
Coucou, j'obtiens une petite erreur en compilant mon TS ( DJS 13.4.0 )
si c'est les types de djs le problème, ce qui arrive souvent, ajoutes ca au tsconfig.json : "skipLibCheck": true
Thanks !
Re 👀 , la méthode add a été dégagée pour GuildMemberRoleManager ?
Sur la doc elle existe, dans mon code non
faut bien pouvoir add un rôle 🤔
manifestement, la méthode add existe toujours dans le code 🤔
[v13.4]
Je suis d’accord, mais typescript me dit que ça existe pas
Bonjour
je voudrais faire en sorte que dans mon select menu quand les utilisateur clique sur le truc dev sa envoi un message d'erreur disant qu'il ne peuvent pas, savez vous comment faire ?
bah c’est simple
dans ton event interactionCreate
tu check si ton interaction est un selectMenu avec « interaction. isSelectMenu() »
et après tu fais un coup de interaction.deferUpdate() et ensuite tu fais un coup de interaction.reply({content: "Erreur", ephemeral:true})
Bonjour, j'ai cette erreur mais je ne sais point d'où sa vient. Possible de m'aidais s'il vous plaît ?
C:\Users\Administrateur\Desktop\BOT SLMD COMMU\node_modules\discord.js\src\rest\RequestHandler.js:349
throw new DiscordAPIError(data, res.status, request);
^
DiscordAPIError: Invalid Form Body
message_reference: Unknown message
at RequestHandler.execute (C:\Users\Administrateur\Desktop\BOT SLMD COMMU\node_modules\discord.js\src\rest\RequestHandler.js:349:13)
at runMicrotasks (<anonymous>)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async RequestHandler.push (C:\Users\Administrateur\Desktop\BOT SLMD COMMU\node_modules\discord.js\src\rest\RequestHandler.js:50:14)
at async TextChannel.send (C:\Users\Administrateur\Desktop\BOT SLMD COMMU\node_modules\discord.js\src\structures\interfaces\TextBasedChannel.js:172:15) {
method: 'post',
path: '/channels/921901747843268618/messages',
code: 50035,
httpStatus: 400,
requestData: {
json: {
content: undefined,
tts: false,
nonce: undefined,
embeds: [
{
title: 'Toutes les commandes du bot',
type: 'rich',
description: 'Voici toutes les commandes du bot',
url: null,
timestamp: 2021-12-26T21:25:55.590Z,
color: 15335679,
fields: [ [Object], [Object], [Object], [Object], [Object] ],
thumbnail: {
url: 'https://cdn.discordapp.com/avatars/885275695104806952/412822a6f0e69ba42ff72ae266d74a12.webp',
proxyURL: undefined,
height: undefined,
width: undefined
},
image: null,
author: null,
footer: {
text: '! ZΞNCH',
icon_url: 'https://cdn.discordapp.com/avatars/610798050704752643/be9101596a951afc51d5618e0f14976a.webp'
}
}
],
components: undefined,
username: undefined,
avatar_url: undefined,
allowed_mentions: undefined,
flags: 0,
message_reference: { message_id: '924775058461835285', fail_if_not_exists: true },
attachments: undefined,
sticker_ids: undefined
},
files: []
}
}
Tu essayes de répondre à un message qui n’existe pas/plus
Avec un <Message>.reply par exemple
Salut j'ai un problème j'essaye de logger quand un membre rejoint et quitte un serveur mais ça ne marche pas, voici mon code :
tu as mis l'intent GUILD_MEMBERS et la partial MEMBER ?
les partials c'est pour déclencher des évents si certaines données ne sont pas en cache et que du coup les structures sont incomplètes
de rien
Et si jamais je veux transformer ça en message embed, je peux ?
oui bien sur
Moi j'ai appris les embed avec des commandes donc bon x)
juste pour envoyer ce sera send({embeds: [tonEmbed]}), tu peux envoyer 5 embeds max par message
ah d'accord merci
bot.on("guildMemberAdd", member => {
const embed = new Discord.MessageEmbed()
.send({ embeds: [
.setTitle("Aller au message")
.setColor("BLUE") // Renvoie une couleur, en loccurence bleu
.setURL(message.url) // Renvoie le lien du message
.setDescription(message.content) // Renvoie le contenu du message
.setAuthor(message.author.tag) // Renvoie le pseudonyme de l'auteur du message
.setTimestamp() // Donne la date à la quelle s'est passé l'event
.setFooter(message.author.id) // Renvoie l'ID de la personne ayant poster le message
] })
}`)```
ah x)
alors faut définir ton embed dans l'array mais si c'est plus simple pour toi, fais en 2 fois:
const embed = new Discord.MessageEmbed().setX().setY()
.send({ embeds:[embed] })
C'est quoi setX et setY ?
c'est tes setTitle, setDescription etc
j'ai pas tous recopié mais toi tu mets ce que tu avais mis au dessus
ah d'(accord ok
après bien sur faut laisser ce que tu avais mis avant le .send
bot.on("guildMemberAdd", member => {
const embed = new Discord.MessageEmbed()
.setTitle("Aller au message")
.setColor("BLUE") // Renvoie une couleur, en loccurence bleu
.setURL(message.url) // Renvoie le lien du message
.setDescription(message.content) // Renvoie le contenu du message
.setAuthor(message.author.tag) // Renvoie le pseudonyme de l'auteur du message
.setTimestamp() // Donne la date à la quelle s'est passé l'event
.setFooter(message.author.id) // Renvoie l'ID de la personne ayant poster le message
.send({ embeds: [embed] })
})```
ça ne marche po :(
le .send appartient pas au message embed
c'était bien ce que tu avais fais pour le send en premier
ici
Ah
const embed = new Discord.MessageEmbed()
.setTitle("Aller au message")
.setColor("BLUE") // Renvoie une couleur, en loccurence bleu
.setURL(message.url) // Renvoie le lien du message
.setDescription(message.content) // Renvoie le contenu du message
.setAuthor(message.author.tag) // Renvoie le pseudonyme de l'auteur du message
.setTimestamp() // Donne la date à la quelle s'est passé l'event
.setFooter(message.author.id) // Renvoie l'ID de la personne ayant poster le message
.send(`${member.user.username} a rejoint le serveur`)
}) ```
Je crois que c'est comme ça mlais qu'il faut juste que je bouge le .send ?
Et bien c'est ce que j'ai fais
bot.on("guildMemberAdd", member => {
const embed = new Discord.MessageEmbed()
.setTitle("Aller au message")
.setColor("BLUE") // Renvoie une couleur, en loccurence bleu
.setURL(message.url) // Renvoie le lien du message
.setDescription(message.content) // Renvoie le contenu du message
.setAuthor(message.author.tag) // Renvoie le pseudonyme de l'auteur du message
.setTimestamp() // Donne la date à la quelle s'est passé l'event
.setFooter(message.author.id) // Renvoie l'ID de la personne ayant poster le message
bot.channels.cache.get("915655922389487616").send({embeds: [embed]})
})
🤔
toi tu avais mis le .send après le setFooter
le member faut le changer non ?
oui j'ai changé par client
je crois que faut mettre member
bot.on("guildMemberAdd", member => {
const embed = new Discord.MessageEmbed()
.setTitle(`<@${message.author.id}> a rejoint le serveur`)
.setColor("BLUE") // Renvoie une couleur, en loccurence bleu
.setAuthor(member.author.tag) // Renvoie le pseudonyme de l'auteur du message
.setTimestamp() // Donne la date à la quelle s'est passé l'event
.setFooter(member.author.id) // Renvoie l'ID de la personne ayant poster le message
bot.channels.cache.get("915655922389487616").send({embeds: [embed]})
})
J4ai mis ça
pareil dans le footer member.author.id serait member.id ou member.user.id
author c'est pour les messages
et pareil pour le setAuthor, member.author => member.user
RangeError [EMBED_AUTHOR_NAME]: MessageEmbed author name must be a string.
Ah c'est bon j'ai trouver
Ah mais
ça me renvoie @keen narwhal a rejoint le serveur et pas @keen narwhal a rejoint le serveur
parce que j'ai mis ${member.user} pour regler le pb ici
C'est bon j'ai réglé mes soucis
Re, bon cette fois ci 'arrive pas à logger quand qqn quitte le serveur, voici mon code
const embedLeave = new Discord.MessageEmbed()
.setColor("RED") // Renvoie une couleur, en loccurence bleu
.setAuthor('Un membre vient de quitter le serveur !') // Renvoie le pseudonyme de l'auteur du message
.setDescription(`${member.username}, a quitté le serveur`)
.setImage(member.avatar)
.setTimestamp() // Donne la date à la quelle s'est passé l'event
.setFooter(member.id) // Renvoie l'ID de la personne ayant poster le message
bot.channels.cache.get("915655922389487616").send({embeds: [embedLeave]})
})
J'ai pas de message d'erreur
tu as bien mis la partial MEMBER déja ?
Intents.FLAGS.GUILD_MEMBERS ?
non la partial en dessous
partials: ["MEMBER"]
et pour le setImage mets plutot .setImage(member.user.displayAvatarURL()). Member.avatar contiendra un hash de l'avatar
Je vois pas ce que c'est le partial
t'en occupes pas trop, mets le juste c'est un peu compliqué a expliquer comme ca mais c'est des check a l'intérieur de la lib rapport a de la mise en cache de données
Je l'ai mis mais pas au bon endroit je crois
({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES, Intents.FLAGS.GUILD_MEMBERS], partials: ["MEMBER"] }); ?
oui c'est bon
tu as une erreur ?
Oui oui
sinon pour ton problème essayes de mettre un console.log tous en haut de l'évent voir si il se déclenche
bot.on("guildMemberRemove", member => { console.log(member) ?
par exemple
essayes de voir si tu as un truc dans la console après
et aussi faudra changer tes setAuthor setFooter pour djs 13.4 mais on verra plus tard
ça m'affiche rien dans le console.log quand je quitte mon serveur
Quand je rejoins ça m'affiche plein de trucs
la const ?
Ah oui c'est moi qui me suis trompé
la partial est GUILD_MEMBER et pas seulement MEMBER
Salut, je suis entrain d'apprendre le Javascript et je voulais savoir la différence entre var, let et const, je sais que let sert juste dans le block et var partout, mais const je sais pas trop a quoi il sert 😅 du coup si quelqu'un peut m'expliquer vite fait, merci
const, c'est une constante. Tu ne pourras pas la modifier 🙂
okay
En revanche tu peux déclarer un tableau avec une constante et tu peux push des éléments dedans
mais je peux aussi le faire avec let et var non ? alors pourquoi utiliser const ?
Tient regarde cet article
la différence entre let et var c'est la portée surtout
Mais généralement ça ne s'utilise plus trop, sauf cas précis
ok merci
Salut j'ai un problème, mon bot n'affiche pas les slash commands
je l'ai kick et re inviter sur mon serveur mais rien ne change
ah ben en faite je viens de me rendre compte qu'il ne fait plus rien
Tu as invité ton bot avec le scope application.commands en plus de bot?
oui oui
Plus rien ne se déclenche meme le code qui log les messages supprimés 🤔
J'ai essayer avec un autre bot et ça marche pas non plus :(
Tu as attendu 1h pour le déploiement des commandes globales ?
non
c'est peut etre ca alors
Mais les logs sont sencés marcher non ? 🤔
sauf si tu les enregistres sur une guild spécifique
quelles logs ?
Vérifie tes intents
fais voir ton évent messageDelete stp
C'est pas interactionCreate l'évent qui corresppond a la supression d'un message
c'est messageDelete
c'est ca le problème
impossible
alors la
pas cette partie la au moins
si elle est globale elle prendra jusqu'a une heure a se déployer sur tous les serveurs discord
Oui mais si tu enregistres les commades que sur une guild avec une fonction spécifique la elles seront pas globales
Avec @discordjs/rest je me suouviens plus de la fonction mais c'est dans la doc
j'ai pas mis rest
j'ai mis module.exports
ah mais attends je crois que je me suis mal exprimé, la commande je peux pas la faire, elle n'apparait pas quand je fais /ban
C'est ce qu'on te dis
Faut que tu déclares seulement sur ton discord
Et non, en global
J'ai pas trop compris
Bonjour,
Je découvre le JS et j'ai besoin d'aide
J'essaye d'incrémenter des compteur, mais je pense que la portée des variables n'est pas bonne, est-ce qu'on pourrait m'expliquer d'ou peut venir le problème svp ?
let tsUser = {inactif: 0, actif: 0};
teamspeak.clientList().then(clients =>
{
clients.forEach(c =>
{
if (!c.nickname.includes("BotDiscord"))
{
if (c.channelGroupInheritedChannelId == '9')
tsUser.inactif += 1;
else
tsUser.actif += 1;
}
});
});
return tsUser
découvrir le JS en faisant ça ? pas sur que tu comprennes ce que tu as recopier/écrit
Bah le code fonctionne si je met tout le code dedans, j'ai essayé de le mettre en fonction pour ne pas dupliquer le code
J'ai juste piqué le code sur le github du createur de la librairie TS
Je ne comprends rien aux Promise, c'est surement mon problème
le problème vient justement des promesses👀
tu return tsUser avant que ta promesse soit resolve
Ah! c'est comme pour une fonction ?
J'ai pas compris à quoi tu faisais référence mais reprenons
En gros, si je comprends, il faut faire ça ?
let tsUser = {inactif: 0, actif: 0};
teamspeak.clientList().then(clients =>
{
clients.forEach(c =>
{
if (!c.nickname.includes("BotDiscord"))
{
if (c.channelGroupInheritedChannelId == '9')
tsUser.inactif += 1;
else
tsUser.actif += 1;
}
});
return tsUser;
});
return tsUser
mmh non x)
en fait
pour prendre un exemple
quand tu fais une requête via internet par exemple, tu ne recevras pas la réponse instantanément
||je suis pas bon prof mdr
||
pas grave ça, j'essaye juste de comprendre, et au moins tu réponds x)
C'est sûr 😂
Tu es déjà dans une promise
Enlève tes returns et tu en fais juste 1 dans tes .then du moins dans le dernier
Et tu peux .catch pour return une erreur au cas où
je suis sur tel donc c’est pas super clair mais c’est juste que tu return direct donc forcément ça n’attend pas l’exécution donc fais juste ton code dans le .then
Ça sert à ça, attente le résultat de y’a requête
Ta*
Okay, mais si je veux factoriser ce code, je fais comment ?
Actuellement je le duplique, c'est pas top
Si tu dois l’avoir à plusieurs endroit oui tu peux te créer une promise contenant cette fonction
et toi tu appelleras ta fonction qui te return le résultat attendu
Ça évitera d’avoir plusieurs fois ton promise chaining
C’est pas très propre
Okay merci pour ce retour
Bonsoir désolée de vous déranger mes j'ai cette erreur et je trouve pas du tout ces quoi et comment la modifier qui peut m'aider
C:\Users\Aloctio\Desktop\Bot Discord\node_modules\discord-canvas-easy\Canvas\Card.js:113
if(this.bot === null || this.bot.token === undefined || this.bot.token === null || typeof this.bot !== "object") throw new Error("The .setBot must be a Discord Client !")
^
Error: The .setBot must be a Discord Client !
at Card.toCard (C:\Users\Aloctio\Desktop\Bot Discord\node_modules\discord-canvas-easy\Canvas\Card.js:113:128)
at Query.<anonymous> (C:\Users\Aloctio\Desktop\Bot Discord\Commandes\rank.js:61:22)
at Query.<anonymous> (C:\Users\Aloctio\Desktop\Bot Discord\node_modules\mysql\lib\Connection.js:526:10)
at Query._callback (C:\Users\Aloctio\Desktop\Bot Discord\node_modules\mysql\lib\Connection.js:488:16)
at Query.Sequence.end (C:\Users\Aloctio\Desktop\Bot Discord\node_modules\mysql\lib\protocol\sequences\Sequence.js:83:24)
at Query._handleFinalResultPacket (C:\Users\Aloctio\Desktop\Bot Discord\node_modules\mysql\lib\protocol\sequences\Query.js:149:8)
at Query.EofPacket (C:\Users\Aloctio\Desktop\Bot Discord\node_modules\mysql\lib\protocol\sequences\Query.js:133:8)
at Protocol._parsePacket (C:\Users\Aloctio\Desktop\Bot Discord\node_modules\mysql\lib\protocol\Protocol.js:291:23)
at Parser._parsePacket (C:\Users\Aloctio\Desktop\Bot Discord\node_modules\mysql\lib\protocol\Parser.js:433:10)
at Parser.write (C:\Users\Aloctio\Desktop\Bot Discord\node_modules\mysql\lib\protocol\Parser.js:43:10)```
Salut salut j'ai une petite question concernant les bot discord, je suis actuellement entrain de faire mon propre bot discordjs en v13 et je me demandais si quelqu'un pourrait m'aider a faire un twitch relay en mode quand un streamer designer lance sont live sa envoie un message dans un channel mais je nais pas trouver possible de m'aider? merci d'avance
Fais voir ton code ?
A mon avis il y a un paramètre que tu envoies qui est pas bon
Tu as une piste ?
nop juste que je doit faire une request a lapi de twitch mais pas plus
T'as deux solutions
Soit tu subscribe à leur event. Ce qui fera qu'à chaque fois que la personne souhaitée lancera un live, un call sur ton " webhook " sera réalisé. Pour ça il te faut une URL, donc un serveur htpp en https (express, http, ..)
perso jai que une version gmod avec http.post
L'autre solution c'est de call l'API toutes les 30 / 60 secondes en vérifiant l'état d'une chaîne Twitch
À chaque appel tu check si l'utilisateur est en live ou non
yes mais comment je débute en js et je nest encore jamais fait un post
Je te conseille d'utiliser un module pour communiquer avec l'API Twitch, car ça te gère tout ce qui est token, refresh, etc..
Perso j'utilise elle : https://www.npmjs.com/package/node-twitch
il fonctionne en v13?
ok ok
Hello
est ce que quelqu'un sait si les global commands sont comptés dans les guildscommands, c'est à dire si je fais
<Guild>.commands.fetch().then(cmds => {})
je recevrais global commands + guild commands
oh ok
si tu veux les commandes d'app, tu fais client.application.commands.fetch
mais du coup les permissions des slash commands globals tu peux quand même les setup;
oui merci 👀
ah ? j'avais testé et ça marchait, juste que c'est galère car il faut la setup puis lui ajouter des perms
c'est très peu pratique a utiliser car tu dois boucler toutes les guilds et faire un nombre de requetes important
sans parler des conflits
oui ;_;
mais discord est au courrant et ils traveillent sur le problème avec un tout nouveau système. C'est pour ca que je te déconseille de dev avec les slash-commands permissions vu que la V2.0.1 va sortir en janvier et que faudra surement tout refaire
si tu veux un aperçu du nouveau système : https://msciotti.notion.site/msciotti/Command-Permissions-V2-4d113cb49090409f998f3bd80a06c3bd
cool qu'ils prennent en compte les remarques 👀
ça s'annonce bien, ça va juste casser tout ce que j'ai fait 
oui après asser peu de personnes se sont mises a dev avec ca vu que ca peut quasiment pas marcher avec les commandes globales
oui
lequel code
Le code concerné par l’erreur pardis
Hello, je suis confronté à un petit soucis, la sainte erreur "Missing acess" qui apparaît alors que j'utilise le scope application.commands :d Auriez-vous une idée ?
Derp y fait tu des lerp 
Hein ?
Lorsque tu invite le bot@ou lorsque tu le config dans le Dev portal ?
ah merde jai cru que on etait dans le channel glua
Sinon derp tu ti connais en bot discord car le mien je vais le tuer alaid
Mais je vois tjr pas le@rapport même dans glua
laisse faire tkt
Non mais explique
Je me débrouille ouais
Askip
en passant par le dev portal pour ajouter le scope application.commands
ok 2 sec
Tu peux screen ?
Oû est l’erreur ?
juste, tu es conscient qu'avec ça tu n'invites pas ton bot dans la guild ?
Bah pas besoin avec les /
yup
après je sais pas à quoi tu as accès avec
Mais oui clique sur bot aussi @keen narwhal
je sais bien, je l'invitai autrement avant et ça fonctionnait très bien (par le biais de discord.api/permissions)
Si tu as juste besoin de savoir qui a fait la commande tu n’en a pas besoin
Yep
Genre par exemple pour les dns sur le bot 1.1.1.1 ou sur les stars du Covid
ça revient au même je le faisais juste différemment
ou même le bot discordjs 🤔
Met quand même le scope bot comme ça tu serais pas emmerde
je l'ai fais et ça fait la même chose
juste, tu as kick ton bot avant ?
Oui mais le bot n’est pas sur le serveur
Enfin bref fais ce que tu veux, tant que ton problème es résolu
¯_(ツ)_/¯
le problème n'est pas résolu

Oui bon j’abandonne
Bref, on peut juste avoir l'err avant ?
un simple Missing Access
ouep mais missing access c'est pas que les slash commands
missing access c'est pour tout type d'accès que tu n'as pas 
bien vu, enfin dans ce cas là, c'est certain que ça vienne de là 😉
ça te coute quoi de juste envoyer ton erreur ? 🤔
pas grand chose c'est juste que je l'avais pas sous la main donc bon
ah ok x), c'est juste pour être sur avant de continuer 🤔
t'es sur que la guild correspond ? Je veux dire, si le bot est sur plusieurs serveurs. Après ça dépend comment tu setup tes commandes
yep
je revérifie juste au cas ou
🤦♂️ j'ai recheck tout sauf ça :d vraiment j'ai tout décortiqué sauf cette id x) bon et bien merci de m'avoir éclairé @sharp grail (j'aurais jamais trouvé je pense parce que j'ai modifié plusieurs fois le client id, le token, etc. mais tout sauf la guildid :x)
Salut je suis toujours bloquer avec ma commande ban elle ne s'affiche pas tout comme les autres commandes que je rajoute, j'en avait deja parler plus en haut et on m'avait dit qu'il y avait quelque chose avec discord/rest mais j'ai pas trop compris
@keen narwhal Est-ce que t’es commandes sont en globals ou en guild ? Car si tu post y’a commande ban en commande de guild, et les autres en globals ou inversement, oui ça ne s’affichera sans doute pas pareil
Tu pourrais screen l’affichage pour voir ce qui n’est pas pareil ?
en faite j'ai pas tres bien compris l'histoire de guild
Et y'a pas d'affichage
En gros il y a 2 types de / commands, les globals qui sont accessibles depuis partout et seront toujours là, et les guilds, qui en gros sont visible que sur le serveur sur lesquelles elles ont étés postées
C'est quoi ton code ?
Tu es sur d'avoir défini ton MessageEmbed() ?
Je suis pas sur pour que ça te le prennes comme une fonction
Comment as tu défini discord dans ton code ?
const Discord = require("discord.js")
Ah oui c'est ce que je pensais
Pour définir ton MessageEmbed il faut que tu mettes
Discord.MessageEmbed()
tu as pas deja require MessageEmbed en haut de ton fichier ?
ok
pas compris ça
qu'est ce que tu appelles param ? ce que tu recois dans ton execute, ou ce qu'il y a juste au dessus
Je demandais si il fallait mettre au param
ce qu'il y à dessus
Et sinon la commande ne s'affiche toujours pas 🤔
ah
pour documenter ton code tout simplement, mais ça n'a aucun impact sur le code
tes autres commandes fonctionne bien ?
oui mais c'est des commandes que j'avais mise y'a quelques jours
Il avait peut être pas mis d'embed dedans je sais pas
okay mais elles ont la meme structure que la nouvelle ?
dans le dossier commands aussi ?
non
oui
Okay alors regarde:
ici tu définis ton commandFolders
mais il n'est pas utilisé
donc ton handler n'est juste pas terminé
Marcher parfaitement je sais pas, mais en tout cas elle sera appelé logiquement
Mais fais juste fonctionner ton handler
ce sera mieux
Bah c'est pas le but recherché si tu veux utilisé ton handler
oui je sais
Et puis ça permet de mieux se retrouver aussi.
La commande n'est pas appelé UwU
Montre comment tu as mis ta commande
ça n'a peut etre aucun rapport mais la commande ban est en module.exports alors que mes autres commande ssont faites avec SlashCommandBuilder
Le jsdoc ne sert vraiment à rien la 
Perso avec fs j'avais fait un truc comme ça.
fs.readdir('./commandsmosleys', (err, files) => {
if (err) throw err;
files.forEach(file => {
if(!file.endsWith('.js')) return;
const command = require(`./commandsmosleys/${file}`);
bot.commandsmosleys.set(command.name, command);
})
})
Je sais pas si ça y joue.
le truc c'est que tu montres des screens de code, petit bout par petit bout
donc on ne peut t'aider que sur ce que tu montres
Oui mais le code est trop long pour que je puisse le montrer en un seul screen
si tu parles de la commande ban
Fais un repo demo dans ce cas là
un quoi
un repository github par exemple
ah ok je vais faire ça
Yep, avec un générateur de doc par exemple
ou un codesandbox si tu veux
Je comprends pourquoi ça ma mit 404 XD
Toujours le 404 😭
misère
Ah c'est bon
genial
Pourquoi tu as défini 2 fois discord.js
c'est pas très grave
par contre oui ça ne peut pas fonctionner, je sais pas trop comment t'aider à partir de revoir les bases sur les bots pour créer des commandes ou autre
Suffit pas de prendre le code de ton "semi handler" et de le mettre ensuite dans l'index pour que ça marche
Donc je te conseille soit de suivre des tutoriels ou autre sur comment mettre en place un handler à la main, ou alors tu continue de créer tes commandes dans ton fichier index mais bon à force c'est bof
Sois si tu veux esquiver cette partie, qui n'apporte rien techniquement donc tu perdras rien, tu peux utiliser un wrapper comme #sheweny-js qui va te permettre d'avoir tout de prêt et tu auras juste a créer tes commandes
attention c'est pas à prendre méchamment, juste vraiment là tu vas perdre du temps à mettre en place un handler qui va ressembler à tous les autres, donc autant juste utiliser quelque chose qui te le met en place directement
après pour ta culture perso tu peux toujours essayer, mais c'est vraiment pas incroyable à faire
Oui oui t'en fais pas x)
bon globalement tu me diras les bots c'est pas incroyable à faire c'est sovuent la même chose, mais l'handler c'est pire
Après tu tombes en dépression mais c’est pas grave ça passe tkt
xD
Bonjour...
J'ai la fameuse erreur "x" is not a function
Définie telle quelle dans mes types js "types" run(client: Turty, interaction: Interaction): unknown
"interactionCreate"
cmd.run(
client,
interaction
);```
Et enfin dans ma classe, j'appelle la fonction
```js
"cmd"
async run(client: Turty, interaction: Interaction) {}
Une idée pourquoi ça me dit que cmd.run is not a function ?
A mon avis, la structure de ta commande ne doit pas être bien prise en compte par ton handler
Essaye de console.log(cmd)
En gros l’event handler quand il va charger le fichier, il va enregistrer la fonction run(), mais si il la trouve pas il dira rien, et quand tu l’appellera tu aura cette erreur
Et regarde si dans tes commandes la fonction s’appelle bien run()
Le problème ici, c'est qu'avant ça fonctionnait parfaitement, j'ai changé 3-4 trucs dans le handler, dans mon type, il y a pourtant le run, donc il sait d'où ça vient
Je vais log la classe quand même, je te redis
Oui, et essaye de debug le handler aussi, si tu lui a changé des trucs
C’est toujours plus prudent
Ok, donc à aucun moment il me montre la présence de run
Effectivement, je vais l'ajouter dans mon constructeur des commandes et voir si ça fonctionne
Pourrais tu screen ?
Yep
Car appart des bouts de codes errants, c’est difficile
Tu as ici une commande au pif
C'est ce que me renvoie command, quand je log dans le handler
Il renvoie les autres aussi mais qu'importe
A savoir, que run est bien reconnu avec le typage
Il est reconnu dans le typage car tu l’as mis non ?
Oui mais la il n’y a pas de fonction run ?
Justement, je vais essayer de l'ajouter :p
Mais
Bizarre, avant elle n'y était pas et la fonction était bien reconnue
Je comprend plus rien la
C'est ça que je comprends pas, avant j'avais aucun soucis
T’as réussi à me perdre
YES, j'ai réussi au moins une chose
En gros, la fonction est définie dans les types, sachant que ma commande est une dérivée de ce type
La donc la class Help, il n’y a pas de fonction run, donc Help.run() is not a function vu qu’elle existe pas
Donc techniquement, elle est censée existée
Donc ta fonction n’est pas dans le fichier de la commande ?
Je suis pommé
Ce screen vient de help
Ah mais dans ta class de ta commande, tu l’as bien mise en public la fonction ?
Ouais nan je dérive là
C’est exactement ça
Bientôt il va nous chanter Lost on you x)
Bah si tu veux vers 19h je pourrais voc @bold sparrow, mais je penses que tu aura déjà trouvé la solution d’ici la
Je dois y aller
Ouais ça marche, merci quand même !
Problème réglé lol
C’était quoi dcp ?
Comment je déclarais commande, il ne pouvait pas avoir accès à la fonction, ça me paraissait tellement bête que j'y avais pas pensé
Donc effectivement pour lui, run n'existait pas
Bonjour j'ai une question
https://www.betclic.fr/tennis-s2
J'aimerais réussir à avoir la liste des match présent avec leurs infos
Mais je n'y parviens pas :/
Quelqu'un sait comment faire ?
Est-ce que déjà, ils ont une API ?
Ensuite, lis leur doc ^^
Non ^^
Salut, comment je peut transformer ceci "Fri Dec 24 2021 22:39:26 GMT+0100 (heure normale d’Europe centrale)" en minutes depuis maintenant
:_: Date
JavaScript Date objects represent a single moment in time in a platform-independent format. Date objects contain a Number that represents milliseconds since 1 January 1970 UTC.
ah 🤔
le principe serait de déduire le timestamp actuel par le timestamp de cette date, puis diviser ça par / 60000 (1000 ms * 60 s)
En utilisant un object je pense https://discord.js.org/#/docs/main/stable/typedef/EmbedFooterData
c'est écrit en plus 
x)
Je vais voir ça
rtfm x)
Pas besoin de rajouter le f 😂
Fleoxi l’as dit aussi
l'hopital qui se fout de la charité 
Wailrone y’a 2 semaines: Mais cette doc c’est de la merde, eris savent pas faire de doc !
Wailrone aujourd’hui: LISEZ LA DOC
Rapport / 20 ?

Entre le fait que je trouve une doc mal faite et de la lire 
Si
Non mais tkt, c’était dans mon délire
Hey, peut-on mettre un embed en ephemeral ?
J'utilise un selectmenu sur mon embed
Sa fonctionne que avec les boutons ?
Oui, il suffit de l'envoyer dans un message ephemere
les messages ephemleres fonctionnent de la meme facon qu'un message normal, les mêmes propriétés, juste qu'un message ephemre est visible uniquement par la personne qui vient de faire l'interaction, et qu'on peut l'enlever de notre vue
un peu comme les messages de clyde
Yes, mais je ne peut pas le faire via un message mais que une intéraction
oui, les messages ephemeres ne peuvent êtres envoyées qu'avec le callback d'une interaction
Un peu nul ça ducoups mdr
Bah non
On ne va pas envoyer un message ephemeres comme ca sans rien avant
le message ephemere sert à ce que le message ne pollue pas le chat lorsqu'on fait une commande
lorsqu'on fait /help par exemple, personne verra qu'une personne a fait une commande
donc il sera possible d'arreter de dire "pas de commandes dans le general"
alors que si on envoi un message ephemere sans rien avant bah je vois pas trop le principe
Ba genre, un message.reply("Test");
Je crois que tu n'as pas encore compris le principe des interactions et des / commands 😂
ok
Si je veut mettre que le bot réponds avec ça dans mon code message.reply("Test");
C'est impossible
Car, je suis obligé de passé par une interaction
C'est le but 😂
Oui, ducoups, c'est un peu nul mdr
On est plus censé utiliser les messages pour detecter une commande
si discord à sorti un intent pour les bots verifiés, et si ils ont sorti les / commands, c'est pour une raison
on a plus lieu d'utiliser les messages pour faire des commandes
Bof
Salut s'il vous plait c'est quoi la difference entre var et let ?
let est une sorte de remplaçant du var, sinon il n'y a pas vraiment de différence, appart que si je dis pas de conneries, une variable déclarée avec "var" pour être accessible hors de son parent, si la variable est déclarée dans un condition elle pourra être accessible de l'extérieur de cette dernière
C'est à vérifier
car je suis pas sur à 100%
bonjour bonjour, je ne sais pas si c'est le bon channel, mais j'aurai besoin d'aide sur un code de bot discord en nodejs v16.... je suis tout nouveau dedans et j'apprends, mais j'ai beau chercher, mes expériences ne marchent pas vraiment x)
Donc mon problème est celui-ci :
Je veux faire en sorte que en fonction de la catégorie choisi dans un menu, ça fasse différente chose
Mon menu de base fonctionne bien, mais je veux justement maintenant ajouter cette possibilité de personnalisation de ce qu'il se passe en fonction de la catégorie choisi au lieu d'un message globale peut importe la catégorie choisi
Par exemple la j'essaie d'envoyer un message en fonction de la catégorie choisi, mais rien ne s'envoie... merci à ceux qui peuvent m'aider ou me donner des indices 👍
oula
alors
tu peux reply directement dans ta ligne 3
pour voir si ton interaction marche bien premierement
parce que là tu reply avec juste le parametre ephemeral mais il faut un parametre content sinon ce n'est pas valide
genre interaction.reply({ content: "hey!", ephemeral: true });
hey, merci de ta réponse, du coup j'ai tenté ce que tu m'as dis
et du coup le reply ne fonctionne pas
Éventuellement 🤔 tu es sur que ton code est exécuté ?
Yep, le menu fonctionne toujours malgré ce code ajouté qui ne fonctionne pas
C'est pas ma question x)
Par exemple
Tu peux console log l'interaction avant le if <Interaction>.customId..
Fin en fait
J'ai fais ceci pour le console log, mais effectivement, pas de réponse dans le terminal
Si ça n’affiche rien dans le terminal alors ça veut dire que la condition = false
Essaye de console.log le interzction.customId
comme ceci on est d'accord ?
Si c'est comme ceci pour le console.log : ça n'affiche rien également dans le terminal
Pourtant le code est bien save x)))))
tu vois pas un soucis ?
Envie de tout cassé, le nodejs me détruit le cerveau xD
style des accolades qui n'ont rien à faire là ? 
Je t'avoue que je ne vois pas le soucis xD
Si j'enlève une accolade peut importe la quel, ça me dit que c'est faux 😦
Bah juste quelques une mais des petites quoi, mais normalement les accolades j'ai jamais eu de problème avec 😭
jpp😭
console.log(interaction.customId == "category"); /* Ces accolades n'ont rien à faire ici*/ {
interaction.reply(...);
};
Techniquement tu peux les utiliser mais bon pas très utile x)
bref revenons en au problème de départ
j'ai l'impression que ton code n'est pas exécuté 🤔
y a quoi dans le fichier ?
j'en prends note !
C'est un fichier qui a en gros toute les interactions du bot avec le système de ticket, dont le fameux menu
EDIT: J'ai finalement réussi a faire ce que je voulais 👌 😚 Merci tout de même de vos différentes aides !
Bonjour, je suis débutant en Javascript et je voulais juste savoir ce que je devrais utiliser entre Javascript ou Jquery
javascript
Il y a quoi qui est vraiment différent entre les deux ?
jQuery est une librarie basé sur javascript qui est assez ancienne aujourd'hui
Donc dans tous les cas, sans parler de performance ou autre, il faut faire du javascript avant de vouloir utiliser jQuery
Donc clairement Javascript
pas de soucis
si tu veux une lib pratique comme jquery au niveau du pointage des elements, ajout de class etc je te conseille cash https://github.com/fabiospampinato/cash qui niveau poid est vraiment bcp plus légère
Ok parfait merci je vais aller me renseigner un peu dessus
Ca a l'air excellent ce truc !
bonjours, je suis à la recherche d'une personne pour me coder 10 lignes dans mon post.routes que je ne sais pas coder quelqu'un pourrait m'aider s'il vous plait ou au moins m'expliquer ?
Hello, je sais pas du tout ou mettre ca mais je travail en ce moment sur le développement d'une Web App Google
Hors, j'ai un petit soucis... En l'ouvrant, le navigateur rajoute toujours le /u/0 ( correspondant au compte connecté )
Alors, il ne trouve pas la page, et même en le retirant, quand la page se charge, il le rajoute à chaque fois
La seule solution que j'ai trouvé est de l'ouvrir en navigation privée, mais comme c'est pour du public...
Quelqu'un saurait m'éclairer / me dire comment faire ?
PS : C'est bien du Javascript au cas ou
Salut, j'ai ce petit soucis pour mon bot discord. Quelqu'un pourrais m'aider ?
lowercase ? xD je sais pas c'est quoi xD
minuscule
ah ok merci xD
sa marche mieux tout à coup mdrr merci vous êtes les meilleurs
aller sur ce moi je retourne sur ma page préférer qui se nomme : Créer un bot Discord > Le code Discord.JS - GCA
fait gaffe, le tuto est pour la v12 de discord.js et la v13 est sorti entre temps. quelques changements donc possible que tu aies des erreurs
si tu l'installe bien comme dit dans le tuto tu n'auras pas de soucis enfait
yes
là dans le terminal y'as une erreur mais je sais pas quoi faire
y'as un truc blanc un peu plus haut vous voulez un screen ?
(là c'est quand j'ai fait node .)
ah xD
npm i -S discord.js@12.5.1
ah oui c'est parce que il y avais la choix entre 2 truc xD
SA MARCHE OUI MERCI JE VOUS LOVE VOUS ÊTES LES GENTIL
👌
comment je fais pour écrire dans le terminal maintenant que c marquer "le bot est connecter" xD
vous devez me prendre pour un débutant xD (PS : c'est le cas)
ben en sois t'as plus besoin d'utiliser le terminal
si pour refaire le node pour que sa met à jour les truc
ctrl + c
sinon pour que ce soit plus simple, fais la commande npm i -g nodemon et ensuite au lieu de node . tu utilise nodemon index.js et là ton fichier à chaque fois que tu sauvegarderas, ça relancera le bot en gros
Yo,
J'ai un channel que le bot crée puis on peux le fermer avec react, le soucis étant que lorsque je redémarre le bot la react n'est plus capté par le bot. Donc j'ai fait sa actuellement
db.query(`insert into formation(id_channel, status) values ("${chan.id}", ("1"))`)
Ce qui entre l'id du channel crée ainsi que le status donc
1 = Channel crée
0 = Channel delete
Au démarrage du bot pour le moment j'ai mis sa
//Verif Formation
if( "SELECT `id_chanel`, `Status` FROM `formation` WHERE `Status` =1" )
Mais je bloque sur la suite pour que le bot recapte tout les channels avec un status en valeur 1
la react n'est plus capté par le bot
c'est du au fait que le message n'est pas en cache, tu devrais ajouter le partial reaction 🤔
Ah tu veux chopper les channels en objet
Ou tu peux fetch tes réactions au démarrage pour les foutre en cache à la place de faire du SQL
Ah intéressant je vais regardé
Hello, je recherche un moyen en utilisant fs d'écrire sur mon .json des informations avec un id unique mais qui s'ajoutent et non pas qui s'overwrite (petit exemple de ce que je veux dire)
{
"621396552916926504": {
"08e85c97b8f6b41ea0a279086b87f391": {
"raison": "warn id test",
"author": "249459790953185280"
}
}
}
Actuellement, si je rédige à nouveau la commande en question, l'id est les informations sont overwrite donc je ne peux pas sauvegarder les 2, je pense que ça devrait ressembler à quelque chose de ce style:
{
"621396552916926504": {
"08e85c97b8f6b41ea0a279086b87f391": {
"raison": "warn id test",
"author": "249459790953185280"
},
"ac16a1928858e85371f7501dbc487520": {
"raison": "warn id 2",
"author": "249459790953185280"
}
}
}
Merci d'avance !
Bonjour, savait vous comment je peux faire une base de donnée de A a Z
Tout dépend quelle base de données tu veux utiliser. Tu as plein de choix, enmap, mysql, quick.db et plein d'autres 🙂
pour une application mobile
car la j'ai repris mon application mobile que je souhaite instauré
mais la j'ai encore un probléme
cet l'ordre de la recherche
objJS[guildId][idwarn] = {
raison: "",
author: "",
}
Et après tu overwrite toute la db du coup avec fs.write et JSON.stringify() 🤔
enfaite mon probléme viens de mon data.js j'ai fait en sorte ou je pense que j'ai tout mélangé
quand je clique sur une image sa me dit que il y a 20 produits qui sont affiché alors que j'en veux que une
Hareng tu pense m'aider ou pas
Euh, je pense que pour t'aider on a besoin d'un peu plus d'infos
Après je m'y connais pas du tout en application mobile donc complexe de t'aider
Quelqu'un de plus qualifié viendra t'aider je pense
data["621396552916926504"][ide] = {
^
TypeError: Cannot set properties of undefined (setting 'bff4fa5d8a0951d160e11477ea88cd66')``` Je ne sais pas quoi tirer de ça
Tu n'as pas ajouté ta guildid dans ton object
j'utilise pas de guildid comme identifiant, le target c'est un id de membre
j'ai essayé de re-déclarer [ide] mais rien n'y fait, ou alors je le fais mal
le [ide] ?
Pas de soucis 
guys I need help
avec du GSAP
si quelqu'un si connait
j'arrive pas à implémenter du scrub qu'à un seul élément d'une timeline
Yop yop
Je développe un bot en nodejs (discordjs v13) et je suis entrain de refaire un système de commandes que j'avais fait. Le système était vraiment assez complet et grave pratique, mais bordel c'était une catastrophe le code, ça partait dans tous les sens.
Le truc, c'est que c'est un système à étapes (tu remplis un truc, ça supprime, tu remplis le prochain...) et ça pouvait partir dans tous les sens en fonction des choix du monsieur.
J'avais fait ça avec plusieurs fichiers en fonction des choix prix, mais vraiment c'était dégeulasse je devais faire un système de cache pour faire passer les infos.. Bref.
Est-ce que vous avez une idée de comment je peux faire un truc propre qui ne me dégoutera pas dans 3 mois et que je vais refaire parce que j'suis perfectionniste ? 
Hey, je pense que c'est trop relatif à toi-même, la seule solution qui me vient en tête ça serais que tu te poses tranquillement, que tu notes tous tes idées qui rendraient ce "projet" propre et que tu le met à jour régulièrement 🤔
Puis, tu as pas le choix quand tu fais un système de choix, faut juste bien trier après
Mais du coup ouais justement c'est ce que je fais mais je demande ici on sait jamais que des gens l'aient déjà fait et aient des bonnes idées
merde
@keen narwhal
Ou tu fais des fonctions 🤔 @lone flax
Non mais c'est déjà le cas mais c'est pas beau
Je dois faire un système de cache chaque fois
C'est pas beau
Mais du coup je pense savoir comment je vais faire
J'espère juste que je vais pas faire ça et que ça va puer
Perso j'aurais crée un système de cache à part entière
Je vais juste pas faire de cache du tout
Je vais tout passer en SQL
Avant je passais en cache puis quand il avait fini les choix je foutais tout en SQL
Nsm là je passe direct en SQL
Carré then
Bonne idée de faire ça, mais fais attention, si l'utilisateur arrête en chemin faut que tu fasses quelque chose de tes choix non terminés
Yep yep c'est ce que j'ai fais
J'ai fais un bool "ready"
et si au bout de 1 heure j'ai plus de news c'est bye
ah noice
const nodemailer = require('nodemailer');
let transporter;
try {
console.log("create transport");
transporter = nodemailer.createTransport({
port: 465,
host: "smtp.gmail.com",
secure: true,
auth: {
type: 'OAuth2',
user: process.env.EMAIL_USERNAME,
clientId: 'x.apps.googleusercontent.com',
clientSecret: 'x',
refreshToken: 'x',
accessToken: 'x'
},
});
console.log("transporter created");
} catch(error) {
console.error(error);
}
const mailer = {};
mailer.from = 'x';
mailer.sendVerifyEmail = (to, token) => {
const apiDomain = `${process.env.URL}:${process.env.PORT}`
const url = `${apiDomain}/api/auth/verify/${token}`
const subject = 'Remembers - Verify your account';
const body = 'Please verify your account, ' +
`<a href='${url}'>Click here</a>`;
const mailOptions = {
from: mailer.from,
to: 'x@gmail.com',
subject,
html: body
};
console.log(mailOptions);
transporter.sendMail(mailOptions, (error, info) => {
if (error) {
console.error(error.message);
}
});
}``` Bonjour, j'ai un problème lorsque j'essaye d'envoyer un mail avec nodemailer : Mail command failed: 530-5.7.0 Authentication Required.
pour trouver mes token et id j'ai utilisé la vidéo suivante : https://www.youtube.com/watch?v=JJ44WA_eV8E&t=280s
quelqu'un pourrait m'éclairer ? (hésitez pas à me ping)
Tu as bien Transport created qui s'affiche ?
je vais péter mon crane
ça venait juste de l
a
mais je comprends pas pq le transporter était pas init
du coup je suis passé en singleton
Mais merci mdr
par contre relou, le mail tombe dans les spams 😦
Est-ce que Gulp a été modifié/piraté ? quand je run mon script j'ai ça
Surprenant ..
Après ça y'a des milliers de lignes random qui se créent
Wtf mdr
Pas une autre lib ou quoi ? Car la dernière install de gulp que j’ai faites c’était jeudi et aucun soucis non plus
J'espère que c'est pas une lib importante
Et toutes les libs utilisées, sont utilisées par un autre projet
Pareil, aucun soucis
Je vais essayer de fix
Bon le fix force me remets gulp en v < 4 donc forcément ça fonctionne plus
Je ne vois pas d'où vient ce problème..
J'ai trouvé, si ça peut intéresser des gens https://www.bleepingcomputer.com/news/security/dev-corrupts-npm-libs-colors-and-faker-breaking-thousands-of-apps/
mdrrrr
c’est assez fabuleux en effet 😂
Bon, j'ai upload la version avant le commit si ça peut intéresser https://github.com/KPS53/fix-colors-package J'y suis autorisé @slim anvil ?
yes tu peux présenter le truc dans #présente-ta-création
Yes, est-ce que tu peux envoyer ton code autour de la ligne 23 ?
oniChan.bulkDelete(100).then(() => {
sendTicketMSG();
});
};
ligne 23 a 26
Tu veut plus @hazy mirage ?
Un peu plus au dessus yes
oniChan.send({
embeds: [embed],
components: [row],
});
}
oniChan.bulkDelete(100).then(() => {
sendTicketMSG();
});
};
ligne 17 a 26
Tu dois avoir un ...oniChan =
je peut t'envoyer tout le code au pire ?
il va de la ligne 1 a 26
module.exports = async (client) => {
const oniChan = client.channels.cache.get(client.configT.ticketChannel);
function sendTicketMSG() {
const embed = new client.discord.MessageEmbed()
.setColor('#182749')
.setAuthor('📩 Ouvrir un Ticket 📩 ')
.setDescription('Cliquez sur le bouton ci-dessous pour ouvrir un ticket')
const row = new client.discord.MessageActionRow().addComponents(
new client.discord.MessageButton()
.setCustomId("open-ticket")
.setLabel("Ouvrir un ticket")
.setEmoji("✉️")
.setStyle("PRIMARY")
);
oniChan.send({
embeds: [embed],
components: [row],
});
}
oniChan.bulkDelete(100).then(() => {
sendTicketMSG();
});
};
Je te répond d'ici 3 m
ça marche merci de ton aide en tout cas
Il faudrait que tu console.log(client.configT.ticketChannel) déjà en dessous de la ligne const oniChan =
comme ça ? @hazy mirage
Non enfait on va déjà essayer autre chose
module.exports = async (client) => {
const oniChan = await client.channels.fetch(client.configT.ticketChannel)```
Non tu remplaces js module.exports = async (client) => { const oniChan = client.channels.cache.get(client.configT.ticketChannel);
par
module.exports = async (client) => {
const oniChan = await client.channels.fetch(client.configT.ticketChannel)```
Ok voila c'est pour ça
Tu as du recréer ton channel ticket depuis le temps
est-ce que tu as pas un fichier config.json ou quelque chose avec config ?
euh si
ya prefix
token
color
ah nan y'en n'a un autre
y'a ça
dans config json
donc je dois config ça et ça marchera @hazy mirage ?
c'est des catégories ça
Ah ok
ça marche comme sur les channels pour l'id
y'a ça d'ecrit
(node:25) DeprecationWarning: The message event is deprecated. Use messageCreate instead
(Use node --trace-deprecation ... to show where the warning was created)
je dois faire node --trace-deprecation
?
@hazy mirage
encore des id qui doivent etre ancien
pourtant j'ai tout modfi
visiblement dans le index.js autour de la ligne 57 il doit rester des id là bas, qui ont été mis directement dans le code et non dans la config
👌
Salut
Je crois que j'ai un problème avec ma db
sur mon bot musique quand je le local host sur mon pc tout marche niquel et quand je le test sur l'hébergeur, j'effectue une commande et sa me mets une erreur de "MongoDB"
Je pense que c'est en rapport avec l'ip de la db
J'ai installer tout les modules oui
fin je crois
Tu veux peut-être voir l'erreur ?
oui pour pouvoir t'aider plus facilement il faut toujours envoyer le maximum d'infos possibles
(screens du code, erreur...)
d'acc
att
ah bah mon hebergeur est en maintenance jusqu'a ce soir 💀
MongooseError: Operation `prefixes.findOne()` buffering timed out after 10000ms at Timeout.<anonymous> (/home/container/node_modules/mongoose/lib/drivers/node-mongodb-native/collection.js:149:23) at listOnTimeout (node:internal/timers:568:17) at processTimers (node:internal/timers:510:7)```
mais sa me mettais sa
Est-ce que tu as bien eu le log de connexion à la db mongo ?
ouais
mais dès que g executer la commande sa me fais sa
et on ma dis askip c'est en rapport avec l'ip que g mis dans mongodb
Je ne pense pas sinon tu n'aurais pas eu de log de connexion si c'était pas la bonne ip rentrée 🤔
Tu n'as pas accès au code là ?
du bot ?
oui
g toute ma source ouais ?
Est-ce que tu peux envoyer le code de connexion type mongoose.connect( ... ) (sans l'url evidemment 👀)
ouais att
faut jretrouve ou jles mis 💀
g sa
c'est sa ?
const dbOptions = {
useNewUrlParser: true,
autoIndex: false,
connectTimeoutMS: 10000,
family: 4,
useUnifiedTopology: true,
};
mongoose.connect(this.config.mongourl, dbOptions);
mongoose.Promise = global.Promise;
mongoose.connection.on('connected', () => {
this.logger.log('[DB] DATABASE CONNECTED', "ready");
});
mongoose.connection.on('err', (err) => {
console.log(`Mongoose connection error: \n ${err.stack}`, "error");
});
mongoose.connection.on('disconnected', () => {
console.log('Mongoose disconnected');
});```
ha j'ai pensé à une chose
tu utilises atlas ?
ouiiii
t’as peut être juste pas mis l’ip de ton serveur
En autorise
peut être juste la tienne
g mis la mienne ouais
Faut mettre celle de ton serveur du coup
bot.host.hfwufhwifh955.
Pas le meilleur plan mais bon
sa marche bien sa ?
Sinon envoie un ticket à ton hébergeur pour avoir l’IP de ta machine
bah ça permet de l’ouvrir à tous
Alors il faut quand même des accès je te rassure
l'hebergeur remarche
ducoup
sur mongodb sa me mets sa
c'est normal ?
OH
SA MARCHE
MERCIIIIIII
ewi
Faut que tu installes VS Studio Build Tools
et comment ?
Tu vas sur le site de vs studio
azy
Bonjour,
J'aimerais savoir ce qu'il faut mettre dans ses cases ?
Bah ca dépend de ce que tu veux faire
Un bot js
Je pense que ce qui est affiché est suffisamment clair
Qu'est ce que tu comprends pas ?
Ya même une indication pour chaque field
Pourrions nous voc cette apres midi pour m'expliquer ?
Les deux premiers on te demande si tu veux installer le bot depuis un repo git, et si oui, via quelle branche
Si tu utilises pas git, t'en as pas besoin
ton fichier principal c'est bien index.js et non main.js par exemple ?
Oui
Si tu utilises DiscordJS, c'est .setColor()
Merci est vous savez comment on affiche une image ?
Du style comme ca
Dans un embed ?
.setImage()
.setThumbnail() dans un embed
sinon dans le content
genre message.channel.send({content: "le lien de l’image", embeds: [embed]})
L'image je l'ajoiute dans un fichier ?
c'est à dire ?
Ai-je une erreur ?
A toi de nous le dire
Je ne pense pas
Oui il manque quoi ?
new Discord.Client({tutut..})
const { Client, Intents } = require('discord.js');
const client = new Client({ intents: [Intents.FLAGS.GUILDS] });
Nn il est en dessous
Est-ce que tu as " Start " dans ta console ?
Quel est ton problème ?
Quand je tape xd ca n'affiche rien sur le discord
Tu as une erreur ?


