1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
|
FoxEye's Lua reference manual.
Service here is either network name, channel ("name@service") or internal
service (":name").
Client name here is string "nick@service".
Lname here is registration name (login name).
foxeye.bind(table,mask,uflags,func)
- adds func into table for mask and uflags; uflags is text string
that consists of two parts (global and group) divided by '|' (what
means flags are matched if either global or group flags matched
alltogether) or by '&' (what means all global and group should be
matched); any part of uflags may be prepended with '-' too (what
means condition is negated, i.e. flags are matched if none of them
are present on client).
foxeye.unbind(table[,func])
- removes func from table; if func omitted then table cleared from
all Lua bindings.
nick = foxeye.client.nick(client)
- parses client name and returns nick of client.
foxeye.log(where,text)
- puts text into log flagged as warning with target string $where.
foxeye.error(text)
- puts text into error log.
foxeye.debug(text)
- puts text into debug log.
net.send(network,message)
- sends message to network.
net.message(client,text)
- sends message to client or direct chat.
net.notice(client,text)
- sends notice to client or direct chat.
ver = foxeye.version()
- returns FoxEye version string.
foxeye.event(type,lname[,value])
- stores event of some type (type is unique text string) for lname
with optional value.
time,value = foxeye.EFind(type,lname[,time])
- finds last event of some type for lname; if time is defined then
events older than that time will be ignored; returns 0,0 if event
was not found.
nick = net.ison(service[,lname])
- finds nick of lname on service; returns (nil) if lname is offline;
if lname is omitted (or nil) then returns own nick on service.
time,host,lname = net.check(network[,service[,nick]])
- checks if nick is currently online on service and returns his/her
last activity time, host string and lname; if nick omitted (or nil)
then returns when, string and who set the topic on channel.
timerid = foxeye.SetTimer(time,func)
- remembers a job to be executed after some delay; job is some named
function and delay is defined in soconds; returns timer identifier.
foxeye.ResetTimer(timerid)
- cancels a scheduled job by its timer identifier.
list = foxeye.client.find(mask[,flags[,field]])
- returns list of listfile records that matching mask; if parameter
flags is provided then returns only records that have all those
flags; if parameter field is provided then checks field to match to
mask (and if field is service name then checks flags for that name
to match to parameter flags); otherwise checks names and hostmasks
to match; if there is no matched records found then returns nil.
list = foxeye.client.hosts(lname)
- returns list of hosts in listfile record for given lname; if there
is no record of that name in listfile or record has no hosts then
returns nil.
list = foxeye.client.infos(lname)
- returns list of fields in listfile record for given lname; if there
is no record of that name in listfile or record has no fields then
returns nil; network names in returned list are prefixed with '@'
to make difference with custom field names.
flags = foxeye.client.have(lname[,service[,flagschange]])
- returns flags that are set on listfile record for given lname; if
service is "" then returns flags for direct service and if service
is nil then returns only global flags; if flagschange is given
then function attempts to made a change for flags (flagschange may
start from '-' to remove flags or from '+' to add flags) and then
returns new flags.
foxeye.client.set(lname,field[,value])
- attempts to set value for field on listfile record for given lname;
if field is "" then sets direct service console settings in some
form; if field is a network name then that name should be prefixed
with '@' to make difference with custom field names and custom
field name should not have '@' nor ':' within it.
value,flag,time = foxeye.client.get(lname,field)
- returns data of field on listfile record for given lname: value of
field, its associated flags (only if it's a network or service
name), and field expiration time; if field is "" then returns data
of direct service console settings; if field is nil then returns
lname (so does "unaliasing") and record creation time; if field is
a network name then that name should be prefixed with '@' to make
difference with custom field names.
Also any function that is registered by any module (and also 'port'
and 'module' from the core) is presented in interpreter as
ret = foxeye.function(param)
i.e. as function that gets one string parameter and returns one numeric
result. See documentation on functions for more details.
Any variable that is registered by any module (including any variable
from the core) is presented in interpreter with name where any dashes are
replaced with underscores (i.e. "logrotate-time" variable is presented in
Lua scripts as logrotate_time).
Copyright (C) 2010 Andrej N. Gritsenko <andrej@rep.kiev.ua>
|