web equ.in
Home
Elois IRC bot
Elois is a bot (automated user) on IRC, created circa 2005. She can perform some useful tasks, such as currency conversion and looking up time zones. Elois never speaks unless spoken to.
Commands can be given in channel or in a private message and are case-insensitive: you can capitalise them as you wish. They are usually written with a leading exclamation mark, like this: !help. However, if you want to direct a command at Elois specifically — so that other bots don't pick it up — you can say Elois, help or Elois: help.
The restricted commands are only available to Elois' nearest and dearest. Make sure you change the default password in password.txt to something unguessable.
-
Download Elois 1.1.0.0 with data files (1.35 MB) - requires .NET Framework 2.0.
-
See a screenshot of the user interface.
Note: I haven't used Elois since 2007, and it is likely that a few of the commands are broken, because they relied on "screen-scraping" various Web sites whose addresses and page structure might have changed. I might fix these if you nag me; if you fix them yourself, feel free to send me updated code.
Source code
Here's the Elois source code with data files (1.8 MB). It's written in C# for .NET 2.0 and is very object-oriented.
Feel free to reuse parts of Elois if you find them useful, but don't be a jerk and re-release the whole thing with your name on it. I'd appreciate being credited if you use large portions.
Elois incorporates the Thresher IRC library, which is released separately under the GNU GPL licence (with a linking exception), included in the package.
Known issues: a harmless "double disconnection" error; ownership being per host and not per user; lack of flood protection; theoretical race condition with error messages being reported to the wrong user; ownership password stored in plain text (so anyone else using your computer might stumble on it).
General commands
|
Command
|
Purpose
|
Syntax
|
|
convert
|
Converts a value from one measurement unit or world currency to another, e.g. miles to kilometres, or US dollars to British pounds. This command can be abbreviated to conv.
|
!convert [amount] [from_unit] [to_unit]
|
|
dict
|
Looks up a word in the Merriam-Webster Dictionary.
|
!dict [word]
|
|
domain
|
Displays the country (or type of organisation) associated with an Internet top-level domain code, or the code associated with a country.
|
!domain [code]
!domain [country_name]
|
|
gem
|
Displays a random gem, which is a funny or notable comment somebody made in channel. If partial text is specified (such as somebody's nickname), Elois will select a random gem containing that text.
|
!gem
!gem [partial_text]
|
|
gender
|
Determines how male or female a person's name sounds, based on the frequency of its three-letter sequences in other names.
|
!gender [name]
|
|
help
|
Displays a help message and list of available commands.
|
!help
|
|
math
|
Calculates the result of a mathematical expression. The most useful operators are + add, - subtract, * multiply, and / divide. Anything in brackets gets evaluated first.
|
!math [expression]
|
|
newgem
|
Adds a gem to the list used by the !gem command.
|
!newgem [text]
|
|
rot13
|
Scrambles the letters of a message so that each letter is rotated thirteen places through the alphabet. This is sometimes used to hide "spoilers", such as solutions to puzzles.
|
!rot13 [message]
|
|
seen
|
Tells you when Elois last saw a nickname and what the user was doing, or — if no nickname is specified — the last thing Elois saw anyone doing. Supported events are public messages and actions, nickname and topic changes, joining and leaving channels, and quitting IRC.
|
!seen
!seen [nick]
|
|
test
|
Displays a test message (Hello, world!) to demonstrate that Elois is awake and functioning correctly.
|
!test
|
|
time
|
Displays the local time on Elois' computer, or — if the name of a major city is specified — the current time in that city.
|
!time
!time [city]
|
|
translate
|
Translates a message from one language to another. Languages are represented by two-letter codes, and one of them must always be en (English).
|
!translate [from_lang] [to_lang] [message]
|
|
version
|
Displays information about Elois, including version number, operating system, HTTP user agent string, and how long she has been connected.
|
!version
|
|
weather
|
Displays the two-day weather forecast for a town or city.
|
!weather [city]
|
Restricted commands
|
Command
|
Purpose
|
Syntax
|
|
deop
|
Takes away a user's channel operator status.
|
!deop [nick]
!deop [channel] [nick]
|
|
die
|
Makes Elois disconnect from IRC. If no reason is specified, your nickname is used as the quit message.
|
!die
!die [reason]
|
|
hop
|
Leaves the current channel and joins another one.
|
!hop [channel]
!hop [channel] [password]
|
|
join
|
Joins a channel.
|
!join [channel]
!join [channel] [password]
|
|
kick
|
Ejects a user from a channel. If no reason is specified, your nickname is used as the kick message.
|
!kick [nick]
!kick [nick] [reason]
!kick [channel] [nick]
!kick [channel] [nick] [reason]
|
|
me
|
Performs an action.
|
!me [action]
!me [channel] [action]
|
|
msg
|
Sends a private message to a user.
|
!msg [nick] [message]
|
|
nick
|
Changes Elois' nickname.
|
!nick [new_nick]
|
|
op
|
Grants channel operator status to a user.
|
!op [nick]
!op [channel] [nick]
|
|
oper
|
Grants IRC operator status to Elois. If this succeeds, you can perform IRC operator commands through Elois with !msg OperServ.
|
!oper [username] [password]
|
|
part
|
Leaves a channel.
|
!part
!part [channel]
|
|
say
|
Sends a message to the current user or current or specified channel.
|
!say [message]
!say [channel] [message]
|
|
sleep
|
Prevents Elois from responding to commands in any channel or private message (except the commands die and help) until woken with the wake command.
|
!sleep
|
|
topic
|
Sets the topic for a channel.
|
!topic [message]
!topic [channel] [message]
|
|
wake
|
After the sleep command, restores Elois to full responsiveness.
|
!wake
|
|