From ef8de0f0f568ddf7b1b6cccc58662127f44da91f Mon Sep 17 00:00:00 2001 From: Hepller Date: Fri, 28 May 2021 02:12:58 +0300 Subject: [PATCH] v0.6.5 --- config.yml | 37 ++++++++++++++++--------------------- core/core.js | 16 ++++++++-------- package.json | 2 +- readme.md | 6 ++++++ 4 files changed, 31 insertions(+), 30 deletions(-) diff --git a/config.yml b/config.yml index b3fc076..bb4c636 100644 --- a/config.yml +++ b/config.yml @@ -7,30 +7,25 @@ vk_api: # Токен token: TOKEN -# Отправка сообщений -messages: - # Шанс генерации +# Основное +general: + # Шанс генерации сообщения chance: 20 + # Минимальное кол-во слов в тексте + min_words: 5 # Максимальное кол-во символов в тексте - symbols_limit: 250 + max_symbols: 250 # ID бесед, в которых бот активен active_chats: all - # Форматирование текста - format: - # Строчные буквы - to_lower_case: true - # Заглавная буква в начале - capitalize_word: true - # Точка в конце - end_dot: true - -# Генерация текста -generation: - # Минимальное кол-во слов в генерируемом тексте - min_words: 5 - -# Настройки БД -database: # Сохранение сообщений пользователей # * Одинаковые строки не сохраняются - data_save: true \ No newline at end of file + data_save: true + +# Формат текста +format: + # Строчные буквы + to_lower_case: true + # Заглавная буква в начале + capitalize_word: true + # Точка в конце + end_dot: true \ No newline at end of file diff --git a/core/core.js b/core/core.js index a862030..ed6f329 100644 --- a/core/core.js +++ b/core/core.js @@ -82,7 +82,7 @@ vk.updates.on('message_new', async ctx => { // Игнорирование лишних сообщений if (!ctx.isChat) return - if (config.messages.active_chats != 'all' && !config.messages.active_chats.includes(ctx.chatId)) return + if (config.general.active_chats != 'all' && !config.general.active_chats.includes(ctx.chatId)) return // Логирование сообщений Logger.info(`#${ctx.chatId} ${ctx.senderId} ${ctx.isOutbox ? '<-' : '->'} ${ctx?.text ? ctx.text : ''} ${ctx?.attachments}`) @@ -94,7 +94,7 @@ vk.updates.on('message_new', async ctx => { ctx.chat = await db.getChat(ctx.chatId) // Запись сообщения в БД - if (ctx.text && config.database.data_save && !ctx.chat.data.includes(ctx.text)) { + if (ctx.text && config.general.data_save && !ctx.chat.data.includes(ctx.text)) { // Запись в БД db.chats.find(chat => chat.id == ctx.chatId).data.push(ctx.text) @@ -104,22 +104,22 @@ vk.updates.on('message_new', async ctx => { } // Генерация сообщения с определенным шансом - if (Math.random() * 100 < config.messages.chance) { + if (Math.random() * 100 < config.general.chance) { // Сообщение в консоль о генерации текста Logger.info('Генерация текста ...') // Генерация текста // Если данных будет недостаточно произойдет ошибка <> - let sentence = new Markov(ctx.chat.data, config.generation.min_words).makeChain() + let sentence = new Markov(ctx.chat.data, config.general.min_words).makeChain() // Форматирование текста - if (config.messages.format.to_lower_case) sentence = sentence.toLowerCase() - if (config.messages.format.capitalize_word) sentence = sentence.charAt(0).toUpperCase() + sentence.slice(1) - if (config.messages.format.end_dot) sentence = sentence + '.' + if (config.format.to_lower_case) sentence = sentence.toLowerCase() + if (config.format.capitalize_word) sentence = sentence.charAt(0).toUpperCase() + sentence.slice(1) + if (config.format.end_dot) sentence = sentence + '.' // Предупреждение при превышении лимита символов - if (sentence.split('').length > config.messages.max_symbols) return Logger.warn(`#${ctx.chatId} Превышен лимит символов (${sentence.split('').length}/${config.messages.symbols_limit})`) + if (sentence.split('').length > config.general.max_symbols) return Logger.warn(`#${ctx.chatId} Превышен лимит символов (${sentence.split('').length}/${config.general.max_symbols})`) // Статус набора текста await ctx.setActivity() diff --git a/package.json b/package.json index 8f3f404..0edbc56 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cortex-bot", - "version": "0.6.4", + "version": "0.6.5", "description": "vk delirium generator bot", "main": "core/core.js", "type": "module", diff --git a/readme.md b/readme.md index 967b1e8..b0990de 100644 --- a/readme.md +++ b/readme.md @@ -4,6 +4,12 @@ --- +## Важная информация + +При недостатке данных для генерации может возникать ошибка `Maximum call stack size exceeded` + +--- + ## Лицензия Проект распространяется под лицензией **MIT**