User:KenjiE20/Webster
From #openttdcoop wiki
Webster is #openttdcoop's general use bot. He is based on supybot and as such has some strange quirks
This page is a quick 'cheat sheet' to the more useful stuff
<option> - These arguements are required
[<option>] - These arguements are optional
Users
Important Note: Any action involving a password must be done via a pm or query i.e. '/query Webster' or '/msg Webster <action>' |
All commands listed are prefixed by user, this is not strictly required for all commands, as some only exist in the 'user' plugin.
Adding a new user
user register <name> <password>
Creates a new user on the bot, and links your current hostmask to it
Log in to your username
user identify <name> <password>
If your hostmask has changed, then you can log in by using this
(Hint: You can add " /msg Webster user identify <name> <password> " to your clients OnConnect (or similar))
whoami
Returns who the bot thinks you are
Manipulating hostmasks & log in settings
user hostmask add
Add your current hostmask. Obviously this only makes sense after identify.
user hostmask add [name] [hostmask] [password]
Add hostmask for another user. If not owner, password must be given.
hostmask list [<name>]
Returns the hostmasks of the user specified by <name>; if <name> isn't specified, returns the hostmasks of the user calling the command.
user hostmask remove <name> <hostmask> [password]
Removes the hostmask <hostmask> from the record of the user specified by <name>.
If the hostmask given is 'all' then all hostmasks will be removed.
The <password> may only be required if the user is not recognized by his hostmask.
user set secure <password> [<True|False>]
Sets the secure flag on the user of the person sending the message.
Requires that the person's hostmask be in the list of hostmasks for that user in addition to the password being correct.
When the secure flag is set, the user *must* identify before he can be recognized.
Changing password
user set password <user> <old password> <new password>
Renaming a user
user changename <name> <new name> [password]
Users can change their name themselves.
#openttdcoop specific
Stuff we've added
blog <search>
Search the #openttdcoop blog for <search> and returns the most likely result and the search page used.
glossary define: <word>
List the added #openttdcoop abbreviations that a user can ask for a definition of by using 'define:' or one of the other bot triggers (i.e. @ ?: d: etc.)
man <search>
Search the OpenTTD wiki for <search> and returns the most likely result and the search page used.
psgsave <PSG>
Returns the PublicServer:Archive link for PSG #<PSG>
pstest servtest <IP> <port>
Test to check if the PS ( or <port> on <IP> ) is still running and listening for connections, useful if something weird happens.
saymyname
Does what it says on the tin, gives your current IRC nick back.
trainsets
List the URLs where you can find the tracking tables for various trainset GRFs
tunnels <trainlength>
Gives you some gap threshold values for 2,3,4 tunnels at <trainlength>
wiki <search>
Search the #openttdcoop wiki for <search> and returns the most likely result and the search page used.
Curve Length Calculator
<train/mono/mag>cl <speed km/h> use one of train/mono/mag e.g. traincl <speed>
Returns minimum CL for full <speed> transit (assuming TL > CL returned else use TL)
<train/mono/mag>clspd <cl> use one of train/mono/mag e.g. trainclspd <cl>
Returns the max-speed a <cl> can manage
Searching
Looking for something / someone
Dictionary
dict [<dictionary>] <word>
Looks up the definition of <word> on dict.org's dictd server.
dictionaries
List the dictionaries valid for the 'dict' command
urbandict <word> udict <word>
Looks up <word> in the UrbanDictionary.
google <search> [--{language,restrict} <value>] [--{notsafe,similar}]
Searches google.com for the given string.
As many results as can fit are included.
--language accepts a language abbreviation;
--restrict restricts the results to certain classes of things;
--similar tells Google not to filter similar results.
--notsafe allows possibly work-unsafe results. (Do NOT use this in the open channel, message the bot instead)
cache <url>
Returns a link to the cached version of <url> if it is available.
fight <search string> <search string> [<search string> ...]
Returns the results of each search, in order, from greatest number of results to least.
google spell <word>
Returns Google's spelling recommendation for <word>.
Last Seen a User
seen [<channel>] <nick>
Returns the last time <nick> was seen and what <nick> was last seen saying.
<channel> is only necessary if the message isn't sent on the channel itself.
seen last [<channel>]
Returns the last thing said in <channel>.
seen any [<channel>] [--user <name>] [<nick>]
Returns the last time <nick> was seen and what <nick> was last seen doing.
This includes any form of activity, instead of just PRIVMSGs.
If <nick> isn't specified, returns the last activity seen in <channel>.
If --user is specified, looks up name in the user database and returns the last time user was active in <channel>.
seen user [<channel>] <name>
Returns the last time <name> was seen and what <name> was last seen saying.
This looks up <name> in the user seen database, which means that it could be any nick recognized as user <name> that was seen.
Wikipedia
wikipedia <search>
Searches Wikipedia for <search> and returns the most likely result and the search page used
General User Annoyance
Stuff you either love or hate
Heralding
Greets a user when they are identified and enter a channel
herald add [<channel>] <user|nick> <msg>
Sets the herald message for <user> (or the user <nick|hostmask> is currently identified or recognized as) to <msg>.
<channel> is only necessary if the message isn't sent in the channel itself.
herald change [<channel>] [<user|nick>] <regexp>
Changes the herald message for <user>, according to <regexp>.
If <user> is not given, defaults to the calling user.
<channel> is only necessary if the message isn't sent in the channel itself.
herald get [<channel>] [<user|nick>]
Returns the current herald message for <user>.
If <user> is not given, defaults to the user giving the command.
<channel> is only necessary if the message isn't sent in the channel itself.
herald remove [<channel>] [<user|nick>]
Removes the herald message set for <user>.
If <user> is not given, defaults to the user giving the command.
<channel> is only necessary if the message isn't sent in the channel itself.
Logging
logs
Returns the link for formatted logs for #openttdcoop
Maths and conversions
calc <math expression>
Returns the value of the evaluated <math expression>.
The syntax is Python syntax; the type of arithmetic is floating point.
Floating point arithmetic is used in order to prevent a user from being able to crash to the bot with something like '10**10**10**10'.
One consequence is that large values such as '10**24' might not be exact.
currency convert [<number>] <currency1> [to] <currency2>
Converts from <currency1> to <currency2>.
If number isn't given, it defaults to 1.
base <fromBase> [<toBase>] <number>
Converts <number> from base <fromBase> to base <toBase>.
If <toBase> is left out, it converts to decimal.
math convert [<number>] <unit> to <other unit>
Converts from <unit> to <other unit>.
If number isn't given, it defaults to 1. For unit information, see 'units' command.
math units [<type>]
With no arguments, returns a list of measurement types, which can be passed as arguments.
When called with a type as an argument, returns the units of that type.
Misc.
8ball [<question>]
Ask a question and the answer shall be provided.
coin
Flips a coin and returns the result.
cyborg [<name>]
Returns a cyborg acronym for <name> from http://www.cyborgname.com/
If <name> is not specified, uses that of the user.
dice <dice>d<sides>
Rolls a die with <sides> number of sides <dice> times.
For example, 2d6 will roll 2 six-sided dice; 10d10 will roll 10 ten-sided dice.
monologue [<channel>]
Returns the number of consecutive lines you've sent in <channel> without being interrupted by someone else (i.e. how long your current 'monologue' is).
<channel> is only necessary if the message isn't sent in the channel itself.
ping
Replies with a 'pong', for checking your latency to IRC and the bot.
roulette [spin]
Fires the revolver. If the bullet was in the chamber, you're dead. Tell me to spin the chambers and I will.
Even more fun while the bot is opped.
Quotes
qdb
Returns the link to the quotes webpage
q <id>
Returns the url for quote <id>
quote add [<channel>] <text>)
Adds <text> to the quote database for <channel>.
<channel> is only necessary if the message isn't sent in the channel itself.
Be sure to wrap <text> in "double quotes", if you need quote symbols in a quote use "<text [utilities repr quoted text] more text>"
quote change [<channel>] <id> <regexp>
Changes the quote with id <id> according to the regular expression <regexp>
quote get [<channel>] <id>
Gets the quote with id <id> from the quote database for <channel>
quote search [<channel>] [--{regexp,by} <value>] [<glob>]
Searches for quotes matching the criteria given.
quote stats [<channel>]
Returns the number of quotes in the database for <channel>
quote remove [<channel>] <id>
Removes the quote with id <id> from the quote database for <channel>
quote random [<channel>]
Returns a random quote from <channel>
Stats
channelstats stats [<channel>] [<name>]
Returns the statistics for <name> on <channel>.
<channel> is only necessary if the message isn't sent on the channel itself.
If <name> isn't given, it defaults to the user sending the command.
(Only tracks registered users)
channelstats [<channel>]
Returns the statistics for <channel>.
<channel> is only necessary if the message isn't sent on the channel itself.
coopstats
Gives you the link for #openttdcoop's PISG stats generator page, which contains lots of fun trivia
Tracks all users, and links users talking via PublicServer where possible. Ask for more info.
See also
Supybook - the Supybot handbook
list list <plugin>
List the loaded plugins, or the commands for a plugin
help <command>
Get help on a command