Plugin:MirLua/ru/m database: Difference between revisions

From Miranda NG
< MirLua‎ | MirLua
Jump to navigation Jump to search
 
(8 intermediate revisions by the same user not shown)
Line 24: Line 24:
   print(db.GetSetting(hContact, 'JABBER_1', 'Nick'))
   print(db.GetSetting(hContact, 'JABBER_1', 'Nick'))
end
end
}}
=== GetContactInfo ===
Контактная информация
;Параметры
: '''''hContact'''''
:: Тип: '''number'''
:: Номер контакта
:'''''field'''''
::
{| class="wikitable"
!Тип
|'''number'''
|'''string'''
|-
!Описание
|тип поля
|название поля
|-
!Значения
|1-16
|FirstName, LastName, Nick, CustomNick, Email, City, State, Country, Phone, Homepage, About, Gender, Age, FullName, Uid, DisplayName
|}
;Результат
: Тип: '''string'''
: Значение поля или '''nil'''
;Пример
{{Content:MirLua/Example|code=local email = db.GetContactInfo(hContact, 'Email')
}}
}}


Line 49: Line 77:
: Возвращает номер события. Список оканчивается элементом со значением '''nil'''
: Возвращает номер события. Список оканчивается элементом со значением '''nil'''
;Пример
;Пример
{{Content:MirLua/Example|code=for hEvent in db.Events(hContact) do
{{Content:MirLua/Example|code=
   local event = totable(hEvent, "DBEVENTINFO")
for hEvent in db.Events(hContact) do
   local event = DBEVENTINFO.new(hEvent)
   print(event.Timestamp, event.Blob)
   print(event.Timestamp, event.Blob)
end
end
Line 67: Line 96:
{{Content:MirLua/Example|code=
{{Content:MirLua/Example|code=
for hEvent in db.EventsFromEnd(hContact) do
for hEvent in db.EventsFromEnd(hContact) do
   local event = totable(hEvent, "DBEVENTINFO")
   local event = DBEVENTINFO.new(hEvent)
   print(event.Timestamp, event.Blob)
   print(event.Timestamp, event.Blob)
end
end
Line 86: Line 115:
:: Название настройки
:: Название настройки
: ''value''
: ''value''
:: Тип: '''number''', '''string'''
:: Тип: ''any''
:: Значание по умолчаниию
:: Значание по умолчаниию
;Результат
;Результат
Line 128: Line 157:
:: Название настройки
:: Название настройки
: '''''value'''''
: '''''value'''''
:: Тип: '''boolean'''/'''number'''/'''string'''/'''table'''(byte array)
:: Тип: '''boolean''', '''number''', '''string''', '''table''' (массив байт)
:: Значение настройки
:: Значение настройки
: ''type''
:: Тип: '''number'''
:: Тип настройки
;Результат
;Результат
: Тип: '''boolean'''
: Тип: '''boolean'''
Line 168: Line 200:
;Пример
;Пример
{{Content:MirLua/Example|code=db.DeleteModule(nil, 'test')}}
{{Content:MirLua/Example|code=db.DeleteModule(nil, 'test')}}
== Структуры ==
=== DBEVENTINFO ===
Таблица, описывающая событие в БД
;Поля
: '''''Module'''''
:: Тип: '''string'''
:: Название аккаунта
: '''''Timestamp'''''
:: Тип: '''number'''
:: Отметка времени
: '''''Type'''''
:: Тип: '''number'''
:: Тип события
: '''''Flags'''''
:: Тип: '''number'''
:: Флаги


[[Category:Руководства]]
[[Category:Руководства]]

Latest revision as of 00:53, 12 September 2017

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

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

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


Контакты

Contacts

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

Параметры
name
Тип: string
Имя протокола
Результат
Тип: function
Возвращает функцию-итератор для перебора номеров контактов. Список оканчивается элементом со значением nil
Пример
for hContact in db.Contacts('JABBER_1') do
  print(db.GetSetting(hContact, 'JABBER_1', 'Nick'))
end

GetContactInfo

Контактная информация

Параметры
hContact
Тип: number
Номер контакта
field
Тип number string
Описание тип поля название поля
Значения 1-16 FirstName, LastName, Nick, CustomNick, Email, City, State, Country, Phone, Homepage, About, Gender, Age, FullName, Uid, DisplayName
Результат
Тип: string
Значение поля или nil
Пример
local email = db.GetContactInfo(hContact, 'Email')

События

GetEventCount

Количество событий для контакта

Параметры
hContact
Тип: number
Номер контакта
Результат
Тип: number
Возвращает количество событий
Пример
db.GetEventCount(hContact)

Events

Итератор для списка событий контакта от первого к последнему

Параметры
hContact
Тип: number
Номер контакта
Результат
Тип: number
Возвращает номер события. Список оканчивается элементом со значением nil
Пример
for hEvent in db.Events(hContact) do
  local event = DBEVENTINFO.new(hEvent)
  print(event.Timestamp, event.Blob)
end

EventsFromEnd

Итератор для списка событий контакта от последнего к первому

Параметры
hContact
Тип: number
Номер контакта
Результат
Тип: number
Возвращает номер события. Список оканчивается элементом со значением nil
Пример
for hEvent in db.EventsFromEnd(hContact) do
  local event = DBEVENTINFO.new(hEvent)
  print(event.Timestamp, event.Blob)
end

Настройки

GetSetting

Возвращает значение настройки

Параметры
hContact
Тип: number
Номер контакта или nil
module
Тип: string
Название модуля
setting
Тип: string
Название настройки
value
Тип: any
Значание по умолчаниию
Результат
Тип: number
Возвращает значение настройки или значание по умолчаниию или nil
Пример
db.GetSetting(nil, 'test', 'some')

Settings

Итератор для секции настроек

Параметры
hContact
Тип: number
Номер контакта или nil
module
Тип: string
Название секции
Результат
Тип: number
Возвращает имя секции. Список оканчивается элементом со значением nil
Пример
for setting in db.Settings(nil, 'CList') do
  local message = string.format("%s/%s = ", 'CList', setting, ...)
   .. db.GetSetting(nil, 'CList', setting)
  print(message)
end

WriteSetting

Сохраняет значение в БД

Параметры
hContact
Тип: number
Номер контакта или nil
module
Тип: string
Название секции
setting
Тип: string
Название настройки
value
Тип: boolean, number, string, table (массив байт)
Значение настройки
type
Тип: number
Тип настройки
Результат
Тип: boolean
Возвращает true в случае успеха, иначе false
Пример
db.WriteSetting(nil, 'test', 'some', true)

DeleteSetting

Удаляет настройку

Параметры
hContact
Тип: number
Номер контакта или nil
module
Тип: string
Название секции
setting
Тип: string
Название настройки
Результат
Тип: boolean
Возвращает true в случае успеха, иначе false
Пример
db.DeleteSetting(nil, 'test', 'some')

DeleteModule

Удаляет секцию

Параметры
hContact
Тип: number
Номер контакта или nil
module
Тип: string
Название секции
Результат
Тип: boolean
Возвращает true в случае успеха, иначе false
Пример
db.DeleteModule(nil, 'test')


Структуры

DBEVENTINFO

Таблица, описывающая событие в БД

Поля
Module
Тип: string
Название аккаунта
Timestamp
Тип: number
Отметка времени
Type
Тип: number
Тип события
Flags
Тип: number
Флаги