私人消息传递给用户

时间:2017-08-16 22:53:37

标签: node.js discord discord.js

我目前正在使用discord.js库和node.js来制作一个具有一个功能的discord bot - 私人消息传递人员。

我希望这样当用户说出" / talkto @ bob#2301"在一个频道中,机器人PMs @ bob#2301带有消息。

所以我想知道的是......如何让机器人信息成为特定的用户(目前我所知道的是如何向' / talkto'的作者发消息),以及如何做我这样做,以便机器人可以在命令中找到需要消息的用户。 (那么/ talkto @ryan消息ryan,和/ talkto @daniel消息daniel等。)

我当前的(错误的代码)是这样的:

client.on('message', (message) => {
    if(message.content == '/talkto') {
        if(messagementions.users) { //It needs to find a user mention in the message
            message.author.send('Hello!'); //It needs to send this message to the mentioned user
    }
}

我已阅读文档但发现很难理解,我将不胜感激!

1 个答案:

答案 0 :(得分:1)

可以在send对象中找到User方法..因此可以使用message.author.send的原因... message.author引用发送邮件的人的用户对象。您需要做的就是发送给指定的用户。此外,使用if(message.content == "/talkto")意味着它只会在整个消息为/ talkto时运行。意思是,你不能/ talkto @me。使用message.content.startsWith()

client.on('message', (message) => {
    if(message.content.startsWith("/talkto")) {
        let messageToSend = message.content.split(" ").slice(2).join(" ");
        let userToSend = message.mentions.users.first();

        //sending the message
        userToSend.send(messagToSend);
    }
}

使用示例:

/ talkto @wright你好,这是一个dm!

相关问题