errfree is a factoid & Markov chain text processing bot that features semi- intelligent conversation and the ability to discern question/answer phrases.
-
Basic Functions
-
Commands
-
Op-Only Commands
-
Factoid Minutia
-
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
associatesx
withy
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?
- 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.
- 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
- 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