User:Unsane/MirLua/m database: Difference between revisions
Jump to navigation
Jump to search
m (→GetSetting) |
m (→WriteSetting) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 88: | Line 88: | ||
===AllSettings=== | ===AllSettings=== | ||
Итератор для | Итератор для секции настроек | ||
;Параметры | ;Параметры | ||
: ''hContact'' | : ''hContact'' | ||
Line 95: | Line 95: | ||
: '''''module''''' | : '''''module''''' | ||
:: Тип: '''string''' | :: Тип: '''string''' | ||
:: Название | :: Название секции | ||
;Результат | ;Результат | ||
: Тип: '''number''' | : Тип: '''number''' | ||
: Возвращает | : Возвращает имя секции . Список оканчивается элементом со значением '''nil''' | ||
;Пример | ;Пример | ||
{{Content:MirLua/Example||code= | {{Content:MirLua/Example||code= | ||
Line 116: | Line 116: | ||
: '''''module''''' | : '''''module''''' | ||
:: Тип: '''string''' | :: Тип: '''string''' | ||
:: Название | :: Название секции | ||
: '''''setting''''' | : '''''setting''''' | ||
:: Тип: '''string''' | :: Тип: '''string''' |
Latest revision as of 23:56, 7 December 2015
Предоставляет доступ к данным и контактам в базе данных профиля пользователя.
Подключение модуля: 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')