A discord bot that mimics users using markov chains.
- Whenever a user is @ mentioned the bot creates a webhook with the same display name and profile picture and sends 1-5 messages generated from a markov chain.
- Mentioning a role acts like mentioning each individual member with that role.
- Chains are continuously added to as more messages are sent.
- Regenerate and save chains on the fly with
|regenand|save. - Configurable through
Bizarro.toml. (See Bizarro.example.toml).
Note: I have not tested this bot on very large servers. It may have problems with too many members or messages.
On the discord developer portal, create an application with a bot user and add it to your server.
I just gave mine administrator permissions, but I think it only needs Manage Webhooks, View Channels, Send Messages, Manage Messages, Read Message History, and Mention Everyone (if you wnat it to be able to do that).
- Clone this repository.
- Make sure you have rust and cargo installed. If you don't, they can be installed from here.
- In the newly cloned directory, create a
Bizarro.tomlfile. Advanced settings are detailed inBizzaro.example.toml, but all that is required to be in this file is the following:
discord_token = "your discord bot token"
chain_storage_dir = "/the/directory/where/chains/should/be/stored"- Simply execute
cargo runin the cloned directory to build and run the bot (This will take a while the first time).- This may fail, in which case you likely need to install openssl.
- Once the bot is online, type
|regenfollowed by|saveto generate and save initial markov chains.
- Excluding messages from chain generation with regex specified in
Bizarro.toml. - More configurable control over the bot mentioning people.
- Precompiled binaries for Linux, Mac, and Windows.
- Possibly support for resending old attachments.