Pull to refresh

MaxXBot v1.6.1 — Обзор нововведений

Reading time2 min
Views755
image

Приветствую вас, хабралюди! Мне очень приятно, что встретили мой проект тепло. Всем тем, кому еще не довелось узнать о проекте, приглашаю к прочтению моего недавнего поста "MaxXBot — IM-бот каждому!". Решил продолжать писать во имя привлечения умных людей (может кто и станет следить за развитием программы, а мне будет приятно).

Сейчас проведу небольшой обзор новой версии программы 1.6.1. В предыдущем финальном релизе я сконцентрировался на разработке структуры расширяемой функциональности, но напрочь забыл о глубоком тестировании, в частности под промышленным напором с нагрузкой в сотни аккаунтов, правда и возможности реальной не было. После выхода 1.6 обнаружилась слабая сторона программы — нестабильная и медленная работа под нагрузкой, некоторые пользователи отмечали жуткую заторможеность особенно с заполненным визуальным логом, быстрая набивка лог-файла (за сутки он мог набрать 10 мб веса), «занятость» программы при обработке запросов — каждый аккаунт-пользователь должен был постоянно подавать запросы дабы отследить свободную секунду бота, неприятно, правда? Конечно для юзера с парой-тройкой друзей бот исправно делал свою работу (никаких тормозов и все в ажуре), но я должен был учесть интересы всех пользователей, чьи боты обслуживают народ пачками. К тому же мелкие баги портили картину. Нужна была доработка. Доработал, а каков результат?

В версии 1.6.1 я сделал работу над ошибками, подкорректировать визуальный лог, оптимизировать одновременную обработку запросов. Теперь лог имеет свои настройки вида, функции автоочистки и автоархивации своего файла, а запросы не ждут своей очереди и обрабатываются сразу при подаче.

Так же в новый релиз я просто не мог не добавить уникальную фишку — ей стала функция (можно даже громко сказать «технология») переменных. Суть в следующем — в любое готовое (даже уже обработанное сообщение) можно вставить функцию из командного плагина с параметром, извлеченным из первоначального запроса пользователя с помощью регулярного выражения (какой простор для фантазии-то). Функция вызывается строчкой в тексте ответа бота, например строчка %weath #в\s+(.*?)е#% запрашивает погоду для города, извлеченного из запроса «Скажи-ка мне, какая погода у нас в Мухосранске?». Эта технология позволяет соединить функциональность режима команд с другими режимами. Например из чат-модуля «Василий» вызвать функцию запроса курса валют, гороскопа, погоды и т.п. Пользователю будет приятно беседовать с Васей и попутно узнавать от него полезную информацию.

Для тех, кому лень было посещать сайт, на котором, кстати, постоянно выкладываются новые плагины — в дистрибутив были включены самые свежие — теперь их 19 штук. Вот только жалко, что никто кроме меня пока не занимается их разработкой. Некоторые обновлены специально к релизу, например плагин, загружающий статьи Википедии превратился в универсальный парсер текста со страниц любого сайта с поиском. Кому все-таки стало интересно, могут скачать и «обкатать» новую версию. Спасибо за внимание!
Tags:
Hubs:
Total votes 12: ↑9 and ↓3+6
Comments10

Articles