	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>