【问题标题】:Why won't my discord bot work?为什么我的不和谐机器人无法工作?
【发布时间】:2017-10-18 21:45:45
【问题描述】:

最近,我一直在尝试制作一个不和谐的机器人。一切顺利,直到我运行 start.bat 文件。 一旦我运行它,我就会得到这个:

    client.on('ready', () => {
                    ^
SyntaxError: Unexpected token )
    at exports.runInThisContext (vm.js:73:16)
    at Module._compile (module.js:443:25)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Function.Module.runMain (module.js:501:10)
    at startup (node.js:129:16)
    at node.js:814:3

这是我用来启动机器人的示例代码:

const Discord = require("discord.js");
const client = new Discord.Client();
client.login('MzEzNzc1NzUwOTQxNTA3NTg0.C_-ilQ.vJyMW_Q2PjLLntwgifRRCnjPw88')
client.on('ready', () => {
  console.log(`Logged in as ${client.user.username}!`);
});
client.on('message', msg => {
  if (msg.content === 'ping') {
    msg.reply('Pong!');
  }
});

client.login('token');

还有我的 start.bat 文件:

@echo off
node bot.js
PAUSE

最后,这是版本信息:

2 info using npm@2.7.4
3 info using node@v0.12.2

知道这意味着什么,我该如何解决?

【问题讨论】:

  • 请发布complete, relevant code 和您的Node.js 版本;您发布的错误消息确实表明您有语法错误,但这还不足以真正确定问题可能是什么。
  • 这是一个语法错误,这意味着它不知道如何解析您的代码。你用的是什么版本的节点?它可以使用常规匿名函数而不是速记吗?

标签: node.js bots discord


【解决方案1】:

我希望你已经明白了这一点,但是在声明事件之前,你在行中缺少了一个分号。

【讨论】:

    【解决方案2】:

    箭头函数语法 (() => { }) 相对较新,仅从 Node 4.0 开始支持。由于您使用的是过时版本的 Node,我强烈建议您将其升级到最新版本,因为它不再受到官方支持,而且您在网上找到的许多代码都利用了引入的功能在较新版本的 Node 中。

    您可以从official Node.js site下载最新版本。

    【讨论】:

    • 无论我做什么,我似乎都无法更新 node.js。我什至进行了手动安装,它仍然在 0.12 上。
    • @CMWAidanx 然后不要使用箭头函数,尝试将任何() => {}替换为function() {}
    猜你喜欢
    • 2021-08-03
    • 2021-10-20
    • 1970-01-01
    • 2021-01-17
    • 2021-02-25
    • 1970-01-01
    • 2021-07-31
    • 2021-09-24
    • 2021-07-26
    相关资源
    最近更新 更多