next generation markov chain irc shitposting bot
Go to file
Al Beano 67d4383081 fix crashes relating to unicode characters 2016-07-04 22:28:22 +01:00
MarkovBot handle non-ascii strings properly 2016-07-04 21:32:37 +01:00
.gitignore initial commit 2016-04-30 22:53:26 +01:00
LICENSE initial commit 2016-02-25 22:39:06 +00:00
MarkovBot.pl fix crashes relating to unicode characters 2016-07-04 22:28:22 +01:00
README.md add documentation 2016-07-04 22:17:20 +01:00
config.default.yml markov chain shitpost generation 2016-07-04 21:03:09 +01:00
cpanfile handle non-ascii strings properly 2016-07-04 21:32:37 +01:00
load-brain.pl unnecessary module 2016-07-04 18:31:41 +01:00

README.md

shithead-ng

next generation markov chain irc shitposting bot

The problem

The original shithead uses far too much ram and is badly implemented.

The solution

Let's reimplement it and get redis to do all the heavy lifting.

Getting Started

A brainfile is simply an irc log with all joins, parts, timestamps and nicknames stripped. In other words, it contains only what was said.

# if you have an old brainfile, import it into redis
perl import-brain.pl /home/you/brainfile
# this can take a long time (about ten minutes for me), so be patient
# now, you need a config file
cp config.default.yml config.yml
# edit the values in config.yml to your choosing

Now, just run perl MarkovBot.pl.

Commands

  • .shitposting - controls the % of messages the bot will reply to
< user> .shitposting 1.5
< shithead-ng> OK
  • .ignore - make the bot totally ignore a user (useful for bots)
< user> .ignore bot
< shithead-ng> Now ignoring bot.
  • .unignore - removes a user from the ignore list
< user> .unignore bot
< shithead-ng> No longer ignoring bot.
  • .ping - check that shithead-ng is still alive
< user> .ping
< shithead-ng> Pong!