我正在使用discord.js库和node.js来创建一个促进扑克的Discord机器人 . 除了向所有人展示双手之外,它是有用的,我需要循环播放玩家并用手向他们发送DM .
bot.on("message", message => {
message.channel.sendMessage("string");
})
这是在任何用户发送消息时向消息发送消息的代码 . 我需要机器人在私人 Channels 回复;我见过dmChannel,但我不明白如何使用它 . 我有要向其发送消息的成员的用户名 . 一个例子将不胜感激 .
编辑:在查找用户对象后,我发现我可以使用客户端(bot)的.users属性获取所有用户 . 我将尽快尝试使用user.sendMessage(“string”)方法 .
5 回答
为了让机器人发送消息,您需要
<client>.send()
,client
是机器人将消息发送到的位置(A通道,服务器中的任何位置或PM) . 由于您希望机器人PM某个用户,您可以使用message.author
作为client
. (您可以在消息或其他内容中替换author
作为提及的用户等)因此,答案是:
message.author.send("Your message here.")
我建议您在遇到卡片时查找有关某个对象属性的Discord.js文档,您可能会发现可以作为解决方案的特定功能 .
上面的答案也可以正常工作,但我发现你通常只需使用
message.author.send("blah blah")
而不是message.author.sendMessage("blah blah")
..send往往比.sendMessage更好地为我工作,它有时遇到问题 . 希望有助于一点点!
让代码说
if (msg.content === ('trigger') msg.author.send('text')}
这很简单,这是一个例子
在这里添加您的命令代码,如:if(cmd ===
!dm
){target.send('string')应该可以工作