欢迎信息的问题 |不和谐.js
Posted
技术标签:
【中文标题】欢迎信息的问题 |不和谐.js【英文标题】:Issues With Welcome Message | Discord.js 【发布时间】:2021-01-29 13:12:13 【问题描述】:我有一个欢迎消息机器人,每次有人加入时都会发送一条欢迎消息,但有时,它会在控制台中抛出一个错误:
member.guild.channels.cache.find(ch => ch.name === "・????????????????").send(exampleEmbed).catch(e => co nsole.error(`Welcome Error in $message.guild.name`) | message.channel.send("__**ERROR:**__ ** Someone joined the server but I was
le to catch it.**"));
^
TypeError: Cannot read property 'send' of undefined
代码:
client.on('guildMemberAdd', member =>
const exampleEmbed = new Discord.MessageEmbed()
.setColor('RANDOM')
.setTitle(`Welcome to lovell <$, **$member.user.username**`)
.setImage('https://images-ext-1.discordapp.net/external/Gy-micqoX7qrlivnytbmFgfTbxPx_CSvgChFLE3qC7g/https/media.discordapp.net/attachments/755425128635957348/758525058934767617/HaxzUWa46sK5CXKzIR.gif')
.setFooter('Boost Us');
member.guild.channels.cache.find(ch => ch.name === "・????????????????").send(exampleEmbed).catch(e => console.error(`Welcome Error in $message.guild.name`) | message.channel.send("__**ERROR:**__ ** Someone joined the server but I was unable to catch it.**"));
)
我该如何解决这个问题?
【问题讨论】:
【参考方案1】:有一种更简单的方法来做你想做的事情。复制该频道的 ID,然后在您的代码中获取频道,如下所示:
bot.on('guildMemberAdd', (member) =>
const channel = member.guild.channels.cache.get('channel-id');
channel.send('Welcome');
);
【讨论】:
【参考方案2】:我的猜测是,如果找不到该频道,则会发生该错误。未找到的频道将返回未定义。 DiscordJS website 中的这段代码将检查通道是否存在,如果不存在,它将不会运行其余的函数。
【讨论】:
我可以只输入频道ID吗?【参考方案3】:也许试试这个?:
client.on('guildMemberAdd', member =>
let welChannel = member.guild.channels.cache.find(ch => ch.name === "・????")
const exampleEmbed = new Discord.MessageEmbed()
.setColor('RANDOM')
.setTitle(`Welcome to lovell <$, **$member.user.username**`)
.setImage('https://images-ext-1.discordapp.net/external/Gy-micqoX7qrlivnytbmFgfTbxPx_CSvgChFLE3qC7g/https/media.discordapp.net/attachments/755425128635957348/758525058934767617/HaxzUWa46sK5CXKzIR.gif')
.setFooter('Boost Us');
welChannel.send(exampleEmbed).catch(e => console.error(`Welcome Error in $message.guild.name`) | message.channel.send("__**ERROR:**__ ** Someone joined the server but I was unable to catch it.**"));
)
如果这不起作用,可能是机器人找不到・????
频道。
【讨论】:
以上是关于欢迎信息的问题 |不和谐.js的主要内容,如果未能解决你的问题,请参考以下文章
不和谐.JS |如何使用 **channel.client** 功能而不显示机器人客户端信息?