Difference between revisions of "Zoia or the Code4Lib IRC bot"

From Code4Lib
Jump to: navigation, search
(How to hack it: Adding in information about the GitHub repo from earlier in the page.)
(Examples: Updating, correcting, enhancing some of the examples)
Line 40: Line 40:
 
====Examples====
 
====Examples====
  
*@whoami
+
*'''@whoami'''
 
+
<pre>
 
pmurray:  @whoami
 
pmurray:  @whoami
 +
zoia: pmurray
 +
</pre>
  
zoia: pmurray: You're Jean Valjean.
+
* '''@coffee'''
 
+
<pre>
* @coffee
+
 
ruebot: @coffee pberry
 
ruebot: @coffee pberry
 
 
zoia brews and pours a cup of Guatemala El Diamante, and sends it sliding down the bar to pberry
 
zoia brews and pours a cup of Guatemala El Diamante, and sends it sliding down the bar to pberry
 +
</pre>
  
* @naf
+
*'''@naf''' ''Search the national authority file''
 
+
<pre>
 
bohyunkim: @naf kazantzakis
 
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>
 
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
+
* '''@marc''' ''Look up MARC tags''
 +
<pre>
 
bohyunkim: @marc 245
 
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]
 
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  
+
* '''@tweet''' ''Send a tweet from the bot4lib Twitter account''
 +
Requires Zoia identification/registration.
 +
<pre>
 
edsu: @tweet please Hammerism don't hurt 'em
 
edsu: @tweet please Hammerism don't hurt 'em
 
 
zoia: edsu: The operation succeeded.
 
zoia: edsu: The operation succeeded.
 +
</pre>
  
* @karma
+
* '''@karma''' ''Gives Karma stats''
 +
<pre>
 
awead: @karma
 
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.
 
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>
* @quote
+
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''
 
emorgan: @quote random
 
emorgan: @quote random
  

Revision as of 23:31, 30 January 2013

What is Zoia?

Zoia is the Code4Lib IRC (Internet-relay-chat) bot.

Where did it get its name?

It was named after the famous librarian, 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 main Code4Lib IRC FAQ page and more are listed below to get you started.

If you want to see a list of commands, you can ask Zoia directly:

/msg zoia list
 <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)
more
 <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)

Note -- if you are experimenting and learning about commands, it is a good idea to send private messages to Zoia directly (using /msg zoia [command]) rather than directly in channel (e.g. @[command]). Unless, that is, you want everyone to watch you experimenting.

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 register ''[IRC_nickname]'' ''[password]''

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:

/msg zoia identify ''[IRC_nickname]'' ''[password]''

Examples

  • @whoami
pmurray:  @whoami
zoia: pmurray
  • @coffee
ruebot: @coffee pberry
zoia brews and pours a cup of Guatemala El Diamante, and sends it sliding down the bar to pberry
  • @naf Search the national authority file
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>
  • @marc Look up MARC tags
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]
  • @tweet Send a tweet from the bot4lib Twitter account

Requires Zoia identification/registration.

edsu: @tweet please Hammerism don't hurt 'em
zoia: edsu: The operation succeeded.
  • @karma Gives Karma stats
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.

Give someone/something karma with ++ anywhere in a line

joes: props to edsu++ for the nodejs++ Wikipedia edits page

Take away someone/something's karma with -- anywhere in a line

frankn: congress-- 
  • @quote Get or add quotes

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: "<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

mistym: @praise the end of the all-day meetings

zoia: radiation has made the end of the all-day meetings an enemy of civilization

  • @insult

bohyunkim: @insult z39.50

zoia: z39.50: You are nothing but a ruttish half-mouthful of clouted urine.

  • @sing

lbjay: @sing MC Hammer

zoia: lbjay: No lyrics found for They Put Me In The Mix by MC Hammer

  • @measure

emorgan: @measure diversity

[10:39am] zoia: emorgan: get back to me after you've given that micro-thought a dereferenceable URI

  • @help

mistym: @help register

zoia: mistym: (register <name> <password>) -- Registers <name> with the given password <password> 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, or use the identify command to identify just for a session. This command (and all other commands (1 more message)

  • @ana

jtgorman: @ana learning is fun

zoia: jtgorman: Gainful sinner

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: "< gsf> 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: "< 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

  • @redact

mbklein: @redact [dunno] zoia: mbklein: Your ███████™ has decreased ███.█%

  • @etymology

bohyunkim: @etymology guest

zoia: bohyunkim: it's Thanksgiving somewhere

  • @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?

  • @roll

mistym: @roll 1d161

zoia: mistym: grow it out! http://ln-s.net/4iAq

  • @bame

mistym: @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 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. Hey look, documentation. Hacking zoia is fun!