Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gempir/justlog
twitch logging platform
https://github.com/gempir/justlog
hacktoberfest
Last synced: about 1 month ago
JSON representation
twitch logging platform
- Host: GitHub
- URL: https://github.com/gempir/justlog
- Owner: gempir
- License: mit
- Created: 2017-03-04T11:36:07.000Z (almost 8 years ago)
- Default Branch: main
- Last Pushed: 2024-05-01T06:24:25.000Z (8 months ago)
- Last Synced: 2024-08-01T21:48:20.423Z (5 months ago)
- Topics: hacktoberfest
- Language: Go
- Homepage:
- Size: 27.5 MB
- Stars: 161
- Watchers: 5
- Forks: 37
- Open Issues: 13
-
Metadata Files:
- Readme: README.MD
- License: LICENSE
Awesome Lists containing this project
- starred - gempir/justlog - twitch logging platform (Go)
README
# justlog [![Build Status](https://github.com/gempir/justlog/workflows/ci/badge.svg)](https://github.com/gempir/justlog/actions?query=workflow%3Aci)
### What is this?
Justlog is a twitch irc bot. It focuses on logging and providing an api for the logs.### Optout
Click the X icon on the web ui to find an explanation for how to opt out.
### API
API documentation can be viewed via the justlog frontend by clicking the "docs" symbol:
![image](https://user-images.githubusercontent.com/1629196/159481078-0de98f01-2816-49bd-8e17-ba7cf66cb064.png)### Docker
```
mkdir logs
docker run -p 8025:8025 --restart=unless-stopped -v $PWD/config.json:/etc/justlog.json -v $PWD/logs:/logs ghcr.io/gempir/justlog
```### Commands
Only admins can use these commands
- `!justlog status` will respond with uptime.
- `!justlog join gempir pajlada` will join the channels and append them to the config.
- `!justlog part gempir pajlada` will part the channels and remove them from the config.
- `!justlog optout gempir gempbot` will opt out users of message logging or querying previous logs of that user. the same applies to a user's 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, can be any string, used in api request to admin endpoints
"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
"botVerified": true, // increase ratelimits if you have a verified bot, so the bot can join faster, false by default
"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, all options are: trace, debug, info, warn, error, fatal, and panic, logs output is stdout
"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
}
```### Development
Development requires [yarn](https://classic.yarnpkg.com/) and [go-swagger](https://goswagger.io/)
Run `go build && ./justlog` and `yarn start` in the web folder.
Or run `make container` and `make run_container`