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.