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:
By issueing a command in public. Public commands always start with an exclamation mark !, e.g. !echo test.
By querying furbot via PM. In a typical IRC client you'd execute e.g. /query furbot history. Private commands do not start with an exclamation mark.
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
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.
Type: Public command
Makes furbot echo back whatever follows it. Example:
!echo I am furbot
Type: Private command
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.
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.
furbot is going to check when the person with the nick quintus last said something in the channel.
Type: Public command
Makes furbot leave the IRC channel. Only ops can issue this command.
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.