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
ffb2d4204e
Move message size limit logic to base plugin
...
This is beneficial for all plugins so the bot doesn't accidentally
spam things because the plugin writer didn't check their inputs
Signed-off-by: Alek Ratzloff <alekratz@gmail.com >
2022-05-23 21:11:04 -07:00
3476c06e16
Add message length limit to linkbot plugin
...
Signed-off-by: Alek Ratzloff <alekratz@gmail.com >
2022-05-23 21:06:53 -07:00
48f182e41a
Add linkbot and config example for linkbot
...
Signed-off-by: Alek Ratzloff <alekratz@gmail.com >
2022-05-23 21:02:51 -07:00
163160b660
Remove import from fortune plugin
...
Signed-off-by: Alek Ratzloff <alekratz@gmail.com >
2022-05-23 19:03:34 -07:00
a901c2351a
Initial commit with functional framework(!) and example plugin
...
Signed-off-by: Alek Ratzloff <alekratz@gmail.com >
2022-05-23 18:47:28 -07:00