User:Unsane/MirLua/m database

From Miranda NG
< User:Unsane/MirLua
Revision as of 23:56, 7 December 2015 by Unsane (talk | contribs) (→‎WriteSetting)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Предоставляет доступ к данным и контактам в базе данных профиля пользователя.
Подключение модуля: local db = require('m_database')

Контакты

AllContacts

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

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

События

GetEventCount

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

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

AllEvents

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

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

AllEventsFromEnd

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

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

Настройки

GetSetting

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

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

AllSettings

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

Параметры
hContact
Тип: number
Номер контакта или nil
module
Тип: string
Название секции
Результат
Тип: number
Возвращает имя секции . Список оканчивается элементом со значением nil
Пример
for setting in db.AllSettings(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
Название настройки
Результат
Тип: 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')