欢迎消息未通过 Discord.js 发送
Posted
技术标签:
【中文标题】欢迎消息未通过 Discord.js 发送【英文标题】:Welcome message not sending through Discord.js 【发布时间】:2021-10-07 12:23:35 【问题描述】:所以我正在使用 discord.js 编写一个不和谐的机器人,其中一个功能是当新用户加入服务器时,机器人会发送一条消息。我暂时不做嵌入,以后可以自己做。
这是我专门为此功能制作的主要welcome.js
文件:
module.exports = (client) =>
const channelId = '868192573011931185' //welcome channel
client.on('guildMemberAdd', (member) =>
console.log(member.name)
const message = `Hello <@$member.id> and welcome to $guild.name!
Please verify through the Server Captcha Bot in your DMs,
then read the rules in <#868192573263605884>
and lastly pick your roles in <#868192573263605880>!`
const channel = member.guild.channels.cache.get(channelId)
channel.send(message)
)
在我的index.js
文件中,我刚刚导入了该文件,并添加了welcome(client)
。
但由于某种原因,我的代码没有出现在欢迎频道中...任何帮助将不胜感激。
【问题讨论】:
事件不应该在函数中 【参考方案1】:检查您的意图是否打开并查看此post 以获取更多信息:
【讨论】:
这行得通,谢谢,我还必须更改 $guild.name 但那行得通,谢谢!【参考方案2】:我不知道您的 index.js
的上下文,但我建议您阅读这个方便的指南,其中解释了如何处理单独文件中的事件。
基本上,它们会遍历 events
文件夹(您的 welcome.js
所在的文件夹)。
然后他们动态注册client
对象接收到的事件以通过这些事件文件执行。
链接:Event handling.
【讨论】:
【参考方案3】:在你的代码中,而不是说
const channel = member.guild.channels.cache.get(channelId)
试着说:
const channel = Client.channels.cache.get(channelId)
希望它有效:)
【讨论】:
我认为它会,但它仍然没有发送任何消息:( @PrezOfTheUnitedIdiots 有可能您没有启用您的服务器成员的意图,请转到开发门户并打开它,看看它是否有效 :)以上是关于欢迎消息未通过 Discord.js 发送的主要内容,如果未能解决你的问题,请参考以下文章
使用 Discord.js 跨渠道发送消息会产生“未定义”错误
(Discord 机器人)当用户加入 Discord 服务器(discord.js)时,如何发送欢迎消息?