Jam
From Bob's Basement
Project Inception: 23rd June, 2007
Status: In development
Project Leader: BOfH
Contents |
Introduction
I decided it would be nice if the Bob's Basement IRC channel had its own Bot, so I'm working on a PERL based Bot called Jam. The lastest dev version lives in #bb-dev on irc://irc.hackervoice.co.uk and the production release lives in #bobsbasement on irc://irc.hackervoice.co.uk. For more information on develpoment, see the development diary.
Features
Weather
!weather <id>
Gives a summary of the weather for the next three days.
!temp <id>
Gives the maximum and minimum temperatures for the next three days in Celsius and Fahrenheit.
!miscweather <id>
Gives a more detailed report on the weather for the next three days.
!sun <id>
Gives the sunrise and sunset times for the next three days.
!current weather <id>
Gives a summary of the current weather observations at the given weather station
!current miscweather <id>
Gives a more detailed description of the weather observed at the current weather station
The ID is the weather ID from the BBC online forecast from http://www.bbc.co.uk/weather/.
The ID can be found from the URL http://www.bbc.co.uk/cgi-perl/weather/search/new_search.pl?search_query=$url where $url is a postcode, city or country. The returned page is a redirect to a page using the station ID.
You can also use a city name, Country or UK postcode in place of the ID.
News
!breaking news
Gives you breaking news from the BBC.
Remind me
!remind me in <number> <units> to <message>
!remind me in 10 minutes Crash HR server
Times supported: minutes, hours, days, weeks, months
You can have 20 reminders active at any one time.
If the Bot restarts you loose all your reminders :-)
Tiny URL
!tiny <url>
PM the bot a URL and it will be posted into channel as a tinyurl.
Rot13 encrypter
!rot13 <text>
Encrypts and decrypts the text with the rot13 algorithm.
Seen
!seen <nick>
Tells you when the nick was last seen to speak. At the moment this does not count joining the channel or any other actions other than speaking to be considered "seen". This needs some work.
syslog
The bot now has an internal system logger. Hopefully this should aid with diagnosing problems.
irclog
The bot now has channel logging to log the channel to a web page. This is still under development. If you fancy doing a bit of decorating to the existing lame attempt, please polish up www.bobsbasement.co.uk/~jam/200785.html and send me the resulting art work and I will incorporate it into the bot.
stats
!stats <nick>
Provides statistics on a user. Currently the number f characters they have typed.
!wiki stats
This will show the number of wiki edits per user.
!svn stats
This shows the number of Subversion commits per user
!phonedb stats
This shows the user stats for the Payphone_database
tell
!tell <nick> <message>
Gives a message to the user when they are next seen to be active.
Mailing list alerts
Jam now shouts up in the IRC channel when someone posts to the mailing list
Geocache updates
Bob's Basement placed four geocaches and let four travel bugs out into the wild. The bot shouts up when they move!
Tube alerts
Jam can send you updates on your chosen Tube lines via PM. The commands are:
!tfl alert <line>
!tfl remove <line>
I'll leave it to your imagination which turns them on and which turns them off. The bot is rather fussy about the line names, so make sure they are in full and with capitals. The following command will give a full report with names:
!tfl
News headlines
You can get BBC news headlines with:
!news
Current weather
You can get the current weather data with two commands:
!current weather <id>
!current misc weather <id>
Where the weather ID is the BBC weather ID
Resistor colour code data
Jam can convert resistor colour codes to numbers and vice versa
!res col <value><unit> <tolerance>%
!res col 47K 5%
!res num <Colour1> <Colour2> <Colour3> <Colour4> [<Colour5>] !res num Orange Orange Brown Gold
Subversion commit notifications
Jam should now shout in the IRC channel if someone makes a commit to the subversion repository.
Earthquake alerts
Jam now reports earthquakes of magnitude 6.0 or greater.
Moon cycle
You can get the current moon cycle by typing:
!moon
Joining the bot into another channel
To join the bot into another channel, you have two options:
You can either PM the bot with "!join <channel>"
or you can /invite the bot and it will join.
Wishlist
Fill in with your feature requests. For more information, see the Wishlist.
Remind group about things (meetings, other events and stuff)
Maybe a basic directory? i.e. email addresses for members?
Poke
Subnet calculator
Stats webpage
Binary/Octal/Decimal/Hex converter
Ping
Dictionary
Topic changer to update the IRC meetings
Fortune
Wiki update monitoring
Google "I'm feeling lucky"
Interact with Google calendar
Send to mailing list feature
Read mailing list feature
ASCII converter
Say no to 0870 frontend
Tower bridge lifts
Show sunspot data, possibly from www.swpc.noaa.gov
Backend work
Daemonise
Reloading
Bug fixes and code improvements
Remind me
Maybe move into main channel. Maybe not.
Reminder save file is buggy
syslog
Need to log more events in the code.
IRC log
Need to drastically improve the log output and also log actions and events.
Mailing list notifications
Change this to record statics about mailing list usage.
Saving to disk
Saving reminders, etc to disk
Resistor colour code
Might also add support for 6 band resistors.
Jabber intergration
!tell and !remind
Breaking news, TFL and Tower Bridge alerts
Make Jam aware of which Jabber users are online.

