如何在 discord.js 上为 discord 服务器的新成员发送欢迎消息?
Posted
技术标签:
【中文标题】如何在 discord.js 上为 discord 服务器的新成员发送欢迎消息?【英文标题】:How to make welcome message for new members of the discord server on discord.js? 【发布时间】:2021-03-16 07:07:34 【问题描述】:我知道这是一个非常基本的问题,但是 1. 我是 discord.js 编程的新手(我之前用 html 编程过,但这次不同) 2. 我还很年轻(我是 kido哈哈)
好的,所以我的问题是:如何在我的机器人上创建一个功能,在特殊频道上向加入的人发送欢迎消息,并通过 DM 向加入的人说“欢迎”之类的话?
我问这个是因为我在整个网络上搜索过,但没有找到我真正理解的东西。
附:如果您可以添加带有解释的 cmets,我将不胜感激。
提前致谢!
【问题讨论】:
为了更好地了解如何写出好问题并获得相关答案,请阅读我们的Welcome Tour to 和How ask a good question 文章。 好的,但是你我说我还是个孩子,我的英语很糟糕,因为我不是来自英国或美国......但如果你能帮助我,那就太棒了! 【参考方案1】:您可以使用guildMemberAdd
事件检测成员何时加入公会,ChannelManager#cache
向某个频道发送消息,GuildMember#send()
向某个成员发送消息。
<client>.on('guildMemberAdd', (member) =>
// use either `.get('id')` or `.find((c) => c.name === 'name'`
const channel = member.guild.channels.cache.get('Channel ID');
channel.send(...); // send to a channel
member.send(...); // dm the member
);
【讨论】:
我真的不明白第一条评论(//使用.get('id')
...)。你是什么意思,我应该选择什么以及如何使用它?如果我复制粘贴您的代码,我会收到一个错误: SyntaxError: Unexpected token ')
您的错误是指<client>
,这是您的客户端实例的占位符。运行此代码时,将 <client>
替换为您的 discord.js 客户端。我的第一条评论是说你应该使用Collection#get()
或Collection#find()
Collection#get() 和 Collection#find() 之间有什么主要区别吗?
Collection#get()
将通过其键获取元素。在这种情况下,频道的 ID。 Collection#find()
将获得第一个通过给定函数的元素。以上是关于如何在 discord.js 上为 discord 服务器的新成员发送欢迎消息?的主要内容,如果未能解决你的问题,请参考以下文章
(Discord 机器人)当用户加入 Discord 服务器(discord.js)时,如何发送欢迎消息?
我将如何使用两个不同版本的 discord.js | Discord.js 机器人
Discord.js/JavaScript:如何让用户选择角色?