You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
f0x 6195959753 release alpha 0.0.2 2 years ago
autojoin-bot use blockedRooms from config too 2 years ago
public add basic installation instructions, symlink emoji to public 2 years ago
server release 0.0.1 3 years ago
src theme rename fallback 2 years ago
.eslintrc.js release 0.0.1 3 years ago
.gitignore add release script 2 years ago add code of conduct 3 years ago
LICENSE initial late night commit 3 years ago add basic installation instructions, symlink emoji to public 2 years ago
index.js themeing support basics 3 years ago
package.json release alpha 0.0.2 2 years ago add release script 2 years ago
yarn.lock working settings menu 2 years ago

Matrix Stream Chat

OBS integration for Matrix powered stream chat.


There's a (relatively) up-to-date bundle in public/, which can be served by any webserver directly.
If you change any code/styling, install the dependencies with yarn install, then either use NODE_ENV=development node index.js for a livereloading development server, and BUDO_BUILD=1 node index.js to compile a static bundle to public/ again.


recommended to set up a stream-specific matrix account, just in case You can either run the project locally, or use the hosted version at (all data stays local).
Use the login form to authenticate with your matrix server, and select the room you want to display on stream by clicking it. If you see the chat log, all data is successfully stored in localStorage.
Now you can use the get state string button to get a copy-pastable url with your matrix authentication token and settings. Either open this in a browser window and use an OBS window capture (no transparency possible), or use the URL to configure the OBS browser plugin.

Video demo:

TODO / Roadmap

Matrix Stream Chat integration for OBS

  • : basic functionality
  • : initialize all config from URL (needed for OBS!)
  • : stream-safe mode (all config has to happen in different window)
  • : more configurability
    • : chat colors
    • : homeserver, message limit
  • : strip reply syntax
  • : use twemoji for emoji, as obs chromium doesn't do color fonts
  • : media, custom emoji
  • : viewer count
    • : selectable integration
    • : peertube
  • : spaces integration? (as flair?)

As embeddable chat client:

  • : plain message sending
  • : local echo
  • : don't trim backlog
  • : markdown?
  • : (custom) emoji syntax
  • : emoji picker
  • : handle kick/ban (UI)
  • : fix general error handling/display

License, donations

AGPL-3.0. If you want to support my work, you can: Donate using Liberapay

Code of Conduct

In the repository is a copy of Rust's Code of Conduct. Please refer to this before interacting with the project or it's spaces.