Next: Introduction, Previous: (dir), Up: (dir) [Contents][Index]
This is the colleen Reference Manual, version 2.2.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Aug 15 04:18:05 2022 GMT+0.
Next: Systems, Previous: The colleen Reference Manual, Up: The colleen Reference Manual [Contents][Index]
Colleen is a relatively large IRC bot framework with support for event handling, encapsulation through modules, command parsing, threading and more. However, it is also usable as a direct IRC bot straight away thanks to a plethora of modules that are included by default and should provide most of the functionality you might want out of a bot.
Colleen is no longer maintained and has been superseded by Maiden.
Load Colleen through Quicklisp or ASDF:
(ql:quickload :colleen)
(in-package :colleen)
And start it up!
(startup)
Colleen is managed through a bunch of configuration files. By default it has servers configured for TymoonNET and Freenode. First though, let's change the default nick to something that is less likely to be taken already. With that done we'll save our configuration to a file.
(setf (bot-config :servers :default :nick) "Colleek")
(save-config)
This should save a file called colleen.uc.lisp
to a config
folder underneath the Colleen root folder. When you open the file you'll see it is organised using a lisp-like syntax, with extension for hash-tables. Another thing you'll notice is that all strings are preceded with a -
. This is a necessary evil in order to serialise certain data types to string and be able to serialise them back. For more information on how the configuration storage works, see Universal-Config. Using the configuration file you can set the servers to connect to by default, which channels to join and so on. For now we'll do it manually with some code.
(connect :freenode)
If all works nicely, you'll see some log messages informing you of the connection. You should now be able to fire up an IRC client to Freenode and start conversing with your bot. Since the essentials
module is loaded by default, you can try commands like !time
, or !echo hi
. If you want to see what's going on behind the scene, you can change the logging level from :info
to :trace
:
(setf (v:repl-level) :trace)
This'll show you quite a bit of output, including pings and all forms of event handling. It'll likely be much too noisy, but it can be very useful for debugging purposes.
Since Colleen is not just a bot, but also a framework, we can use its functions to communicate ourselves.
(irc:privmsg "this-is-my-nick-here" "Hello REPL!" :server (server :freenode))
Obviously change the nick to your own first.
Colleen's functionality is managed through modules. By default the auth
and essentials
modules are loaded. You can load up more modules by putting them into the :MODULES
list in the configuration, using the !module load
command or directly using load-module
.
(load-module :silly)
Loading a module won't make it active yet though. For that you need to start
it first. You can use either the command !module start
or the start-module
function. If you put it into the configuration instead, it'll also automatically start it for you when you startup
Colleen.
(start-module :silly)
Some modules like silly
perform actions not on commands, but when certain things are said. In order to avoid causing unnecessary noise, you need to activate for a specific channel. You can usually do that with an activate
sub command. In this case it would be !silly activate
. When you try that now you will most likely be denied access. Colleen includes a simple permissions restriction in order to separate "dangerous administrative commands" from publicly available ones. The auth
module that is present by default will authenticate users by either a simple password or through NickServ. First you need to put your nick on the list of recognised names though. The auth
module has its separate configuration file that currently does not exist yet. Before setting that up, we'll simply bypass it by smuggling our nick directly onto the authenticated list:
(push "this-is-my-nick-here" (auth-users (get-server :freenode)))
You should now be able to invoke !silly activate
and try it with saying something like how the hell
. You can stop it any time by invoking !silly deactivate
or stopping the module entirely !module stop silly
.
Now in order to get the authentication set up properly, we first need the configuration file to appear. In order to manage configuration files for modules you can use !module storage save auth
or save-storage
.
(save-storage (module :auth))
The file will most likely just contain a table stub. Change it to something like this to make yourself authenticate-able:
{EQL
:LOGINS {EQL
:this-is-my-nick-here "-myPasswordGOESheeere!"}}
Don't forget the necessary "-" before your password. Next you can load the configuration back in using !module storage load auth
or load-storage
.
(load-storage (module :auth))
Using !logout
you can remove yourself from the authenticated list. If your nick is registered with NickServ you should now be able to use just !login
to log back in, or alternatively pass your password along.
Since everything is managed through configuration files you can create a running standalone bot by simply starting your lisp implementation with a file containing something akin to the following in it
(ql:quickload :colleen)
(funcall (find-symbol "STARTUP" "COLLEEN"))
Colleen has a lot more to offer of course, but I think this should suffice as a setup guide. For all the different modules, have a look at the modules/
directory in Colleen's root. The commands each of them offer should be clear enough in the source, but if you prefer a more straight forward explanation of all the public functionality, there is a guide here. You can of course also experiment with the functionality without setting up your own and just using the live instance as mentioned in the guide.
To shut Colleen down again nicely, simply invoke shutdown
.
Functions are encapsulated in modules. A module requires a package and a define-module
form within that package. A simple module stub would look something like this:
(in-package #:colleen)
(defpackage #:my-module
(:use #:cl #:colleen #:events))
(in-package #:my-module)
(define-module my-module () ())
The define-module
form is the same as defclass
, with some additional side effects to register it with the system. The extra package is necessary in order to provide an implicit environment to carry the current module and make commands like define-command
and define-handler
shorter. It is not strictly necessary to use a separate package per module, but it certainly is a good idea.
Generally you'll want to use define-command
, define-group
and define-handler
, although there exist more low-level constructs that allow you to do the same with more control over the output.
(define-group my-commands :documentation "A collection of commands for my test module!")
(define-command (my-commands test) () (:documentation "Simply performs a test.")
(respond event "Testing, testing, 1, 2, 3.")
(define-handler (privmsg-event event) ()
(v:info :my-module "Got a privmsg by ~a: ~a" (nick event) (message event)))
By default within a define-command
or define-handler
body, the symbols event
and module
are bound to the current event instance and the current module instance. Furthermore, the module's storage is bound to uc:*config*
. Especially the configuration is useful, as you don't need to handle that manually yourself. Colleen automatically provides storage for you and will save and load it accordingly when your module is loaded or started. Accessing the configuration happens through Universal-Config's config-tree
, which is setf
-able. For more information on how serialising and accessing and all that works, see the Universal-Config documentation. For now we'll use this to implement a simple last-message
function:
(define-handler (privmsg-event event) ()
(unless (command-p (message event))
(setf (uc:config-tree :last-message) (message event))))
(define-command last-message () ()
(respond event (uc:config-tree :last-message)))
Aside from commands and handlers, Colleen also includes a timer functionality in order to schedule tasks. See define-timer
and schedule-timer
. Generally having a look at all the already existing modules should give a good idea on how to make your own, they usually aren't big and shouldn't be hard to understand in what they do.
Next: Modules, Previous: Introduction, Up: The colleen Reference Manual [Contents][Index]
The main system appears first, followed by any subsystem dependency.
IRC bot with a modular framework.
Nicolas Hafner <shinmera@tymoon.eu>
Nicolas Hafner <shinmera@tymoon.eu>
(GIT https://github.com/Shinmera/colleen.git)
Artistic
2.2.0
Next: Files, Previous: Systems, Up: The colleen Reference Manual [Contents][Index]
Modules are listed depth-first from the system components tree.
launcher.lisp (file).
colleen (system).
Next: Packages, Previous: Modules, Up: The colleen Reference Manual [Contents][Index]
Files are sorted by type and then listed depth-first from the systems components trees.
Next: colleen/package.lisp, Previous: Lisp, Up: Lisp [Contents][Index]
colleen (system).
Next: colleen/globals.lisp, Previous: colleen/colleen.asd, Up: Lisp [Contents][Index]
colleen (system).
Next: colleen/conditions.lisp, Previous: colleen/package.lisp, Up: Lisp [Contents][Index]
package.lisp (file).
colleen (system).
Next: colleen/irc-codes.lisp, Previous: colleen/globals.lisp, Up: Lisp [Contents][Index]
globals.lisp (file).
colleen (system).
limit-form (reader method).
Next: colleen/config.lisp, Previous: colleen/conditions.lisp, Up: Lisp [Contents][Index]
conditions.lisp (file).
colleen (system).
Next: colleen/toolkit.lisp, Previous: colleen/irc-codes.lisp, Up: Lisp [Contents][Index]
irc-codes.lisp (file).
colleen (system).
*sample-config-file* (special variable).
Next: colleen/module.lisp, Previous: colleen/config.lisp, Up: Lisp [Contents][Index]
config.lisp (file).
colleen (system).
Next: colleen/module-storage.lisp, Previous: colleen/toolkit.lisp, Up: Lisp [Contents][Index]
toolkit.lisp (file).
colleen (system).
Next: colleen/event.lisp, Previous: colleen/module.lisp, Up: Lisp [Contents][Index]
module.lisp (file).
colleen (system).
Next: colleen/event-priority.lisp, Previous: colleen/module-storage.lisp, Up: Lisp [Contents][Index]
module-storage.lisp (file).
colleen (system).
Next: colleen/event-handler.lisp, Previous: colleen/event.lisp, Up: Lisp [Contents][Index]
event.lisp (file).
colleen (system).
Next: colleen/client.lisp, Previous: colleen/event-priority.lisp, Up: Lisp [Contents][Index]
event-priority.lisp (file).
colleen (system).
Next: colleen/command-handler.lisp, Previous: colleen/event-handler.lisp, Up: Lisp [Contents][Index]
event-handler.lisp (file).
colleen (system).
Next: colleen/time-handler.lisp, Previous: colleen/client.lisp, Up: Lisp [Contents][Index]
client.lisp (file).
colleen (system).
Next: colleen/irc-commands.lisp, Previous: colleen/command-handler.lisp, Up: Lisp [Contents][Index]
command-handler.lisp (file).
colleen (system).
Next: colleen/irc-events.lisp, Previous: colleen/time-handler.lisp, Up: Lisp [Contents][Index]
time-handler.lisp (file).
colleen (system).
raw (function).
Next: colleen/asdf-extra.lisp, Previous: colleen/irc-commands.lisp, Up: Lisp [Contents][Index]
irc-commands.lisp (file).
colleen (system).
Next: colleen/launcher.lisp, Previous: colleen/irc-events.lisp, Up: Lisp [Contents][Index]
irc-events.lisp (file).
colleen (system).
Next: colleen/modules/system-definitions.lisp, Previous: colleen/asdf-extra.lisp, Up: Lisp [Contents][Index]
asdf-extra.lisp (file).
colleen (system).
Next: colleen/modules/core.lisp, Previous: colleen/launcher.lisp, Up: Lisp [Contents][Index]
modules (module).
Previous: colleen/modules/system-definitions.lisp, Up: Lisp [Contents][Index]
modules (module).
Next: Definitions, Previous: Files, Up: The colleen Reference Manual [Contents][Index]
Packages are listed by definition order.
org.shirakumo.colleen.events
&string (generic reader).
org.shirakumo.colleen
org.shirakumo.colleen.commands
common-lisp.
raw (function).
Next: Indexes, Previous: Packages, Up: The colleen Reference Manual [Contents][Index]
Definitions are sorted by export status, category, package, and then by lexicographic order.
Next: Internals, Previous: Definitions, Up: Definitions [Contents][Index]
Next: Macros, Previous: Public Interface, Up: Public Interface [Contents][Index]
Global module table consisting of name->instance pairs.
Hash table mapping command identifiers to command-handler instances.
Priority sorted array for the command dispatching.
You should not modify this unless you know what you’re doing as this
array is overwritten completely whenever GENERATE-COMMAND-PRIORITY-CACHE is invoked.
Bot core config.
The directory pathname where configuration files are stored.
Pathname pointing to the config file being used.
Special variable containing the module in the current module context.
Special variable containing the server in the current thread context.
Boolean indicating whether to invoke the debugger on an unhandled condition.
Pathname pointing to the default colleen central configuration file.
Global event map for event codes to event classes.
Hash table mapping event identifiers to EVENT-HANDLER instances.
Hash table mapping event classes to a list of event handlers ordered by their priorities.
You should not modify this yourself unless you know what you’re doing as this
map is overwritten completely whenever GENERATE-HANDLER-PRIORITY-CACHE is invoked.
Defines the maximum amount of characters in a IRC:PRIVMSG. This influences how long the messages can be before a warning is emitted and the message is possibly split into multiple parts.
Hash table mapping arbitrary names to event priorities. Defined by default are :FIRST :PREPROCESS :BEFORE :MAIN :STANDARD :DEFAULT :AFTER :POSTPROCESS :LAST.
Reverse mapping table for event priorities to names. See *PRIORITY-NAMES*.
Defines the maximum amount of lines to send per IRC:PRIVMSG command.
Map containing all known IRC codes, mapping them to specific keywords.
Sets the encoding to use with server connections.
Table containing the IRC server instances.
Hash table mapping timer names to time-handler instances.
Next: Ordinary functions, Previous: Special variables, Up: Public Interface [Contents][Index]
Defines a new command with the given NAME.
NAME ::= IDENTIFIER | (GROUP IDENTIFIER)
IDENTIFIER — A symbol identifying your command.
GROUP — The command group to bind the command to.
ARGS — A list of arguments the command expects. This is a
reduced lambda-list that can only accept required,
optional and rest args. See SET-COMMAND-FUNCTION.
AUTHORIZATION — If T, the command issuing NICK is checked with AUTH-P.
If the test fails, a NOT-AUTHORIZED error is raised.
DOCUMENTATION — An optional docstring.
EVENTVAR — Symbol to bind the event variable to.
MODULE-NAME — An optional name to activate module convenience bindings.
Defaults to GET-CURRENT-MODULE-NAME when unset.
MODULEVAR — The symbol to bind the module instance to, if at all.
IDENTIFIER — See SET-COMMAND-FUNCTION. Defaults to a symbol made up
of MODULE-NAME and TYPE.
PATTERN — The pattern to match the command with. Defaults to
^NAME(.*)
PRIORITY — See SET-COMMAND-FUNCTION.
THREADED — If a MODULE is found and bound to this handler, setting
this to T will execute the body in a module thread with
the module lock held.
See WITH-MODULE-THREAD, WITH-MODULE-LOCK.
BODY ::= FORM*
Define a new event class for a given IRC event code.
NAME is the class-name to use for the event, preferably suffixed by -event.
EVENT-OR-CODE is the event symbol as in REPLY-CODES or the IRC event name or number.
SUPERCLASSES is a list of superclasses, defaulting to (EVENT)
STRUCTURE is a lambda-list of the arguments that are to be parsed for this event. See ARGUMENTS-BIND.
CLASS-OPTIONS are the other options that can be passed to DEFCLASS, such as :DOCUMENTATION and so on.
Defines a new group with the given NAME.
NAME — A symbol dictating the group’s identifier.
DOCUMENTATION — Optional docstring.
PATTERN — The pattern to match the command with. Defaults
to ^NAME(.*)
SUBCOMMANDS — A list of subcommand identifiers that this group
is supposedly providing.
See SET-COMMAND-FUNCTION
Define an event handler for a module.
EVENT-TYPE ::= TYPE | (TYPE NAME)
TYPE — The type of event class you want to handle.
NAME — A symbol for the variable name to bind the event to.
By default the same as TYPE.
MODULE-NAME — An optional name to activate module convenience bindings.
Defaults to GET-CURRENT-MODULE-NAME when unset.
MODULEVAR — The symbol to bind the module instance to, if at all.
IDENTIFIER — See SET-HANDLER-FUNCTION. Defaults to a symbol made up
of MODULE-NAME and TYPE.
PRIORITY — See SET-HANDLER-FUNCTION.
THREADED — If a MODULE is found and bound to this handler, setting
this to T will execute the body in a module thread with
the module lock held.
See WITH-MODULE-THREAD, WITH-MODULE-LOCK.
DOCUMENTATION — A docstring describing the handler.
BODY ::= FORM*
Define a new module class. See DEFCLASS.
Note that all module slots are always allocated on the class.
Shorthand wrapper around ASDF:DEFSYSTEM to quickly define Colleen contrib modules.
Defines a new timer with the given NAME.
NAME — A symbol identifying your timer.
ARGS — A list of arguments the timer expects. This is a
reduced lambda-list that can only accept required,
optional and rest args. See SET-TIMER-FUNCTION.
TYPE — Either :SINGLE or :MULTIPLE. See SET-TIMER-FUNCTION.
DOCUMENTATION — An optional docstring.
EVENTVAR — Symbol to bind the event variable to.
MODULE-NAME — An optional name to activate module convenience bindings.
Defaults to GET-CURRENT-MODULE-NAME when unset.
MODULEVAR — The symbol to bind the module instance to, if at all.
BODY ::= form*
Applies BODY for each matching COMMAND-HANDLER, binding it to HANDLERVAR.
Executes the forms in a context where VAR is bound to the module instance named by NAME. This also binds *CURRENT-MODULE*.
Creates a context with the module’s lock held.
The FORMS are only executed once the lock has been acquired.
This is an implicit PROGN.
MODULE — The module to use the lock of.
LOCKVAR — A symbol the lock is bound to.
FORMS ::= form*
Executes the THREAD-BODY in a separate thread bound to the MODULE.
The return value of this is the new thread’s UUID string.
The thread contains implicit condition handling constructs:
When an error is caught at the lowest level and *DEBUGGER* is non-NIL,
then the error is passed to INVOKE-DEBUGGER. If the condition is not
handled or when the thread body finishes executing, the thread is ended
and it is removed from the module’s threads table.
Next: Generic functions, Previous: Macros, Up: Public Interface [Contents][Index]
Add the user to the authenticated list. The optional reason string is only for logging.
Request the name of the admin of a server.
irc.
Return T if the requested nick is on the server’s authenticated users list.
Wrapper around UC:CONFIG-TREE that always uses the colleen central config.
Break the string into parts of a maximal length of LIMIT, intermitting BREAK-CHAR.
If possible, use LATCH-CHAR to find a more apropriate breaking point within the limit of MAX-BACKSTEP.
Broadcast a message across all channels or even all servers.
irc.
Change the mode of a channel.
irc.
Returns two values:
1. the formatting stripped string
2. a list of mIRC formatting entities found in the string.
Each entity is a list with the following format: (TYPE START END)
Returns the COMMAND-HANDLER instance associated with the given IDENTIFIER.
If the message starts with a configured prefix and thus matches as a command, the matched prefix is returned and otherwise NIL.
Force a server to establish a new connection immediately.
irc.
Ensures that THING is a server instance.
Thing can be a SERVER, STRING, or SYMBOL.
Send an ERROR message to the network.
irc.
Returns the EVENT-HANDLER instance associated with the given IDENTIFIER.
Format the given message, replacing $NICK$, $CHANNEL$, $SERVER$ and $MYSELF$ with the according values.
Shorthand for (format-message (standard-message ..)).
Regenerates the event handler priority map. Necessary to ensure proper event handling order.
Returns the module of the current package context.
Returns the name of the module in the current package context.
Returns the current class instance of the module.
Retrieve a server by its keyword name, if it is connected.
Check if nicks are online, using the ISON command.
irc.
Kill the requested user from the server.
irc.
Request a links list matching the provided mask.
irc.
(Re)load the static configuration.
Tries to find and load a module of NAME.
Makes an event instance from the given parameters.
Attempts to translate an mIRC color sequence to a color name. Returns the colour name as a keyword or :?
Returns the thread identified by UUID on MODULE or NIL if none is found.
Prints all modules that have recorded threads and whether the threads are active (.) or dead (x).
Send a PRIVMSG.
irc.
Relays a command-event to a new command.
This generates a new COMMAND-EVENT with the given NEW-COMMAND as message. The nick, username, etc. will be carried over from the event.
Remove the COMMAND-HANDLER associated with the given IDENTIFIER.
Remove the EVENT-HANDLER associated with the given IDENTIFIER.
Remove the user from the authenticated list. The optional reason string is only for logging.
Removes the thread identified by UUID from the MODULE.
If KEEP-ALIVE is non-NIL and the thread is alive, it is only removed.
Otherwise if it is still alive, the thread is stopped and removed.
Removes (and stops) the TIME-HANDLER of the given IDENTIFIER.
Reschedule the given TIMER by replacing an existing scheduling or all.
TIMER — A symbol naming the time-handler.
TYPE — Can be one of :DATE :TIME :ONCE :WHEN, in which case
the scheduling only occurs once, or it can be one of
:INTERVAL :REPEATING :LOOP :EVERY, in which case it is
run repeatedly.
DELAY — A time designator as parsed by PARSE-DELAY.
ARGUMENTS — The arguments list to call the timer with.
REPLACE — Can be :ALL, :FIRST, :LAST or an integer of the position
to replace.
Save the static configuration to file.
Schedule a new scheduling for the TIMER.
TIMER — A symbol naming the time-handler.
TYPE — Can be one of :DATE :TIME :ONCE :WHEN, in which case
the scheduling only occurs once, or it can be one of
:INTERVAL :REPEATING :LOOP :EVERY, in which case it is
run repeatedly.
DELAY — A time designator as parsed by PARSE-DELAY.
ARGUMENTS — The arguments list to call the timer with.
IF-EXISTS — What to do if a scheduling already exists for the timer.
:ADD adds a new scheduling, :ERROR signals a condition,
NIL does nothing. This defaults to :ERROR on :SINGLE
timers and to :ADD on :MULTIPLE timers.
Send the SERVER command to identify as a server.
irc.
Shorthand accessor for server configuration values, defaulting to the DEFAULT server if not available.
Set a new handler function for a command pattern.
IDENTIFIER — A symbol identifying your handler.
CMD-PATTERN — A REGEX pattern to match the message with. Usually you’ll
want to do something like "^my-command(.*)". Arguments are
matched by the last regex group.
HANDLER-FUNCTION — The function object to dispatch the command to. Has to
accept as many arguments as ARGUMENTS specifies as well
as a first argument that will be bound to the command event.
ARGUMENTS — A list of function arguments that the command should accept.
This lambda list can only contain &OPTIONAL and &REST.
If not provided, it will attempt to retrieve it through
FUNCTION-ARGUMENTS.
PRIORITY — Either a key from *PRIORITY-NAMES* or a real setting the
priority of the handler. Higher priorities are served first.
Defaults to the length of CMD-PATTERN, which should be sane.
DOCSTRING — An optional documentation string
CLASS — The class to make an instance of. Has to be subclass of
COMMAND-HANDLER.
Set a new handler function for an event class.
IDENTIFIER — A symbol identifying your handler.
EVENT-CLASS — The type of event class you want to handle.
FUNCTION — The function object to dispatch to on event handling. Has to
accept exactly one argument, the event to handle.
PRIORITY — Either a key from *PRIORITY-NAMES* or a real setting the
priority of the handler. Higher priorities are served first.
DOCSTRING — An optional documentation string.
Set a new timer function.
IDENTIFIER — A symbol identifying the handler.
HANDLER-FUNCTION — The function to run once a scheduling triggers. Has
to have the same arguments lambda-list as specified
by ARGUMENTS.
TYPE — Either :SINGLE or :MULTIPLE, which declares whether
the timer should be scheduled only once or can be
scheduled many times. Note that this does not enforce
the behaviour, only signals it to the user.
ARGUMENTS — A lambda-list for the arguments the HANDLER-FUNCTION
expects. If not provided, it will attempt to retrieve
it through FUNCTION-ARGUMENTS.
LAUNCHER — A function that expects two arguments, the scheduluing
thread it itself is called in and a function it should
call. Changing this is only useful if you need to
establish an environment around the timer call itself.
DOCSTRING — An optional documentation string.
Shut down the bot: Disconnect servers, stop modules, save config.
Simulates passing a command.
This generates a GENERATED-COMMAND-EVENT with the given COMMAND-STRING and OUTPUT-STREAM.
The event will use the :NULL server, CL-USER!CL-USER@COLLEEN user ident and the INTERNAL channel.
Disconnect a remote server from the network.
irc.
Returns the default message designated by the symbol or if provided the otherwise-formatted string.
Start up one or more modules. Each module name should be a symbol or string.
The following restarts are available:
SKIP — Skip starting the module.
FORCE — Force starting even though it’s already active.
RETRY — Simply retry starting.
Start up the bot: Load config, start modules, connect to servers.
Request stats information from a server.
irc.
Stop one or more modules. Each module name should be a symbol or string.
The following restarts are available:
SKIP — Skip stopping the module.
FORCE — Force stopping even though it isn’t active.
RETRY — Simply retry stopping.
Stops the thread identified by UUID from the MODULE. The thread will most likely remove itself once it stops. It is not guaranteed that the thread will stop immediately.
Stops all schedulings for the TIME-HANDLER of the given IDENTIFIER.
Strips mIRC color codes from the string.
Attempt to summon a user from a server.
irc.
Performs SWEEP-MODULE-THREADS on all modules.
Sweeps the module’s threads table and removes all dead threads. Returns two values: how many threads were removed and how many remain.
Returns the TIME-HANDLER instance associated with the given IDENTIFIER.
Get or set the topic of a channel.
irc.
Request a route trace to a server.
irc.
Send the USER command to set user params.
irc.
Request information about up to 5 nicks.
irc.
Retrieve a list of currently active users in CHANNEL.
Returns two values: The list of nicks and whether the channel is even on record or not.
Sets the USERS list for CHANNEL.
Request a list of connected users on a server.
irc.
Request the version string of a server.
irc.
Request WHOIS info on a user.
irc.
Request the NICK history of a user.
irc.
Next: Standalone methods, Previous: Ordinary functions, Up: Public Interface [Contents][Index]
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
Returns a string describing the given command handler if it exists.
Returns a string describing the given event handler if it exists.
Returns a string describing the given time-handler if it exists.
automatically generated reader method
automatically generated reader method
automatically generated writer method
automatically generated writer method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated writer method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
Set a new COMMAND-HANDLER instance for a given IDENTIFIER.
automatically generated reader method
automatically generated reader method
Connect to a server instance.
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
Disconnect a server instance and terminate their read-threads.
Dispatch an event instance through the event system.
Unless specifically rebound, for standard events the following restarts are available:
STOP-EVENT — Stops dispatching completely and returns.
SKIP-HANDLER — Skips the current handler.
RETRY-HANDLER — Attempts invoking the handler again.
Dispatches an event to command handlers.
Unless specifically rebound, for command events the following restarts are available:
STOP-COMMAND — Stops dispatching completely and returns.
SKIP-HANDLER — Skips the current handler.
REMATCH-HANDLER — Attempts to rematch the command with the handler’s pattern.
RECHECK-ARGUMENTS — Rechecks the command arguments with the handler’s arguments list.
RETRY-HANDLER — Attempts invoking the handler again.
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated writer method
automatically generated writer method
automatically generated writer method
automatically generated reader method
Set a new EVENT-HANDLER instance for a given IDENTIFIER.
automatically generated reader method
automatically generated writer method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated writer method
automatically generated writer method
automatically generated writer method
automatically generated reader method
automatically generated writer method
automatically generated reader method
%hop.
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated writer method
automatically generated writer method
automatically generated writer method
automatically generated reader method
%int.
automatically generated reader method
%int.
automatically generated reader method
%int.
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated writer method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated writer method
automatically generated writer method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
Assign a new module instance to a module designator.
Sets the UUID on the module to the specified thread.
If a thread already exists at the specified UUID, a warning is logged.
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated writer method
automatically generated writer method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated writer method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
Parses a delay to be used in timers.
If the delay is an INTEGER, it is returned as-is.
If the delay is a LIST, the following keywords may be used:
:SEC :MIN :HOUR :DAY :MONTH :YEAR
Creates an absolute (universal-time) timestamp for the
specified date. If a parameter is not specified, the
current time component (current day, hour, etc) is used.
:UNIX :UNIVERSAL
Creates an absolute (universal-time) timestamp for the
specified date.
:SECS :MINS :HOURS :DAYS :MONTHS :YEARS
Creates a relative (in seconds) timestamp for the
specified timespan.
:IN
Creates an absolute (universal-time) timestamp using
the specified relative sub-delay, which is parsed by
PARSE-DELAY.
:FROM :EVERY :UNTIL
Creates a timestamp with an initial delay specified by
:FROM and a following delay of :EVERY. Both parameters
are again parsed with PARSE-DELAY. If :UNTIL is passed,
the timestamp will only repeat until the absolute
timestamp :UNTIL is reached.
automatically generated reader method
automatically generated writer method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated writer method
automatically generated writer method
Set a priority name to a new priority number.
Set a priority number to a new priority name.
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
Attempt to reconnect a server instance.
automatically generated reader method
automatically generated reader method
Take a reply code and turn it into a corresponding keyword if possible.
automatically generated reader method
Respond to an event origin with the given message.
automatically generated reader method
automatically generated reader method
automatically generated writer method
automatically generated reader method
automatically generated writer method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
Start the module and activate it for use.
Stop the module and attempt to clean everything up.
automatically generated reader method
automatically generated writer method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
Set a new TIME-HANDLER for the given IDENTIFIER.
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated writer method
automatically generated reader method
Attempts to transform the given object into the keyword name for a module.
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
automatically generated reader method
Next: Conditions, Previous: Generic functions, Up: Public Interface [Contents][Index]