-
Notifications
You must be signed in to change notification settings - Fork 0
ru_Module Overview
Вкратце, модуль m0ssion — это код на JavaScript, встраиваемый в Galaxy при каждом открытии страницы. Сложность модуля зависит от его назначения и фантазии разработчика. Модули можно писать как во встроенном в расширение редакторе, так и в своём собственном, после чего нужно просто вставить код в редактор, задать модулю имя и сохранить его. Существующие модули тоже можно редактировать.
Код модулей, за исключением привязанных событий, исполняется сразу при загрузке страницы Galaxy. Модули выполняются последовательно, в том порядке, в котором они следуют в панели управления. Привязанные события также выполняются последовательно в том же порядке. Строка команды в модуле передаётся от обработчика к обработчику и может быть ими изменена, подробнее в ru_Events.
API у m0ssion не просто прост, а суперпрост. Модулям доступен объект m0s, у которого есть несколько методов — log, addEvent, sendToServer, sendToClient. Рассмотрим их поподробнее.
Синтаксис: m0s.log(message, level, module)
Метод позволяет делать записи в журнале работы m0ssion (вкладка Log в настройках). Используется в основном для отладки.
Синтаксис: m0s.addEvent(event, function (command))
Добавляет обработчик события. О событиях есть отдельная статья: ru_Events.
Синтаксис: m0s.sendToServer(command)
Отправляет команду серверу Galaxy в обход всех обработчиков.
Синтаксис: m0s.sendToClient(command)
Отправляет команду клиенту (имитирует команду от сервера).
Модули имеют прямой доступ к объектам самого чата: SYSTEM, COMMON, CONNECT, CHARACTER и другим. Эти модули позволяют взаимодействовать с чатом напрямую через его же функции. О том, какие объекты доступны пользователю и какие методы они предоставляют, смотрите в ru_GalaxyAPI.
Этот код, например, блокирует отображение погоды на всех планетах.
function no_weather (command)
{
if (command.indexOf('WEATHER') > -1)
return false;
else
return command;
}
m0s.add_event ('receive', no_weather);m0ssion framework by IDENT Software