pbot/doc/QuickStart.md

5.0 KiB
Raw Blame History

QuickStart

PBot is an IRC bot written in Perl. This is a work-in-progress rough draft Quick Start guide. This notification will be removed when this guide is mature.

Installing

Prerequisites

Installing CPAN modules

PBot has many features; some of these depend on Perl modules written by others. This list can be found in the MODULES file in the root directory of this source.

The modules may be installed with a simple command:

cpan -f -i $(cat MODULES)

Some CPAN modules may fail to pass certain tests due to outdated variables. Despite these test failures, their core functionality should still work as expected.

First-time Configuration

Clone data-directory

PBot uses a data-directory to store all its configuration settings and data. It is strongly recommended to clone the default data-directory for each PBot connection.

Here we clone the data-directory for two PBot instances, naming them after the IRC network they will connect to:

cp -r data freenode
cp -r data ircnet

Alternatively, you could name it after your bots nickname:

cp -r data coolbot

Edit Registry

Now you may edit the registry file in your data-directory to configure PBot settings.

Notable settings

Some settings you may be interested in configuring:

Registry key Description Default value
irc.botnick IRC nickname. This is the name people see when you talk. undefined
irc.username IRC username. This is the USER field of your hostmask. pbot3
irc.ircname IRC gecos/realname. This is the general information or real-name field, as seen in WHOIS. https://github.com/pragma-/pbot
irc.ircserver IRC server to connect irc.freenode.net
irc.port IRC server port 6667
irc.identify_password Password to use to identify to NickServ/service bot. undefined
irc.randomize_nick Randomize IRC nickname when connecting to server. PBot will change to irc.botnick when connected or logged-in. 0
general.trigger Bot trigger [!]
general.autojoin_wait_for_nickserv Wait for NickServ login before auto-joining channels. 0
general.identify_nick Who to /msg for login/identify/authentication. Defaults to NickServ, can be overridden to a custom bot. NickServ
general.identify_command Command to send to general.identify_nick to login. identify $nick $password
general.op_nick Who to /msg to request channel OP status. Defaults to ChanServ, can be overridden to a custom bot. ChanServ
general.op_command Command to send to general.op_nick to request channel OP status. op $channel
googlesearch.api_key API key for Google Custom Search. undefined
googlesearch.context Google Custom Search context key. undefined
Freenode

The default settings are tailored for the Freenode IRC network. It is strongly recommended that you register an account with its NickServ service and to request a hostmask cloak. It is strongly recommended to register your channels with its ChanServ service. These services will protect your nick, IP address and channels.

Once you register your botnick with NickServ, it is recommended to set irc.randomize_nick to 1. This will cause PBot to connect to the network with a randomized nickname, which will prevent users from watching for your connection to attempt to capture your IP address.

Then set irc.autojoin_wait_for_nickserv to 1. This will cause PBot to wait until logged into NickServ before attempting to auto-join your channels, to ensure your NickServ host cloak is applied beforehand.

IRCnet

IRCnet is one of the oldest IRC networks still running. It has no Services like NickServ and ChanServ. Instead, its nicknames and channels are protected by custom bots. You may configure the general.identify_nick, general.identify_command, general.op_nick and general.op_command settings to point at custom bots and commands to login/request OP.

Other networks

Other networks are untested. They should be very similiar to either Freenode or IRCnet, and so one of those recommended settings should work. If you have any issues, please report them at https://github.com/pragma-/pbot/issues or in the #pbot2 channel on the Freenode network.

Adding Channels

Adding Admins

Loading Plugins