24
edits
Changes
added @fight documentation
Zoia is the Code4Lib [http://en.wikipedia.org/wiki/Internet_Relay_Chat_bot IRC (Internet-relay-chat) bot].
It was named after the famous librarian, [http://en.wikipedia.org/wiki/Zoia_Horn 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.
<tt>@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)<br>@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)<br></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. 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==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:<pre lang="text">/msg zoia register ''[IRC_nickname]'' ''[password]''</pre> 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:<pre lang="text">/msg zoia identify ''[IRC_nickname]'' ''[password]''</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 of Bot Commands== *'''@whoami'''<pre>pmurray: @whoamizoia: pmurray</pre> *'''@helpers''' ''List people who have self-identified as willing to be able to assist with IRC''<pre>pberry: @helperszoia: List of active #code4lib helpers (@help helpers for details): anarchivist, gsf, mbklein, mistym, rsinger, ruebot</pre> *'''@coffee'''<pre>ruebot: @coffee pberryzoia 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 BIBFRAMEzoia: todrobbins: MARC: 46100000, RDA: 2090000, BIBFRAME: 2990</pre> *'''@naf''' ''Search the national authority file''<pre>bohyunkim: @naf kazantzakiszoia: 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></pre> * '''@marc''' ''Look up MARC tags''<pre>bohyunkim: @marc 245zoia: 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]</pre> * '''@tweet''' ''Send a tweet from the bot4lib Twitter account''Requires Zoia identification/registration.<pre>edsu: @tweet please Hammerism don't hurt 'emzoia: edsu: The operation succeeded.</pre> * '''@karma''' ''Gives Karma stats''<pre>awead: @karmazoia: 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.</pre>Give someone/something karma with <tt>++</tt> anywhere in a line<pre>joes: props to edsu++ for the nodejs++ Wikipedia edits page</pre>Take away someone/something's karma with <tt>--</tt> anywhere in a line<pre>frankn: congress-- </pre> * '''@quote''' ''Get or add quotes''<pre>emorgan: @quote randomzoia: 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.</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''' ''Give random props''<pre>mistym: @praise the end of the all-day meetingszoia: 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''' ''Give random insults''<pre>bohyunkim: @insult z39.50zoia: 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>. * '''@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.<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. 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>. * '''@sing''' ''Display lyrics from lyricsmania.com''Usage: <tt>sing artist [: title] [: * | line | pattern]</tt><pre>frankn: @sing bon jovi : wanted dead or alivezoia: 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</pre> * '''@ana''' ''Return an anagram of the input''<pre>jtgorman: @ana learning is funzoia: jtgorman: Gainful sinner</pre> *'''@hussein'''' ''Like <tt>@ana</tt>, but appends the string 'hussein' before anagramming''<pre>mistym: @hussein learning is funzoia: mistym: Huge flair in sunniness</pre>Inside joke? *'''@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> * '''@etym''' Get the etymology of a word<pre>bohyunkim: @etym guestzoia: 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)</pre> == 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: <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> (You can <tt>@help</tt> 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 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. [http://andromedayelton.com/blog/2012/06/09/i-wrote-a-plugin-for-zoia-in-code4lib-irc-heres-how/ Hey look, documentation.] Hacking zoia is fun!