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.
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 Plugins.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
- 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
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
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.
Plugins.InterwikiPlugin style links
FoswikiBot automatically expands any Plugins
.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
for a list of links the bot supports.
Link to the current line of the LOGGER logs
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
FoswikiBot notifies the #foswiki-dev channel of changes in the foswiki.org Development web, foswiki.org Tasks web, and new SVN
< 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:
|| foswiki.org Tasks
|| foswiki.org's Development web
|| Subversion commits
/msg foswiki 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
to make the bot stop reading off the message queue. This works any time he responds with multiple messages.
FoswikiBot can tweet to the Foswiki twitter feed
<SvenDowideit> !tweet yay! http://fosiki.com/Foswiki_debian/ now has 200 extensions in the debian repository - and foswiki 1.0.6
Foswikibot twitted (SvenDowideit) yay! http://fosiki.com/Foswiki_d... now has 200 extensions in the debian repository - and foswiki 1.0.6
URL's may be automatically tinyurl-ified, just like using the twitter web interface.
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>
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
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
command used to illustrate the different ways to address the bot. FoswikiBot can also track karma. You give or remove karma points with the
operators. Karma can be checked with the
< 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
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.