This is the main interface to irc_client. Connections and their respective
information sets are maintained here.
- - Ebrahim Azarisooreh
- - MIT
- To be done
- - More documentation of pack useage is needed, perhaps even wiki
- - Add direct support for CTCP actions
- connect(+Host, +Port, +Pass, +Nick, +Names, +Chans) is nondet
- Open socket on host, port, nick, user, with the specified password, names,
and channels to be joined.
|Host||- An atom that represents the address of the IRC host to connect to|
|Port||- A positive integer that represents the port to connect to|
|Pass||- An atom that represents the password of the connection|
|Nick||- an atom that represents the nickname of the user's connection|
|Names||- A list containing three three atoms of the format:
[Hostname, Servername, Realname]
|Chans||- A list of atoms, each atom representing a channel to connect to|
- assert_handlers(+Id, +Handlers) is det
- Assert handlers at the toplevel, where Handlers is a potentially empty list
of goals to be called as irc messages come in. This is meant to be used as a
directive in the user's program; however, there are plenty of cases where
it's acceptable to call this as a normal goal during runtime.
|Id||- The identity or alias of the connection; this should match the alias
of the thread started to initiate the connection via connect/6|
|Handlers||- A list of goals that are made available to irc_client. All
goals should have an arity of 1, and deal with processing an Id-Msg pair that
an IRC server relays to the client|
- - instantiation_error if Id is not ground
- disconnect(+Id) is semidet
- Issue a disconnect (quit) command, and clean up all unneeded information from
the top level. This process will only be handled for the connection that
contains the alias Id.