From ab4090ef4ec921d950f5fd114cf17460d56c789e Mon Sep 17 00:00:00 2001 From: Hepller Date: Fri, 28 May 2021 01:44:32 +0300 Subject: [PATCH] v0.6.4 --- core/core.js | 22 +++++++++++++--------- core/logger.js | 2 +- package.json | 6 ++++-- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/core/core.js b/core/core.js index cb3e506..a862030 100644 --- a/core/core.js +++ b/core/core.js @@ -12,11 +12,15 @@ import Markov from 'markov-generator' import fs from 'fs' import Logger from './logger.js' +// Пути к файлам +const data_path = 'data.json' +const config_path = 'config.yml' + /** Конфиг */ -let config = YAML.parse(fs.readFileSync('config.yml', 'utf8')) +let config = YAML.parse(fs.readFileSync(config_path, 'utf8')) // БД и файл проекта -const db = JSON.parse(fs.readFileSync('data.json', 'utf8')) +const db = JSON.parse(fs.readFileSync(data_path, 'utf8')) const project = JSON.parse(fs.readFileSync('package.json', 'utf8')) /** VK API */ @@ -27,7 +31,7 @@ const vk = new VK({token: config.vk_api.token, v: 5.130, apiLimit: 1}) * @param {object} data БД */ db.write = (data) => { - fs.writeFileSync('data.json', JSON.stringify(data, null, '\t')) + fs.writeFileSync(data_path, JSON.stringify(data, null, '\t')) } /** @@ -61,10 +65,10 @@ Logger.info(`Cortex Bot v${project.version}`) Logger.info('Подключение к VK API ...') // Перезагрузка конфигурации при её изменении -watchFile('./config.yml', async () => { +fs.watchFile(config_path, async () => { // Парсинг - config = YAML.parse(fs.readFileSync('config.yml', 'utf8')) + config = YAML.parse(fs.readFileSync(config_path, 'utf8')) // Запись в лог Logger.info('Конфигурация перезагружена') @@ -107,7 +111,7 @@ vk.updates.on('message_new', async ctx => { // Генерация текста // Если данных будет недостаточно произойдет ошибка <> - let sentence = new Markov(getChat().data, config.generation.min_words).makeChain() + let sentence = new Markov(ctx.chat.data, config.generation.min_words).makeChain() // Форматирование текста if (config.messages.format.to_lower_case) sentence = sentence.toLowerCase() @@ -115,17 +119,17 @@ vk.updates.on('message_new', async ctx => { if (config.messages.format.end_dot) sentence = sentence + '.' // Предупреждение при превышении лимита символов - if (sentence.split('').length > config.messages.symbols_limit) return Logger.warn(`#${ctx.chatId} Превышен лимит символов (${sentence.split('').length}/${config.messages.symbols_limit})`) + if (sentence.split('').length > config.messages.max_symbols) return Logger.warn(`#${ctx.chatId} Превышен лимит символов (${sentence.split('').length}/${config.messages.symbols_limit})`) // Статус набора текста await ctx.setActivity() // Задержка перед отправкой сообщений - // Высчитывается на основе количества символов в сгенерированном тексте для имитации написания + // Высчитывается на основе количества символов в тексте для имитации написания await new Promise(resolve => setTimeout(resolve, sentence.split('').length * 2 + '00')) // Отправка сообщения - await ctx.send(sentence) + ctx.send(sentence) } }) diff --git a/core/logger.js b/core/logger.js index 366c04b..1a7fada 100644 --- a/core/logger.js +++ b/core/logger.js @@ -30,7 +30,7 @@ export default class Logger { * @param {string} text - Текст сообщения */ static info(text) { - console.log(`${getTimeString()} INFO - ${text}`.replace(/\n/g, '\\n')) + console.log(`${getTimeString()} INFO - ${text}`) } /** diff --git a/package.json b/package.json index fc933bf..8f3f404 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cortex-bot", - "version": "0.6.3", + "version": "0.6.4", "description": "vk delirium generator bot", "main": "core/core.js", "type": "module", @@ -14,7 +14,9 @@ "keywords": [ "vk", "bot", - "markov" + "markov", + "delirium", + "generator" ], "author": "hepller", "license": "MIT",