live

package module
v0.0.0-...-72078d1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 11, 2020 License: Apache-2.0 Imports: 7 Imported by: 0

README

Go live, A Live Streamer Command Line Utility

WIP GoDoc License Go Report Card Coverage

Usage

live help
live wschat
live wsevents

TODO

  • 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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func LiveDataDir

func LiveDataDir() string

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 (.).

func LogChat

func LogChat(ctx context.Context)

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.

func LogEvents

func LogEvents(ctx context.Context)

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.

func RotateLogs

func RotateLogs(ctx context.Context)

RotateLogs periodically checks the size of the log files in LiveDataDir() and rotates them by size (default: 200 KiB).

Types

This section is empty.

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL