Blog: #joiito irc bots
JiBot
Posted by Andy Smith on Sep 13, 2004 7:02pm
JiBot is an example of bots that run on IRC. For more info, see {Is Jabber's Chatbot the Command Line of the Future?: http://www.openp2p.com/pub/a/p2p/2002/01/11/jabber_bots.html?pagelast&x-orderdate}
About
jibot is an extensible, 100% pythonic bot, appearing on the freenode channel, #joiito. VictorRuiz (rvr) is the original programmer, and has since been updated by AndySmith (termie). jibot is based on irclib.py's simpleclient.py. It uses RSS Parser, PyGoogle, PyTechnorati and PyAmazon by MarkPilgrim.
All information on this page is out of date, as jibot ( http://github.com/imajes/jibot ) was migrated to Ruby Autumn Leaves ( http://github.com/RISCfuture/autumn ) by imajes in 2008? Carl-Johan Sveningsson 2010-02-15
Rebuild Project
No serious work has been put into jibot for a while, and it's time to dust off the old girl and give her a biscuit. Hacking is happening as we speak - see below for more. health science school
If hacking is not your thing, but you want to help, consider donating to pledgie to help the team spend more time on her: http://pledgie.com/campaigns/1396
Commands
Query commands
- ?info www.blog.com - Show blog info (Technorati)
- ?last www.blog.com - Read the last post (Technorati)
- ?google keywords - Query Google and display the first 3 titles+links
- ?amazon keywords - Query Amazon by keywords and display the first 3 products
- ?isbn isbn - Query Amazon by ISBN and display the first 3 products
- nick++ - Add 1 point to nick's karma
- nick-- - Remove 1 point to nick's karma
- ?karma - List karmas
- ? karma <nick> - Show the karma for <nick>
- ?blog sentence - Post a sentence in #joiito bot blog
. Sentence is a paragraph, which can use any HTML tag. You can also use Blogatex, a wiki-like macro language:
[{key words http://link.com}]
[*bold*]
[_underlined_]
[/italic/]
Silly commands
- ?cool <nick> - Displays a cool (?) message
- ?fight <nick> - Makes you and <nick> fight
Easter Eggs
- included
Learning Commands
- ?learn <concept> is <description> - stores the description for the word
- ?def <concept> - displays the definition for the word
- ?def - lists the location of the definition braindump
- ?forget <concept> is <description> - deletes description from the definition
- ?forgetme - removes all your definitions
TODO
- Alerts of blog updates of #joiito users
- Favorites list stuff
- (./) Case sensitive? -- Everything now gets converted to lowercase NoMatterWhat
- (./) Re-work the damn issue with it thinking people are there who shouldn't be
- Allow mass favor/unfavor/disfavor/pardons
- Def
- Meta-defs, things like City, Timezone, stuff like that
- Heralding:
- Per-channel setting on ?herald
- When it heralds after a nick change, for some reason it still lets the channel be overridden if somebody in another channel speaks at exactly the same time.Information Technology degree
- Turn off anonymous heralds
- Karma
- Commenting ability for karma
- karma trail, who left it and such, will require a heavy re-work of current system. Architecture degree
- (./) Disallow affecting karma in PM
- Blogging
- (./) Make "?blog" by itself give the location of the blog.
- General
- (./) Remove the delay from the say and action commands, the server doesn't require throttling
- Truncate say and aciton to prevent flooding.
- Add an admin ?ignore command to ignore annoying people, available as time-based, something like a ?jail
* Keep track of nick changes, or make it based on IP
- Feature Request
- ?imdb search
- ?rollingstone search(??)
- Comments for Karma - by crw
- FOAFish functionality, sort of like PieSpy, likely through a plugin
- Plugin Support
- Watson, too, possibly. Seems to be a gui tool, though.
- Aliasing stuff:
- Needs to be able to unassign yourself from a name that it think you are an alias to
- Wiki
- Wikipedia!!
Ideas & Suggestions (Add your ideas also)
- Better social skills mods (decrease the "noise" ratio in the channel) ( -- RogerWood)
- '''We-already-know sensitivity'''. Limit heralding to once-per-nym-or-alias every x (10?) minutes. Better yet, the bot does not herald if the nym has joined OR left the channel in the past x minutes. This addresses the split/join-flood problem (splits will resolve within x minutes, so "returning" people have "left" within x minutes and will not be heralded), and the more-general cases of people changing nicks (and changing back) and the join-herald-nickchange-herald. ''Jibot should not invoke "we saw that already" thoughts in humans in the channel.'' Online Performing Arts school
- '''Pace-of-conversation sensitivity'''. When human activity in the channel exceeds a certain pace (in msgs per minute), the bot goes into a less-obtrusive "quieter mode." In this case it still responds to direct commands (speaks when spoken to), but only uses "short heralds" (first clause of the herald messages). This will require some re-engineering of the heralds, so the first clause is short and relevant. ''Jibot should not interrupt the "adults" when they're speaking.'' Natural science degree
- Allow ?def and ?learn in /msg
- Dump factoids to Wiki or web page that can be read (and edited?) away from irc
- ?forgetall <item> command so you don't need to clear out each factoid individually
- I would replace ?isbn by a more generic one, using the service at http://isbn.nu/ISBN_NUMBER. And move the previous one by ?amazonisbn --KarlDubost
- some ideas for integration with wiki at http://webseitz.fluxent.com/wiki/WikiAndIrc --BillSeitz
- Allow "/msg jibot ?command args" to avoid further #joiito spamming. (This works for a few commands - CoderKeitaro)
- Document ?heraldme
- UTF-8 support
- Build in Google Calculator support into Jibot. --CoderKeitaro..
BUGS
- ?def causes JiBot to get signed off because of "Excess Flood" --Stuart Woodward
Changelog
- Looks very cool. Can't wait to hack it. ;-) -- JoiIto DateTime(2003-06-05T23:13:18)
- JiBot 0.2. Among other changes, help and Amazon commands added. -- VictorRuiz DateTime(2003-06-08T14:15:00)
- JiBot 0.3. Amazon ISBN search command added. Technorati search support added. -- VictorRuiz DateTime(2003-06-09T10:38:00)
- JiBot 0.6. Complete refactor, added: SQLite backend, Logging, Configuration Files, etc.. more details -- AndySmith
Comments/Questions
- How do I change what jibot says about me as I enter a channel? -- don-o (freenode)
Use ?learn dan-o is a person
hacking the jibot
Source, hacking, tips, etc. All can be found at http://github.com/imajes/jibot/tree
Created by Andy Smith on Sep 13, 2004 7:02pm. Updated by Sabrina Martj on Mar 3, 2010 7:22am. Permalink