【问题标题】:How do I get a bot to mention a channel?如何让机器人提及频道?
【发布时间】:2018-08-27 11:30:46
【问题描述】:

我正在发送欢迎信息,但我似乎无法让它说出规则频道。我希望机器人说出#rules 并使其成为规则,以便您可以单击它进入规则频道。我知道您可以对普通用户执行此操作,但我想对我的机器人执行此操作。每次尝试,都无法像普通玩家一样点击。我试过做#rules、 和其他东西。没有一个是可点击的。

【问题讨论】:

  • 我知道这是可能的,因为我已经看到其他机器人这样做了。
  • 用你的欢迎信息粘贴字符串

标签: javascript node.js discord discord.js


【解决方案1】:

您需要发送GuildChannel 才能使频道名称可点击。
您可以通过在guild.channels.cache中找到频道来实现这一点
这将返回一个集合,您可以对其进行过滤。
如果您有 ID(更简单):

var message = "Make sure to check the rules at " + 
  message.guild.channels.cache.get('channelID').toString();

如果您想按 ID 查找频道(如果您有多个同名频道,可能会中断):

var message = "Make sure to check the rules at " + 
  message.guild.channels.find(channel => channel.name === "rules").toString();

编辑:

更简单的方法:在 Discord 中提及频道并在频道名称 \#rules 之前添加 \(反斜杠)。你会得到类似<#channelID>的东西。
像这样使用:var message = "Make sure to check the rules at <#channelID>";

【讨论】:

  • 奇怪,编辑后的作品适合我。您使用什么方式发送消息?
  • 我使用的是基本的 msg.reply
  • message.guild.channels.find 错了,应该是message.guild.channels.cache.find
猜你喜欢
  • 1970-01-01
  • 2019-11-15
  • 2016-11-07
  • 2019-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-11
  • 2020-12-28
相关资源
最近更新 更多