首页 > 解决方案 > 试图制作一个向用户发送 DM 的机器人

问题描述

我正在尝试制作一个不和谐机器人来检查在频道中发送的消息的前缀和参数(!发送@Usermention“消息”),但尽管运行,只要在我的不和谐服务器中输入消息,程序就会关闭,没有输出任何错误消息,所以我不确定该怎么做......

       const Discord = require('discord.js');
       const client = new Discord.Client();
       const auth = require('./auth.json');
       const prefix = "!";

       client.on("message", (message) => 
       {
           msg = message.content.toLowerCase();

           if (message.author.bot) { return; }
           mention = message.mention.users.first(); //gets the first mention of the user's message

           if (msg.startsWith (prefix + "send")) //!send @name [message]
           {
               if (mention == null) { return; } //prevents an error sending a message to nothing
               message.delete();
               mentionMessage = message.content.slice (6); //removes the command from the message to be sent
               mention.sendMessage (mentionMessage); //sends message to mentioned user
               message.channel.send ("message sent :)");
           }
       });
       client.login(auth.token);

标签: javascriptbotsdiscorddiscord.js

解决方案


mention = message.mention.users.first();
它是message.mention**s**。你错过了一个s.

此外,您可能希望使用send, 而不是sendMessage, 因为sendMessage已弃用。


推荐阅读