markov-discord

A Markov chain Discord chat bot. Generates unique messages by learning from past messages. Also occasionally attaches images to messages.

Stars
74

Bot releases are hidden (Show)

markov-discord - v2.1.1 Latest Release

Published by claabs over 2 years ago

  • Fix TTS not working for slash commands (with a somewhat janky solution)
  • Update dependencies (discord.js 13.7)
markov-discord - v2.0.1

Published by claabs almost 3 years ago

  • Add a filter to ensure the bot doesn't just post exact previous messages.
markov-discord - v2.0.0

Published by claabs almost 3 years ago

Breaking Changes

  • Config option prefix renamed to messageCommandPrefix
  • Config option game renamed to activity
  • Config option role renamed to userRoleIds. Changed from string to array of strings.
  • Docker internal volume path moved from /usr/src/markbot/config to /usr/app/config
  • Database changed from JSON files to a SQLite database. You'll need to re-train the bot to use it again.
  • The bot must be explicitly granted permission to listen to a list of channels before using it. Configure it with /listen.
  • Docker user changed from root to node. You may need to update your mounted volume's permissions.
  • pm2 has been removed from the Docker container. Make sure to add --restart=unless-stopped to your Docker run config to ensure the same resiliency.

New Features

  • Data is stored in a relational database to reduce memory and disk read/write usage, as well as to decrease latency
  • The bot can be restricted to only learn/listen from a strict list of channels
  • Bot responses can be seeded by a short phrase
  • Discord slash command support
  • Discord thread support
  • Many new config options available at https://claabs.github.io/markov-discord/classes/AppConfig.html
    • Owner IDs
    • Log level
    • Slash command name
  • Config file supports JSON5 (comments, trailing commas, etc). It also may use the .json5 file extension if you prefer.
  • Generated responses will now never ping a user or role, only just highlight their name
Related Projects