在node.js中使用与discord bot的语句有问题

时间:2016-08-09 09:07:21

标签: javascript node.js client bots

我想让我的机器人检测到带有* DD的消息并避免删除它们

var Discord = require("discord.js");
 var bot = new Discord.Client();
  bot.on("message", function(message) {
   var input = message.content.toUpperCase();
    if(input.indexOf("*DD") != -1) {
        if (J===null) {
            setTimeout(function() {
              bot.deleteMessage(message);
           }, 120000);
        }
     }
});

以上是尝试使用* DD中的消息不被删除。

         bot.on("message", function(message){{
           setTimeout(function() {
             bot.deleteMessage(message)
             }, 120000);
            }
          });

上面是一个声明,在发布后两分钟后删除邮件。我试图修改声明,以便如果它在其中的某个地方有* DD,那么它就不会被删除。

               if (J===null) {
                   ^

               ReferenceError: J is not defined
               at Client.<anonymous> (C:bot.js:115:13)
               at emitOne (events.js:101:20)
               at Client.emit (events.js:188:7)
               at WebSocket.websocket.onmessage(C:InternalClient.js:1924:16)
               at WebSocket.onMessage (C:*WebSocket.js:442:14)
               at emitTwo (events.js:106:13)
               at WebSocket.emit (events.js:191:7)
               at Receiver.ontext (C:*WebSocket.js:841:10)
               at C:Receiver.js:536:18
               at Receiver.applyExtensions (C:Receiver.js:371:5)

当* DD输入Discord聊天时,控制台中会弹出此错误。感谢您提供任何帮助。

1 个答案:

答案 0 :(得分:0)

您可能不熟悉"use strict";,在严格模式下,必须显式声明所有变量。如果您使用的是es6模块,那么您可能正在使用严格模式。