====== ubottu plugins ====== ubotu, ubottu and all derivatives of ubottu run [[https://sourceforge.net/projects/supybot/|supybot]]. In addition to the core supybot 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. ===== Bantracker ===== This plugin us used to manage bans. It logs every ban/mute/kick/remove done in a channel and saves a log preceding that action, it also allows comments to be stored by operators and access to this information via a web-based interface. ==== Commands ==== ^ Command ^ Arguments ^ Detailed information ^ | banlink | [] | Returns a link to the raw log of the action with id . If is given then lines containing that term will be highlighted.| | banlog | [] | Shows the last 5 messages from the logged before an action, the nick or host has to have an active ban, mute or mark against it. If is not given, the search will include all channels.| | bansearch | [] | Search bans database for a ban or mark on , if is not given, the search will include all channels.| | btlogin | | Sends you a message with a link to login to the Bantracker web interface. (Requires the Bantracker capability.)| | comment | [, ...] [][, ] | If is given, adds the comment to the action with the ID(s) ; If not, then retrieve the comment(s) for the action with ID(s) . The ID for an action can be retrieved with the ''bansearch'' command. The argument is described in the ''duration'' command below.| | duration | [[, ...]] [] | Sets the duration of a ban. If isn't given show when a ban expires. If no is given shows the ids of bans/quiets set to expire.| | mark | [] [] | Creates an entry in the Bantracker as if was kicked from with the comment , if is not given the comment will be ''%%**%%MARK%%**%%''. is only needed when sent in a /msg or the command is given in another channel.| | updatebt | [] | Update the Bantracker database by synchronising with the s ban list, marking removed bans as removed, and adding new bans. If is not given then the synchronisation will occur in all channels.| | banreview | | Shows a list of operators with ban reviews in queue.| ==== Config ==== Configs can be configured with the command ''config ''. For the case of channel specific configs, the command is ''config channel '' ^ Variable ^ Details ^ Channel Specific ^ Default Value ^ |supybot.plugins.Bantracker.enabled |Enable the Bantracker |Yes |False| |supybot.plugins.Bantracker.database |File name of the bans database |No | | |supybot.plugins.Bantracker.bansite |Website for the Bantracker, without the "bans.cgi" appended |No | | |supybot.plugins.Bantracker.request |Enable messages from the bot |Yes |False| |supybot.plugins.Bantracker.request.type |List of events for which the bot should request comments |Yes |removal ban quiet| |supybot.plugins.Bantracker.request.ignore |List of nicks for which the bot won't request a comment or review. Is case insensible and wildcards ''?'' and ''*'' are accepted |Yes |FloodBot? FloodBotK? ChanServ| |supybot.plugins.Bantracker.request.forward |List of nicks for which the bot will forward the request to the channels/nicks defined in supybot.plugins.Bantracker.forwards.channels option. This is useful for bans set by ChanServ, were the operator that issued the command isn't known. Is case insensible and wildcards ''?'' and ''*'' are accepted |Yes | | |supybot.plugins.Bantracker.request.forward.channels |List of channels/nicks to forward the request if the op is in the forward list |Yes | | |supybot.plugins.Bantracker.request.reviews |Days after which the bot will request for review a ban. Can be an integer or decimal. Zero disables reviews. Allows decimal values with one hour resolution |No |7| |supybot.plugins.Bantracker.review |Enable/disable reviews per channel. |Yes |True| |supybot.plugins.Bantracker.review.ignore |List of nicks for which the bot won't request a review. Is case insensative and the wildcards ''*'' and ''?'' are accepted. |Yes | | |supybot.plugins.Bantracker.review.forward |List of nicks for which the bot will forward the reviews to the channels/nicks defined in forwards.channels option. Is case insensitive and the wildcards ''*'' and ''?'' are accepted. |Yes |FloodBot? FloodBotK? ChanServ| |supybot.plugins.Bantracker.review.when |Days after which the bot will request for review a ban. Can be an integer or decimal value. Zero disables reviews globally. |No |7.0| |supybot.plugins.Bantracker.review.forward.channels |List of channels/nicks to forward the request if the op is in the forward list. |Yes | | |supybot.plugins.Bantracker.autoremove |Enable/disable auto-removal of bans and quiets. |Yes |False| |supybot.plugins.Bantracker.autoremove.notify |Enable/disable notifications of removal of bans and quiets. |Yes |True| |supybot.plugins.Bantracker.autoremove.notify.channels |List of channels/nicks to notify about automatic removal of bans and quiets. |Yes | | ===== Encyclopedia ===== Stores and retrieves factoids. Also adds ignore/unignore capabilities to factoid editors. ==== 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 factoids, a user must have the ''editfactoids'' capability; to add editors, a user must have the ''addeditors'' capability. === Retrieving a factoid === !factoid Hi! I'm #ubuntu's favorite infobot, you can search my brain yourself at http://ubottu.com/factoids.cgi - Usage info: http://wiki.ubuntu.com/UbuntuBots === Adding a factoid === !foo Sorry, I don't know anything about foo !foo is bar I'll remember that tsimpson !foo foo is bar If the format " is " is not suitable, you can use the '''' keyword: !bar is baz I'll remember that tsimpson !bar baz === Editing factoids === Editing existing factoids is done with the ''no'' keyword: !foo is bar But foo already means something else. !no foo is bar I'll remember that tsimpson !foo bar Factoids can also be edited with the '''' keyword, this works similarly to the //sed// command-line tool: !foo bar !foo is /$/./ I'll remember that tsimpson !foo bar. === Aliasing one factoid to another === You can alias a factoid to another with the '''' keyword, this is useful when you want more than one term to refer to the same information: !foobar Sorry, I know nothing about foobar !foobar is foo I'll remember that tsimpson !foobar baz !no foo is FOO! I'll remember that tsimpson !foobar FOO! When editing a factoid, always edit what the alias points to, so in the example above you edit "foo", not "foobar". === Forgetting factoids === If you want to remove a factoid you use the ''forget'' keyword: !foo FOO! !forget foo I'll forget that tsimpson !foo Sorry, I don't know anything about foo 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: !foo Sorry, I don't know anything about foo !foo is bar But foo already means something else! You must first ''unforget'' a factoid to edit it: !unforget foo I suddenly remember foo again, tsimpson !no foo is bar I'll remember that tsimpson === 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 You can also browse and search the factoids on-line [[https://ubottu.com/factoids.cgi|Here]] Sorted by: * [[https://ubottu.com/factoids.cgi?db=ubuntu&search=&order=popularity%20DESC&page=0|Most popular first]] * [[https://ubottu.com/factoids.cgi?db=ubuntu&search=&order=added%20DESC&page=0|By date]] * [[https://ubottu.com/factoids.cgi?db=ubuntu&search=&order=name%20ASC&page=0|Alphabetical]] === Factoid modifiers === == Getting factoid information == Some information on factoids can be retrieved by using the ''-'' modifier when calling a factoid. This information includes information on if the factoid is an alias to another, what factoids are aliases to the factoid, when the factoid was created, and when the factoid was last modified. You can see this information by added the ''-'' modifier before the factoid name: !-bot bot is ubotu - added by SomeNick on 2006-06-18 00:41:01 - last edited by AnotherNick on 2010-09-02 10:30:22 !-ubotu ubotu aliases: yourself, bot, usage, factoid, brain, add, help me, syntax, factoids, everything, me, ubottu, bots, fact - added by SomeNick on 2006-06-19 12:15:56 - last edited by AnotherNick on 2010-09-18 20:14:50 == 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 it can be useful to see a raw factoid as it is stored in the database, for instance when working with [[ubottu#variables|variable substitutions]]. You can see the raw factoid by adding the ''+'' modifier before the factoid name: !+ubotu Hi! I'm $chan's favorite infobot, you can search my brain yourself at http://ubottu.com/factoids.cgi | Usage info: http://ubottu.com/devel/wiki/Plugins | Bot channels and general info: https://wiki.ubuntu.com/IRC/Bots !+lts LTS means Long Term Support. LTS versions of Ubuntu will be supported for 3 years on the desktop, and 5 years on the server. The current LTS version of Ubuntu is !$curLTS ($curLTSLong $curLTSNum) === Variables === Ubottu also understands some variables and will substitute them when the factoid is called. !lts is LTS means Long Term Support. LTS versions of Ubuntu will be supported for 3 years on the desktop, and 5 years on the server. The current LTS version of Ubuntu is !$curLTS ($curLTSLong $curLTSNum) I'll remember that, User !lts LTS means Long Term Support. LTS versions of Ubuntu will be supported for 3 years on the desktop, and 5 years on the server. The current LTS version of Ubuntu is !Hardy (Hardy Herron 8.04) == $nick == This variable will be replaced with the nick-name of the bot. E.g: ubottu == $who == This variable will be repalced with the nick-name of the person who called the factoid. E.g: tsimpson == $chan == This variable will be replaced with the current 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: Jaunty == $curStableLong == This variable will be replaced with the long name of current stable version of Ubuntu. E.g: Jaunty Jackalope == $curStableLower == Same as $curStable, but lower-case. == $curStableNum == This variable will be replaced with the version number of the current stable version of Ubuntu. E.g: 9.04 == $curLTS == This variable will be replaced with the name of the current stable version of Ubuntu. E.g: Hardy == $curLTSLong == This variable will be replaced with the long name of current stable version of Ubuntu. E.g: Hardy Heron == $curLTSLower == Same as $curLTS, but lower-case. == $curLTSNum == This variable will be replaced with the version number of the current stable version of Ubuntu. E.g: 8.04 == $curDevel == This variable will be replaced with the name of the current stable version of Ubuntu. E.g: Karmic == $curDevelLong == This variable will be replaced with the long name of current stable version of Ubuntu. E.g: Karmic Koala == $curDevelLower == Same as $curDevel, but lower-case. == $curDevelNum == This variable will be replaced with the version number of the current stable version of Ubuntu. E.g: 9.10 ==== Commands ==== ^ Command ^ Arguments ^ Detailed information ^ |addeditor | | Adds the user with the name to the list of editors.| |editors | | Lists all the users who are in the list of editors.| |ignore | [] [] | Ignores commands/requests from or . If is given the ignore will expire after that amount of time in seconds. If is given, the ignore will only apply in that channel. defaults to the channel the command is given in, use /msg to apply ignores globally.| |ignorelist | [] | Lists all ignores set by ignore. If is given this will only list ignores set in that channel. defaults to the channel the command is given in, use /msg to list global ignores.| |moderators | | Lists all the users who can add users to the list of editors.| |removeeditor | | Removes the user with the name from the list of editors.| |sync | | Downloads a copy of the database from the remote server. Set the server with the configuration variable ''supybot.plugins.Encyclopedia.remotedb''.| |unignore | [] | Remove an ignore previously set by ignore. If was given in the original ignore command it must be given here too. defaults to the channel the command is given in, use /msg to remove an ignore globally.| ==== Config ==== Configs can be configured with the command ''config ''. For the case of channel specific configs, the command is ''config channel '' ^ Variable ^ Details ^ Channel Specific ^ Default Value ^ |supybot.plugins.Encyclopedia.database | Name of the database to use, relative to ''supybot.plugins.Encyclopedia.datadir'' and without the .db extension| | Yes | ubuntu| |supybot.plugins.Encyclopedia.relaychannel | Relay channel for unauthorized edits and ''supybot.plugins.Encyclopedia.alert'' calls | Yes | #ubuntu-ops| |supybot.plugins.Encyclopedia.notfoundmsg | Reply to use when a factoid isn't found. If the message contains a ''%s'', it will be replaced with the name of the requested factoid |No |Factoid %s is not found| |supybot.plugins.Encyclopedia.prefixchar | Prefix character for factoid display/editing |Yes | !| |supybot.plugins.Encyclopedia.datadir | Path to the directory containing the factoid database(s) |No | | |supybot.plugins.Encyclopedia.alert | factoid name(s) used for alert calls |Yes | ops op kops calltheops| |supybot.plugins.Encyclopedia.remotedb | Remote location of the master database (used in ''sync'') |Yes | http://ubottu.com/ubuntu.db| |supybot.plugins.Encyclopedia.ignores | factoid name(s) to ignore |Yes | info find| |supybot.plugins.Encyclopedia.privateNotFound | If set to True, send the ''supybot.plugins.Encyclopedia.notfoundmsg'' in private rather than in channel | Yes | False| |supybot.plugins.Encyclopedia.curStable | Current stable release name |No | Karmic| |supybot.plugins.Encyclopedia.curStableLong | Current stable release long name |No | Karmic Koala| |supybot.plugins.Encyclopedia.curStableNum | Current stable release version number |No | 9.10| |supybot.plugins.Encyclopedia.curDevel | Current development release name |No | Lucid| |supybot.plugins.Encyclopedia.curDevelLong | Current development release long name |No | Lucid Lynx| |supybot.plugins.Encyclopedia.curDevelNum | Current development release version number |No | 10.04| |supybot.plugins.Encyclopedia.curLTS | Current LTS release name |No | Hardy| |supybot.plugins.Encyclopedia.curLTSLong | Current LTS release long name |No | Hardy Heron| |supybot.plugins.Encyclopedia.curLTSNum | Current LTS release version number |No | 8.04| ===== IRCLogin ===== This plugin is used to allow users to login without a password and automatically update the user list from the [[https://launchpad.net/~ubuntu-ops|Ubuntu IRC Operators]] [[https://launchpad.net/|Launchpad]] team. ==== Commands ==== ^ Command ^ Arguments ^ Detailed information ^ | login | | Allows users who are identified to NickServ to login without a password. The user must also be in the bots user database.| | reloadusers | | Read the user database and add the users in it. This command does not update the users from [[https://launchpad.net/|Launchpad]], just reprocesses the current list.| | updateusers | | Update the user database from [[https://launchpad.net/|Launchpad]]. Retrieves all the users IRC nicks from the [[https://launchpad.net/~ubuntu-ops|Ubuntu IRC Operator]] team and processes the database (as ''reloadusers'')|