887c8dc278
Add dirty flag to markov chains
...
If something is changed in a markov chain it gets flagged as dirty,
which is used to determine whether the chain should be saved.
Signed-off-by: Alek Ratzloff <alekratz@gmail.com >
2022-05-27 18:58:06 -07:00
cc30df8706
Move markov nodes to be single strings
...
Separating strings by spaces is more memory-friendly than using tuples.
Signed-off-by: Alek Ratzloff <alekratz@gmail.com >
2022-05-27 18:41:17 -07:00
b4857e3b4a
Add naiive markov all and allchain
...
Markov all grows fast and 5 years of data uses about 2gb in memory. We
can do better.
Signed-off-by: Alek Ratzloff <alekratz@gmail.com >
2022-05-27 17:56:52 -07:00
a4958d371e
Finally settle on a good model for markov
...
If you don't use/access your chain every N seconds (300 by default), it
will unload your chain from memory and save it to disk.
Signed-off-by: Alek Ratzloff <alekratz@gmail.com >
2022-05-26 20:59:06 -07:00
85d48d368c
Add Markov.add function
...
This is basically just a shorthand, but also abstracts away adding a
line to a markov chain
Signed-off-by: Alek Ratzloff <alekratz@gmail.com >
2022-05-25 19:18:37 -07:00
5c594fc03e
Add PLUGIN_TYPE to markov.py
...
Forgot to add this, whoopsie
Signed-off-by: Alek Ratzloff <alekratz@gmail.com >
2022-05-24 20:40:53 -07:00
116baccc2a
Remove unused MutableMapping import from markov.py
...
Signed-off-by: Alek Ratzloff <alekratz@gmail.com >
2022-05-24 20:17:46 -07:00
9c188e30b1
Add initial markov bot plugin
...
Signed-off-by: Alek Ratzloff <alekratz@gmail.com >
2022-05-24 19:30:42 -07:00