Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.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
在discord.js中切换命令的前缀_Discord.js - Fatal编程技术网

在discord.js中切换命令的前缀

在discord.js中切换命令的前缀,discord.js,Discord.js,在这个网站上的第一篇文章,如果我的格式不正确,我会很糟糕。我一直在尝试更改前缀命令,但我不知道如何检查下一条消息的内容,以便使用一个变量来代替旧的前缀 msg.reply("Which prefix do you want?"); const collector = new Discord.MessageCollector(msg.channel, m => m.author.id === msg.author.id, { time: 5000 }); co

在这个网站上的第一篇文章,如果我的格式不正确,我会很糟糕。我一直在尝试更改前缀命令,但我不知道如何检查下一条消息的内容,以便使用一个变量来代替旧的前缀

msg.reply("Which prefix do you want?");
        const collector = new Discord.MessageCollector(msg.channel, m => m.author.id === msg.author.id, { time: 5000 });
        console.log(collector)
        collector.on('collect', msg => {
            newprefix=collector.content();
          msg.reply('Prefix succesfully changed!');
        });

我强烈建议使用waitmessages方法。首先,您需要定义一个过滤器,一个委托函数,如果反应是您想要的,它将返回true。通常在命令/响应设置中,您需要一个指示原始命令调用程序的筛选器

const filter=(反应,用户)=>{
返回user.id==msg.author.id;
};
然后,您可以为消息定义选项。(使用waitMessages方法执行此操作是很常见的,如果您更清楚这一点的话,也可以这样做)

const options={
最高:1,
时间:30000,
错误:['time']
}
上面的示例接受1条消息,如果在30秒内给出,则抛出异常

最后,你准备好开始了

msg.reply(“您想要哪个前缀?”)。然后(()=>{
msg.channel.waitingmessages(过滤器、选项)
。然后(收集=>{
newprefix=collected.first();
//在此处将newprefix记录到持久配置
msg.reply('前缀已成功更改!');
})
.catch(已收集=>{
msg.reply(“您的响应不够快。”);
});
}
请记住,这是异步发生的,因此如果您需要在某处编写newprefix,例如JSON配置文件,您应该在
的范围内完成