|
|
Line 26: |
Line 26: |
| |- | | |- |
| |} | | |} |
| | |
|
| |
|
| == Модули == | | == Модули == |
| === m_core ===
| | * [[Plugin:MirLua/ru/m_core|m_core]] |
| Этот модуль изначально импортирован в глобальную таблицу и доступен через переменную '''m''' в любом модуле.
| |
| Он предоставляет доступ к основным возможностям ядра Miranda NG.
| |
| {| class="wikitable collapsible collapsed"
| |
| !colspan="3"|Именованные события
| |
| |-
| |
| |CreateHookableEvent
| |
| |Создает именованное событие
| |
| |<code>local hEvent = m.CreateHookableEvent('MyEvent')</code>
| |
| |-
| |
| |HookEvent
| |
| |Создает подписку на именованное событие
| |
| |<code>local hHook = m.HookEvent('MyEvent', function(w, l)
| |
| print('MyEvent is raised!')
| |
| end)</code>
| |
| |-
| |
| |NotifyEventHooks
| |
| |Оповещает всех подписчиков именованного события
| |
| |<code>m.NotifyEventHooks(hEvent)</code>
| |
| |-
| |
| |UnhookEvent
| |
| |Удаляет подписку на именованное событие
| |
| |<code>m.UnhookEvent(hHook)</code>
| |
| |-
| |
| |DestroyHookableEvent
| |
| |Удаляет именованное событие
| |
| |<code>m.DestroyHookableEvent(hEvent)</code>
| |
| |-
| |
| !colspan="3"|Именованные сервисные функции
| |
| |-
| |
| |CreateServiceFunction
| |
| |Создает именованную сервисную функцию
| |
| |<code>local hService = m.CreateServiceFunction('MyService', function(w, l)
| |
| print('MyServiceis called!')
| |
| end)</code>
| |
| |-
| |
| |CallService
| |
| |Вызывает именованную сервисную функцию
| |
| |<code>m.CallService('MyService', 0, 0)</code>
| |
| |-
| |
| |ServiceExists
| |
| |Проверяет существование сервиса по имени
| |
| |<code>if m.ServiceExists('MyService') then
| |
| m.CallService('MyService')
| |
| end
| |
| </code>
| |
| |-
| |
| |DestroyServiceFunction
| |
| |Удаляет сервисную функцию
| |
| |<code>m.DestroyServiceFunction(hService)</code>
| |
| |-
| |
| !colspan="3"|Остальное
| |
| |-
| |
| |IsPluginLoaded
| |
| |Проверяет загружен ли плагин по его muuid
| |
| |<code>if m.IsPluginLoaded('{F0FDF73A-753D-499d-8DBA-336DB79CDD41}') then
| |
| print('Advanced auto away plugin is loaded!')
| |
| end
| |
| </code>
| |
| |-
| |
| |Utf8DecodeA
| |
| |Конвертирует содержимое lua строки в ANSI
| |
| |<code>m.CallService("Quotes/Import", 0, Utf8DecodeA('c:\\quotes.xml'))</code>
| |
| |-
| |
| |Utf8DecodeW
| |
| |Конвертирует содержимое lua строки в Unicode
| |
| |<code>m.CallService("Popup/ShowMessageW", m.Utf8DecodeW('Hello, World!'), 2)</code>
| |
| |- | |
| |Translate
| |
| |Переводит строку на язык текущего языкового пакета
| |
| |<code>m.Translate('Exit')</code>
| |
| |-
| |
| |ReplaceVariables
| |
| |Заменяет переменные ядра Miranda NG в строке
| |
| |<code>local profileName = m.ReplaceVariables('%miranda_profilename%')</code>
| |
| |-
| |
| |}
| |
|
| |
|
| === m_database ===
| |
| Предоставляет доступ к данным и контактам в профиле пользователя.
| |
| <br/>Подключение модуля: <code>local db = require('m_database')</code>
| |
| {| class="wikitable collapsible collapsed"
| |
| !colspan="3"|Контакты
| |
| |-
| |
| |AllContacts
| |
| |Итератор для списка контактов протокола или всех контактов, если в качестве параметра передан nil
| |
| |<code>for hContact in db.AllContacts(proto.Name) do
| |
| print(db.GetSetting(hContact, proto.Name, 'Nick'))
| |
| end
| |
| </code>
| |
| |-
| |
| !colspan="3"|События
| |
| |-
| |
| |GetEventCount
| |
| |Возвращает количество событий для контакта
| |
| |<code>db.GetEventCount(hContact)</code>
| |
| |-
| |
| |AllEvents
| |
| |Итератор для списка событий контакта
| |
| |<code>for hEvent in db.AllEvents(hContact) do
| |
| local event = totable(hEvent, "DBEVENTINFO")
| |
| print(event.Blob)
| |
| end
| |
| </code>
| |
| |-
| |
| !colspan="3"|Настройки
| |
| |-
| |
| |WriteSetting
| |
| |Сохраняет значение настройки
| |
| |db.WriteSetting(nil, 'test', 'some', true)
| |
| |-
| |
| |GetSetting
| |
| |Возвращает значение настройки
| |
| |db.GetSetting(nil, 'test', 'some')
| |
| |-
| |
| |AllSettings
| |
| |Итератор для списка настроек из секции контакта или из глобальной секции, если в качестве параметра передан nil
| |
| |<code>for setting in db.AllSettings(nil, 'CList') do
| |
| local message = string.format("%s/%s = ", 'CList', setting, ...)
| |
| .. db.GetSetting(nil, 'CList', setting)
| |
| print(message)
| |
| end
| |
| </code>
| |
| |-
| |
| |DeleteSetting
| |
| |Удаляет настройку
| |
| |db.DeleteSetting(nil, 'test', 'some')
| |
| |-
| |
| |DeleteModule
| |
| |Удаляет секцию
| |
| |db.DeleteModule(nil, 'test')
| |
| |-
| |
| |}
| |
|
| |
|
| == Примеры == | | == Примеры == |