ubottu and all derivatives of it run Limnoria, a fork and the continued work of the original Supybot. In addition to the core bot code, ubottu runs a number of plugins — some official, some custom-built.

This page is supposed to give a listing of the plugins used with ubottu, and what their purpose is.

1. Encyclopedia

Stores and retrieves factoids. Also adds ignore/unignore capabilities to factoid editors.

1.1. Using

The Encyclopedia plugin is used to store, retrieve and edit factoids; short pieces of information triggered by a specific term.

In order to add/edit/forget/delete factoids, a user must have the editfactoids capability; to add editors, a user must have the addeditors capability.

1.1.1. Retrieving factoids

<tsimpson> !factoid
<ubottu> Hi! I'm #ubuntu's favorite infobot. You can search my brain at https://ubottu.com/factoids.cgi | General info and channels at https://wiki.ubuntu.com/IRC/Bots | Make a clone of me, see !botclone

1.1.2. Adding factoids

<tsimpson> !foo
<ubottu> Factoid 'foo' not found
<tsimpson> !foo is bar
<ubottu> I'll remember that, tsimpson
<tsimpson> !foo
<ubottu> foo is bar

If the format <term> is <factoid> is not suitable, you can use the <reply> keyword:

<tsimpson> !bar is <reply> baz
<ubottu> I'll remember that, tsimpson
<tsimpson> !bar
<ubottu> baz

1.1.3. Editing factoids

Editing existing factoids is done with the no keyword:

<tsimpson> !foo is <reply> bar
<ubottu> But 'foo' already means something else!
<tsimpson> !no foo is <reply> bar
<ubottu> I'll remember that, tsimpson
<tsimpson> !foo
<ubottu> bar

Factoids can also be edited with the =~ operator, this works similarly to the sed command-line tool:

<tsimpson> !foo
<ubottu> bar
<tsimpson> !foo =~ s/$/./
<ubottu> I'll remember that, tsimpson
<tsimpson> !foo
<ubottu> bar.

Alternatively, the is <sed> syntax can be used here.

1.1.4. Aliasing one factoid to another

You can alias a factoid to another with the <alias> keyword, this is useful when you want more than one term to refer to the same information:

<tsimpson> !foobar
<ubottu> Factoid 'foobar' not found
<tsimpson> !foobar is <alias> foo
<ubottu> I'll remember that, tsimpson
<tsimpson> !foobar
<ubottu> bar.
<tsimpson> !no foo is <reply> FOO!
<ubottu> I'll remember that, tsimpson
<tsimpson> !foobar
<ubottu> FOO!

When editing a factoid, always edit what the alias points to, so in the example above you edit foo, not foobar

1.1.5. Forgetting factoids

If you want to disable a factoid, use the forget keyword:

<tsimpson> !foo
<ubottu> FOO!
<tsimpson> !forget foo
<ubottu> I'll forget that, tsimpson
<tsimpson> !foo
<ubottu> Factoid 'foo' not found

The factoid is not deleted, just marked as forgotten. This means that attempting to add a new factoid with the same name will not work:

<tsimpson> !foo
<ubottu> Factoid 'foo' not found
<tsimpson> !foo is <reply> bar
<ubottu> But 'foo' already means something else!

You must first unforget a factoid to edit it:

<tsimpson> !unforget foo
<ubottu> I suddenly remember 'foo' again, tsimpson
<tsimpson> !no foo is <reply> bar
<ubottu> I'll remember that, tsimpson
<tsimpson> !foo
<ubottu> bar

1.1.6. Deleting factoids

If you want to actually remove a factoid, use the delete keyword:

<tsimpson> !foo
<ubottu> FOO!
<tsimpson> !delete foo
<ubottu> I'll delete that, tsimpson
<tsimpson> !foo
<ubottu> Factoid 'foo' not found

1.1.7. Searching factoids

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

!search <string>

