Skip to content

Instantly share code, notes, and snippets.

@h0rs3r4dish
Created December 11, 2009 03:24
Show Gist options
  • Save h0rs3r4dish/253959 to your computer and use it in GitHub Desktop.
Save h0rs3r4dish/253959 to your computer and use it in GitHub Desktop.
errfree IRC bot manual

errfree Factoid/Markov Bot

errfree is a factoid & Markov chain text processing bot that features semi- intelligent conversation and the ability to discern question/answer phrases.

Table of Contents

  1. Basic Functions

  2. Commands

  3. Op-Only Commands

  4. Factoid Minutia

  5. Basic Functions


errfree will talk back when you ask it something. It's as simple as that.

But if you want to know the nuts and bolts of it, there are three main ways that it collects information:

  • Markov chains - All incoming text is parsed into 1-5 levels of Markov data, and these databases are the fallback to an unknown factoid. This functionality can be forced using the markov command:

    < kidko> errfree: markov seed phrase
    <+errfree> seed phrase chases cars and ...

  • Q/A engine - Questions addressed to other users will be recorded along with their responses in the factoid database using either the <r> or <a> reply modes.

  • Factoid database - Telling errfree that x is y associates x with y in the database and is the first thing consulted when errfree is given a phrase. These lookups don't have to be addressed to him:

    < kidko> ...
    < errfree> [You here someone cursing shoplifters]
    < kidko> errfree: Bucket
    < errfree> bucket is a bot, got it?

  1. Commands

A quick note: Most commands will not give any kind of feedback if done correctly.

  • x is y - Creates a new definition for the factoid x. Use <r> for a reply and <a> for an action

  • literal x - Looks up all of the definitions for the factoid x. To look on other pages, put the page number after the command: literal[2] for page number 2

  • x =~ /y/ - Searches for y in the factoid x and returns the definition

  • x =~ s/a/b/ - Replaces a with b in factoid x

  • delete[a] x - Deletes definition a of factoid x

  • delete[all] x - Deletes the factoid x from the factoid database

  • markov x - Creates a Markov chain, seeded by the phrase x

  • stats - Take a wild guess

  • channels - Lists the channels errfree is in

  • ignorelist - List of usernames ignored by errfree.

  1. Op-Only Commands

  • save() - Forces a save of all of the databases (Markov_[1-5], factoid)

  • join x - Joins channel x

  • part x - Leaves channel x

  • lurk x - Lurks (stays silent) in channel x

  • activate x - errfree can talk in x again

  • ignore x - Ignores the username x

  • unignore x - Will take input from the username x again

  • op.add x - Adds x as an op

  • op.del x - Removes x as an op

  • op.list - Lists all of the ops

  1. Factoid Minutia

  • <r> for a reply
  • <a> for an action
  • &r is a random username from the channel (different on each occurance: "&r pokes &r" -> "kidko pokes jercos", not "kidko pokes kidko")
  • &n is the factoid caller's username
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment