2
6
Fork
You've already forked mowoo
2
A Matrix-Owncast-Whatever OBS Overlay
  • Dart 85%
  • HTML 13.4%
  • Makefile 0.9%
  • Dockerfile 0.7%
2022年04月25日 20:35:58 +02:00
bin Add logging 2022年02月23日 15:13:33 +01:00
data Fix template 2022年02月22日 18:28:32 +01:00
lib Sanitize HTML output before sending it to the webpage 2022年04月21日 19:38:05 +01:00
.gitignore Code dump 2022年01月02日 14:22:35 +01:00
analysis_options.yaml Initial code dump 2021年12月25日 14:20:43 +01:00
CHANGELOG.md Initial code dump 2021年12月25日 14:20:43 +01:00
Dockerfile Possible fix 2022年02月23日 15:36:09 +01:00
LICENSE Relicense to GPL-3.0-or-later 2022年04月20日 21:48:18 +02:00
Makefile Possible fix 2022年02月23日 14:27:00 +01:00
pubspec.yaml Add logging 2022年02月23日 15:13:33 +01:00
README.md Improve templates 2022年02月14日 23:03:48 +01:00

mowoo

A Matrix-Owncast-Whatever OBS Overlay

Use at your own risk! This is not ready yet for general usage. Be prepared to face bugs.

Features

  • Combine multiple stream chats into one feed!
  • Can be used as chat overlay in OBS
  • Supports Twitch, Owncast, Matrix, IRC chats
  • Get Twitch emotes across all chats
  • Deeply configurable
  • Unlimited sources, sinks and middlewares

Getting started

Installation

Clone the repo:

git clone https://codeberg.org/yarmo/mowoo
cd mowoo/

Build and install mowoo:

make
make install

Note: you may need to run sudo make install if the current user doesn't have admin privileges.

Note: before mowoo can run, it needs to have a valid configuration file. See Usage > Sample Configuration File below to get started with one.

Running mowoo without compiling

Run mowoo without compiling:

dart run ./bin/mowoo.dart

Usage

Sample configuration file

Location: ~/.config/mowoo/config.toml

[general]
refresh_rate_seconds = 2
[[source]]
name = "My owncast"
type = "owncast"
url = "https://live.domain.org"
access_token = "myOwncastAccessToken"
middlewares = ["twitchEmotes"]
[[source]]
name = "My twitch"
type = "twitch"
channels = ["myTwitchUsername"]
username = "myTwitchUsername"
oauth_token = "myTwitchOauthToken"
middlewares = ["twitchEmotes"]
[[sink]]
type = "html"
path = "/home/user/.local/share/mowoo/sinks/index.html"
template_file = "data/templates/simple-ajax.html"
message_duration_seconds = 60
max_messages = 20
[[sink]]
type = "json"
path = "/home/user/.local/share/mowoo/sinks/chat.json"
indent_spaces = 2
message_duration_seconds = 60
max_messages = 20
[[middleware]]
name = "twitchEmotes"
type = "emotes"
twitch_channels = ["myTwitchUsername"]
twitch_oauth_token = "myTwitchOauthToken"

Additional information

Why doesn't mowoo support Twitch feature X?

Honestly, I just don't care enough about Twitch. And I don't use it.

I'd like to see feature X implemented so I invite any developer to make it happen if they feel strong about it being implemented.

Roadmap

The "ASAP" list:

  • Export to HTML
  • Separate sources, sinks and message manager
  • Add Owncast source
  • Add IRC source
  • Add Twitch source
  • Only show messages for duration (config)
  • Add emotes
  • Support tiered emotes
  • Add AUR package
  • Add Dockerfile
  • Improve installation process
  • Improve templates
  • Add avatars
  • Add profanity filter (middleware)
  • Add message persistency (sqlite)
  • Documentation

The "if interest shown" list:

  • Add Twitch badges, highlighted messages, bits...
  • Add Facebook Live source
  • Add YouTube source