Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript然后出现错误(等待消息)不一致_Javascript_Async Await_Bots_Discord_Collectors - Fatal编程技术网

Javascript然后出现错误(等待消息)不一致

Javascript然后出现错误(等待消息)不一致,javascript,async-await,bots,discord,collectors,Javascript,Async Await,Bots,Discord,Collectors,我想创建一个命令,创建一个分几个阶段执行的公告。首先,我键入*annonce channelID,然后bot请求我输入标题,然后是消息(理论上) 不幸的是,一旦键入了*annonce channelID,bot就不会继续并写入此内容(它执行.catch) 你能帮我吗 机器人反应: 安诺森特酒店 标题错误 消息错误 反应误差 const Discord = require('discord.js'); const delay = require('delay'); const NO = '❌';

我想创建一个命令,创建一个分几个阶段执行的公告。首先,我键入
*annonce channelID
,然后bot请求我输入标题,然后是消息(理论上) 不幸的是,一旦键入了
*annonce channelID
,bot就不会继续并写入此内容(它执行
.catch

你能帮我吗

机器人反应: 安诺森特酒店 标题错误 消息错误 反应误差

const Discord = require('discord.js');
const delay = require('delay');
const NO = '❌';
const YES = '✅';

module.exports.run = async(bot, message, args) => {
    const userN = message.member;
    const msgFilter = m => m.author.id === message.author.id;
    const userDepotAnnonce = message.author.username;
    if(!message.member.hasPermission('ADMINISTRATOR')) {return message.channel.send("Vous ne pouvez pas passer d'annonces !");}
    const channelID = args[0];
    let sendchannel = bot.channels.get(channelID);
    if(message.content !== `*annonce ${channelID}`) {return message.channel.send('Utilise ***annonce ``channelID``** puis valide');}
    message.channel.send("Entre le titre de ton annonce :");
    await delay(100);
    message.channel.awaitMessages(msgFilter, { max: 1, time: 15000, errors: ['time'] })
    .then(titleCollected => {
        const msgTitle = titleCollected.first().content;
        message.channel.send("Entrez le contenu de l'annonce  et joint ton fichier :");
    })
    .catch(titleCollected => {
        message.channel.send('*title error*');
        console.log('Pas de titre');
    })
    message.channel.awaitMessages(msgFilter, { max: 1, time: 30000, errors: ['time'] })
    .then(msgCollected => {
            const messageToSend = msgCollected.first().content;
            if(message.attachments.size > 0){
                let attachment = message.attachments.first()
                const url = attachment.url
                var annonceFinal = new Discord.RichEmbed()
                .setColor("03CD43")
                .setTitle(`Nouvelle annonce : **${msgTitle}**`)
                .setAuthor(userDepotAnnonce, message.author.avatarURL, url)
                .addField('Annonce', messageToSend)
                .addField('Lien', url)
                .setFooter("Annonces by PDC")
            }
            else{
                var annonceFinal = new Discord.RichEmbed()
                .setColor("03CD43")
                .setTitle(`Nouvelle annonce : **${msgTitle}**`)
                .setAuthor(userDepotAnnonce, message.author.avatarURL)
                .addField('Annonce', messageToSend)
                .setFooter("annonces by pdc")
            }
            message.channel.send(`Vous vous désirez passer l'annonce **${msgTitle}** contenant **${messageToSend}** dans ${sendchannel}.\nPour confirmer, utilisez les reactions.` +YES +NO);
        })
        .catch(msgCollected => {
            message.channel.send('*msg error*');
            console.log('Pas de message');
        })
        const filter = (reaction, user) => {return ['✅', '❌'].includes(reaction.emoji.name) && user.id === message.author.id;};
            message.react('✅').then(() => message.react('❌'));
            message.awaitReactions(filter, { max: 1, time: 10000, errors: ['time'] })
            .then(collected => {
                const reaction = collected.first();
                if (reaction.emoji.name === '✅'){
                    sendchannel.send(annonceFinal)
                }
                else if (reaction.emoji.name === '❌'){
                    message.channel.send('Alors arrête de me faire chier !');
                }
            })
            .catch(collected => {
            message.channel.send('*react error*');
            console.log('*react error*');

    })

};

module.exports.help = {
    name: 'annonce'
};