Теперь от теории к практике

Однажды мне надоел внешний вид окна с логом сообщений Алисы. Он был грустно-черно-белый. В шаблонах html изменить можно было только глобально цвет всех сообщений. Это же не интересно правда? К тому же все сообщения были только от Алисы, либо от пользователя который дает команды Алисе. Поскольку в моей системе таких пользователей только один (Это я),мне пришла в голову идея разделить сообщения от разных подсистем умного дома. Ну что бы не все сообщения шли от Алисы, а от системы вентиляции свои сообщения, от системы управляемых электросистем свои и т.д. Покопавшись в функции say() я заметил что в ней принудительно прописывается ID пользователя Алисы - именно поэтому все сообщения в логе отображаются от нее. Поскольку функцию менять нельзя, потому что все равно при обновлении системы изменения потеряются, я создал свою функцию saydym() которая в точности повторяет стандартную say(), но ID пользователя в ней можно задать какой угодно. Создав пользователей с именами подсистем умного дома я получил возможность персонифицировать сообщения. Теперь когда произносится время каждый час, в логе оно отображено от имени пользователя "Часы", а когда пропадает связь с глобальной сетью - от пользователя "LAN". Таких пользователей может быть сколько угодно. Алиса тоже никуда не делась - ее ID как и раньше 0! Есть в функции saydym() еще один приятный бонус. Вам не надоел однообразный "бим-бом" при сообщениях? Мне надоел. Покопавшись в сети я "нарыл" еще несколько прикольных звучков. Можно конечно переименовать свой файл в dingdong.mp3 и он будет проигрываться вместо стандартного, но я решил получить выбор, поэтому в моей функции можно задавать один из четырех звуковых файлов. Кроме того существуют моменты когда нужно заставить систему гарантировано не проигрывать этот файл, а просто произнести сообщенние - такая возможность тоже есть.
Теперь о формате вызова функции - все осталось как в стандартном say(), но функция получила два дополнительных аргумента на входе. Синтаксис следующий: saydym('текст сообщения',аргумент1,аргумент2,аргумент3). Теперь подробнее:
"Текст сообщения" - ну тут пояснения не нужны
Аргумент1 - как и в родной функции это уровень важности сообщения
Аргумент2 - выбор файла "бим-бом" где:
0 - файл "бим-бом" принудительно не проигрывается
1 - стандартный файл dingdong.mp3
2 - файл tone1.mp3
3 - файл tone2.mp3
4 - файл tone3.mp3
Свои файлы нужно положить в папку /sounds и дать им соответствующие названия. Естественно звуковые файлы должны иметь сжатие mp3.
Аргумент3 - ID пользователя системы. Этот ID можно увидеть после установки моего модуля в систему, зайдя в панель управления, вкладка "Программы", пункт "ChatBox by DYM". (Про модуль ниже)
Ну вот - лог стал информативнее, но все еще довольно грустный. Решил я его раскрасить. Для этого пришлось написать свой модуль повторяющий функции стандартного shoutbox, плюс выполняющий мои задумки. Такой модуль был создан. Скрин его работы:

Теперь при обновлениях системы, мой модуль не затирается и продолжает работать.
О модуле:
Модуль может отображать имена пользователей, либо их аватары. Аватары добавляются в стандартном редакторе пользователей в панели управления. Если аватар не установлен модуль отображает Имя пользователя, иначе аватар. Цвет строки сообщения от каждого конкретного пользователя задается тоже в редакторе пользователей в строке "Хост" (Не по назначению конечно поле использовал, но это позволило не вносить изменений в таблицу). Задается значение в стандартном html формате #00FF00.
Теперь об использовании модуля. Все просто. Используется так же как и стандартный лог Алисы. Создайте в домашних страницах html блок с содержимым [#module name="app_chatbox" limit="50" reverse="1" mobile="1"#]
Модуль выложил для ознакомления. Возмоно позже он появится в маркете. Кому интересно вы можете скачать модуль здесь http://kda.kiev.ua/app_chatbox.zip. Хочу предупредить - у меня МЖД установлен на Linux. Работоспособность под Win не проверялась, но думаю все будет работать. Для установки распакуйте архив с соблюдением папок в корень МЖД.
Обсуждать будем здесь. Жду замечаний и предложений.