You can also browse and search the factoids online.

Sorted by:

1.1.8. Factoid modifiers

Getting factoid information

Some information on factoids can be retrieved by using the - modifier when calling a factoid. This includes information on if the factoid is an alias to another, what factoids are aliased to it, when it was created, when it was last modified, and how often it was called so far.

You can see this information by adding the - modifier before the factoid name:

<User> !-bot
<Bot> bot@ubotu - no aliases - added by SomeNick on 2006-06-18 00:41:01 - last edited by AnotherNick on 2010-09-02 10:30:22 - requested 999 times
<User> !-ubotu
<Bot> ubotu - aliases: yourself, bot, usage, factoid, brain, add, help me, syntax, factoids, everything, me, ubottu, bots, fact, triggers, trigger - added by SomeNick on 2006-06-19 12:15:56 - last edited by AnotherNick on 2016-11-26 07:25:56 - requested 18812 times
Getting raw factoids

The raw factoid, as it is stored in the database, can be retrieved by using the + modifier when calling a factoid. Sometimes this can be useful, for instance when working with variable substitutions.

You can see the raw factoid by adding the + modifier before the factoid name:

<User> !+ubotu
<Bot> <reply> Hi! I'm $chan's favorite infobot. You can search my brain at https://ubottu.com/factoids.cgi | General info and channels at https://wiki.ubuntu.com/IRC/Bots | Make a clone of me, see !botclone
<User> !+lts
<Bot> <reply> LTS means Long Term Support. LTS versions are supported for 5 years on the desktop and server. The latest LTS version of Ubuntu is !$curLTS ($curLTSLong $curLTSNum). Ubuntu !flavors may have different support durations, check their release notes for information.

1.1.9. Variables

ubottu also understands some variables and will substitute them when the factoid is called.

<User> !lts is <reply> LTS means Long Term Support. LTS versions are supported for 5 years on the desktop and server. The latest LTS version of Ubuntu is !$curLTS ($curLTSLong $curLTSNum). Ubuntu !flavors may have different support durations, check their release notes for information.
<Bot> I'll remember that, User
<User> !lts
<Bot> LTS means Long Term Support. LTS versions are supported for 5 years on the desktop and server. The latest LTS version of Ubuntu is !Jammy (Jammy Jellyfish 22.04). Ubuntu !flavors may have different support durations, check their release notes for information.
$nick

This variable will be replaced with the nickname of the bot, e.g. ubottu

$who

This variable will be replaced with the nickname of the person who called the factoid, e.g. tsimpson

$chan

This variable will be replaced with the name of the channel the factoid is called in, e.g. #ubuntu

$curStable

This variable will be replaced with the name of the current stable version of Ubuntu, e.g. Mantic

$curStableLong

This variable will be replaced with the long name of the current stable version of Ubuntu, e.g. Mantic Minotaur

$curStableLower

Same as $curStable, but lowercase.

$curStableNum

This variable will be replaced with the version number of the current stable version of Ubuntu, e.g. 23.10

$curLTS

This variable will be replaced with the name of the current LTS version of Ubuntu, e.g. Jammy

$curLTSLong

This variable will be replaced with the long name of the current LTS version of Ubuntu, e.g. Jammy Jellyfish

$curLTSLower

Same as $curLTS, but lowercase.

$curLTSNum

This variable will be replaced with the version number of the current LTS version of Ubuntu, e.g. 22.04

$curDevel

This variable will be replaced with the name of the current development version of Ubuntu, e.g. Noble

$curDevelLong

This variable will be replaced with the long name of the current development version of Ubuntu, e.g. Noble Numbat

$curDevelLower

Same as $curDevel, but lowercase.

$curDevelNum

This variable will be replaced with the version number of the current development version of Ubuntu, e.g. 24.04

1.2. Commands

Command Arguments Description

editor add

<name>

Adds the user with the name <name> to the list of editors.

editor remove

