WangBot Instructions
Schema
- Command
- Result
General
- !greet
- be greeted as though you had just entered the room
- !topic
- Usage: !topic [new topic]
- wangbot sets the topic
Scoring
- !score
- check your score!
- !tip
- Usage: !tip [nick] (amount) (comment)
- Example:
!tip willwybrow 5 being a great guy
- tip an amount of your current points to another user as a reward, bribe, or act of kindness. the amount and comment parameters are both optional. if the amount is not specified, the default value of 1 is used. if the amount is more than your score, you tip the bucket. the first word after the nick is always interpreted as the amount if it is numeric, so just be careful if you are doing, for example, !tip TrustworthySam 1337 hax, you would tip up to thirteen hundred and thirty-seven points away that you might not have intended
- Example:
- !makeitrain (amount)
- Tip every eligible-to-vote user at once
- !leaders
- see the three richest players in all the land
- !losers
- see the three poorest orphans in all the landfill
Ranking
- !rank (nick)
- display the rank and stars of you or someone else
- !stars
- see which stars you can afford and how to buy them
- !copper
- Buy yourself a copper star
- !copper [nick]
- Give one of your copper stars to another user
- !copper wangbot
- Sell one of your copper stars (for 50% of the cost to buy)
- !promote [nick]
- consolidates many of a person's small-value stars into fewer high-value stars. does not increase a person's rank but makes them look cooler
- !demote [nick]
- knock someone down a peg without actually affecting them. like all medals and decorations, utterly meaningless
Gaming
- !lottery
- See when the next lottery will occur! lotteries are drawn every Friday!
- !jackpot
- see how much you could win by entering the lottery!
- !buyticket (rows)
- buy rows chances to win in the lottery! the lottery is performed by the selection of two random numbers from 0-15. if any of your tickets contain rows with those exact numbers (in order) then you win!
- !shuffle
- gather in any cards held or on the table and shuffle them into the channel deck
- !draw (number)
- take one or more cards into your hand
- !deal (number) [nick] (space-separated nicks)
- deal number cards to each nick listed. cards dealt to wangbot get placed on the table
- !table (number)
- display the cards on the table, or, if a number is supplied, deal that many cards face-up onto the table
- !hand
- privately check which cards you're holding in your hand
- !reveal
- openly display your hand to the channel
Taxation
- !audit (nick)
- check how long it's been since a user gave a !tip to someone else in the channel. after two weeks of inactivity and every week thereafter, a user can be subject to a wealth tax of 10%. this is added 15 minutes after each lottery draw. a taxation lozenge will appear in the user's !rank
Synthesis
Many of these commands can take additional arguments that provide seed words for wangbot to base its synthesis on.
- !opine
- have wangbot state a thought. coherence not guaranteed
- !topine
- wangbot puts a thought straight into the topic
- !macropine
- Example:
!m a * in the hand is worth two in the *
- macroinstruction to !opine in all the gaps marked by a space-padded * character
Transmit
- !tweet
- Usage: !tweet [message]
- wangbot tweets your message from the @wangingout account
- !tweply
- Usage: !tweply [twitter status URL]
- Example:
!tweply https://twitter.com/willwybrow/status/417312084364255232
- wangbot does its own reply to the specified tweet, if possible
- !twat
- Usage: !twat @[twitter_username]
- Example:
!twat @willwybrow
- short for "tweet at". wangbot replies to a user's latest tweet
- !rt
- Usage: !rt [twitter status url]
- Example:
!rt https://twitter.com/willwybrow/status/417312084364255232
- wangbot retweets a tweet
Receive
- !tw
- Usage: !tw (@[twitter_username]|[twitter status URL])
- Example:
!tw @willwybrow
- Example:
!tw https://twitter.com/willwybrow/status/417312084364255232
- wangbot pulls a tweet from a twitter stream. use this sparingly, though, since it sucks up my API calls. try .tw if the twitter account is unprotected
- !tr
- Usage: !tr :[from_language] :[to_language] [words to translate]
- Example:
!tr :en :ja robot
- Translates, with an optional from and to language, the supplied message. If no to_language is supplied, it assumes en. If no from_language is supplied, it tries to guess.
- !ud
- Usage: !ud [term]
- Example:
!ud cumpkin
- Get an urban dictionary definition for your supplied word
Recall
- !line
- Usage: !line [case-insensitive search term]
- searches the log files in reverse for the most recent appearance of the search term. logs write out to disk every few minutes so the immediate past is usually excluded from the search
- !firstline
- searches the log files in chronological order for the first appearance of the search term.
- !context
- Usage: !context [case-insensitive search term]
- by request, grabs a four line block containing the search term, if it appears in the logs, to provide more context than a simple !line search
- !firstcontext
- like first line but with context.
Democracy
- !floor
- Ask for the floor in order to propose democratic motions. you keep it until you cede it, or it can be seized by another user after 5 minutes
- !whofloor
- check who currently has the floor, and for how long they've had it
- !cede
- cede the floor if you have it and cancel any unseconded motion you have proposed
- !whocan
- list the enfranchised channel participants
- !imove
- Example:
!imove that this club sucks
- propose a motion to put on the statute book. it requires a !second who believes this motion is worthy of voting upon. it will appear in the list as "This channel believes " followed by your motion text. frequently (but not always), motions begin with "that", so !imove that this club sucks shows up as This channel believes that this club sucks unless it fails, in which case it shows up as This channel does not believe that this club sucks.
- !second
- to sponsor a proposed motion and open the channel for voting on it
- !yea (argument)
- Vote in the affirmative for a currently proposed and seconded motion
- !nay (argument)
- negatory on that, houston
- !abstain (argument)
- abstain from exercising your right to democracy
- !motion
- Check the status of any current motion
- !statute
- each statute gets an article number. supply that number here to view the statute it corresponds to. use negative numbers to get the most recent statutes
Trivial
- !acronym
- Example:
!acronym BBC
- picks words from the dictionary to match the initials you supply
- !anagram
- Example:
!anagram feathers fall
- limitedly tries to anagram the supplied string
- !rhyme
- Usage: !rhyme [words to rhyme]
- Look up rhymes with various and unguessable accuracy
- !roll
- Usage: !roll [xdy+z]
- takes basic dice notation and runs with it
- !8ball
- one of the ten good, five medium and five bad mattel eight-ball responses. eurgh.
- !pokémon
- Usage: !pokémon [name or number]
- seek out details of pokémon
- !%
- Usage: !% (0—100)
- prints out a little progress bar with a specified or random value between 0 and 100.
- !rand
- Usage: !rand [number]
- prints out number random digits
- !tab
- Example:
!tab trutab
- Tabcomplete a known username
- !upper
- Usage: !upper [string to modify]
- turns input string to UPPERCASE
- !lower
- Usage: !lower [string to modify]
- turns input string to lower case
- !title
- Usage: !title [string to modify]
- indiscriminately turns input string to title case. weird results on apostrophe words and words that oughtn't be Titled
- !vreplace
- Example:
!vreplace willwybrow
- each vowel is replaced by another vowel that it isn't
- !w
- make wangbot say things how you want
- $self
- your nick
- $nick
- normally the same as $self, but when inside the first level of a greeting, replaced by the nickname of the user who is being greeted
- $here
- Replaced by a nickname chosen randomly from all the nicks present
- $user
- Replaced by a nickname chosen randomly, without replacement, from the list of registered users
- $rand
- A random digit, 0-9
- $alph
- A random alpha character, [a-zA-Z]
- $char
- A random alphanumeric character, [a-zA-Z0-9]
- $cons
- A random uppercase consonant
- $vowl
- A random uppercase vowel (including Y)
- $mond
- One of the twelve months we have, as a word
- $wday
- A random weekday
- $cmyk
- A random colour (in words)!
- $poke
- A random pokémon!
- $noun
- A random noun phrase from the system list of noun phrases. Small pool to choose from. Also typing $nouns will substitute in the plural form
- $()
- a nested command. okay, so most of the commands in this instruction booklet can be embedded into a !w line or a greeting.
- Example:
!w $here is on record as saying "$(!opine)"
- wangbot will do the work in his head and spit out the result
- note that any command inside these parentheses will act almost exactly the same as if you had invoked it on its own. so any $vars in there will not be evaluated. typing
!w $(!tip $here)
will not tip a random here person, but instead try to tip a user called "$here" which obviously makes no sense - however, multiple levels of nesting is supported and $()s are evaluated from the inside out, so if you were to write
!w $(!tip $(!w $here))
, the innermost $(), which is!w $here
gets evaluated first. That might return, for exampleJamieDass
. then the line is in an internal state like!w $(!tip JamieDass)
which is then evaluated. it makes perfect sense and I don't know why you'd think it would work any other way, chezmax
- !r
- !r and !r0 through !r9 set and then get eleven user-specific variables.
- if you supply !r with an argument, the value of that !r is set. type it on its own, wangbot says the value currently stored in it
- Example:
!r0 hello $nick
- Example:
!r0
- !wr
- This is a shorthand for the following:
!w $(!r)
- Likewise you have !wr0 to !wr9 for the other ten registers
- This lets you put bits of wanguage in them, for example,
!r0 $(!tip JamieDass)
- Then type
!wr0
which evaluates to!w $(!tip JamieDass)
which tips JamieDass - %*
- One more feature specific to registers.
%*
placed inside a register will be replaced with user-supplied arguments when the register is executed using !wr - Example:
!r0 $(!tip %*)
- Then
!wr0 JamieDass
evaluates to!w $(!tip JamieDass)
which acts as above - /query wangbot
- For those of you who don't know, this will open up a new window where you can communicate in private with wangbot
- !addgreeting
- Usage: !addgreeting [greeting text]
- Adds or updates a draft greeting. wangbot will let you preview it before adding it to the database, to check for typos. The greeting text can contain any of the wanguage features!
- Example:
!addgreeting $user bought $nick a ₩5$rand0,000 gold $noun on the 1$randth of $mond. $nick was delighted, but $user rated the purchase $char
- !confirm
- After you use !addgreeting, wangbot will read back your greeting with some generic substitutions so you can see if it worked okay. Then type !confirm to add it to the database
- !addnoun
- add a noun and its article and plural to be used in $noun substitution
- !signup
- Get ten points. Your nick gets turned into something we can use.
- !nickof [main_nick]
- add an alt nick to wangbot's memory brain
- !checkyoself
- use this if ever wangbot has wrecked himself (i.e., is present in the channel without being an op)
- !callher
- use this to call up clambot whenever she has fallen over which happens often because she is terrible
Wanguage
Registers
Greeting
These commands are best issued in private to wangbot in a /query