Go to file
Ash Keel 9df69d1b3d
feat: we can generate our own documentation... wait but why
2023-02-07 22:29:26 +01:00
.github/workflows Add GOPRIVATE flag 2023-01-10 09:30:55 +01:00
build feat: add renko icon and credits 2022-12-03 17:28:47 +01:00
database refactor: bump to containers v0.3.0 (API changes) 2022-12-04 14:45:34 +01:00
docs feat: we can generate our own documentation... wait but why 2023-02-07 22:29:26 +01:00
frontend docs: update locale and changelog 2023-02-06 18:12:43 +01:00
http feat: we can generate our own documentation... wait but why 2023-02-07 22:29:26 +01:00
loyalty feat: we can generate our own documentation... wait but why 2023-02-07 22:29:26 +01:00
twitch feat: we can generate our own documentation... wait but why 2023-02-07 22:29:26 +01:00
utils refactor: bump to containers v0.3.0 (API changes) 2022-12-04 14:45:34 +01:00
.gitignore feat: we can generate our own documentation... wait but why 2023-02-07 22:29:26 +01:00
CHANGELOG.md docs: update locale and changelog 2023-02-06 18:12:43 +01:00
LICENSE First public commit \o/ 2021-05-02 14:29:43 +02:00
LICENSING.md Remove ISC restriction (file doesn't exist anymore) 2021-11-15 17:29:58 +01:00
README.md feat: we can generate our own documentation... wait but why 2023-02-07 22:29:26 +01:00
app.go feat: we can generate our own documentation... wait but why 2023-02-07 22:29:26 +01:00
backup.go refactor: bump to containers v0.3.0 (API changes) 2022-12-04 14:45:34 +01:00
build.ps1 Add version to executable 2021-12-06 14:47:38 +01:00
cli.database.go refactor: begone modules 2022-11-30 19:15:47 +01:00
commands.go Fix linting issues (Thanks GoLand!) 2021-10-28 11:01:52 +02:00
go.mod fix: loyalty system polling now works again 2023-02-02 21:24:14 +01:00
go.sum fix: loyalty system polling now works again 2023-02-02 21:24:14 +01:00
logging.go fix: wrap logs to prevent data races 2022-12-04 18:35:15 +01:00
main.go feat: add warning before closing app 2023-01-26 13:18:38 +01:00
wails.json Add Wails, refactor into multi CLI app 2022-11-16 12:23:54 +01:00

README.md

Small broadcasting suite for Twitch, includes:

  • Simple way to build stream overlays with minimal code
  • Loyalty points system with redeems and community goals
  • Twitch chat integration with custom commands
  • Support for Twitch alerts and channel point redeems
  • Built-in runner for simple extensions to add extra features

Note: some technical/coding experience is currently required to be able to use this effectively, see the technical overview below for more information.

Getting started

Download the latest build from here: github.com/strimertul/strimertul/releases/latest

Start strimertul.exe (or whatever for your operating system) and it should open a windows with the dashboard as soon as it's ready.

You can also build the project yourself, refer to the Building section below.

Technical overview

Strimertül is a single executable app that provides the following:

  • HTTP server for serving static assets and a websocket API
  • Twitch bot for handling chat messages and providing custom commands
  • Polling-based loyalty system for rewards and community goals

At strimertül's core is Kilovolt, a pub/sub key-value store accessible via websocket. You can access every functionality of strimertul through the Kilovolt API. Check this repository for a list of officially supported kilovolt clients (or submit your own). You should be able to easily build a client yourself by just creating a websocket connection and using the Kilovolt protocol.

Check out the project's wiki for more information on how to use the API to interact with strimertul, or the docs folder for more technical information.

Development

This project uses Wails, check out the Getting Started guide on how to install it.

Due to Google's aggressive behavior and refusal to conform to standard internet "don't be a dick" code (aka DDoSsing), you will need to put this to be able to clone all dependecies:

export GOPRIVATE=git.sr.ht

To run in live development mode, run wails dev in the project directory. This will run a Vite development server that will provide hot reload of frontend changes, while hard-reloading on backend changes.

Building

To build a redistributable, production mode package, use wails build.

Credits

  • Renko, strimertül's mascot and app icon, was drawn by Sonic_Chan

License

Kilovolt's code is based on Gorilla Websocket's server example, licensed under BSD-2-Clause

The entire project is licensed under AGPL-3.0-only (see LICENSE).