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
|regen
and|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.toml
file. 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 run
in 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
|regen
followed by|save
to 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.