discord.js V12从消息向每个公会所有者发送消息

时间:2020-08-21 08:51:13

标签: javascript discord.js

我想向机器人的每个行会的每个所有者发送消息。

为此,我可以尝试以下方法:

/**
 * @param {import('discord.js').Message} message
 * @returns {Promise<void>}
 */
module.exports = async (message) => {
    message.client.guilds.map((guild) =>{
        message.client.users.fetch(guild.owner.id).then(u =>{
            u.send('my awesome custom message')
        })
    })
}

但是使用此代码,我会遇到此错误:

UnhandledPromiseRejectionWarning: TypeError: message.client.guilds.map is not a function

但是当我console.logs message.client.guilds时,我会有一个公会的数组……所以我真的不知道如何为每个公会跑酷。同样在我的机器人结构中,我可以通过这种方式通过另一个人访问client

1 个答案:

答案 0 :(得分:2)

在Discord.js v12上,您需要添加cache属性。 就是message.client.guilds.cache.map(...)

这会将您的代码修改为:

/**
 * @param {import('discord.js').Message} message
 * @returns {Promise<void>}
 */
module.exports = async (message) => {
    message.client.guilds.cache.map((guild) =>{
        message.client.users.fetch(guild.owner).then(u =>{
            u.send('my awesome custom message')
        })
    })
}