Discord Bot可以在频道上向所有人发送消息吗?

时间:2019-10-09 16:48:36

标签: javascript discord discord.js

我正在使用nodeJs服务器上的discord.js库对discord Bot进行编码。 这是我的问题:当事件发生时(例如某人发送消息),机器人可以回答角色成员或所有人吗? message.reply(“我的回复”)方法仅在我现在使用时才回答消息的作者...

1 个答案:

答案 0 :(得分:0)

您的问题是message.reply()是一个非常有限的方法:它总是(emem )提及邮件的作者,而您不能覆盖它。

您需要使用更通用的方法channel.send(),然后自己构建提及。 .reply()只是一种常用形式的快捷方式,但是您需要自定义一些内容。

大概您希望它与消息在相同的通道中发生,因此您需要message.channel.send("Whatever content you want")

现在,要添加角色,您需要确定如何选择一个。是固定的吗?然后您可以hard-code a role mention by role ID<@&134362454976102401>(当然,它必须是您所需的角色ID)。

如果要查找角色(例如按名称),则需要通过搜索有问题的公会来实现。您可以通过message.guild来访问它,但要注意,对于DM,它将是未定义的。

然后您可以做类似的事情

const role = message.guild.roles.find(role => role.name === "NameYouWant");
message.channel.send(`${role} something something`);

因为角色对象在转换为字符串时会被提及。