微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

轮询命令 discordJS 错误计时器

如何解决轮询命令 discordJS 错误计时器

我有问题。 当我执行它时,命令有效,但整个计时器系统不起作用,我的印象是它没有得到反应 我有一个错误

(节点:25772)未处理的承诺拒绝警告:类型错误:无法读取 未定义的属性“计数” 在 Object.exports.run (D:\Gdrives\jeux\bot_discord\Bottest\Commands\Admin\sondage.js:96:50) 在 processticksAndRejections (internal/process/task_queues.js:93:5) (node:25772) UnhandledPromiseRejectionWarning:未处理的承诺拒绝。这 错误源于抛出异步函数内部 没有 catch 块,或者通过拒绝未处理的承诺 用 .catch()。在未处理的承诺上终止节点进程 拒绝,请使用 CLI 标志 --unhandled-rejections=strict(请参阅 https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode)。 (拒绝编号:2)

const discord = require("discord.js");
const agree = "✅";
const disagree = "❎";

exports.run = async (client,message,args,level) => {
    if(!message.member.hasPermission("ADMINISTRATOR")) { 
    message.channel.send('`❌` Vous n\'avez pas la permission d\'executer cette commande').then(msg => msg.delete({ timeout: 3000 }))
    return;
     }
    // On efface la commande.
    message.delete();

    // Variables
    let config = client.config;
    let params = args.splice(0).join(" ").split("|");
    let pollTitle = params[0];
    let pollQuestion = params[1];
    let pollTime = params[2] || 0;
    let pollAuthor = message.author.username;
    let pollTimeReaction;
    let pollTimeUnity;

    // On vérifie qu'il ne manque aucun paramètre
    if (params.length < 1)
    {
        return message.author.send(`Il manque des paramètres dans cette fonction.`);
    }

    // Si le premier paramètre est "aide" ou "help",ça donne une info.
    if (params[0] == "aide" || params[0] == "help")
    {
        return message.author.send(`Utilisation : !sondage <Titre>|<Question du sondage>|<Temps en millisecondes>`);
    }
    
    if (pollTime >= 86400000)
    {
        pollTimeReaction = Math.floor(pollTime / 86400000);
        pollTimeUnity = "jours";
    }
    else if (pollTime >= 3600000)
    {
        pollTimeReaction = Math.floor(pollTime / 3600000);
        pollTimeUnity = "heures";
    }
    else if (pollTime >= 60000)
    {
        pollTimeReaction = Math.floor(pollTime / 60000);
        pollTimeUnity = "minutes";
    }
    else
    {
        pollTimeReaction = Math.floor(pollTime / 1000);
        pollTimeUnity = "secondes";
    }

    let pollEmbed = new discord.MessageEmbed()
        .setTitle(`Sondage : ${pollTitle}`)
        .setDescription(pollQuestion)
        .setFooter(`Sondage de ${pollAuthor}. Le sondage prendra fin dans ${pollTimeReaction} ${pollTimeUnity}.`);

    let pollMessage = await message.channel.send(pollEmbed);
    
    await pollMessage.react(agree);
    await pollMessage.react(disagree);
  
    // On crée une collection des réactions
    const reactions = await pollMessage.awaitReactions(reaction => reaction.emoji.name === agree || reaction.emoji.name === disagree,{ max: 1,time: pollTime });
    const agreeCount = reactions.get(agree).count;
    const disagreeCount = reactions.get(disagree).count;

    let resultsEmbed = new discord.MessageEmbed()
        .setTitle("Résultats du sondage")
        .setDescription(`${pollQuestion}`)
        .addField(agree,`${agreeCount} Vote(s)`,true)
        .addField(disagree,`${disagreeCount} Vote(s)`,true)
        .setFooter(`Sondage de ${pollAuthor}`);

    message.channel.send(resultsEmbed);
    pollMessage.delete(0);
};

exports.help = {
  aliases: ['sondage','poll'],name: "poll",category: "Admin",description: "Cette commande vous permet de faire un sondage auprès de vos membres.",usage: "poll <Question> <Réponse>"
};

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。