Ошибок нет, но ничего не работает

292
31 августа 2017, 21:58

Привет! Есть код на NodeJS. Суть кода - автоматическая чистка комментариев в вк (удаляет комментарии после определенного времени, если они не набрали нужное количество лайков). Ошибок никаких нет. И на обычном, и на локальном сервере все работает, никаких ошибок не выдает, работу не прекращает. Но при этом он ничего не делает. Я просто этого не понимаю :(

За любую помощь буду крайне признателен.

Сам код :
(app.js)

const VK = require('simplevk');
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
const config = require('./config.json');
if (config.time.length != config.likes.length) throw new Error("config error");
VK.setToken(config.token);
VK.setLang('ru');
VK.setVersion('5.60');
VK.events.on('httpError', function(err) {
    console.log("http error: " + err);
})
app.use(bodyParser.json());
app.post('/', function(req, res) {
    if (req.body.type == 'confirmation') return res.send(config.confirm);
    if (req.body.secret && (req.body.secret != config.secret)) return console.log('wrong secret');
    res.send('ok');
    if (req.body.type != "wall_reply_new") return; //ignoring all events, expect the new comment event
    if (unixtime > (req.body.object.date + config.time[0])) return; //expired
    let object = req.body.object;
    let comment = {
        id: object.id,
        author: object.from_id,
        date: object.date,
        post_id: object.post_id,
        loop: 0
    }
    setTimeout(function() {
        APPDATA.checkComment(comment)
    }, config.time[comment.loop] * 1000);
});
app.listen(config.port, function() {
    console.log('Bot start ' + config.port);
});
let APPDATA = {
    checkComment: function(comment) {
        APPDATA.queue.tasks.push({
            method: "wall.getComments",
            args: {
                owner_id: config.watch,
                post_id: comment.post_id,
                start_comment_id: comment.id,
                count: 1,
                need_likes: 1
            },
            callback: function(err, res) { 
                if (err) return console.log(err);
                if (!res) return;
                if ((res.response.items.length == 0) || (res.response.items[0].likes.count < config.likes[comment.loop])) {
                    APPDATA.queue.tasks.push({
                        method: "wall.deleteComment",
                        args: {
                            owner_id: config.watch,
                            comment_id: comment.id
                        },
                        callback: function(err, res) {
                            if (err) return console.log(err);
                            //comment deleted
                        }
                    })
                } else {
                    if (comment.loop == (config.time.length-1)) return;
            comment.loop += 1;
            setTimeout(function() {
                APPDATA.checkComment(comment)
            }, config.time[comment.loop] * 1000);
                }
            }
        });
    },
    queue: {
        proceed: function() {
            let self = APPDATA.queue;
            if (self.tasks.length == 0) return self.timeout.set();
            let task = self.tasks.shift();
            VK.api(task.method, task.args, task.callback);
            self.timeout.set();
        },
        tasks: [],
        timeout: {
            set: function() {
                setTimeout(APPDATA.queue.proceed, 334); //vk allows to perform 3 requests per second
            }
        }
    }
}
let unixtime = () => { return Date.now() / 1000 | 0; }
APPDATA.queue.timeout.set();

(config.json)

{
    "watch": "id",
    "token": "токен",
    "time": [10, 15, 20],
    "likes": [0, 1, 3], 
    "secret": "пароль", 
    "port": 8080,
    "confirm": "ответ"
}
READ ALSO
Android 4.0 и javascript

Android 4.0 и javascript

Доброго времени сутокJavascript не хочет работать на версии 4

293
Gulp.js как открыть HTML

Gulp.js как открыть HTML

Друзья, как изменить загрузку HTML файла в gulpjs ? По умолчанию при инициализации gulp watch открываеться index

372
Изменить стили iframe

Изменить стили iframe

На сайте есть iframeКак с помощью js можно изменить содержимое или стили этого iframe?

340
Как заставить прогресс бар не работать при запуске онлайн консультанта?

Как заставить прогресс бар не работать при запуске онлайн консультанта?

Как заставить прогресс бар Pace не работать при запуске онлайн консультанта?

287