Plugin:MirLua/ru/m protocols

From Miranda NG
Jump to navigation Jump to search

Предоставляет функционал для работы с протоколами.

Подключение модуля: local protos = require('m_protocols')

<translate> Note</translate>
Параметры, выделенные жирным курсивом, являются обязательными.


Протоколы

GetProtocol

Получает протокол

Параметры
mixed
Тип number string
Описание номер контакта название протокола
Результат
Тип: userdata
Возвращает мета-таблицу PROTOCOLDESCRIPTOR
Пример
local proto = protos.GetProtocol({ Name = 'JABBER' })


Protocols

Итератор для протоколов

Параметры
Результат
Тип: function
Возвращает функцию-итератор для перебора протоколов. Список оканчивается элементом со значением nil
Пример
for proto in protos.Protocols() do
  print(proto.Name)
end


CallSendChain

Вызывает цепочку обработки для исходящего события (фильтрация, шифрование и т.п.)

Параметры
name
Тип: string
Имя сервиса
wParam
lParam
protos.CallSendChain(hContact, '/SendMsg', 0, a'Hello!')


CallReceiveChain

Вызывает цепочку обработки для входящего события (игнорирование, запись в бд и т.п.)

Параметры
name
Тип: string
Имя сервиса
wParam
lParam


Аккаунты

GetAccount

Получает аккаунт протокола

Параметры
mixed
Тип number string
Описание номер контакта название аккаунта (внутреннее)
Результат
Тип: userdata
Возвращает мета-таблицу PROTOACCOUNT
Пример
local proto = protos.GetProtocol({ Name = 'JABBER' })


Accounts

Итератор для аккаунтов

Параметры
mixed
Тип none string userdata
Описание без параметра название аккаунта (внутреннее) протокол
Результат
Тип: function
Возвращает функцию-итератор для перебора аккаунтов. Список оканчивается элементом со значением nil
Пример
for proto in protos.Protocols() do
  print(proto.Name)
end


Структуры

PROTOCOLDESCRIPTOR

Таблица, описывающая протокол

Поля
Name
Тип: string
Название протокола
Type
Тип: number
Тип протокола
Значения:
PROTOTYPE_IGNORE = 50
PROTOTYPE_PROTOCOL = 1000
PROTOTYPE_VIRTUAL = 1001
PROTOTYPE_ENCRYPTION = 2000
PROTOTYPE_FILTER = 3000
PROTOTYPE_TRANSLATION = 4000
PROTOTYPE_OTHER = 10000
Методы
Accounts
Параметры
Результат
Тип: function
Возвращает функцию-итератор для перебора списка аккаунтов. Список оканчивается элементом со значением nil

PROTOACCOUNT

Таблица, описывающая аккаунт протокола

Поля
ProtoName
Тип: string
Название протокола
ModuleName
Тип: string
Название аккаунта (внутреннее)
AccountName
Тип: string
Название аккаунта (пользовательское)
IsEnabled
Тип: boolean
Аккаунт включен?
IsVisible
Тип: boolean
Аккаунт отображается?
IsVirtual
Тип: boolean
Аккаунт виртуальный?
IsOldProto
Тип: boolean
Протокол поддерживает аккаунты?
Методы
CallService
Параметры
name
Тип: string
Имя сервиса
wParam
lParam
Результат
Тип: number
Возвращает результат выполнения сервиса или CALLSERVICE_NOTFOUND