Build a markov model of everything Hubot hears.
Generates a markov model based on everything that your Hubot sees in your chat.
npm install --save hubot-markov:
npm updateand restart your Hubot.
Saying anything at all in chat appends to the model. The robot is always watching!
Hubot: markov will randomly generate text based on the current contents of
Hubot: markov your mother is a will generate a random phrase seeded with
the phrase you give it. This command might output "your mother is a classy
lady", for example. Remember: Hubot is an innocent soul, and what he says
only acts as a mirror for everything in your hearts.
Hubot: remarkov and
Hubot: mmarkov are similar, but traverse node transitions in different directions:
remarkov chains backwards from a given ending state, and
mmarkov chains both forward and backward.
The Hubot markov model can optionally be configured by four environment variables:
HUBOT_MARKOV_PLY controls the order of the model that's built; effectively,
how many previous states (words) are considered to choose the next state. You
can bump this up if you'd like, but the default of 1 is both economical with
storage and maximally hilarious.
HUBOT_MARKOV_LEARN_MIN controls the minimum length of a phrase that will
be used to train the model, default 1. Set this higher to avoid training your
model with a bunch of immediate terminal transitions like "lol".
HUBOT_MARKOV_GENERATE_MAX controls the maximum size of a markov chain that will be
generated by the "markov" command.
HUBOT_MARKOV_RESPOND_CHANCE controls the chance that Hubot will respond
un-prompted to a message it sees by using the last word in the message as the
seed. Set this to a value between 0 and 1.0 to enable the feature. Leaving this
variable unset or setting it to 0 will disable the feature.