Willow's Readme (Version 1.04.04)

Credits to Nyx for editing this readme.

This readme comes out of the fact that I will no longer be supporting Willow in the future. As a result, most of her functions will no longer require registration, and people will be able to use the automated registration system. I hope this readme will aid in the smooth operation of Willow without my continued presence. When using Willow's functions, please respect the other people in the channel by not spamming (using many functions in a short amount of time).


Throughout this readme, I use the notation <variable>. When I mention a command "!command <variable>", the correct way to interpret this is to replace "<variable>" with whatever you're supposed to replace it with.  That means "!command searchstring", NOT "!command <searchstring>".  Note also that all commands, unless prefixed with a "/msg Willow" are public commands, and thus to be issued in the channel.


I have traditionally kept registration a feature only available by contacting me because of the problem with duplicate registrations. Before I mention the trigger for the automated registration process, I'd like to yet again warn of double registration. DO NOT DOUBLE REGISTER. If you already have an account on Willow, creating another will simply cause more problems for you, especially if you care about your "stats" account. I suppose that now I'm discontinuing support, that'll now be your problem, so I leave the responsibility to you to not double register. If you know you already have an account, look down the page for the section on "identing". If you don't know, use the "!finduser <user>" command to search for a user's account. Wildcards apply to this search, so if you're looking for a user named "Interlude", but you don't quite know how to spell it, you could "!finduser Inter*". Keep in mind that that search won't return a user named "eInter". If you've done such a search to make sure you're not already registered, you can then use the automated registration service. Choose a "handle" (a nickname that Willow will recognize you by, and a password you can remember, and "/msg Willow register <handle> <password>". DO NOT FORGET YOUR PASSWORD. If you do, and your hostmask changes, you won't be able to get back into your account.


This is the single most function that has caused me the most grief. If you already have an account, and you're not recognized, you IDENT, not re-register. The format for this is quite simple. "/msg Willow ident <password> <username>" If you don't know your username, you can search for it using "!finduser <user>" (see paragraph on registration for more information). If you remember your password and are successful in identing, she'll respond with a message such as "Added hostmask: *!*@*". If you enter your password incorrectly, she won't respond. When doing this, remember there *is* spam protection, so don't flood her with ident attempts, or else she'll ignore you.


Each user can set an "infoline", a line that Willow will greet their entrance into the channel with. An infoline consists of two parts, a title and the actual infoline. For example, a typical infoline would be "[Almighty Interlude] *sigh*". The title here is "Almighty", and the infoline is "*sigh*". The [ ]s and nickname are automatically provided by Willow.

!info <infoline>" - Sets your infoline. If no infoline is provided (just "!info"), your current infoline is displayed

!tinfo <title>" - Sets your title.  If no title is provided, your current title is displayed.

Note: You can clear your infoline or title by setting your infoline or title to "none"


As highly controversial as it is, I'm keeping this function around. There are now several anti-spam guards in place, so abuse should be minimal. Essentially this function keeps a database of quotes that other users have stored, and will retrieve them through searches. There are several quote functions:

!quote search" - Searches for a random quote

!quote search <number>" - Retrieves a specific numbered quote

!quote search *<searchstring>*" - Searches for a quote containing the phrase <searchstring>

!quote search *<searchstring>* <number>" - Retrieves the <number>th quote containing the phrase <searchstring>

!quote search last" - Retrieves the last quote added

!quote info <searchstring>" Displays the quote and its associated information. <searchstring> follows the same syntax as when using !quote search

!quote infosearch <searchstring> -handle <handle> -date <startdate> <enddate> -info" - Searches the quote information. The results will be quotes that have been added by the user specified, during the time range. Times must be in unix time. -info displays quote information in the results. -handle, -date, and -info switches are not required. <searchstring> follows the same syntax as when using !quote search

!quote top <number>" - Displays the top ten (from <number> to <number>-10) contributers of quotes

!quote add <quote>" - Adds <quote> to the quote file

!quote delete <number>" - Deletes a specific quote

!quote delete last" - Deletes the last quote added

Note: Only the person who added a quote may delete it, and only within 30 minutes. Willow's owners also have the ability to delete any quote.

Note: the word "search" may be omitted. Eg. "!quote *searchstring*"

Note: the phrase "!quote" may be abbreviated "!q". Eg. "!q last"

Note: the phrase "add" may be abbreviated "a".  Eg. "!q a This is not a fake quote"

The following are for bot owners only. Mere mortals need not attempt to use such functions.

!quote status" Displays some useful status information

!quote enable/disable debug" Enable/disable debug output

!quote enable/disable all" Enable/disable all quote functions

!quote enable/disable read" Enable/disable quote recall

!quote enable/disable write" Enable/disable quote storage


I've taken steps to reduce the amount of spam produced by this script. Hopefully, it'll still be easy to read the information provided.

The format of the command is:

!wz -d -s -l -u <imc> <location>

 -d: If you're a registered user, you can set a default location using this switch.

 -s: Specifies short output (one line)

 -l: Specifies long output (three lines)

 -u: Specifies units of output. "-u i" specifies imperial, "-u m" specifies metric, and "-u c" specifies combined units

 <location>: If you're in the United States, you can just use your zip code. If you're in the US and don't want to specify your zip code, you can use "city,state". If you live in Canada or Australia, the format is "city,state country". If you live in none of the above places, the format is "city country"

Note: specify -s or -l. Not both. Please use -s to show respect to your fellow IRCers.

Note: short output and combined units is default


!wz 10101 - Displays the weather for the zip code 10101

!wz -u m edmonton,ab ca - Displays the weather for the Edmonton, Alberta, Canada in metric units only

!wz -d -u c london uk - Sets yours default weather queries to display weather for London, UK, in combined units

!wz -u i new york,ny - Displays the weather for New York, New York in imperial units only.

If you don't know your country code, you can search for it using !wzc <country>

Seen Functions

!seen <nick> - Displays the last time <nick> was seen on the channel. If <nick> is still in the channel, the last time <nick> said something to the channel is provided

!seen <hostmask> - You can also search by hostmasks. Wildcards accepted

!lastspoke <nick> - Displays the last time <nick> spoke in the channel (only works on users still in the channel)

Stats Functions

!top10 - Displays the top ten most talkative users in the channel

!top20 - Displays the top talkers from 11th to 20th place

!ttop10 - Displays the top ten most talkative users in the channel in the past day

!ttop20 - Displays the top talkers from 11th to 20th place in the past day

!stat - Displays the stats that have been collected about you

!nstat - /notices your stats to you

!pstat - /msg your stats to you

!wordstats - Displays the 10 words you used most in the past day

!place - Displays your rank in terms of words spoken in the channel

!tplace - Displays your rank in terms of words spoken in the channel in the past day

!topwords - Displays the 10 most commonly spoken words in the channel

Note: !topten and !toptwenty are also valid

Note: Visit the webpage at http://gimli.battleaxe.net:7033 for more stats

Topic functions

Note: !t is a valid abbreviation for !topic

!topic - /notices the current channel topic to you

Note: the following functions are for channel ops or registered ops only

!topic set <topic> - Sets the channel topic to <topic>

!topic add <topic> - Appends <topic> to the current topic. Note: the word "add" can be omitted. Eg. "!topic test" will append "test" to the topic

!topic del <number> - Deletes the last <number> bits of the topic

!topic unset - Clears the topic

!topic shuffle - Shuffles around the different topic bits

Op functions

These functions are restricted to ops that Willow recognizes. Mere mortals need not attempt them.

!op <nick> - gives <nick> ops. If <nick> is not provided, Willow will op you

!deop <nick> - removes <nick>'s ops. If <nick> is not provided, Willow will deop you

!voice <nick> - gives <nick> voice. If <nick> is not provided, Willow will voice you

!devoice <nick> - removes <nick>'s voice. If <nick> is not provided, Willow will devoice you

!kick <nick> <reason> - Kicks <nick> from the channel with <reason>

!kb <nick> <reason> - Kickbans <nick> from the channel with <reason>

!status - Displays Willow's status

!ping - sends a ping command from Willow

Conversion function

!convert <from> <to> <amount> - Converts <amount> from <from> units to <to> units.












Miscellaneous Functions

!grackle <target> "Grackles" someone

!time - Tells you the time in Unix time and normal time

!ctime <unixtime> - Converts <unixtime> to normal time

!kickc <nick> <message> - Kicks <nick> with the message <message> in random colours

!8 <question> - Jiggles around the magic 8 ball

!lastsaid <nick> - Repeats the last thing <nick> said.

!whoami - Displays your handle on Willow, and your access

!chkurl <url> - Displays the title of <url>

Note: URLs that are said in the channel in the format "http://*" will automatically trigger the !chkurl function

!google <search term> - Returns the URL and title of the first google match for <search term>

!finduser <searchstring> - Searches through the user records for a user who's handle matches <searchstring>. Wildcards accepted

!calc <expression> - Returns the value of <expression>.