我正在尝试制作一个机器人,它将嵌入的消息发送到一个频道,然后对其做出反应。它发送到的频道是由 discord 机器人创建的,所以我没有频道的 ID,只有简单的名称island-info-\<user ID>。该频道在您运行命令时创建,/channel但很快会在您加入服务器时更改为并在您离开时删除。当我运行这段代码时:
else if (cmd === `${prefix}channel`){
const name = "island-info-" + message.author.username.toLowerCase();
message.guild.channels.create(name, {
type: 'text',
permissionOverwrites: [
{
id: message.guild.id,
deny: ["VIEW_CHANNEL", "SEND_MESSAGES"]
},
{
id: message.author.id,
allow: ["VIEW_CHANNEL", "ADD_REACTIONS"]
},
],
parent: "734170209107051074"
})
.catch(console.error);
const Embed = new Discord.MessageEmbed()
.setTitle('ISLAND INFO')
message.guild.channels.cache.find(r => r.name === name).send(Embed)
message.guild.channels.cache.find(r => r.name === name).messages.fetch({ limit: 1 }).then(messages => {
messages.first().react("👍")
}).catch(err => {
console.error(err)
})
}
它抛出错误:Cannot read property 'send' of undefined这是因为 line message.guild.channels.cache.find(r => r.name === name).send(Embed)。有没有更好的方法来做到这一点,因为当我取出cache零件时,它说find这不是命令。谢谢!
(编辑)我相信这是因为它在创建频道的同时或之前将消息发送到频道,出于我不知道的原因,有没有人知道解决这个问题的方法,因为当我在之后访问频道时最后}一切正常
慕码人2483693
慕森卡
相关分类