You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

36 lines
1.1 KiB

4 years ago
# Overview
4 years ago
4 years ago
[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"
```
4 years ago
## Building on Fedora
4 years ago
Boost is static linked so it can be deplyed to a server without installing
boost.
4 years ago
```
4 years ago
sudo dnf install boost-devel sqlitecpp-devel openssl-devel boost-static
4 years ago
cmake .
make
```