User:Unsane/MirLua/m database: Difference between revisions
Jump to navigation
Jump to search
(Created page with "Предоставляет доступ к данным и контактам в профиле пользователя. <br/>Подключение модуля: <code>local...") |
mNo edit summary |
||
Line 1: | Line 1: | ||
Предоставляет доступ к данным и контактам в профиле пользователя. | Предоставляет доступ к данным и контактам в профиле пользователя. | ||
<br/>Подключение модуля: <code>local db = require('m_database')</code> | <br/>Подключение модуля: <code>local db = require('m_database')</code> | ||
==Контакты== | |||
===AllContacts=== | |||
Итератор для списка контактов | |||
;Параметры | |||
| | : ''name'' | ||
print(db.GetSetting(hContact, | :: Тип: '''string''' | ||
:: Имя протокола | |||
;Результат | |||
: Тип: '''number''' | |||
: Возвращает номер контакта. Список оканчивается элементом со значением '''nil''' | |||
;Пример | |||
{{Content:MirLua/Example||code= | |||
for hContact in db.AllContacts('JABBER_1') do | |||
print(db.GetSetting(hContact, 'JABBER_1', 'Nick')) | |||
end | end | ||
}} | |||
==События== | |||
===GetEventCount=== | |||
Количество событий | |||
;Параметры | |||
| | : ''hContact'' | ||
:: Тип: '''number''' | |||
:: Номер контакта | |||
;Результат | |||
| | : Тип: '''number''' | ||
: Возвращает количество событий для контакта | |||
;Пример | |||
{{Content:MirLua/Example||code=db.GetEventCount(hContact)}} | |||
===AllEvents=== | |||
Итератор для списка событий контакта | |||
;Параметры | |||
: '''''hContact''''' | |||
:: Тип: '''number''' | |||
:: Номер контакта | |||
;Результат | |||
: Тип: '''number''' | |||
: Возвращает номер события. Список оканчивается элементом со значением '''nil''' | |||
;Пример | |||
{{Content:MirLua/Example||code=for hEvent in db.AllEvents(hContact) do | |||
local event = totable(hEvent, "DBEVENTINFO") | local event = totable(hEvent, "DBEVENTINFO") | ||
print(event.Blob) | print(event.Blob) | ||
end | end | ||
}} | |||
==Настройки== | |||
===WriteSetting=== | |||
Сохраняет значение в БД | |||
;Параметры | |||
|db.WriteSetting(nil, 'test', 'some', true) | : ''hContact'' | ||
:: Тип: '''number''' | |||
:: Номер контакта или '''nil''' | |||
: '''''module''''' | |||
|db.GetSetting(nil, 'test', 'some') | :: Тип: '''string''' | ||
:: Название модуля | |||
: '''''setting''''' | |||
:: Тип: '''string''' | |||
| | :: Название настройки | ||
;Результат | |||
: Тип: '''number''' | |||
: Возвращает '''0''' в случае успеха, иначе '''1''' | |||
;Пример | |||
{{Content:MirLua/Example||code=db.WriteSetting(nil, 'test', 'some', true)}} | |||
===GetSetting=== | |||
Возвращает значение настройки | |||
;Параметры | |||
: ''hContact'' | |||
:: Тип: '''number''' | |||
:: Номер контакта или '''nil''' | |||
: '''''module''''' | |||
:: Тип: '''string''' | |||
:: Название модуля | |||
: '''''setting''''' | |||
:: Тип: '''string''' | |||
:: Название настройки | |||
: ''value'' | |||
:: Тип: '''number''', '''string''' | |||
:: Значание по-умолчаниию | |||
;Результат | |||
: Тип: '''number''' | |||
: Возвращает значение настройки или значание по-умолчаниию | |||
;Пример | |||
{{Content:MirLua/Example||code=db.GetSetting(nil, 'test', 'some')}} | |||
===AllSettings=== | |||
Итератор для списка настроек из секции контакта или из глобальной секции, если в качестве параметра передан nil | |||
;Параметры | |||
: ''hContact'' | |||
:: Тип: '''number''' | |||
:: Номер контакта или '''nil''' | |||
: '''''module''''' | |||
:: Тип: '''string''' | |||
:: Название модуля | |||
;Результат | |||
: Тип: '''number''' | |||
: Возвращает номер события. Список оканчивается элементом со значением '''nil''' | |||
;Пример | |||
{{Content:MirLua/Example||code= | |||
for setting in db.AllSettings(nil, 'CList') do | |||
local message = string.format("%s/%s = ", 'CList', setting, ...) | local message = string.format("%s/%s = ", 'CList', setting, ...) | ||
.. db.GetSetting(nil, 'CList', setting) | .. db.GetSetting(nil, 'CList', setting) | ||
print(message) | print(message) | ||
end | end | ||
}} | |||
===DeleteSetting=== | |||
Удаляет настройку | |||
|db.DeleteSetting(nil, 'test', 'some') | ;Параметры | ||
: ''hContact'' | |||
:: Тип: '''number''' | |||
:: Номер контакта или '''nil''' | |||
|db.DeleteModule(nil, 'test') | : '''''module''''' | ||
:: Тип: '''string''' | |||
:: Название секции | |||
: '''''setting''''' | |||
:: Тип: '''string''' | |||
:: Название настройки | |||
;Результат | |||
: Тип: '''number''' | |||
: Возвращает '''0''' в случае успеха, иначе '''1''' | |||
;Пример | |||
{{Content:MirLua/Example||code=db.DeleteSetting(nil, 'test', 'some')}} | |||
===DeleteModule=== | |||
Удаляет секцию | |||
;Параметры | |||
: ''hContact'' | |||
:: Тип: '''number''' | |||
:: Номер контакта или '''nil''' | |||
: '''''module''''' | |||
:: Тип: '''string''' | |||
:: Название секции | |||
;Результат | |||
: Тип: '''number''' | |||
: Возвращает '''0''' в случае успеха, иначе '''1''' | |||
;Пример | |||
{{Content:MirLua/Example||code=db.DeleteModule(nil, 'test')}} |
Revision as of 23:24, 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.Blob)
end
Настройки
WriteSetting
Сохраняет значение в БД
- Параметры
- hContact
- Тип: number
- Номер контакта или nil
- module
- Тип: string
- Название модуля
- setting
- Тип: string
- Название настройки
- Результат
- Тип: number
- Возвращает 0 в случае успеха, иначе 1
- Пример
db.WriteSetting(nil, 'test', 'some', true)
GetSetting
Возвращает значение настройки
- Параметры
- hContact
- Тип: number
- Номер контакта или nil
- module
- Тип: string
- Название модуля
- setting
- Тип: string
- Название настройки
- value
- Тип: number, string
- Значание по-умолчаниию
- Результат
- Тип: number
- Возвращает значение настройки или значание по-умолчаниию
- Пример
db.GetSetting(nil, 'test', 'some')
AllSettings
Итератор для списка настроек из секции контакта или из глобальной секции, если в качестве параметра передан nil
- Параметры
- 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
DeleteSetting
Удаляет настройку
- Параметры
- hContact
- Тип: number
- Номер контакта или nil
- module
- Тип: string
- Название секции
- setting
- Тип: string
- Название настройки
- Результат
- Тип: number
- Возвращает 0 в случае успеха, иначе 1
- Пример
db.DeleteSetting(nil, 'test', 'some')
DeleteModule
Удаляет секцию
- Параметры
- hContact
- Тип: number
- Номер контакта или nil
- module
- Тип: string
- Название секции
- Результат
- Тип: number
- Возвращает 0 в случае успеха, иначе 1
- Пример
db.DeleteModule(nil, 'test')