Furbot

furbot is the IRC bot hanging around in the #secretchronicles IRC channel on freenode. It is a helper bot that improves the experience of conversations in the IRC channel. There are two ways to interact with it:

Not all commands can be issued both in public and private. Refer to the reference of commands below for information on each command. Apart from reactions to commands, furbot also can act on itself occasionally. The most notable example is that it reports new commits to the TSC source code repositories to the IRC channel.

furbot's source code is open-source. It is maintained in this repository for everyone to look at. Feel free to improve furbot.

List of commands

Shakespare quotes

This is not actually a command, but it deserves mentioning. Everyone who has been around in #secretchronicles for long enough has seen this: furbot injects random Shakespare quotes into the conversation. We assume that it received some kind of damage when Alex rescued it from Dr. M., who is known to have a faible for Shakespare.

echo

Type: Public command

Makes furbot echo back whatever follows it. Example:

!echo I am furbot

history

Type: Private command

Syntax:

history [SECONDS]

Furbot watches the conversation in the channel. If it receives this command, it is going to replay the most recent conversation to you via PM. This is useful if you joined the IRC channel in the middle of an ongoing conversation and need some context.

By default, furbot replays quite a lot of messages to you (see below). To limit that, pass the SECONDS parameter. It instructs furbot to limit the messages to those of the last SECONDS seconds. For instance, to only receive messages sent in the last minute, use this (assuming your IRC client sends PMs with /query):

/query furbot history 60

Furbot is configured to remember the messages of the last 24 hours, so that is the maximum of history you can receive from it.

seen

Type: public command

furbot keeps track of the people joining and leaving the channel. This command makes furbot search its memory for when he last has seen a person saying something. This is a difference to traditional seen commands, which only check if somebody joined the channel or not. furbot instead only reports when someone has said something in the channel.

Example:

!seen quintus

furbot is going to check when the person with the nick quintus last said something in the channel.

quit

Type: Public command

Makes furbot leave the IRC channel. Only ops can issue this command.

vote

Type: Public and private command

This is a complex command with several subcommands. It is used to conduct a vote over IRC. These are the subcommands:

!vote create <name>               -- Creates a new vote
!vote set covert <id>             -- Makes vote <id> a covert vote (only vote via PM to furbot)
!vote set public <id>             -- Makes vote <id> a public vote (only vote via vote command in public)
!vote set end <id> <time>         -- Specify the <time> (UTC) the vote <id> automatically ends (ISO8601 format, i.e. YYYY-MM-DDTHH:MM:SS)
!vote choice add <id> <choice>    -- Add choice <choice> to vote <id>
!vote choice del <id> <num>       -- Delete choice <num> from vote <id>
!vote start <id>                  -- Start the vote <id>
!vote list                        -- List all votes
!vote show <id>                   -- Show choices and status of vote <id>
!vote on <id> <num>               -- Vote for choice <num> of vote <id> (for covert vote, give this in private without the !)
!vote delete <id>                 -- Delete the vote <id>
!vote nicks                       -- List all nicks that are allowed to vote

The actual voting (vote on subcommand) requires the voter to be authenticated against NickServ to prevent vote fraud.

If not configured otherwise (via vote set covert), votes are public.

The Secret Wiki of Dr. M.: Furbot (last edited 2019-07-28 11:05:36 by quintus)