.. _plugin:markov: ====== MARKOV ====== | about ----- | :author: Bas van Oostveen :contact: FREENODE/#fbf :distribution: core :license: | description ----------- | Markov Talk for Gozerbot The Chain: (predictate) -> [list of possible words] TODO: - Propabilities - Start searching for full sentence, not just the first ORDER_K words of a sentence BHJTW: - adapted for JSONBOT, FBFBOT | commands -------- | :commands in this plugin: markov-learnadd .. markov-size .. markov-onjoinadd .. markov .. markov-cfg .. markov-disable .. markov-learnlist .. markov-onjoinremove .. markov-cfgdefined .. markov-enable .. markov-learn .. markov-learndel .. markov-cfgsave | 1) *markov .. [handle_markov]* :description: this is the command to make the bot reply a markov response :permissions: USER .. WEB .. CLOUD :code: :ref:`fbf.plugs.extra.markov_markov_command`. :examples: :: ;markov nice weather none 2) *markov-cfg .. [cfg]* :description: the config (cfg) command. :permissions: OPER :code: :ref:`fbf.lib.persistconfig_PersistConfig_class`. :examples: :: ;markov-cfg options: cfile="docs/docrun/config/plugs/fbf.plugs.extra.markov" .. command=0 .. datadir="docs/docrun/" .. dir="docs/docrun/config" .. enable=['["testbot", "#test"]', '["testbot", "#dunkbots"]'] .. filename="plugs/fbf.plugs.extra.markov" .. hide=[] .. issaved=True .. jsondb=None .. logname="config/plugs/fbf.plugs.extra.markov" .. loud=0 .. modname="fbf.plugs.extra.markov" .. - 1 more 3) *markov-cfgdefined .. [cfgdefined]* :description: show defined attributes. :permissions: OPER :code: :ref:`fbf.lib.persistconfig_PersistConfig_class`. :examples: :: ;markov-cfgdefined cfg has the following options defined: cfile, command, datadir, dir, enable, filename, hide, issaved, jsondb, logname, loud, modname, onjoin, origdir, origname, plugname, port, target, uuid 4) *markov-cfgsave .. [cfgsave]* :description: save config. :permissions: OPER :code: :ref:`fbf.lib.persistconfig_PersistConfig_class`. :examples: :: ;markov-cfgsave config saved 5) *markov-disable .. [handle_markovdisable]* :description: disable markov in a channel :permissions: OPER :code: :ref:`fbf.plugs.extra.markov_markov-disable_command`. :examples: :: ;markov-disable #test disabled :: ;markov-disable #dunkbots #dunkbots disabled 6) *markov-enable .. [handle_markovenable]* :description: enable markov in a channel .. learn the log of that channel :permissions: OPER :code: :ref:`fbf.plugs.extra.markov_markov-enable_command`. :examples: :: ;markov-enable #test enabled :: ;markov-enable #dunkbots #dunkbots enabled 7) *markov-learn .. [handle_markovlearn]* :description: command to let the bot learn a log or an url .. learned data is not persisted :permissions: OPER :code: :ref:`fbf.plugs.extra.markov_markov-learn_command`. :examples: :: ;markov-learn #dunkbots learning log file #dunkbots learned 0 lines :: ;markov-learn http://gozerbot.org learned 48 lines 8) *markov-learnadd .. [handle_markovlearnadd]* :description: add log or url to be learned at startup or reload :permissions: OPER :code: :ref:`fbf.plugs.extra.markov_markov-learnadd_command`. :examples: :: ;markov-learnadd #dunkbots #dunkbots is already in learnlist :: ;markov-learnadd http:///docs/fbfbot done 9) *markov-learndel .. [handle_markovlearndel]* :description: remove item from learnlist :permissions: OPER :code: :ref:`fbf.plugs.extra.markov_markov-learndel_command`. :examples: :: ;markov-learndel #dunkbots done :: ;markov-learndel http:///docs/fbfbot done 10) *markov-learnlist .. [handle_markovlearnlist]* :description: show the learnlist :permissions: OPER :code: :ref:`fbf.plugs.extra.markov_markov-learnlist_command`. :examples: :: ;markov-learnlist ['#test', '#test'] 11) *markov-onjoinadd .. [handle_markovonjoinadd]* :description: add channel to onjoin list :permissions: OPER :code: :ref:`fbf.plugs.extra.markov_markov-onjoinadd_command`. :examples: :: ;markov-onjoinadd #test added :: ;markov-onjoinadd #dunkbots #dunkbots added 12) *markov-onjoinremove .. [handle_markovonjoinremove]* :description: remove channel from onjoin list :permissions: OPER :code: :ref:`fbf.plugs.extra.markov_markov-onjoinremove_command`. :examples: :: ;markov-onjoinremove #test not in onjoin list :: ;markov-onjoinremove #dunkbots #dunkbots removed 13) *markov-size .. [handle_markovsize]* :description: markov-size .. returns size of markovchains :permissions: OPER :code: :ref:`fbf.plugs.extra.markov_markov-size_command`. :examples: :: ;markov-size I know 0 phrases