Difference between revisions of "Zoia or the Code4Lib IRC bot"

From Code4Lib
Jump to: navigation, search
m (Fixing section heading heirarchy)
(added @fight documentation)
 
(6 intermediate revisions by 2 users not shown)
Line 14: Line 14:
 
Some examples are on the [http://code4lib.org/irc/faq http://code4lib.org/irc/faq main Code4Lib IRC FAQ page] and more are listed below to get you started.   
 
Some examples are on the [http://code4lib.org/irc/faq http://code4lib.org/irc/faq main Code4Lib IRC FAQ page] and more are listed below to get you started.   
  
If you want to see a list of commands, you can ask Zoia directly:  
+
If you want to see a list of plugins, you can ask Zoia directly:  
  
<pre lang="text">
+
<tt>
/msg zoia list
+
@list<br>
<zoia> Acronym, Admin, Amazon, Anagram, Anonymous, ArtisanalIntegers, Assorted, Astro, AudioScrobbler, Babelfish, Band, Blame, Calais, Cast, Channel, ChannelLogger, Config, CyborgName, DBpedia, Debian, Delicious, Dict, Disclaimer, Disemvowel, Dunno, Eef, Etymology, FOAF, Filter, Fireworks, Fixit, Games, GasPrices, Gender, GeoIP, Git, Google, Greeter, Helpers, Herald, IPTools, Insult, Internet, IsItDown, Karma, Kombat, (2 more messages)
+
:<zoia> Acronym, Admin, Amazon, Anagram, Anonymous, ArtisanalIntegers, Assorted, Astro, AudioScrobbler, Babelfish, Band, Blame, Calais, Cast, Channel, ChannelLogger, Config, CyborgName, DBpedia, Debian, Delicious, Dict, Disclaimer, Disemvowel, Dunno, Eef, Etymology, FOAF, Filter, Fireworks, Fixit, Games, GasPrices, Gender, GeoIP, Git, Google, Greeter, Helpers, Herald, IPTools, Insult, Internet, IsItDown, Karma, Kombat, (2 more messages)<br>
more
+
@more<br>
<zoia> LCSH, Later, Levenshtein, LibraryThing, Linux, Lisppaste, Lolcat, Lolz, LoveHate, MARC, Math, Misc, Motivate, NACO, Nadsat, Nickometer, OCLC, Oblique, OpenDict, Owner, PDPC, Pinky, Pirate, Poll, Praise, Presidents, Quote, Reply, Sarge, Scrabble, Seen, Services, Sing, SocialGraph, StackEx, Stopwords, Tantrum, Todo, Traffic, Translators, TrueTrue, Twitter, TwitterSnarfer, URL, Uberblic, UnglueIt, Unicode, Unix, (1 more message)
+
:<zoia> LCSH, Later, Levenshtein, LibraryThing, Linux, Lisppaste, Lolcat, Lolz, LoveHate, MARC, Math, Misc, Motivate, NACO, Nadsat, Nickometer, OCLC, Oblique, OpenDict, Owner, PDPC, Pinky, Pirate, Poll, Praise, Presidents, Quote, Reply, Sarge, Scrabble, Seen, Services, Sing, SocialGraph, StackEx, Stopwords, Tantrum, Todo, Traffic, Translators, TrueTrue, Twitter, TwitterSnarfer, URL, Uberblic, UnglueIt, Unicode, Unix, (1 more message)<br>
</pre>
+
</tt>
  
 
Note -- if you are experimenting and learning about commands, it is a good idea to send private messages to Zoia directly (using <tt>/msg zoia ''[command]''</tt>) rather than directly in channel (e.g. <tt>@''[command]''</tt>).
 
Note -- if you are experimenting and learning about commands, it is a good idea to send private messages to Zoia directly (using <tt>/msg zoia ''[command]''</tt>) rather than directly in channel (e.g. <tt>@''[command]''</tt>).
 
Unless, that is, you want everyone to watch you experimenting.
 
Unless, that is, you want everyone to watch you experimenting.
 +
 +
Each plugin has zero or more commands that it can perform. 
 +
The <tt>@list</tt> command is also used to see what commands are available in a plugin:
 +
 +
<tt>
 +
@list Lolz<br>
 +
:<zoia> lolz
 +
</tt>
 +
 +
So the <tt>Lolz</tt> plugin has one command: <tt>lolz</tt>
 +
To see how to run the command, use <tt>@help</tt>
 +
 +
<tt>
 +
@help lolz<br>
 +
:<zoia> (lolz <phrase>) -- Translates English into Lolcat using http://speaklolcat.com/
 +
</tt>
 +
 +
To run the command, precede it with an at-sign ('@') in the channel:
 +
 +
<tt>
 +
@lolz<br>
 +
:<zoia> OH HAI THAR
 +
</tt>
  
 
==Registering with Zoia==
 
==Registering with Zoia==
Line 37: Line 60:
 
/msg zoia identify ''[IRC_nickname]'' ''[password]''
 
/msg zoia identify ''[IRC_nickname]'' ''[password]''
 
</pre>
 
</pre>
 +
''Note: Don't worry, "/msg" sends a private message, so no one in the chatroom will see your password.  However, don't reuse a password you care about because IRC messages are not encrypted and could be sniffed.''
  
==Examples==
+
==Examples of Bot Commands==
  
 
*'''@whoami'''
 
*'''@whoami'''
Line 44: Line 68:
 
pmurray:  @whoami
 
pmurray:  @whoami
 
zoia: pmurray
 
zoia: pmurray
 +
</pre>
 +
 +
*'''@helpers''' ''List people who have self-identified as willing to be able to assist with IRC''
 +
<pre>
 +
pberry: @helpers
 +
zoia: List of active #code4lib helpers (@help helpers for details): anarchivist, gsf, mbklein, mistym, rsinger, ruebot
 
</pre>
 
</pre>
  
Line 50: Line 80:
 
ruebot: @coffee pberry
 
ruebot: @coffee pberry
 
zoia brews and pours a cup of Guatemala El Diamante, and sends it sliding down the bar to pberry
 
zoia brews and pours a cup of Guatemala El Diamante, and sends it sliding down the bar to pberry
 +
</pre>
 +
 +
* '''@fight'''
 +
<pre>
 +
todrobbins: @fight MARC RDA BIBFRAME
 +
zoia: todrobbins: MARC: 46100000, RDA: 2090000, BIBFRAME: 2990
 
</pre>
 
</pre>
  
Line 86: Line 122:
 
   
 
   
 
* '''@quote''' ''Get or add quotes''
 
* '''@quote''' ''Get or add quotes''
 +
<pre>
 
emorgan: @quote random
 
emorgan: @quote random
 
 
zoia: emorgan: Quote #421: "< edsu> heartlessdicatoators4lib" (added by gsf at 04:51 PM, September 20, 2006)
 
zoia: emorgan: Quote #421: "< edsu> heartlessdicatoators4lib" (added by gsf at 04:51 PM, September 20, 2006)
  
gsf: @quote random
+
gsf: @quote add <mjgiarlo> the goal, IMO, is to avoid being a technocracy and also to avoid being a null-tech oligarchy.
 
+
zoia: gsf: The operation succeeded. Quote #255 added.
zoia: gsf: Quote #255: "<mjgiarlo> the goal, IMO, is to avoid being a technocracy and also to avoid being a null-tech oligarchy." (added by edsu at 01:50 PM, March 22, 2006)
+
</pre>
 +
Command also has <tt>change</tt>, <tt>cited</tt>, <tt>derp</tt>, <tt>get</tt>, <tt>random</tt>, <tt>raw</tt>, <tt>remove</tt>, <tt>search</tt>, and <tt>stats</tt>.
  
* @praise
+
* '''@praise''' ''Give random props''
 +
<pre>
 
mistym: @praise the end of the all-day meetings
 
mistym: @praise the end of the all-day meetings
 
 
zoia: radiation has made the end of the all-day meetings an enemy of civilization
 
zoia: radiation has made the end of the all-day meetings an enemy of civilization
 +
</pre>
 +
Command also has <tt>add</tt>, <tt>change</tt>, <tt>get</tt>, <tt>remove</tt>, <tt>search</tt>, and <tt>stats</tt>.
  
* @insult
+
* '''@insult''' ''Give random insults''
 +
<pre>
 
bohyunkim: @insult z39.50
 
bohyunkim: @insult z39.50
 
 
zoia: z39.50: You are nothing but a ruttish half-mouthful of clouted urine.
 
zoia: z39.50: You are nothing but a ruttish half-mouthful of clouted urine.
 +
</pre>
 +
Command also has <tt>add</tt>, <tt>change</tt>, <tt>get</tt>, <tt>remove</tt>, <tt>search</tt>, and <tt>stats</tt>.
  
* @sing
+
* '''@blame''' ''It wasn't you, so what was the problem?''
lbjay: @sing MC Hammer
+
When adding a ''blame'' string, include the string '$who' -- it will serve as a placeholder for the input string.
 +
<pre>
 +
mistym: @blame add Pray sir, if I input the wrong commands, will $who output the right results?
 +
zoia: mistym: The operation succeeded.  Blame #161 added.
  
zoia: lbjay: No lyrics found for They Put Me In The Mix by MC Hammer
+
mistym: @blame 161 [someone]
 +
zoia: Pray sir, if I input the wrong commands, will egspoony output the right results?
 +
</pre>
 +
Command also has <tt>add</tt>, <tt>change</tt>, <tt>get</tt>, <tt>remove</tt>, <tt>search</tt>, and <tt>stats</tt>.
  
*@measure
+
* '''@sing''' ''Display lyrics from lyricsmania.com''
emorgan: @measure diversity
+
Usage: <tt>sing artist [: title] [: * | line | pattern]</tt>
 
+
<pre>
[10:39am] zoia: emorgan: get back to me after you've given that micro-thought a dereferenceable URI
+
frankn: @sing bon jovi : wanted dead or alive
 
+
zoia: I'd drive all night  / Just to get back home  / I'm a cowboy, on a steel horse I ride  / I'm wanted dead or alive
* @help
+
</pre>
 
+
mistym: @help register
+
 
+
zoia: mistym: (register <name> <password>) -- Registers <name> with the given password <password> and the current hostmask of the person registering. You shouldn't register twice; if you're not recognized as a user but you've already registered, use the hostmask add command to add another hostmask to your already-registered user, or use the identify command to identify just for a session. This command (and all other commands (1 more message)
+
 
+
* @ana
+
  
 +
* '''@ana''' ''Return an anagram of the input''
 +
<pre>
 
jtgorman: @ana learning is fun
 
jtgorman: @ana learning is fun
 
 
zoia: jtgorman: Gainful sinner
 
zoia: jtgorman: Gainful sinner
 +
</pre>
  
pmurray: zoia: That is deep…somehow.
+
*'''@hussein'''' ''Like <tt>@ana</tt>, but appends the string 'hussein' before anagramming''
 
+
<pre>
zoia: pmurray: So brother, be a brother / And fill this tiny cup of mine / And please, sir, make it whiskey / For I have no head for wine
+
 
+
* @helpers
+
 
+
pberry: @helpers
+
 
+
zoia: List of active #code4lib helpers (@help helpers for details): anarchivist, gsf, mbklein, mistym, rsinger, ruebot
+
 
+
* @quote
+
 
+
emorgan: @quote dchud
+
 
+
zoia: emorgan: Please respect the plants of political power
+
 
+
bibliotechy: @quote get 1229
+
 
+
zoia: bibliotechy: Quote #1229: "< gsf> zoia isn't problematic, just misunderstood" (added by anarchivist at 05:16 PM, March 10, 2008)
+
 
+
jtgorman: @quote search gsf
+
 
+
zoia: jtgorman: 40 found: #1094: "< edsu> gsf: somewhere there is a perl hacker...", #1122: "< gsf> yeah, python is more a language for stoners", #1192: "< gsf> man, relationships are so complex", #1194: "< gsf> providence is the obama of hosts2009", #1221: "<gsf> i don't run our ils -- i work on...", #1229: "< gsf> zoia isn't problematic, just misunderstood", #1266: "< gsf> please forgive me, but i must raise the...", #1384: "< (5 more messages)
+
 
+
*@hussein
+
 
+
 
mistym: @hussein learning is fun
 
mistym: @hussein learning is fun
 
 
zoia: mistym: Huge flair in sunniness
 
zoia: mistym: Huge flair in sunniness
 +
</pre>
 +
Inside joke?
  
* @redact
+
*'''@redact''' ''Randomly redact parts of the input''
 +
<pre>
 +
pmurray: @redact [quote random]
 +
zoia: pmurray: Quote #2385: "<wgibson> ██████ financial crisis? It was the industries *█████████*. █████████ financial instruments, like ██████ ██████ drawings..." (█████ by edsu at 06:50 AM, August 29, ████)
 +
</pre>
  
mbklein: @redact [dunno]
+
* '''@etym''' Get the etymology of a word
zoia: mbklein: Your ███████™ has decreased ███.█%
+
<pre>
 +
bohyunkim: @etym guest
 +
zoia: bohyunkim: 'Old English g&aelig;st, giest (Anglian gest) "guest; enemy; stranger," the common notion being "stranger," from Proto-Germanic *gastiz (cf. Old Frisian jest, Dutch gast, German Gast, Gothic gasts "guest," originally "stranger"), from PIE root *ghosti- "strange" (cf. Latin hostis "enemy," hospes "host" -- from *hosti-potis "host, guest," originally "lord of strangers" -- Greek xenos "guest, host, stranger;" Old (1 more message)
 +
</pre>
  
* @etymology
+
== Stacking Commands ==
 +
It is possible to have the output of one command be the input of another using square brackets.
 +
The results can be occasionally quite entertaining:
  
bohyunkim: @etymology guest
+
<pre>
 +
pmurray: @mccainize [obamit [canuck [scalia [quote raw]]]]
 +
zoia: pmurray: My friends, Look, zedoia's the 'closest' thing I get to regular human contact at wourk, eh?
 +
</pre>
  
zoia: bohyunkim: it's Thanksgiving somewhere
+
(You can <tt>@help</tt> the individual commands to see what each is adding along the way.)
 
+
* @blame
+
 
+
mistym: @blame add Pray sir, if I input the wrong commands, will $who output the right results?
+
 
+
zoia: mistym: The operation succeeded. Blame #161 added.
+
 
+
mistym: @blame 161 [someone]
+
 
+
zoia: Pray sir, if I input the wrong commands, will egspoony output the right results?
+
 
+
*@roll
+
mistym: @roll 1d161
+
 
+
zoia: mistym: grow it out! http://ln-s.net/4iAq
+
 
+
* @bame
+
mistym: @bame [1d161] mistym
+
 
+
zoia: mistym: your problem is you didn't build it out of bacon
+
 
+
mistym: @bame [roll 1d161] mistym
+
 
+
zoia: mistym: STOP CYBERBULLYING ME
+
 
+
* @kombat
+
 
+
MrDys: @kombat I kano fatality
+
 
+
zoia: MrDys: kano's fatality: Hold BL,B,B,LP
+
  
 
==List of Plug-ins==
 
==List of Plug-ins==
Line 201: Line 203:
  
 
Acronym, Admin, Amazon, Anagram, Anonymous, ArtisanalIntegers, Assorted, Astro, AudioScrobbler, Babelfish, Band, Blame, Calais, Cast, Channel, ChannelLogger, Config, CyborgName, DBpedia, Debian, Delicious, Dict, Disclaimer, Disemvowel, Dunno, Eef, Etymology, FOAF, Filter, Fireworks, Fixit, Games, GasPrices, Gender, GeoIP, Git, Google, Greeter, Helpers, Herald, IPTools, Insult, Internet, IsItDown, Karma, Kombat, LCSH, Later, Levenshtein, LibraryThing, Linux, Lisppaste, Lolcat, Lolz, LoveHate, MARC, Math, Misc, Motivate, NACO, Nadsat, Nickometer, OCLC, Oblique, OpenDict, Owner, PDPC, Pinky, Pirate, Poll, Praise, Presidents, Quote, Reply, Sarge, Scrabble, Seen, Services, Sing, SocialGraph, StackEx, Stopwords, Tantrum, Todo, Traffic, Translators, TrueTrue, Twitter, TwitterSnarfer, URL, Uberblic, UnglueIt, Unicode, Unix, UrbanDict, User, WOTD, Web2, Webopedia, Wikileaks, WoGroFuBiCo, Wolfram, WordCount, WordStats, WrestlingName, Wunderground, Yelp, Yum, Zalgo, Zen, and Zillow
 
Acronym, Admin, Amazon, Anagram, Anonymous, ArtisanalIntegers, Assorted, Astro, AudioScrobbler, Babelfish, Band, Blame, Calais, Cast, Channel, ChannelLogger, Config, CyborgName, DBpedia, Debian, Delicious, Dict, Disclaimer, Disemvowel, Dunno, Eef, Etymology, FOAF, Filter, Fireworks, Fixit, Games, GasPrices, Gender, GeoIP, Git, Google, Greeter, Helpers, Herald, IPTools, Insult, Internet, IsItDown, Karma, Kombat, LCSH, Later, Levenshtein, LibraryThing, Linux, Lisppaste, Lolcat, Lolz, LoveHate, MARC, Math, Misc, Motivate, NACO, Nadsat, Nickometer, OCLC, Oblique, OpenDict, Owner, PDPC, Pinky, Pirate, Poll, Praise, Presidents, Quote, Reply, Sarge, Scrabble, Seen, Services, Sing, SocialGraph, StackEx, Stopwords, Tantrum, Todo, Traffic, Translators, TrueTrue, Twitter, TwitterSnarfer, URL, Uberblic, UnglueIt, Unicode, Unix, UrbanDict, User, WOTD, Web2, Webopedia, Wikileaks, WoGroFuBiCo, Wolfram, WordCount, WordStats, WrestlingName, Wunderground, Yelp, Yum, Zalgo, Zen, and Zillow
 
==Other Tidbits==
 
* To see available commands in each plugin, private message Zoia like this:
 
 
@list UrbanDict
 
 
zoia: urbandict
 
 
@list Band
 
 
zoia: band and oldband
 
 
@list Dunno
 
 
zoia: add, change, get, remove, search, and stats
 
 
* To see what a command in a plugin does, private message Zoia like this:
 
@help search
 
 
zoia: (search <word>) -- Searches for <word> in the current configuration variables.
 
 
* Also find #code4lib helpers by private msg-ing Zoia:
 
@helpers #code4lib
 
 
zoia: List of active #code4lib helpers (@help helpers for details): anarchivist, gsf, mbklein, mistym, rsinger, ruebot
 
  
 
==How to hack it==
 
==How to hack it==

Latest revision as of 20:07, 11 March 2015

What is Zoia?

Zoia is the Code4Lib IRC (Internet-relay-chat) bot.

Where did it get its name?

It was named after the famous librarian, Zoia Horn, who is considered to be the first librarian ever to be jailed for refusing to divulge information that violated her belief in intellectual freedom.

What does it do?

The Zoia bot provides commentary, insight, support and diversions to participants on the Code4LIB IRC channel. Documentation is sparse, incomplete, outdated, and occasionally only in the code of the bot's plugins themselves. You can interact with Zoia by using commands in the channel. Bot commands are preceded with an at-sign ('@'). Some examples are on the http://code4lib.org/irc/faq main Code4Lib IRC FAQ page and more are listed below to get you started.

If you want to see a list of plugins, you can ask Zoia directly:

@list

<zoia> Acronym, Admin, Amazon, Anagram, Anonymous, ArtisanalIntegers, Assorted, Astro, AudioScrobbler, Babelfish, Band, Blame, Calais, Cast, Channel, ChannelLogger, Config, CyborgName, DBpedia, Debian, Delicious, Dict, Disclaimer, Disemvowel, Dunno, Eef, Etymology, FOAF, Filter, Fireworks, Fixit, Games, GasPrices, Gender, GeoIP, Git, Google, Greeter, Helpers, Herald, IPTools, Insult, Internet, IsItDown, Karma, Kombat, (2 more messages)

@more

<zoia> LCSH, Later, Levenshtein, LibraryThing, Linux, Lisppaste, Lolcat, Lolz, LoveHate, MARC, Math, Misc, Motivate, NACO, Nadsat, Nickometer, OCLC, Oblique, OpenDict, Owner, PDPC, Pinky, Pirate, Poll, Praise, Presidents, Quote, Reply, Sarge, Scrabble, Seen, Services, Sing, SocialGraph, StackEx, Stopwords, Tantrum, Todo, Traffic, Translators, TrueTrue, Twitter, TwitterSnarfer, URL, Uberblic, UnglueIt, Unicode, Unix, (1 more message)

Note -- if you are experimenting and learning about commands, it is a good idea to send private messages to Zoia directly (using /msg zoia [command]) rather than directly in channel (e.g. @[command]). Unless, that is, you want everyone to watch you experimenting.

Each plugin has zero or more commands that it can perform. The @list command is also used to see what commands are available in a plugin:

@list Lolz

<zoia> lolz

So the Lolz plugin has one command: lolz To see how to run the command, use @help

@help lolz

<zoia> (lolz <phrase>) -- Translates English into Lolcat using http://speaklolcat.com/

To run the command, precede it with an at-sign ('@') in the channel:

@lolz

<zoia> OH HAI THAR

Registering with Zoia

Certain commands (for instance, tweet) will only work if you have registered your IRC nickname with Zoia. To do that, first send Zoia a Register command:

/msg zoia register ''[IRC_nickname]'' ''[password]''

After that, any time you are on the Code4Lib channel and want to use a command that requires registration, first send Zoia the Identify command:

/msg zoia identify ''[IRC_nickname]'' ''[password]''

Note: Don't worry, "/msg" sends a private message, so no one in the chatroom will see your password. However, don't reuse a password you care about because IRC messages are not encrypted and could be sniffed.

Examples of Bot Commands

  • @whoami
pmurray:  @whoami
zoia: pmurray
  • @helpers List people who have self-identified as willing to be able to assist with IRC
pberry: @helpers
zoia: List of active #code4lib helpers (@help helpers for details): anarchivist, gsf, mbklein, mistym, rsinger, ruebot
  • @coffee
ruebot: @coffee pberry
zoia brews and pours a cup of Guatemala El Diamante, and sends it sliding down the bar to pberry
  • @fight
todrobbins: @fight MARC RDA BIBFRAME
zoia: todrobbins: MARC: 46100000, RDA: 2090000, BIBFRAME: 2990
  • @naf Search the national authority file
bohyunkim: @naf kazantzakis
zoia: bohyunkim: [2 matches] [1] Kazantzakis, Nikos, 1883-1957 <http://errol.oclc.org/laf/n79-100889.html>; [2] Kazantzakis, Helen <http://errol.oclc.org/laf/n82-70274.html>
  • @marc Look up MARC tags
bohyunkim: @marc 245
zoia: bohyunkim: The title and statement of responsibility area of the bibliographic description of a work. [a,b,c,f,g,h,k,n,p,s,6,8]
  • @tweet Send a tweet from the bot4lib Twitter account

Requires Zoia identification/registration.

edsu: @tweet please Hammerism don't hurt 'em
zoia: edsu: The operation succeeded.
  • @karma Gives Karma stats
awead: @karma
zoia: awead: Highest karma: "mbklein" (529), "mistym" (365), and "edsu" (341).  Lowest karma: "iii" (-102), "rhel" (-45), and "contentdm" (-22).  You (awead) are ranked 23 out of 1885.

Give someone/something karma with ++ anywhere in a line

joes: props to edsu++ for the nodejs++ Wikipedia edits page

Take away someone/something's karma with -- anywhere in a line

frankn: congress-- 
  • @quote Get or add quotes
emorgan: @quote random
zoia: emorgan: Quote #421: "< edsu> heartlessdicatoators4lib" (added by gsf at 04:51 PM, September 20, 2006)

gsf: @quote add <mjgiarlo> the goal, IMO, is to avoid being a technocracy and also to avoid being a null-tech oligarchy.
zoia: gsf: The operation succeeded. Quote #255 added.

Command also has change, cited, derp, get, random, raw, remove, search, and stats.

  • @praise Give random props
mistym: @praise the end of the all-day meetings
zoia: radiation has made the end of the all-day meetings an enemy of civilization

Command also has add, change, get, remove, search, and stats.

  • @insult Give random insults
bohyunkim: @insult z39.50
zoia: z39.50: You are nothing but a ruttish half-mouthful of clouted urine.

Command also has add, change, get, remove, search, and stats.

  • @blame It wasn't you, so what was the problem?

When adding a blame string, include the string '$who' -- it will serve as a placeholder for the input string.

mistym: @blame add Pray sir, if I input the wrong commands, will $who output the right results?
zoia: mistym: The operation succeeded.  Blame #161 added.

mistym: @blame 161 [someone]
zoia: Pray sir, if I input the wrong commands, will egspoony output the right results?

Command also has add, change, get, remove, search, and stats.

  • @sing Display lyrics from lyricsmania.com

Usage: sing artist [: title] [: * | line | pattern]

frankn: @sing bon jovi : wanted dead or alive
zoia: I'd drive all night  / Just to get back home  / I'm a cowboy, on a steel horse I ride  / I'm wanted dead or alive
  • @ana Return an anagram of the input
jtgorman: @ana learning is fun
zoia: jtgorman: Gainful sinner
  • @hussein' Like @ana, but appends the string 'hussein' before anagramming
mistym: @hussein learning is fun
zoia: mistym: Huge flair in sunniness

Inside joke?

  • @redact Randomly redact parts of the input
pmurray: @redact [quote random]
zoia: pmurray: Quote #2385: "<wgibson> ██████ financial crisis? It was the industries *█████████*. █████████ financial instruments, like ██████ ██████ drawings..." (█████ by edsu at 06:50 AM, August 29, ████)
  • @etym Get the etymology of a word
bohyunkim: @etym guest
zoia: bohyunkim: 'Old English gæst, giest (Anglian gest) "guest; enemy; stranger," the common notion being "stranger," from Proto-Germanic *gastiz (cf. Old Frisian jest, Dutch gast, German Gast, Gothic gasts "guest," originally "stranger"), from PIE root *ghosti- "strange" (cf. Latin hostis "enemy," hospes "host" -- from *hosti-potis "host, guest," originally "lord of strangers" -- Greek xenos "guest, host, stranger;" Old (1 more message)

Stacking Commands

It is possible to have the output of one command be the input of another using square brackets. The results can be occasionally quite entertaining:

pmurray: @mccainize [obamit [canuck [scalia [quote raw]]]]
zoia: pmurray: My friends, Look, zedoia's the 'closest' thing I get to regular human contact at wourk, eh?

(You can @help the individual commands to see what each is adding along the way.)

List of Plug-ins

  • To see this, private message Zoia with @list (and @more):

Acronym, Admin, Amazon, Anagram, Anonymous, ArtisanalIntegers, Assorted, Astro, AudioScrobbler, Babelfish, Band, Blame, Calais, Cast, Channel, ChannelLogger, Config, CyborgName, DBpedia, Debian, Delicious, Dict, Disclaimer, Disemvowel, Dunno, Eef, Etymology, FOAF, Filter, Fireworks, Fixit, Games, GasPrices, Gender, GeoIP, Git, Google, Greeter, Helpers, Herald, IPTools, Insult, Internet, IsItDown, Karma, Kombat, LCSH, Later, Levenshtein, LibraryThing, Linux, Lisppaste, Lolcat, Lolz, LoveHate, MARC, Math, Misc, Motivate, NACO, Nadsat, Nickometer, OCLC, Oblique, OpenDict, Owner, PDPC, Pinky, Pirate, Poll, Praise, Presidents, Quote, Reply, Sarge, Scrabble, Seen, Services, Sing, SocialGraph, StackEx, Stopwords, Tantrum, Todo, Traffic, Translators, TrueTrue, Twitter, TwitterSnarfer, URL, Uberblic, UnglueIt, Unicode, Unix, UrbanDict, User, WOTD, Web2, Webopedia, Wikileaks, WoGroFuBiCo, Wolfram, WordCount, WordStats, WrestlingName, Wunderground, Yelp, Yum, Zalgo, Zen, and Zillow

How to hack it

Zoia's plugin code is on GitHub: https://github.com/code4lib/supybot-plugins You can modify existing plugins (git clone and submit a pull request, or ask in the IRC channel if there's someone who can add you to the repo). You can also create new plugins. Hey look, documentation. Hacking zoia is fun!