Plugin:MirLua/Module/m database

From Miranda NG
< Plugin:MirLua
Revision as of 22:34, 10 December 2015 by RMN (talk | contribs) (Plugin:MirLua/en/m_database - bad English - needs revision)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Allows you to access data and contacts in user profile database.

Include module: local db = require('m_database')

<translate> Note</translate>
Parameters written in bold italics are obligatory.


Contacts

AllContacts

Iterator for list of contacts.

Parameters
name
Type: string
Protocol name.
Result
Type: number
Returns contact number. The list ends in element with nil value.
Example
for hContact in db.AllContacts('JABBER_1') do
  print(db.GetSetting(hContact, 'JABBER_1', 'Nick'))
end


Events

GetEventCount

Number of events for a contact.

Parameters
hContact
Type: number
Contact number.
Result
Type: number
Returns number of events.
Example
db.GetEventCount(hContact)

AllEvents

Iterator for contact's event list from the first to the last.

Parameters
hContact
Type: number
Contact number.
Result
Type: number
Returns event number. The list ends in element with nil value.
Example
for hEvent in db.AllEvents(hContact) do
  local event = totable(hEvent, "DBEVENTINFO")
  print(event.Timestamp, event.Blob)
end

AllEventsFromEnd

Iterator for contact's event list from the last to the first.

Parameters
hContact
Type: number
Contact number.
Result
Type: number
Returns event number. The list ends in element with nil value.
Example
for hEvent in db.AllEventsFromEnd(hContact) do
  local event = totable(hEvent, "DBEVENTINFO")
  print(event.Timestamp, event.Blob)
end


Settings

GetSetting

Returns value of a setting.

Parameters
hContact
Type: number
Contact number or nil.
module
Type: string
Module name.
setting
Type: string
Setting name.
value
Type: number, string
Default value.
Result
Type: number
Returns value of a setting or default value or nil.
Example
db.GetSetting(nil, 'test', 'some')

AllSettings

Iterator for module (group of settings).

Parameters
hContact
Type: number
Contact number or nil.
module
Type: string
Module name.
Result
Type: number
Returns module name. The list ends in element with nil value.
Example
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

Saves a value to database.

Parameters
hContact
Type: number
Contact number or nil.
module
Type: string
Module name.
setting
Type: string
Setting name.
Result
Type: boolean
Returns true in case of success, else false.
Example
db.WriteSetting(nil, 'test', 'some', true)

DeleteSetting

Deletes a setting.

Parameters
hContact
Type: number
Contact number or nil.
module
Type: string
Module name.
setting
Type: string
Setting name.
Result
Type: boolean
Returns true in case of success, else false.
Example
db.DeleteSetting(nil, 'test', 'some')

DeleteModule

Deletes a module (group of settings).

Parameters
hContact
Type: number
Contact number or nil.
module
Type: string
Module name.
Result
Type: boolean
Returns true in case of success, else false.
Example
db.DeleteModule(nil, 'test')