nilbot is an IRC Bot written in Common Lisp.
Get the nilbot source with
git clone https://firstname.lastname@example.org/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
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:
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
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
You can assign to you a ticket with
or mark the ticket #N as finished with
To limit the
list command to tickets in a given status, type
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.