Create good Discord notifications that contain the title of the
stream (instead of the stupid Restream notifications that cannot be
changed).
Add point system for people helping out on the stream
User Stories / Requirements
The whole goal of the system is to promote instructive, inclusive,
useful community participation in a fun way.
User Types (Actors)
Live Stream Community Members (Chat User)
Live Streamer
As a chat user, I want ...
to control my avatar, color, and name and synchronize across different
chat services
to be able to see schedule of things happening
to search the current and previous chat histories by date, keyword, etc.
to send certain non-chat commands (!)
use points to make things fun happen on the live stream
rate the live streamer's current performance or agreement
use emojis without the overhead of looking them up
steer the direction of a session (perhaps through the type
of emojis submitted)
As a live streamer, I want ...
to be give (and remove) points to people on the live stream when they
make an interesting contribution
to store the information about my community members so I can quickly
look up information about them and display different things during a
live stream (or off stream)
put forth live, time-constrained voting on topics in a fun way
count how many of a specific performance emoji has been entered
recently and in real-time
LiveDataDir returns the content of the LIVE_DATA_DIR system
environment variable, or XDG_DATA_HOME/live if set, or
HOME/.local/share/live within the current user's home directory, or,
in the extreme exception that the current user's home directory
cannot be determined the current working directory will be used (.).
LogChat connects to Restream websocket service and begins logging to
the chat log within LiveDataDir(). Each line of the logs is a JSON
record as defined by the Restream API. This functions blocks so best
to call as a goroutine. Consider also starting RotateLogs() to manage
the log files concurrently. Consider the Tail*() functions that
return the last lines of these logs when consuming the log data. Or
simply use the equivalent commands available on your given operating
system.
LogEvents connects to Restream websocket service and begins logging to
the event log within LiveDataDir(). Each line of the logs is a JSON
record as defined by the Restream API. This functions blocks so best
to call as a goroutine. Consider also starting RotateLogs() to manage
the log files concurrently. Consider the Tail*() functions that
return the last lines of these logs when consuming the log data. Or
simply use the equivalent commands available on your given operating
system.