This is the main interface to irc_client. Connections and their respective
information sets are maintained here.
- author
- - Ebrahim Azarisooreh
- license
- - 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.
- Arguments:
-
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.
- Arguments:
-
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 |
- throws
- - 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.