Plugin:MirLua/ru/m protocols: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
Dart Raiden (talk | contribs) No edit summary |
||
(2 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
{{PageLang|ru}} | {{PageLang|ru}} | ||
Предоставляет | Предоставляет функциональность для работы с протоколами. | ||
Подключение модуля: <code>local protos = require('m_protocols')</code> | Подключение модуля: <code>local protos = require('m_protocols')</code> | ||
Line 13: | Line 13: | ||
Получает протокол | Получает протокол | ||
;Параметры | ;Параметры | ||
: ''''' | : '''''mixed''''' | ||
:: | :: | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 26: | Line 26: | ||
;Результат | ;Результат | ||
: Тип: '''userdata''' | : Тип: '''userdata''' | ||
: Возвращает таблицу [[#PROTOCOLDESCRIPTOR|PROTOCOLDESCRIPTOR]] | : Возвращает мета-таблицу [[#PROTOCOLDESCRIPTOR|PROTOCOLDESCRIPTOR]] | ||
;Пример | ;Пример | ||
{{Content:MirLua/Example|code=local proto = protos.GetProtocol({ Name = 'JABBER' })}} | {{Content:MirLua/Example|code=local proto = protos.GetProtocol({ Name = 'JABBER' })}} | ||
Line 53: | Line 53: | ||
: ''wParam'' | : ''wParam'' | ||
: ''lParam'' | : ''lParam'' | ||
{{Content:MirLua/Example|code=protos.CallSendChain(hContact, '/SendMsg', 0, a'Hello!')}} | {{Content:MirLua/Example|code=protos.CallSendChain(hContact, '/SendMsg', 0, a'Hello!')}} | ||
=== CallReceiveChain === | |||
Вызывает цепочку обработки для входящего события (игнорирование, запись в бд и т.п.) | |||
; Параметры | |||
: '''''name''''' | |||
:: Тип: '''string''' | |||
:: Имя сервиса | |||
: ''wParam'' | |||
: ''lParam'' | |||
== Аккаунты == | == Аккаунты == | ||
=== GetAccount === | |||
Получает аккаунт протокола | |||
;Параметры | |||
: '''''mixed''''' | |||
:: | |||
{| class="wikitable" | |||
!Тип | |||
|'''number''' | |||
|'''string''' | |||
|- | |||
!Описание | |||
|номер контакта | |||
|название аккаунта (внутреннее) | |||
|} | |||
;Результат | |||
: Тип: '''userdata''' | |||
: Возвращает мета-таблицу [[#PROTOACCOUNT|PROTOACCOUNT ]] | |||
;Пример | |||
{{Content:MirLua/Example|code=local proto = protos.GetProtocol({ Name = 'JABBER' })}} | |||
=== Accounts === | |||
Итератор для аккаунтов | |||
;Параметры | |||
: '''''mixed''''' | |||
:: | |||
{| class="wikitable" | |||
!Тип | |||
|'''none''' | |||
|'''string''' | |||
|'''[[#PROTOCOLDESCRIPTOR|userdata]]''' | |||
|- | |||
!Описание | |||
|без параметра | |||
|название аккаунта (внутреннее) | |||
|протокол | |||
|} | |||
;Результат | |||
: Тип: '''function''' | |||
: Возвращает функцию-итератор для перебора аккаунтов. Список оканчивается элементом со значением '''nil''' | |||
;Пример | |||
{{Content:MirLua/Example|code= | |||
for proto in protos.Protocols() do | |||
print(proto.Name) | |||
end | |||
}} | |||
== Структуры == | == Структуры == | ||
=== PROTOCOLDESCRIPTOR === | === PROTOCOLDESCRIPTOR === | ||
Таблица, описывающая протокол | |||
;Поля | ;Поля | ||
: '''''Name''''' | : '''''Name''''' | ||
Line 82: | Line 134: | ||
::: ''PROTOTYPE_TRANSLATION'' = 4000 | ::: ''PROTOTYPE_TRANSLATION'' = 4000 | ||
::: ''PROTOTYPE_OTHER'' = 10000 | ::: ''PROTOTYPE_OTHER'' = 10000 | ||
;Методы | |||
: '''''Accounts''''' | |||
:: Параметры | |||
:: Результат | |||
::: Тип: '''function''' | |||
::: Возвращает функцию-итератор для перебора списка аккаунтов. Список оканчивается элементом со значением '''nil''' | |||
=== PROTOACCOUNT === | |||
Таблица, описывающая аккаунт протокола | |||
;Поля | |||
: '''''ProtoName''''' | |||
:: Тип: '''string''' | |||
:: Название протокола | |||
: '''''ModuleName''''' | |||
:: Тип: '''string''' | |||
:: Название аккаунта (внутреннее) | |||
: '''''AccountName''''' | |||
:: Тип: '''string''' | |||
:: Название аккаунта (пользовательское) | |||
: '''''IsEnabled''''' | |||
:: Тип: '''boolean''' | |||
:: Аккаунт включен? | |||
: '''''IsVisible''''' | |||
:: Тип: '''boolean''' | |||
:: Аккаунт отображается? | |||
: '''''IsVirtual''''' | |||
:: Тип: '''boolean''' | |||
:: Аккаунт виртуальный? | |||
: '''''IsOldProto''''' | |||
:: Тип: '''boolean''' | |||
:: Протокол поддерживает аккаунты? | |||
;Методы | ;Методы | ||
: '''''CallService''''' | : '''''CallService''''' | ||
Line 93: | Line 176: | ||
::: Тип: '''number''' | ::: Тип: '''number''' | ||
::: Возвращает результат выполнения сервиса или [[#CALLSERVICE_NOTFOUND|CALLSERVICE_NOTFOUND]] | ::: Возвращает результат выполнения сервиса или [[#CALLSERVICE_NOTFOUND|CALLSERVICE_NOTFOUND]] | ||
Latest revision as of 00:21, 6 November 2021
Предоставляет функциональность для работы с протоколами.
Подключение модуля: 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
- name
- Результат
- Тип: number
- Возвращает результат выполнения сервиса или CALLSERVICE_NOTFOUND
- Параметры