Changes

Jump to: navigation, search

Zoia or the Code4Lib IRC bot

6,815 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?====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.
Some examples [httpIf you want to see a list of plugins, you can ask Zoia directly://code4lib.org/irc/faq here] and more below. You get the idea!
You can run certain commands to Zoia if you are registered. <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>
You can do this by messaging Note -- if you are experimenting and learning about commands, it is a good idea to send private messages to Zoia like this: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.
* /msg zoia register nickname passwordEach 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:
you can also privmsg the bot for running <tt>@list and @helpLolz<br>:<zoia> lolz</tt>
=====Examples=====So the <tt>Lolz</tt> plugin has one command: <tt>lolz</tt>To see how to run the command, use <tt>@help</tt>
* <tt>@coffeehelp lolz<br>ruebot: @coffee pberry<zoia> (lolz <phrase>) -- Translates English into Lolcat using http://speaklolcat.com/</tt>
zoia brews and pours a cup of Guatemala El DiamanteTo run the command, and sends precede it sliding down with an at-sign ('@') in the bar to pberrychannel:
* <tt>@karmalolz<br>awead: @karma<zoia> OH HAI THAR</tt>
zoia: awead: Highest karma: "mbklein" ==Registering with Zoia==Certain commands (529)for instance, "mistym" (365''tweet'')will only work if you have registered your IRC nickname with Zoia.To do that, and "edsu" (341). Lowest karmafirst send Zoia a '''Register''' command: <pre lang="iiitext" (-102), "rhel" (-45), and "contentdm" (-22). You (awead) are ranked 23 out of 1885.>/msg zoia register ''[IRC_nickname]'' ''[password]''</pre>
* @quoteAfter 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>emorgan''Note: @quote randomDon'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.''
zoia: emorgan: Quote #421: "< edsu> heartlessdicatoators4lib" (added by gsf at 04:51 PM, September 20, 2006)==Examples of Bot Commands==
gsf*'''@whoami'''<pre>pmurray: @quote randomwhoamizoia: pmurray</pre>
*'''@helpers''' ''List people who have self-identified as willing to be able to assist with IRC''<pre>pberry: @helperszoia: gsf: Quote List of active #255code4lib helpers (@help helpers for details): "<mjgiarlo> the goalanarchivist, IMOgsf, is to avoid being a technocracy and also to avoid being a null-tech oligarchy." (added by edsu at 01:50 PMmbklein, March 22mistym, 2006)rsinger, ruebot</pre>
* '''@praisecoffee'''mistym<pre>ruebot: @praise the end coffee pberryzoia brews and pours a cup of Guatemala El Diamante, and sends it sliding down the all-day meetingsbar to pberry</pre>
* '''@fight'''<pre>todrobbins: @fight MARC RDA BIBFRAMEzoia: radiation has made the end of the all-day meetings an enemy of civilizationtodrobbins: MARC: 46100000, RDA: 2090000, BIBFRAME: 2990</pre>
* '''@insultnaf''' ''Search the national authority file''<pre>bohyunkim: @insult z39naf kazantzakiszoia: bohyunkim: [2 matches] [1] Kazantzakis, Nikos, 1883-1957 <http://errol.50oclc.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: z39.50bohyunkim: You are nothing but a ruttish half-mouthful The title and statement of clouted urineresponsibility area of the bibliographic description of a work.[a,b,c,f,g,h,k,n,p,s,6,8]</pre>
* '''@singtweet''' ''Send a tweet from the bot4lib Twitter account''lbjayRequires Zoia identification/registration.<pre>edsu: @sing MC Hammertweet please Hammerism don't hurt 'emzoia: edsu: The operation succeeded.</pre>
* '''@karma''' ''Gives Karma stats''<pre>awead: @karmazoia: lbjayawead: No lyrics found 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 They Put Me In The Mix 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 MC Hammergsf at 04:51 PM, September 20, 2006)
* gsf: @tweet quote add <mjgiarlo> the goal, IMO, is to avoid being a technocracy and also to avoid being a null-tech oligarchy.edsuzoia: @tweet please Hammerism don't hurt 'emgsf: 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>.
oia* '''@praise''' ''Give random props''<pre>mistym: edsu@praise the end of the all-day meetingszoia: The operation succeededradiation 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>.
* '''@helpinsult''' ''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: @help registerblame add Pray sir, if I input the wrong commands, will $who output the right results?zoia: mistym: The operation succeeded. Blame #161 added.
zoia: mistym: (register @blame 161 [someone]zoia: Pray sir, if I input the wrong commands, will egspoony output the right results?<name/pre> Command also has <passwordtt>) -- Registers add<name/tt> with the given password , <passwordtt>change</tt> 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<tt>get</tt>, <tt>remove</tt>, <tt>search</tt>, or use the identify command to identify just for a session. This command (and all other commands (1 more message)<tt>stats</tt>.
* '''@anasing''' ''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 fun
 
zoia: jtgorman: Gainful sinner
</pre>
pmurray*'''@hussein'''' ''Like <tt>@ana</tt>, but appends the string 'hussein' before anagramming''<pre>mistym: @hussein learning is funzoia: That is deep…somehow.mistym: Huge flair in sunniness</pre>Inside joke?
*'''@redact''' ''Randomly redact parts of the input''<pre>pmurray: @redact [quote random]zoia: pmurray: So brotherQuote #2385: "<wgibson> ██████ financial crisis? It was the industries *█████████*. █████████ financial instruments, be a brother / And fill this tiny cup of mine / And pleaselike ██████ ██████ drawings..." (█████ by edsu at 06:50 AM, sirAugust 29, make it whiskey ████)</ For I have no head for winepre>
* '''@helpers etym''' Get the etymology of a word<pre>bohyunkim: @etym guestzoia: 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>
pberry== 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: @helpers
zoia<pre>pmurray: List of active #code4lib helpers (@help helpers for details)mccainize [obamit [canuck [scalia [quote raw]]]]zoia: anarchivist, gsf, mbkleinpmurray: My friends, mistymLook, rsingerzedoia's the 'closest' thing I get to regular human contact at wourk, rueboteh?</pre>
* (You can <tt>@quotehelp</tt> the individual commands to see what each is adding along the way.)
emorgan: @quote dchud zoia: emorgan: Please respect the plants ==List of political powerPlug-ins== bibliotechy: * To see this, private message Zoia with @quote get 1229 zoia: bibliotechy: Quote #1229: "< gsf> zoia isn't problematic, just misunderstood" list (added by anarchivist at 05:16 PM, March 10, 2008) jtgorman: and @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 zoia: mistym: Huge flair in sunniness
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
Please ==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 moreyou 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!
24
edits

Navigation menu