【发布时间】:2017-06-04 08:17:45
【问题描述】:
我正在使用 discord.js 库和 node.js 创建一个有助于扑克的 Discord 机器人。除了向所有人展示手之外,它还可以正常工作,我需要循环播放玩家并用他们的手向他们发送 DM。
bot.on("message", message => {
message.channel.sendMessage("string");
});
这是当任何用户发送消息时向频道发送消息的代码。我需要机器人在私人频道中回复;我见过dmChannel,但我不明白如何使用它。我有要向其发送消息的成员的用户名。
一个例子将不胜感激。
编辑:
在四处寻找用户对象后,我发现我可以使用客户端(机器人)的.users 属性获取所有用户。我会尽快尝试使用user.sendMessage("string") 方法。
【问题讨论】:
-
我还没有使用 discord.js。你能创建一个用户对象吗?如果是这样,您可以使用
UserObject.sendMessage("string"); -
机器人是客户端,这里是文档页面:discord.js.org/#/docs/main/stable/class/Client。您的代码将不起作用,因为 sendMessage 不是客户端的方法。我要看看我是否可以创建一个用户对象。
-
你试过
message.author.sendMessage("XXX")吗?我在 lib 的 10.0.1 版本中使用它。 -
@JulCh 我会选择你作为答案。非常感谢,我得到了它的工作!还有一件事,如果您有时间,我如何检查(用户,而不是机器人)消息是否是通过直接消息发送的?
-
@adapap 你可以检查
message.channel对象是DMChannel(私信频道)的实例,还是经典频道的TextChannel :)
标签: javascript node.js discord.js