What is FoswikiBot?

FoswikiBot is an IRC bot for the #foswiki IRC channel. The bot used to be a Mozbot with a few custom modules. As of 12th of June 2011, it has been migrated as a BasicBot because Mozbot uses Net::IRC which is highly discouraged, and anyway didn't install properly.

Babar wrote a module for it to emulate most of its previous functionalities, and to add new wishes by the community. The code is available on github and it should be on CPAN too.

What can FoswikiBot do?

FoswikiBot does the following:
  • Expands InterwikiPlugin style links
  • gives a URL to foswiki.org for any TML link it can work out TODO
    • so like the Jump to topic, but in any web - best attempt - FeatureRequest would goto FeatureRequest, SolrPlugin would point to SolrPlugin, Maln.WebHome etc etc
    • some variation on autocompletion - user enters a WikiWord like FeatureReq - the bot searched on anything starting with that, and picks the best match it can
    • Only replies with a topic's URL once ever XXX lines to avoid spammage
  • Sven Wishes - newtask:asdasf and newfeature:something - create a new task and a new feature smile
  • Provides a link to the current line in the LOGGER logs
  • Notifies #foswiki-dev to changes in RSS feeds
  • Remembers little bits of information
  • Checks spelling
  • Other random IRC bot things smile

How do I use FoswikiBot?

FoswikiBot generally only understands commands when you directly address him. There are two ways to address the bot: by name or by a command character. The command character is currently set to ! (exclamation mark).

Addressing the bot by name
< QBFreak> foswikibot: slap QBFreak
 * foswikibot pokes QBFreak in the ribs

Addressing the bot by command character
< QBFreak> !slap foswikibot
< foswikibot> QBFreak: Oh you'd like that, wouldn't you, you sadist pervert.

FoswikiBot automatically expands any InterwikiPlugin style links he hears in conversation, no special command is required.

Link expansion example
< SomeUser> kenneth, other topic, on Tasks:Item5967
< foswikibot> http://foswiki.org/Tasks/Item5967

See FoswikiBotInterWikis for a list of links the bot supports.

FoswikiBot can provide a link to the IRC logs, selecting the current line and causing the browser to jump to it. If you request a link for a channel from somewhere other than that channel, a note will be appended to the message stating which channel the log is for.

Requesting a link to the current line in the #foswiki logs
< QBFreak> !logtime #foswiki
< foswikibot> http://irclogs.foswiki.org/bin/irclogger_log/foswiki?date=2006-05-31,Wed&sel=673#l669 (channel #foswiki)

Requesting a link to the current line in the current channel's logs
< QBFreak> !logtime
< foswikibot> http://irclogs.foswiki.org/bin/irclogger_log/foswiki?date=2006-05-31,Wed&sel=673#l669

These logs are recorded by a seperate bot run by ColasNahaboo. Perhaps [LOGGER] needs its own topic hint hint smile

RSS feed notification

FoswikiBot notifies the #foswiki-dev channel of changes in the foswiki.org Development web, foswiki.org Tasks web, and new SVN commits.

< foswikibot> Just appeared in SVN: Foswiki Project - http://foswiki.org :
< foswikibot> Revision 10407 by SomeUser
< foswikibot> Just appeared in Foswiki's Tasks web - http://foswiki.org/Tasks :
< foswikibot> New -- http://foswiki.org/Tasks/Item5967 - viewfile partly broken. (SomeUser)

This happens once every 15 minutes. If you would like to check the entries sooner, privately message the bot with one of the following commands:

Command Feed
tasks foswiki.org Tasks
development foswiki.org's Development web
svn Subversion commits

/msg foswiki development
<QBFreak> development
<foswikibot> QBFreak: Items in Foswiki.Development - http://foswiki.org/Development: MiniAhah
<foswikibot> QBFreak: CopyPreviousRevisionTopicContentIntoNewRevision -- KindsOfFoswikiDocUsers
<foswikibot> QBFreak: ReleaseMeeting2006x05x29 -- FoswikiAjaxFrameworkShowcaseTools
<foswikibot> QBFreak: FoswikiAjaxFrameworkShowcase -- FunctionsNeededForPlugins -- WebTopicCreator
<QBFreak> shut up
<foswikibot> Dropped 4 messages.

You can always use the command shut up to make the bot stop reading off the message queue. This works any time he responds with multiple messages.

Storing and retrieving information (factoids)

FoswikiBot can associate a phrase with a word and when asked about the word respond with the phrase. These are called factoids, originally from the Infobot IRC bot. To set a factoid, say word is phrase, FoswikiBot will pick up assoications like this from conversation and save them. For instance, this occured quite by accident shortly after the bot was started:

Setting a factoid
< SvenDowideit> vi is like... <giggle>

Retrieving a factoid
< QBFreak> !vi
< foswikibot> QBFreak: vi is like... <giggle>

Check spelling

Quite often we all forget how to spell one word or another, thankfully FoswikiBot is here to help. Any word you're unsure of how to spell, make a best guess and then type (sp?) after it, the bot will pick this up in your conversation and make spelling suggestions.

< QBFreak> it was quite the conondrum (sp?)
< foswikibot> Suggestions for 'conondrum': conundrum, conundrums, corundum, condemnor, condoners, condoner, condemnors...

Other bits of fun

Like most IRC bots, FoswikiBot also has a few fun and semi-useless commands. One of which is the slap command used to illustrate the different ways to address the bot. FoswikiBot can also track karma. You give or remove karma points with the ++ and -- operators. Karma can be checked with the rank command.

< QBFreak> !rank foswikibot
< foswikibot> foswikibot has 1 points of karma (rank 2).
< QBFreak> foswiki++
< QBFreak> !rank foswikibot
< foswikibot> foswikibot has 2 points of karma (rank 1)

It is possible to display all ranked entries using rank with no parameters. FoswikiBot will annouce the person with the most points in the channel and privately message the list to avoid spamming the channel.
Topic revision: r14 - 18 Sep 2023, MichaelDaum
The copyright of the content on this website is held by the contributing authors, except where stated elsewhere. See Copyright Statement. Creative Commons License    Legal Imprint    Privacy Policy