- [BREAKING] Refactor
command_handler
so that it doesn't require complex constructors in child classes.
- [FIX] Use safe navigation properly.
- [FIX] Catch missing channel object.
- [FIX] Handle
nil
values from Redis.
- [FIX] Remove CI release stage broken by Rubygems OTP.
- [FIX]
PART
command caused a crash when not in a channel.
- [FIX] Environment variable
REDIS_URL
now has precedence over configuration object values.
- [BREAKING] Complex values like arrays and hashes get serialized as JSON before being stored in Redis.
- [NEW]
CommandHandler
by default responds to:user_message
events.
- [NEW] New
CommandHandler
class that simplifies building chat commands.
- [FIXED] Fixed test crash due to incomplete DotEnv initialization.
- [BREAKING] Using
REDIS_HOST
andREDIS_PORT
for the connection details inTwitch::Bot::Memory::Redis
was a bad choice. Providers like Heroku use a combinedREDIS_URL
instead. So do we now. (Alternatively, there's still the way via theConfig
object.)
- [FIXED] The Terminal adapter now returns all messages from the channel owner, allowing to test privileged functionality in dev mode.
- [NEW] This release introduces a
Memory::Redis
class that allows users to provide their bot with a persistent memory storage.
- [NEW] Client provides a persistent memory in form of a key/value store.
- [BREAKING] Instead of choosing and creating the
Adapter
in theClient
, we now inject aConfig
class intoClient
that carries our choice of Adapter. This change also makes theConnection
class obsolete; its information went intoConfig
as well.
- [FIXED] Fix a few bugs missed by not running tests. We need CI...
- [NEW] Local development mode
- [CHANGED] Substantial refactoring introducing protocol Adapter classes and a central Logger class
- [BREAKING] The standard text message class is now named
Twitch::Bot::Message::UserMessage
and uses the type symbol:user_message
. It has added methods to handle bot commands. - [CHANGED] Major restructuring of both class hierarchy and class responsibilities.
This is the first release of Twitch::Bot
, a fork and evolution of the Twitch::Chat
gem. Its goal is to become a cleanly designed framework for building Twitch chat bots.