twitch logging platform
Find a file
2021-07-18 18:59:27 +02:00
.github/workflows cut too long commit message I'd just like to interject for a moment. What you’re referring to as Linux, is in fact, GNU/Linux, or as I’ve recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX. 2021-03-19 22:43:17 +01:00
api add opt out option 2021-06-05 16:23:52 +02:00
archiver double check if we actually try to open a dir 2019-08-18 11:08:27 +02:00
bot add opt out option 2021-06-05 16:23:52 +02:00
config add opt out option 2021-06-05 16:23:52 +02:00
filelog more error logging, remove runetime monitoring 2021-01-09 13:34:31 +01:00
helix remove all message type configs, better handle joining/leaving 2021-04-16 18:03:41 +02:00
humanize add tests for humanize 2019-08-18 11:38:54 +02:00
web Update CDN url 2021-07-18 18:59:27 +02:00
.gitignore simplify webpack setup 2020-09-05 12:15:35 +02:00
config.json.dist add option to disable archiving 2020-10-01 00:39:59 +02:00
Dockerfile new cmd 2019-05-17 21:54:38 +02:00
go.mod add opt out option 2021-06-05 16:23:52 +02:00
go.sum add opt out option 2021-06-05 16:23:52 +02:00
LICENSE use json config and enable arguments 2018-11-29 22:20:57 +01:00
main.go remove all message type configs, better handle joining/leaving 2021-04-16 18:03:41 +02:00
Makefile tidy assets, need to track assets for now so only go build required 2021-03-19 22:18:16 +01:00
README.MD add opt out option 2021-06-05 16:23:52 +02:00

justlog Build Status

What is this?

Justlog is an twitch irc bot. It focuses on logging and providing an api for the logs.

Docker

mkdir logs # Make sure the log folder is set correctly in your config, we need to create it first to have correct permissions
docker run -p 8025:8025 --restart=unless-stopped --user $(id -u):$(id -g) -v $PWD/config.json:/etc/justlog.json -v $PWD/logs:/logs ghcr.io/gempir/justlog

Commands

  • !justlog status will respond with uptime
  • !justlog join gempir,pajlada will join the channels and append them to the config
  • !justlog messageType gempir 1,2 will set the recorded message types to 1 and 2 in channel gempir (will fetch the userid on its own)
  • !justlog messageType gempir reset will reset to default
  • !justlog optout gempir,gempbot will opt out users of message logging or querying previous logs of that user, same applies to users own channel
  • !justlog optin gempir,gempbot will revert the opt out

Config

{
    "admins": ["gempir"], // will only respond to commands executed by these users
    "logsDirectory": "./logs", // the directory to log into
    "adminAPIKey": "noshot", // your secret api key to access the admin api (documented below)
    "username": "gempbot", // bot username (can be justinfan123123 if you don't want to use an account)
    "oauth": "oauthtokenforchat", // bot token can be anything if justinfan123123
    "clientID": "mytwitchclientid", // your client ID, needed for fetching userids or usernames etc
    "clientSecret": "mysecret", // your twitch client secret
    "logLevel": "info", // the log level, keep this to info probably
    "channels": ["77829817", "11148817"], // the channels (userids) you want to log
    "archive": true, // probably keep to true, will disable gzipping of old logs if false, useful if you setup compression on your own
    "channelConfigs": {
        "77829817": { // only applies to this channel
            "messageTypes": [1] // will only log messages of type 1 (check go-twitch-irc MessageType https://github.com/gempir/go-twitch-irc/blob/master/message.go#L17), default is all 
        }
    }
}

Development

Development requires yarn and go-swagger

Run go build && ./justlog and yarn start in the web folder.

Before committing make sure to run make to generate openAPI specs and bundle assets.