我目前正在使用discord.js库和node.js来制作一个具有一个功能的discord bot - 私人消息传递人员 .
我希望这样当用户在 Channels 中说出“/ 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 回答
send
方法可以在User
对象中找到..因此为什么你可以使用message.author.send
... message.author引用发送消息的人的用户对象 . 您需要做的就是发送给指定的用户 . 此外,使用if(message.content == "/talkto")
意味着它只会在整个消息为/ talkto时运行 . 意思是,你不能/ talkto @me . 使用message.content.startsWith()
.使用示例:
/ talkto @wright你好,这是一个dm!