Las variables globales disponibles son las siguientes:
Es un array que aloja la información sobre los módulos, en particular se usa ::modules($modulo,datos) para guardar datos específicos al módulo, donde los únicos "datos" permitidos son los que están descriptos en este documento. Estos datos serán borrados cuando se haga unload_module del módulo.
Esta variable deberá ser seteada por el módulo $modulo en cuestión indicando en una línea de no más de 70 caracteres un resumen que sea capás de contestar ¿Para qué sirve este módulo?.
Esta variable también deberá ser seteada por el módulo $modulo indicando el autor con el siguiente formato: "Nombre Completo <usuario@servidor>", donde usuario@servidor es el email del autor, por ejemplo, Francisco Castro <fcr@adinet.com.uy>.
Otra variable que el módulo $modulo deberá setear indicando la versión del módulo, un valor posible podría ser: 2.6.20-rc2, o 1.ACZ, o white russian o usando el formato que usted quiera recordando que será mostrado a la derecha del texto "versión: ", y por lo tanto resultaría redundante poner el texto versión adentro de esta variable.
Como el módulo deberá alojar sus variables en un espacio de nombres único, es por medio de esta variable que el módulo indica a Uma cual es el espacio de nombres que está siendo usado, de forma que al descargar el módulo de RAM se pueda borrar automáticamente el espacio de nombres.
Guarda el nombre del procedimiento del objeto de conexión al IRC, es muy útil porque entre otras cosas permite hacer cosas raras, por ejemplo kickear a un usuario.
Y algunos procedimientos útiles disponibles en el espacio de nombres raíz son los siguientes:
Devuelve 1 si el módulo modulo está cargado en memoria, y 0 en caso contrario.
Ejecuta el comándo comando del módulo modulo desde el espacio de nombres actual, pasándole los parámetros opcionales. En caso de que el módulo modulo no esté cargado, run se encarga de cargarlo.
Para llamar a un procedimiento de un módulo es conveniente usar ::event::run en lugar de llamarlo directamente.
Carga el módulo modulo en memoria. Si el módulo no existe, no es legible o ya estaba cargado entonces "tira un error", por lo cual es sumamente conveniente informarse usando ::loader::is_loaded antes que nada. Los mensajes de error los devuelve usando return con código ok, con la única excepción de que ocurra un error al hacer el source del módulo, en cuyo caso el error generado tradicionalmente con -code lo que sea que tire el source.
Saca al módulo modulo de la memoria. En caso de que el módulo no se encuentre presente o el módulo no quiera o permita descargarse entonces se devuelve un error de la misma forma que load_module usando return con código ok.
Se encarga de enviar un mensaje al destinatario indicado en destino, este parámetro puede ser opcional en el caso de que sea llamado dentro del foco de un privmsg.
::event::add devuelve el event_id del evento recién creado.
::event::remove -module pepito borraría todos los hooks creados
con ::event::add -module pepito …
Orden que permite al desarrollador usar bases de datos. Más información aquí, y su API aquí.
En este espacio se guardan los valores de configuración, más información en configuración.
Cada módulo tendrá su espacio de nombres para poder guardar sus cosas. Si el módulo se llama pepito, su espacio de nombres se deberá llamar ::modules::pepito.
Aquí se encontrarán las funciones necesarias para el manejo (cargado, descargado, lista, saber si existe, etc) de módulos.
El sistema de eventos se encuentra bajo este espacio de nombres, y los procedimientos necesarios están aquí definidos.
| Navegador de: Uma |
| Manuales: | Comandos básicos, ::geodesy, Módulo auth, Módulo badwords, Módulo chanlog, Módulo changes, Módulo distancia, Módulo fresnel, Módulo fspl, Módulo google, Módulo karma, Módulo module, Módulo msg, Módulo phrasedb, Módulo remoteban, Módulo rpc, Módulo sed, Módulo url, Módulo userlist. |
| | Instalación, Configuración. |
| Desarrollo: | API, BugTrack, TODO. |
| Otro: | Frases célebres, Portada. |