我目前正在尝试创建一个不和谐的机器人,并且对我正在尝试执行的命令感到困惑。该命令应该是机器人发送的秘密 DM 消息。我想知道是否有办法做到这一点?该命令应该如下所示:
/dm @PLAYER#000 [message_goes_here]
请帮忙!!
我目前正在尝试创建一个不和谐的机器人,并且对我正在尝试执行的命令感到困惑。该命令应该是机器人发送的秘密 DM 消息。我想知道是否有办法做到这一点?该命令应该如下所示:
/dm @PLAYER#000 [message_goes_here]
请帮忙!!
让我们一步一步来:
如果 @Player#0000 是提及,您可以User
使用 Now on 获取 Player#0000 的对象msg.mentions[0].
以向该用户发送消息:
首先,您需要将消息与命令分开:使用msg.toString()
您将能够获取消息并将提及转换为 <@ID>,这也将考虑用户名中的空格。现在使用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
}
})
请注意,此示例并未真正涵盖错误(以防消息未发送等)