|
|
|
@ -1,10 +1,34 @@
@@ -1,10 +1,34 @@
|
|
|
|
|
# Overview |
|
|
|
|
|
|
|
|
|
[Relevant Blog Post](https://alistairmichael.com/projects/markov-bot.html) |
|
|
|
|
|
|
|
|
|
This is a markov-chain text generation bot for telegram. Add it to a group and |
|
|
|
|
it will listen to the conversation to build its markov chain databse. It will |
|
|
|
|
reply periodically to a random message using its last word as the seed. It looks |
|
|
|
|
like a reallly basic form of keyboard autocomplete. |
|
|
|
|
|
|
|
|
|
It can also import plain-text files. This is useful if you want it to loosely |
|
|
|
|
imitate the prose of a specific author. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Theoretically it should support an arbitrary-order markov chain using the same |
|
|
|
|
sqlite3 database file. |
|
|
|
|
|
|
|
|
|
```sh |
|
|
|
|
# import to a 2nd order markov chain stored in `table_name` on `markov.db3` |
|
|
|
|
$ ./bot -i importfile.txt -n "table_name" -o 2 -d "markov.db3" |
|
|
|
|
# run bot using markov chain stored in `other_table_name` on `markov.db3` |
|
|
|
|
$ ./bot -n "other_table_name" -o 3 -d "markov.db3" |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
## Building on Fedora |
|
|
|
|
|
|
|
|
|
Boost is static linked so it can be deplyed to a server without installing |
|
|
|
|
boost. |
|
|
|
|
|
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
sudo dnf install boost-devel sqlitecpp-devel openssl-devel |
|
|
|
|
sudo dnf install boost-devel sqlitecpp-devel openssl-devel boost-static |
|
|
|
|
cmake . |
|
|
|
|
make |
|
|
|
|
|
|
|
|
|