Discord бот, показывающий офлайн, ReferenceError в bot.js - PullRequest
0 голосов
/ 23 мая 2018

Редактировать: я забыл поставить исходный код для кода, который я использовал, вот он: https://medium.com/davao-js/tutorial-creating-a-simple-discord-bot-9465a2764dc0

Я пытался запрограммировать диск-бота и столкнулся с проблемой с основным файлом.bot.js, вот код:

var Discord = require('discord.io');
var logger = require('winston');
var auth = require('./auth.json');
// Configure logger settings
logger.remove(logger.transports.Console);
logger.add(logger.transports.Console, {
    colorize: true
});
logger.level = 'debug';
// Initialize Discord Bot
var bot = new Discord.Client({
   token: auth.token,
   autorun: true
});
bot.on('ready', function (evt) {
    logger.info('Connected');
    logger.info('Logged in as: ');
    logger.info(bot.username + ' - (' + bot.id + ')');
});
bot.on('message', function (user, userID, channelID, message, evt) {
    // Our bot needs to know if it will execute a command
    // It will listen for messages that will start with `!`
    if (message.substring(0, 1) == '!') {
        var args = message.substring(1).split(' ');
        var cmd = args[0];

        args = args.splice(1);
        switch(cmd) {
            // !ping
            case 'ping':
                bot.sendMessage({
                    to: channelID,
                    message: 'Pong!'
                });
            break;
            // Just add any case commands if you want to..
         }
     }
});

Я попытался запустить это, перейдя в каталог, в котором я сохранил файл, и набрав "node bot.js" в консоли.Программа, казалось, запустилась нормально, но остановилась почти сразу, поэтому я добавил этот код внизу:

setInterval(function() {
    console.log("timer that keeps nodejs processing running");
},1000*60*60);

Это поддерживает работу программы, однако в приложении «Discord» бот по-прежнему отображается в автономном режиме и не отвечает на запросы.команда! ping.Я не уверен, как решить эту проблему, но я запустил node -p bot.js и получил такой вывод:

[eval]:1
bot.js
^

ReferenceError: bot is not defined
    at [eval]:1:1
    at ContextifyScript.Script.runInThisContext (vm.js:50:33)
    at Object.runInThisContext (vm.js:139:38)
    at Object.<anonymous> ([eval]-wrapper:6:22)
    at Module._compile (module.js:652:30)
    at evalScript (bootstrap_node.js:463:27)
    at startup (bootstrap_node.js:164:9)
    at bootstrap_node.js:609:3

Мои файлы package.json и auth.json содержат правильную информацию, поэтому яНе знаете, как решить эту проблему, любая помощь будет принята с благодарностью!

1 Ответ

0 голосов
/ 29 мая 2018

попробуйте

const Discord = require('discord.js');
const bot = new Discord.Client();
const auth = require('./auth.json');
const token = auth.token;
bot.login(token);
...