Changes

Jump to: navigation, search

Zoia or the Code4Lib IRC bot

3,927 bytes added, 20:07, 11 March 2015
added @fight documentation
====What is Zoia?====
Zoia is the Code4Lib [http://en.wikipedia.org/wiki/Internet_Relay_Chat_bot IRC (Internet-relay-chat) bot].
====Where did it get its name?====
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.
==What does it do?==Where 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 http://code4lib.org/irc/faq main Code4Lib IRC FAQ page] and more are listed below to get you started.
* It is on GitHub: [https://github.com/code4lib/supybot-If you want to see a list of plugins https, you can ask Zoia directly://github.com/code4lib/supybot-plugins]
====What does it do?====<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>
Some examples 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 ''[http:command]''<//code4libtt>) rather than directly in channel (e.org/irc/faq hereg. <tt>@''[command] and more below''</tt>).Unless, that is, you want everyone to watch you experimenting. You get the idea!
You can run certain Each plugin has zero or more commands that it can perform. The <tt>@list</tt> command is also used to Zoia if you see what commands are registered. available in a plugin:
You can do this by messaging Zoia like this<tt>@list Lolz<br>:<zoia> lolz</tt>
* So the <tt>Lolz</msg zoia register nickname password.tt> plugin has one command: <tt>lolz</tt>To see how to run the command, use <tt>@help</tt>
you can also privmsg the bot for running @list and <tt>@helplolz<br>:<zoia> (lolz <phrase>) -- Translates English into Lolcat using http://speaklolcat.com/</tt>
=====Examples=====To run the command, precede it with an at-sign ('@') in the channel:
*<tt>@whoamilolz<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: @whoami
zoia: pmurray
</pre>
*'''@helpers''' ''List people who have self-identified as willing to be able to assist with IRC''<pre>pberry: @helperszoia: pmurrayList of active #code4lib helpers (@help helpers for details): You're Jean Valjean.anarchivist, gsf, mbklein, mistym, rsinger, ruebot</pre>
* '''@coffee'''<pre>
ruebot: @coffee pberry
 
zoia brews and pours a cup of Guatemala El Diamante, and sends it sliding down the bar to pberry
</pre>
* '''@naffight'''<pre>todrobbins: @fight MARC RDA BIBFRAMEzoia: todrobbins: MARC: 46100000, RDA: 2090000, BIBFRAME: 2990</pre>
*'''@naf''' ''Search the national authority file''
<pre>
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>
</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 'em
zoia: edsu: The operation succeeded.
</pre>
oia: edsu: The operation succeeded. * '''@karma''' ''Gives Karma stats''<pre>
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.
</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 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.</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>.
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) * '''@praise''' ''Give random props''<pre>
mistym: @praise the end of the all-day meetings
 
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''' ''Give random insults''<pre>
bohyunkim: @insult z39.50
 
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>.
* '''@singblame''' ''It wasn't you, so what was the problem?''lbjayWhen adding a ''blame'' string, include the string '$who' -- it will serve as a placeholder for the input string.<pre>mistym: @sing MC Hammerblame add Pray sir, if I input the wrong commands, will $who output the right results?zoia: mistym: The operation succeeded. Blame #161 added.
zoiamistym: lbjay@blame 161 [someone]zoia: No lyrics found for They Put Me In The Mix by MC HammerPray 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>.
*'''@measuresing''' ''Display lyrics from lyricsmania.com''emorganUsage: @measure diversity <tt>sing artist [10:39amtitle] zoia[: emorgan: get back to me after you've given that micro-thought a dereferenceable URI * @help| line | pattern]</tt><pre>mistymfrankn: @help registersing bon jovi : wanted dead or alivezoia: mistym: (register <name> <password>) -- Registers <name> with the given password <password> and the current hostmask of the person registering. You shouldnI't register twice; if youd drive all night / Just to get back home / I're not recognized as m a user but youcowboy, on a steel horse I ride / I've already registered, use the hostmask add command to add another hostmask to your already-registered user, m wanted dead or use the identify command to identify just for a session. This command (and all other commands (1 more message)alive * @ana</pre>
* '''@ana''' ''Return an anagram of the input''
<pre>
jtgorman: @ana learning is fun
 
zoia: jtgorman: Gainful sinner
</pre>
pmurray: zoia: That is deep…somehow. 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: "hussein'''' ''Like < gsftt> 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: "ana< edsu/tt> 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 but appends the obama of hosts2009", #1221: "<gsf> i donstring 'hussein' before anagramming't run our ils -- i work on...", #1229: "< gsf> zoia isn't problematic, just misunderstood", #1266: "< gsfpre> please forgive me, but i must raise the...", #1384: "< (5 more messages) *@hussein 
mistym: @hussein learning is fun
 
zoia: 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>
mbklein* '''@etym''' Get the etymology of a word<pre>bohyunkim: @redact [dunno]etym guestzoia: mbkleinbohyunkim: Your ███████™ has decreased ███'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<pre>pmurray: @etymology guestmccainize [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?  *@rollmistym: @roll 1d161 zoia: mistym: grow it out! http://ln-s.net/4iAq * @bamemistym: @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====
* 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
====Other Tidbits==How to hack it==* To see available commands in each Zoia's plugin, private message Zoia like thiscode is on GitHubbohyunkim[https: @list UrbanDict zoia//github.com/code4lib/supybot-plugins https: urbandict//github.com/code4lib/supybot-plugins] bohyunkim: @list Band zoia: band You can modify existing plugins (git clone and oldband bohyunkim: @list Dunno zoia: addsubmit a pull request, change, get, remove, search, and stats  * To see what a command or ask in a plugin does, private message Zoia like this: the IRC channel if there's someone who can add you to the repo). bohyunkim: @help searchYou can also create new plugins.  zoia[http: (search <word>) //andromedayelton.com/blog/2012/06/09/i-wrote-a-plugin- Searches for <word> -zoia-in the current configuration variables-code4lib-irc-heres-how/ Hey look, documentation.] Hacking zoia is fun!
24
edits

Navigation menu