Plugin:MirLua/ru/m database: Difference between revisions
Jump to navigation
Jump to search
m (→Events) |
mNo edit summary |
||
Line 172: | Line 172: | ||
;Пример | ;Пример | ||
{{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:Руководства]] |
Revision as of 00:38, 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
События
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
- Флаги