Changes

Jump to: navigation, search

Zoia or the Code4Lib IRC bot

3,628 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 here: [http://code4lib.org/irc/faq http://code4lib.org/irc/faq] Note -- if you are experimenting and more below. * You can run certain learning about commands , it is a good idea to send private messages to Zoia if you are registered. *To register: directly (using <tt>/msg zoia register nickname password''[command]''</tt>) rather than directly in channel (e.g. <tt>@''[command]''</tt>).*Unless, that is, you can also private msg the bot for running @list and @helpwant everyone to watch you experimenting.
=====Examples=====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>@whoamilist 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: @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 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]
</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>
* '''@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: No lyrics found for They Put Me In The Mix by MC Hammer *@measureemorgan: @measure diversity blame 161 [10:39amsomeone] zoia: emorgan: get back to me after you've given that micro-thought a dereferenceable URIPray sir, if I input the wrong commands, will egspoony output the right results?</pre>* @help mistym: @help register zoia: mistym: (register Command also has <namett> add<password/tt>) -- Registers , <namett> with the given password change<password/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: 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 GitHub@list UrbanDict zoia[https: urbandict @list Band zoia//github.com/code4lib/supybot-plugins https: band and oldband//github.com/code4lib/supybot-plugins] @list Dunno zoia: add, change, get, remove, search, You can modify existing plugins (git clone and stats * To see what submit a command pull request, 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). @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. * Also find #-code4lib helpers by private msg-ing Zoia:@helpers #code4libirc-heres-how/ Hey look, documentation.] Hacking zoia: List of active #code4lib helpers (@help helpers for details): anarchivist, gsf, mbklein, mistym, rsinger, ruebotis fun!
24
edits

Navigation menu