Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

twitchlogger

Lightweight and minimal Twitch chat logger. It is able to log every live chat on twitch (at once) with very low CPU and memory usage.

Commands

There are 2 commands, twitch-log and twitch-channels:

  • twitch-channels is for fetching all live channels from the Twitch API, it outputs CSV data (user_id,channel_name,viewers). Check the usage with twitch-channels -h
  • twitch-log is for logging the chats. The input must be a stream with every channel name separated by a newline. It outputs IRC messages.

You can connect twitch-channels and twitch-log by piping twitch-channels to awk, as in the examples below.

Installation

Download the executables from this repo's Releases page and put them in your $PATH

OR

go get -u github.com/mlvzk/twitchlogger/...

Examples

Pipe twitch-channels to awk to only get the channel's name and pipe it then to twitch-log:

twitch-channels \
| awk -F, '{ print $2 }' \
| twitch-log

Log only one channel:

twitch-log <<<"moonmoon_ow"

Fetch only english(locale id en) streams with no less than 50 viewers, and loop it to also fetch future streams:

twitch-channels -language en -min 50 -loop

Fetch, transform, log, filter to only PRIVMSG messages and beautify the output:

twitch-channels -language en -min 20 -loop \
| awk -F, '{ print $2 }' \
| twitch-log \
| awk 'match($0, /:(\w+)!.*PRIVMSG #(\w+) :(.*)/, m) { print strftime("%Y-%m-%d %H:%M:%S")" \033[34m"m[1]"\033[0m to \033[35m#"m[2]"\033[0m: "m[3] }' # only gnu version of awk, gawk

About

Lightweight and minimal Twitch chat logger. It is able to log every live chat on twitch (at once) with very low CPU and memory usage.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages