Délai de commande / Discord.js

Soucis dans le codage

a marqué ce sujet comme résolu.

Bonjour j’ai un soucis dans mon code est je ne sait pas comment le régler pourriait vous m’aider s’il vous plait.Alors en faites j’ai tester avec une commande ping que du moment ou on fais ping le bot répond pong et que quand l’ont retente de faire ping le bot répond avec Tu dois Attendre une minute mes la je ne comprend je veux essayer avec ce codage mais cela ne fonctionne pas pourriez vous m’aider s’il vous plait merci de votre compréhension et de vos réponses.

const Discord = require("discord.js"); 
const ms = require('ms')
const PREFIX = "!"; 
const client = new Discord.Client();

client.login('TOKENSECRET')
let cooldown = new Set();

client.on('ready', function() {
    console.log('je suis connecté !')
})


client.on('message', (message) => {
    if(message.author.bot == 1) return;
    if(cooldown.has(message.author.id)) {
        return message.reply('Tu dois attendre 1 minute !');
        } else {
        cooldown.add(message.author.id)
        setTimeout(() => {cooldown.delete(message.author.id)}, 60000);
        }
        let Timer = '0.10m'
        if(message.content === "test"){
            message.channel.send('Tu peche !').then(msg => {
                setTimeout(function(){
                    msg.edit(message.channel.send("Tu fini de pecher"))
                }, ms(Timer))
            })
        }
})

J’ai utilisé ton bot sur un serveur et il fonctionne correctement. Ton bot est-il bien connecté au serveur et utilises-tu bien la commande test ? Essaie peut-être d’expliquer plus en détail ce qui ne fonctionne pas autrement.

Au niveau du code en lui-même j’ai l’impression que ta constante PREFIX ne sert à rien et l’indentation n’est pas tout à fait "correcte".

Cela devrait ressembler plutôt à cela (pour l’indentation) :

client.on('message', (message) => {
    if(message.author.bot == 1) return;
    if(cooldown.has(message.author.id)) {
        return message.reply('Tu dois attendre 1 minute !');
    } else {
        cooldown.add(message.author.id)
        setTimeout(() => {cooldown.delete(message.author.id)}, 60000);
    }
    let Timer = '0.10m'
    if(message.content === "test"){
        message.channel.send('Tu peche !').then(msg => {
            setTimeout(function(){
                msg.edit(message.channel.send("Tu fini de pecher"))
            }, ms(Timer))
        })
    }
})

Mon problème est résolue c’est bon Mais j’ai un autre soucis je ne c’est pas comment mettre la commande dans un handler

const Discord = require('discord.js')

module.exports.run = async (client, message, cooldown, ms) => {
    if(message.author.bot) return;
    let Timer = '0.10m'
    let rep = ["rien" , "sardine" , "crevette", "crabe", "saumon", "homard"]
    let reptaille = Math.floor((Math.random()* rep.length))
        if(cooldown.has(message.author.id)) {
            return message.reply({embed: {
                author: {
                    name: client.user.username,
                    icon_url: client.user.avatarURL
                  },
                description: "Tu dois patienter 3.30 Minutes.",
                color: 3447003,
                author: {
                    name: client.user.username,
                    icon_url: client.user.avatarURL
                  },
                  timestamp: new Date(),
                      footer: {
                        icon_url: client.user.avatarURL,
                        text: "©Bot officiel de FilterRP"
                      }


            }});
        } else {
            message.channel.send({embed: {
                color: 3447003,
              author: {
                  name: client.user.username,
                  icon_url: client.user.avatarURL
                },
                description: message.author + "Viens de lancer sont Hameçon.\n",
              timestamp: new Date(),
              footer: {
                icon_url: client.user.avatarURL,
                text: "©Bot officiel de FilterRP"
              }
            }}).then(msg => {
                setTimeout(function(){
                    message.channel.send({embed: {
                        color: 3447003,
                      author: {
                          name: client.user.username,
                          icon_url: client.user.avatarURL
                        },
                        title: 'Pêche',
                        description: message.author + "Poisson Pêcher:\n"
                        + rep[reptaille],
                      timestamp: new Date(),
                      footer: {
                        icon_url: client.user.avatarURL,
                        text: "©Bot officiel de FilterRP"
                      }
                    }})
                }, ms(Timer))
        
                cooldown.add(message.author.id)
                setTimeout(() => {
                    cooldown.delete(message.author.id)
                }, 180000);
            })
        }
    
}

module.exports.help = {
    name: "peche"
}

Salut !

J’ai refais ton petit code histoire qu’il est un peu plus de lisibilité et que tu obtiennes un peu plus d’aide !

const discord = require("discord.js")

module.exports.run = async (client, message, cooldown, ms) => {
    if (message.author.bot)
        return;

    const timer = '0.10m'
    const rep = ["rien", "sardine", "crevette", "crabe", "saumon", "homard"] 
     
    const repLength = Math.floor((Math.random() * rep.length))
    
    if (cooldown.has(message.author.id)) {
        const reply = message.reply({
            embed: {
                author: {
                    name: client.user.username,
                    icon_url: client.user.avatarURL
                },
                description: "Tu dois patienter 3.30 minutes",
                color: 3446003,
                author: {
                    name: client.user.username,
                    icon_url: client.user.avatarURL
                },
                timestamp: new Date(),
                footer: {
                    icon_url: client.user.avatarURL,
                    text: "Bot officiel de FilterRP"
                }
            }
        })

        return reply
    }

    const msg = await message.channel.send({
        embed: {
            color: 3447003,
            author: {
                name: client.user.username,
                icon_url: client.user.avatarURL 
            }, 
            description: message.author + "Viens me lancer sont Hameçon \n", 
            timestamp: new Date(),
            footer: {
                icon_url: client.user.avatarURL,
                text: "Bot officiel de FilterRP"
            }
        }
    })

    setTimeout(async () => {
        await message.channel.send({
            embed: {
                color: 3447003,
                author: {
                    name: client.user.username,
                    icon_url: client.user.avatarURL  
                },
                title: "Peche",
                description: `${message.author} Poisson Pecher ${rep[repLength]}`,
                timestamp: new Date(), 
                footer: {
                    icon_url: client.user.avatarURL, 
                    text: "Bot officiel de FilterRP"  
                }
            }
        })
    }, ms(timer))

    cooldown.add(message.author.id)
    
    setTimeout(() => {
        cooldown.delete(message.author.id)
    }, 180000)
}

module.exports.help = {
    name: "peche"
}
+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte