discord.js 机器人加入时的欢迎消息

Posted

技术标签:

【中文标题】discord.js 机器人加入时的欢迎消息【英文标题】:Welcome message when the discord.js bot joins 【发布时间】:2021-11-13 03:08:24 【问题描述】:

我将版本从 discord.js v12 更改为 v13,我的机器人加入消息不再起作用。

    const  MessageEmbed, WebhookClient  = require("discord.js");
    const  channels  = require("../../app");
    const  prefix, color  = require("../../botconfig/config.json");

    module.exports = async (bot) => 

        bot.on('guildCreate', (guild) => 

            let channelToSendTo;

            guild.channels.forEach(channel => 
                if (channel.type === 'text' && !channelToSendTo && channel.permissionsFor(guild.me).has('SEND_MESSAGES')) channelToSendTo = channel;
            );

            if(!channelToSendTo) return;

            let newGuildEmbed = new MessageEmbed()
                .setColor(color)
                .setTitle(`<:Ela_E:888341177571639297> Thank you for adding me!`)
                .addField(`Premium`, `[Buy](https://elabot.top/premium)`, true)
                .addField(`Website`, `[Website Page](https://elabot.top)`, true)
                .addField(`Have questions?`, `[Join the support server](https://elabot.top/support)`, true)
            channelToSendTo.send(newGuildEmbed)

        )
        
    

错误

(node:15080) DeprecationWarning:消息事件已被弃用。采用 messageCreate 代替(使用node --trace-deprecation ... 显示 创建警告的位置)

【问题讨论】:

您的描述和错误无关。 error 只是关于您正在收听的事件的警告 【参考方案1】:

在 V13 中,发送嵌入已更改。相应地更改此行:

channelToSendTo.send(newGuildEmbed) //V12
channelToSendTo.send(embeds: [newGuildEmbed]) //V13

另外,正如您在错误中所说:client.on('message') 已弃用。这已更改为client.on('messageCreate')

如果您遇到任何新错误,请检查从 V12 到 V13 的 docs 或 update instductions

【讨论】:

以上是关于discord.js 机器人加入时的欢迎消息的主要内容,如果未能解决你的问题,请参考以下文章

欢迎消息未通过 Discord.js 发送

Discord.js V13 欢迎消息

Discord.js 使用@person 和#channel 发送消息

Discord.js 机器人通过随机消息欢迎新用户

Discord 欢迎留言 DM

为啥我的欢迎信息不起作用(discord.js)