#+startup showall
nilbot is an IRC Bot written in Common Lisp.
Nilbot has as requirements cl-irc and elephant. Both are avalaible via quicklisp and it is the recommended way to install it.
Get the nilbot source with
git clone https://davazp@github.com/davazp/nilbot.git
The first time you run nilbot you will need edit config.lisp to set settings as the IRC server, the default prefix character, and so. Then, start your lisp implementation, load the nilbot system and initialize the database with:
(ql:quickload (list "sqlite" "cl-irc" "elephant"))
(asdf:load-system :nilbot)
You will need to introduce yourself to nilbot, so you can type
(add-user "YOUR-NICK" "admin")
(add-channel "#YOUR-CHANNEL")
in the nilbot package to add the first user and channel respectively.
Finally, you can start nilbot with
(nilbot:start)
Make sure you’re registered in the irc server. otherwise, it won’t recognize you
Nilbot is a command driven bot. It accepts commands from both private messages and channel messages. Commands may be prefixed in several ways as:
,command
and
nilbot: command
You must prefix your command if you ask it in an IRC channel indeed of privately. You can configure the prefix character in the config.lisp file.
An important command is help
. It will show you help about a
command. If the argument is ommited, then it will list the
commands avalaible for you.
The nilbot main entity is the ticket. You can create a new ticket with
,add <task description>
Also you can list the open tickets with
,list
The tickets are contextual. Namely, nilbot records where you
create it. So list
in a channel #a
will list the open
tickets for the channel #a
.
You can assign to you a ticket with
,take N
or mark the ticket #N as finished with
,done N
To limit the list
command to tickets in a given status, type
,list <status>
Finally, you can search tickets with
,search <some words>.
Nilbot provides different categories of users: undesirable, nobody, user and admin. By default, a user is a ‘nobody’. The granted permissions to each category is inclusive. In other words, each category adds priviledges to the previous ones. The lowest category undesirable is special. Nilbot will ignore every request of undesirable users. Register a user as undesirable to ban it.