我需要帮助制作一个discord bot直接给某人输入命令的消息

时间:2017-11-15 21:24:16

标签: node.js discord dm discord.js

我目前正在尝试创建一个不和谐机器人,并且我正在努力做到这一点。该命令应该是机器人发送的秘密DM消息。我想知道是否还有这样做?该命令看起来像这样:

  

/ dm @ PLAYER#000 [message_goes_here]

请求帮助!!

1 个答案:

答案 0 :(得分:0)

让我们一步一步地做到这一点:

如果提及@ Player#0000,您可以使用msg.mentions[0].获取玩家#0000的User对象现在开始向该用户发送消息:

首先,您需要将消息与命令分开: 使用msg.toString(),您可以抓住邮件并提及转换为< @ ID&gt ;,这也将占用用户名中的空格。现在使用msg.toString().split(' ')shift()两次,join(' ')分割邮件,然后您就会收到邮件。

使用User.send(),您就可以向该用户发送消息。

以下是最终结果的显示方式:

bot.on('message', message => {
    if (message.content.startsWith('/dm ') && message.mentions.users.size) {
        var v=message.toString().split(' ').shift().shift().join(' ') // Takes the DM content from the message
        var member=message.mentions.users[0] // The mentioned user
        member.send(v) // send that user a DM
    }
})

请注意,此示例并未真正涵盖错误(如果邮件没有发送等)