Discord.js 使用@person 和#channel 发送消息
Posted
技术标签:
【中文标题】Discord.js 使用@person 和#channel 发送消息【英文标题】:Discord.js sending message with @person and #channel 【发布时间】:2020-11-25 19:26:00 【问题描述】:使用我的不和谐机器人,我正在尝试创建欢迎消息。 我得到了以下工作:
有人加入时发送消息 获取加入者的姓名现在我遇到的问题是在该消息中使用 @ 或 #。我使用以下代码作为消息:
const welcomeMessage = `Welcome @$member.user.username to the server! Please look through the #:page_with_curl:rules and assign yourself a role at #:mortar_board:role-assignment`;
但我也试过:
Welcome @$member.user.username to the server! Please look through the #????rules and assign yourself a role at #????role-assignment
他们都没有我希望他们做的事情。我从这段代码中得到以下结果:
您可以看到@MEE6
和 2 频道# 不是蓝色的,并且不可点击。但是当我复制全文时,将其粘贴过去并在聊天中发送它确实显示为蓝色。
我想要的结果是我复制、粘贴和发送时的结果。也就是以下内容:
这里还有一点代码:
const welcomeChannel = client.channels.cache.get('738678076174630922');
const welcomeMessage = `Welcome @$member.user.username to the server! Please look through the #????rules and assign yourself a role at #????role-assignment`;
welcomeChannel.send(welcomeMessage)
我应该怎么做才能解决这个问题?
【问题讨论】:
关于会员只需将member.user.username
改为member
即可自动链接,无需添加@
@Cursed 是的,我明白了。谢谢!
【参考方案1】:
const welcomeMessage = `Welcome $member! Please look through the <#id-of-rules-channel-here> and assign yourself a role at <#id-of-role-assignment-channel-here>`
如果您已经将诸如频道和成员之类的 Discord 类存储在变量中(就像您为 member
所做的那样),您可以自动嵌入它们的 ID,或者您可以直接以 <#id>
的形式在文本中使用它们的 ID 用于频道或<@id>
为用户。
【讨论】:
以上是关于Discord.js 使用@person 和#channel 发送消息的主要内容,如果未能解决你的问题,请参考以下文章
(Discord.js)TypeError:无法读取未定义的属性“添加”
Discord.js SyntaxError: Unexpected Identifier (For command handler)