Node.js 向用户发送私人消息
我目前正在使用discord.js库和node.js制作一个discord bot,它只有一个功能——私人消息传递人 我希望这样,当用户在频道中说“/talkto@bob#2301”之类的话时,机器人会用一条消息对@bob#2301进行PMs 所以我想知道的是。。。如何使bot消息成为特定用户(目前我只知道如何向“/talkto”的作者发送消息),以及如何使bot能够在命令中找到需要发送消息的用户。(因此/talkto@ryan消息ryan和/talkto@daniel消息daniel等) 我当前的(错误代码)是:Node.js 向用户发送私人消息,node.js,discord,discord.js,Node.js,Discord,Discord.js,我目前正在使用discord.js库和node.js制作一个discord bot,它只有一个功能——私人消息传递人 我希望这样,当用户在频道中说“/talkto@bob#2301”之类的话时,机器人会用一条消息对@bob#2301进行PMs 所以我想知道的是。。。如何使bot消息成为特定用户(目前我只知道如何向“/talkto”的作者发送消息),以及如何使bot能够在命令中找到需要发送消息的用户。(因此/talkto@ryan消息ryan和/talkto@daniel消息daniel等) 我当
我已经阅读了文档,但我发现它很难理解,我将感谢任何帮助 可以在
用户
对象中找到发送
方法。。因此,您可以使用message.author.send
。。。message.author是指发送消息的人的用户对象。您所需要做的只是发送给指定的用户。另外,使用if(message.content==“/talkto”)
意味着只有当整个消息都是/talkto时,它才会运行。意思是,你不能跟我说话。使用message.content.startsWith()
示例用法:
/talkto@wright你好这是一个dm
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
}
}
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);
}
}