UbuntuBots

Revision 8 as of 2007-05-01 12:58:11

Clear message

In the Ubuntu channels, there are several bots looming around for different purposes. If you run an Ubuntu channel and want one of them to join, please contact its maintainer. The bots are:

Ubuntulog:

LoCoBot:

ubotu:

  • Encyclopedia/Package search/RSS/Bugtracker/Bantracker/Meeting agenda/Fun bot, usage instructions below

ubotu is operated by Dennis 'Seveas' Kaarsemaker. It is the only interactive bot allowed on the Ubuntu channels. It is running supybot 0.83.1 on Ubuntu 6.06 LTS. The source code and bugtracker can be found on [http://launchpad.net/products/ubuntu-bots/ Launchpad].

Using Ubotu

Ubotu is a (somewhat) intelligent IRC bot. The idea behind ubotu is that it remembers answers to commonly asked questions and that users of #ubuntu/#kubuntu can easily recall them when needed.

Using ubotu is simple, to ask ubotu to recall an answer, simply type in #ubuntu/#kubuntu:

!<factoid>

Replace <factoid> with the actual factoid you want to recall. If ubotu doesn't currently have the factoid, it will reply by telling you it doesn't know it.

Another way to use ubotu is to ask ubotu to tell someone else about a factoid. You can accomplish this by typing:

!tell <nick> about <factoid>
!<factoid> > <nick>

Just replace <nick> with the nickname of the person you wish to tell about <factoid>. Replace <factoid> with the factoid you wish to use. Replace nick with me to make it send the factoid to yourself in a private message

To make ubotu reply in the channel, but prefix something to the factoid, replace > with |

!<factoid> | <nick>
ubotu: <factoid> | <nick>

You can also add new factoids to ubotu:

!<factoid> is <fact>

or, if an incorrect factoid has been added, make ubotu replace it with new information:

!no, <factoid> is <fact>

Replace <factoid> with the name of the new factoid and <fact> with the information for that factoid. One thing to keep in mind when creating new factoids is that they should point to official Ubuntu documentation where possible.

Due to the high volume of abuse/crap people added to the bot, adding factoids is currently limited to registered people who have been granted access. Attempts to edit the bot by unauthorized users will be forwarded to #ubuntu-ops for review so they can be added anyway. To register:

/msg ubotu register <nickname> <password>

Each time the bot crashes, you will need to re-identify

/msg ubotu identify <nickname> <password>

Advanced Factoid Manipulation

<reply>

Ubotus default response to !foo is "foo is bar". To suppress the "foo is", start the factoid with <reply>. Example:

<Seveas> !foo is <reply> bar
<Seveas> !foo
<ubotu> bar

also

{{{!foo is foo !foo is also bar}}}

This will make ubotu say:

{{{<ubotu> foo is foo <ubotu> bar}}}

Mainy used for factoids that are partially LTR and partially RTL text.

<alias>

Several facts have multiple factoids pointing to them via aliases. To add an alias, you use the <alias> keyword in your fact. Example:

<Seveas> !foo is bar
<Seveas> !bar is <alias> foo
<Seveas> !bar
<ubotu> foo is bar

To display alias information, use !-<factoid>. This will either display which factoid <factoid> is an alias of, or it will list all aliases of <factoid>, whichever is appropriate.

<sed>

Ubotu can edit its factoids using sed-like expressions. If you made a typo and do not want to erase and replace the entire factoid, you can edit factoids contents:

!<factoid> =~ /<regex>/<replacement>/
!<factoid> is <sed> /<regex>/<replacement>/

The <sed>/=~ construct understands regular expressions (PCRE) for advanced editing.

Looking for Factoids

If you are looking for a specific factoid, but cannot remember which one, you can search the factoid database by factoid name or fact:

!search <string>

You can use * as wildcard.

Looking for packages

You can also find out information about a package in the Ubuntu repositories:

!info <packagename>
!info <packagename> <ubuntu version>

Ubotu will tell the channel about <packagename>. If there exists no factoid with the same nameas the package, you can omit 'info' from your message.

If you want to find a package of which you only know part of the name:

!find <string>
!find <string> <ubuntu version>

Private messages

Ubotu will also respond in private messages, you don't need to use the '!' in commands sent in private messages. He will also answer, when address by his nickname in the channel, like

ubotu, tell Seveas about java
ubotu: please tell nalioth about mp3
ubotu, ati > me

Web interface

You can browse the factoids online at https://bot.ubuntulinux.nl/factoids.cgi

RSS announcements

In #ubuntu-offtopic and #ubuntu-fridge, ubotu will announce new posts on The Fridge (and Planet Ubuntu in -offtopic).

Bugtracker connection

Using an insane regex from hell, Ubotu looks for people who mention bug numbers/urls. It speaks launchpad, bugzilla, trac, debbugs, sourceforge and issuezilla. Lots of bugtrackers are known so it can reply to both urls and text like 'bug 123' or 'kde bug 1337'. It will reply with a short summary of the bug and its status. If you know of a bugtracker that should be added to its brain, you can poke Ubotus administrator.

Ban tracking

In several channels, Ubotu logs all kicks, removals, bans and mutes; together with a log snippet preceeding the action. These logs can be browsed and searched at http://bots.ubuntulinux.nl/bans.cgi.

Meeting schedule

The meetings in #ubuntu-meeting are scheduled via The Fridge. Ubotu manages the topic in #ubuntu-meeting and keeps a list of upcoming meetings in there. To retrieve the current schedule in your local time, you can use the command

@schedule timezone

Replace timezone with your timezone. A list of valid timezones can be found on http://bots.ubuntulinux.nl

Another useful command is

@now timezone

Which will display the current time and next meeting in the given timezone.

Other functions

In #ubuntu-offtopic, the following functions are enabled:

Mess plugin

  • @t - Random Mr. T factoids

  • @vin - Random Vin Diesel factoids

  • @chuck - Random Chuck Norris factoids

  • @bauer - Random Jack Bauer factoids

  • @bruce - Random Bruce Schneier factoids

  • @macgyver - Random MacGyver factoids

  • @hamster - Random hamsterplanet quotes

  • @futurama - Random Futurama quotes

  • @fortune - Random fortunes

  • @bofh - Random BOFH excuses

  • magic 8ball: <question>? - Ask the magic 8ball a question

  • @42 - Random HHGTTG quotes

  • @ferengi - Ferengi rules of acquisition

The following are possibly offensive and only enabled in #ubuntu-bots

  • @yourmom - Random "Your mom is" quotes

  • @bush - Random George W. Bush quotes

  • @ofortune - Random fortune -o fortunes

To resume long messages:

  • @more [nick]

Lart plugin

  • @lart <nick> [for <reason>]

  • @pity <nick> [for <reason>]

Filter plugin

  • @hebrew <text>

  • @squish <text>

  • @undup <text>

  • @hexlify <text>

  • @unhexlify <text>

  • @rot13 <text>

  • @lithp <text>

  • @leet <text>

  • @supa1337 <text>

  • @scramble <text>

  • @morse <text>

  • @unmorse <text>

  • @reverse <text>

  • @colorize <text>

  • @rainbow <text>

  • @stripcolor <text>

  • @aol <text>

  • @jeffk <text>

  • @spellit <text>

  • @gnu <text>

  • @shrink <text>

  • @morse <text>

Math plugin

  • @base

  • @calc

  • @convert