Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.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 Discord.js UnhandledPromisejectionWarning:TypeError:message.guild.channels.cache.array.forEach不是函数_Javascript_Discord.js - Fatal编程技术网

Javascript Discord.js UnhandledPromisejectionWarning:TypeError:message.guild.channels.cache.array.forEach不是函数

Javascript Discord.js UnhandledPromisejectionWarning:TypeError:message.guild.channels.cache.array.forEach不是函数,javascript,discord.js,Javascript,Discord.js,我正在尝试为我的discord.js bot创建一个ticket函数,但当我单击一个表情符号时,它会抛出一个错误。代码如下: let messageEmbed=wait message.channel.send(ticketmbed); messageEmbed.react(“1️⃣"); messageEmbed.react(“2️⃣"); messageEmbed.react(“3️⃣"); messageEmbed.react(“4️⃣"); client.on('messageReact

我正在尝试为我的discord.js bot创建一个ticket函数,但当我单击一个表情符号时,它会抛出一个错误。代码如下:

let messageEmbed=wait message.channel.send(ticketmbed);
messageEmbed.react(“1️⃣");
messageEmbed.react(“2️⃣");
messageEmbed.react(“3️⃣");
messageEmbed.react(“4️⃣");
client.on('messageReactionAdd',异步(反应,用户)=>{
if(reaction.message.partial)等待reaction.message.fetch();
if(reaction.partial)等待reaction.fetch();
if(user.bot)返回;
如果(!reaction.message.guild)返回;
if(reaction.emoji.name==firstreaction){
const categoryId=“82257708423586364”
var username=reaction.message.guild.members.cache.get(user.id)
var userDiscriminator=reaction.message.guild.members.cache.get(user.id).discriminator
var ticketExists=false
message.guild.channels.cache.array.forEach(通道=>{
if(channel.name==userName.toLowerCase()+“-”+userDiscriminator){
var ticketExists=true
message.username.send(“您已经有一张未结票证!”)
返回
}
})
if(票务员)返回
message.guild.channels.create(“Playerreport-”+username.toLowerCase+userDiscriminator,{type:“text”})

首先,Collection.array是一个方法而不是属性,因此需要像Collection.array()一样调用它

其次,集合有一个从映射继承的forEach方法,您可以直接调用它

message.guild.channels.cache.forEach(...)

您不需要将
message.guild.channels.cache
转换为数组,缓存存储为一个集合,它继承了
映射的属性
。您只需调用
.forEach()
关于收集谢谢,这很有效!但我遇到了另一个问题。当我重新启动bot时,对表情的反应不再有效。你知道如何解决这个问题吗?