<name>

Removes the user with the name <name> from the list of editors.

editors

Lists all the users who are in the list of editors.

moderators

Lists all the users who can add users to the list of editors.

ignore add

[<channel>] <hostmask|nick> [<expires>]

Ignores commands/requests from <hostmask> or <nick>. If <expires> is given, the ignore will expire after that amount of seconds. If <channel> is given, the ignore will only apply in that channel.

ignore remove

[<channel>] <hostmask|nick>

Removes an ignore previously set by @ignore. If <channel> was given in the original @ignore command, it must be given here.

ignores

[<channel>]

Lists all ignores set by @ignore. If <channel> is given, this will only list ignores set in that channel.

lookup

[<channel>] [<author>]

Lists factoids created or edited by <author>, <author> defaults to you.

review

[<channel>] [<id>]

Lists edit requests. If <id> is given, prints the suggested new value.

sync

[<channel>]

Downloads a copy of the database from the remote server. Set the server with the channel variable supybot.plugins.Encyclopedia.remotedb. If <channel> is not set, it will default to the channel the command is given in or the global value.

1.3. Configuration

Settings can be configured with the command config <configname> <newvalue>. For the case of channel-specific configuration, the command is config channel <channelname> <configname> <newvalue>

Setting Description Channel-specific Default value

supybot.plugins.Encyclopedia.enabled

Enable Encyclopedia

Yes

True

supybot.plugins.Encyclopedia.datadir

Directory containing factoid databases

No

supybot.plugins.Encyclopedia.database

Name of database to use

Yes

ubuntu

supybot.plugins.Encyclopedia.relaychannel

Channel to forward edit requests and alerts to

Yes

#ubuntu-ops

supybot.plugins.Encyclopedia.editchannels

Channels where edits of restricted editors are allowed

Yes

#ubuntu-ops

supybot.plugins.Encyclopedia.logchannel

Channel to notify about edits

Yes

supybot.plugins.Encyclopedia.notfoundmsg

Reply when factoid is not found

Yes

Factoid %s is not found

supybot.plugins.Encyclopedia.prefixchar

Character the bot will respond to factoid requests with

Yes

!

supybot.plugins.Encyclopedia.alerts

Factoid names used for alerts

Yes

ops op kops calltheops

supybot.plugins.Encyclopedia.remotedb

Remote location of database

Yes

https://ubottu.com/ubuntu.db

supybot.plugins.Encyclopedia.ignores

Factoid names to ignore

Yes

info depends find more

supybot.plugins.Encyclopedia.repeatdelay

Number of seconds to wait between repeated factoid calls

Yes

60

supybot.plugins.Encyclopedia.privateNotFound

Send notfoundmsg in private rather than in the channel

Yes

False

supybot.plugins.Encyclopedia.noticeMonitoring

Send monitoring messages as notices rather than normal messages

Yes

False

supybot.plugins.Encyclopedia.forcedFactoid

Factoids in kick reason will be sent to the user in private

Yes

False

supybot.plugins.Encyclopedia.curStable

Current stable release name

Yes

Mantic

supybot.plugins.Encyclopedia.curStableLong

Current stable release long name

Yes

Mantic Minotaur

supybot.plugins.Encyclopedia.curStableNum

Current stable release version number

Yes

23.10

supybot.plugins.Encyclopedia.curLTS

Current LTS release name

Yes

Jammy

supybot.plugins.Encyclopedia.curLTSLong

Current LTS release long name

Yes

Jammy Jellyfish

supybot.plugins.Encyclopedia.curLTSNum

Current LTS release version number

Yes

22.04

supybot.plugins.Encyclopedia.curDevel

Current development release name

Yes

Noble

supybot.plugins.Encyclopedia.curDevelLong

Current development release long name

Yes

Noble Numbat

supybot.plugins.Encyclopedia.curDevelNum

Current development release version number

Yes

24.04