Changes

Jump to: navigation, search

Zoia or the Code4Lib IRC bot

750 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.
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 commandsplugins, you can ask Zoia directly:
<pre lang="text"tt>/msg zoia @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></prett>
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:
/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'''
pmurray: @whoami
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>
ruebot: @coffee 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>
* '''@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 random zoia: gsf: Quote #255: "add <mjgiarlo> the goal, IMO, is to avoid being a technocracy and also to avoid being a null-tech oligarchy." (added by edsu at 01zoia:50 PMgsf: The operation succeeded. Quote #255 added.</pre>Command also has <tt>change</tt>, March 22<tt>cited</tt>, 2006)<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 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====* 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====
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).
24
edits

Navigation menu