Skip to content

davazp/nilbot

Repository files navigation

#+startup showall

nilbot

nilbot is an IRC Bot written in Common Lisp.

Getting started

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://[email protected]/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

Introduction

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 tracker

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>.
Permissions

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.

About

An IRC Bot written in Common Lisp.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published