Added a few more stats to keep track of:
- Max users in chat
- Stream start
Also added a `/stats` command to list the user count (current and max),
as well as uptime (sever and stream, separately).
Resolves#85
Change the function signature for commands to return a string as well as
an error. Currently, errors are handled no differently than normal
response messages.
Also removed the redundant `/setpin` command.
This command launches a goroutine that does the actual downloading of
the emotes so the client doesn't hang until the process is finished.
subscribers.json needs to be manually downloaded and added next to the
main executable for now. Eventually, it will download and cache this
file (for 24 hours, at a minimum).
Issue #10 should not be considered finished yet. This needs to be
tested a bit more with multiple channels. Ideally, some that exist and
some that don't to verify that it fails gracefully (ie, adds the emotes
it was able to download).
So far only PIN and Open modes are implemented. It uses a session
cookie to store the validity of the pin/password.
The "Enter pin" page has some unreadable messages on it right now, but
it kinda works.
Using this command will change the current user's nickname in chat.
It has an alias of /name.
An admin can force a name change by supplying the current name and a new
name. If a name has been changed by an admin, that user can no longer
change their name (similar to forced color change).
Resolves#42