Bot
For those who don’t know, the Linux Journal crew inhabit an IRC channel on the freenode network (#linuxjournal on irc.freenode.net). I have a web portal available right here on the Underblog for anyone who wants to come and visit but isn’t familiar with IRC.
As part of the channel fun, I set up a channel bot — JustinBot — that performs a mix of useful and entertaining tasks. Below is a list of commands that can be issued by any user in the channel; remember that all commands begin with !. A number of the features have been coded specifically for the channel — if you’d like to see something specific, let me know and I’ll see what I can do.
JustinBot also shares selected channel quotes through the !quote command. Articles and daily news from Linux Journal’s RSS feed are also relayed to the channel.
0-9
!8b — Get an answer to a question from the Magic Eight Ball.
A
!active — Show what users are currently active.
!active [ minutes ] — Show what users have been active in the specified number of minutes.
B
!beer — Ask the bot for a beer.
!bot — Provides a pointer to this page.
C
!calc [ maths problem ] — Performs simple calculations.
!cocktail — Ask the bot for a cocktail; also !drink.
!coffee — Ask the bot for a cup of coffee; also !decaf and !iv.
!convert [ number ] [ known unit ] [ desired unit ] — Convert the given quantity from one unit to another. Units should be spelled out for best results.
!cupcake – Delivers one of a variety of cupcakes.
D
!drinks – Shows the various drink related commands.
E
!excuse — Suggests a random (primarily tech-related) excuse.
F
!fire — Delivers random fire-related comments for those times when killing with fire is required.
G
!gcalc [ maths problem ] — Performs simple calculations.
I
!idle — Show how long the channel has been idle.
!idle [ nick ] — Show how long the specified nick has been idle.
!imdb [ film ] — Returns an IMDB link for the film name given.
!insult — Deliver a random Shakespearian insult; also !shakespeare.
J
!justin or !justinbot— Prints information about JustinBot including contact information for Justin Ryan.
L
!lag — Reports the current server lag.
M
!mono — See if you’ve slipped into a monologue.
!mono [ nick ] — See if the specified nick has crossed into a monologue.
!more — Show additional responses, if the bot indicated more were available – it will show (+#) at the end of the response if so. Use !rest to have him private message you the remainder.
!motivation — Provides a random “motivational” phrase.
O
!oneliner — Deliver a random one-liner
P
!pizza – Delivers a random pizza.
Q
!quote — Deliver a random quote from the channel.
!quote-count — Show a count of the number of available quotes.
!quote-last — Show the last quote.
!quote-search [ string ] — Search the quote list for the specified string.
R
!rest — Have the bot private message you the remainder of the responses to a query. Additional responses are shown by (+#) at the end of the first response.
S
!seen [ nick ] – Reports the last time the specified nick was seen.
!shot – Orders one of a variety of shots.
!snack – Delivers one of various snacks.
!snacks – Shows a list of the snack-related commands.
!spell [ string ] — Check the spelling of the string provided; if incorrect, will suggest possible spellings.
!staff – Sends a list of Linux Journal staff members and their IRC nicks to the requester by private message.
T
!tea — Ask the bot for a cup of tea.
!time — Show the current server time. (Australian Eastern Standard Time)
!tinyurl [ url ] — Returns a tinyurl and a preview url for the supplied url.
!translate [ from lang. ]>[ to lang. ] [ text ] — Translate the given text from the specified language to the specified language; also !tr.
U
!uptime — Show the length of time since the bot was last restarted.
W
!weather [ zip code ] or !weather [ location ] — Shows the weather forecast for the specified zip code or location name. Note that a state or country may be required. Experimental.
Questions/Comments/Problems
If you have questions or comments about JustinBot, please feel free to drop me an email at bot@u.nderblog.com, or find me in the channel. If JustinBot is malfunctioning, or there is another serious problem with him, please ask a channel op to quiet (+q) or, if necessary, kick him.

