Wollabot Manual

Christian Joergensen

A throughful introduction on how to use Wollabot covering from installation and configuration to writing your own modules


Table of Contents
Credits
1. Installation
1.1. Requirements
1.2. Download and unpacking
2. Configuration
2.1. The config file
2.1.1. 'main' configuration category
2.1.2. 'modules' configuration category
2.1.3. 'channel' configuration category
2.2. Other configuration options (advanced users and developers)
3. Modules
3.1. Short introduction on how modules are structured
3.2. API introduction
3.3. API reference
bind_prefix -- Binds a prefix on a IRC message to a given method
bind_query -- Binds a query (private) IRC message to a given method
bind_all -- Binds all input to a given method
bind_notice -- Binds a notice IRC message to a given method
bind_chan -- Binds an IRC message on a given channel to a given method
bind_onconnect -- When connected successful a bound method is called
bind_type -- Binds a message type from a defined list of types to a method
bind_timer -- Make a method be called with a given frequency
send_raw -- Semds a raw message to the IRC server
send_privmsg -- Sends a message to a channel or user (in query)
send_ctcp -- Sends a CTCP request to a channel or user
send_action -- Sends an action to a channel or user
send_notice -- Sends a notice to a channel or user
is_op -- Check if a user is op on a given channel
is_voice -- Check if a user is voice on a given channel
is_on_channel -- Checks if a user is on a given channel
mode -- Changes user/channel-mode
kick -- Kicks a user (or multiple) from a given channel
change_nick -- Changes the nick of the bot
topic -- Sets the topic for a given channel
join -- Make the bot join a channel
invite -- Invite a user to a given channel
A. RFC 1459: Internet Relay Chat Protocol
B. Client-To-Client Protocol
List of Tables
3-1. Wollabot message types
List of Examples
3-1. A greet function
3-1. A kick function
3-1. Log module for raw IRC input logging
3-1. On join message
3-1. Repeat module for a single channel
3-1. Authenticating with Q
3-1. Binding to QUIT and PART messages using bind_type
3-2. Binding to everything except nickchanges and KICK messages using bind_type
3-1. Printing the time every five minutes
3-1. Sending a raw message
3-1. Send a message using the send_privmsg method
3-1. Find out IRC client version from user 'foobar'
3-1. Getting the bot to indicate it's strong feelings using send_action
3-1. Making an on-join message using bind_type and send_notice
3-1. Ask for ops if the bot doesn't have
3-1. Ask for voice if the bot doesn't have
3-1. Making the bot join a channel if not on it
3-1. Op a user
3-1. Kick stupiduser from a channel
3-1. Changing the bots nick
3-1. Setting the topic
3-1. Joining a channel
3-1. Inviting a user to a channel