Added emoji wall module documentation.
+122
@@ -0,0 +1,122 @@
|
||||
# Emoji Wall
|
||||
|
||||
The `emoji_wall` module provides a browser-based overlay for OBS that displays floating emojis and custom emotes from chat as animated particles. It supports all Unicode emoji characters (including ZWJ sequences, skin tone modifiers, and flag sequences) as well as any custom emotes configured in your Owncast instance.
|
||||
|
||||
This is a built-in module that ships with Owlbot and is enabled by default.
|
||||
|
||||
## Quick Start
|
||||
|
||||
When Owlbot starts, it logs the overlay URL with a unique token:
|
||||
|
||||
```
|
||||
Emoji wall overlay URL: https://stream.logal.dev/owlbot/emoji_wall/srQPcfouonD5r26K-mwOElNVZtjTHyV5gi4Dv7Y_CWs
|
||||
```
|
||||
|
||||
1. Copy the URL from the startup log and add it to OBS as a Browser Source.
|
||||
2. Set the browser source dimensions to match your canvas size (e.g. 1920x1080).
|
||||
3. When viewers send messages containing emojis or custom emotes in chat, they appear as floating animations on the overlay.
|
||||
|
||||
## Web UI
|
||||
|
||||
The module serves an overlay page at `/owlbot/emoji_wall/<token>/` designed for use as an OBS browser source. The page connects to the bot via Server-Sent Events and renders incoming emojis and emotes as animated floating elements.
|
||||
|
||||
## Configuration
|
||||
|
||||
Configure the overlay behavior in `config.yaml` under `modules.emoji_wall`:
|
||||
|
||||
```yaml
|
||||
modules:
|
||||
emoji_wall:
|
||||
# Minimum emoji size in pixels.
|
||||
# Default: 20
|
||||
min_size: 20
|
||||
|
||||
# Maximum emoji size in pixels.
|
||||
# Default: 60
|
||||
max_size: 60
|
||||
|
||||
# Minimum animation duration in seconds.
|
||||
# Default: 3
|
||||
min_duration: 3
|
||||
|
||||
# Maximum animation duration in seconds.
|
||||
# Default: 10
|
||||
max_duration: 10
|
||||
|
||||
# Maximum number of emojis on screen at once.
|
||||
# Default: 50
|
||||
max_count: 50
|
||||
|
||||
# Direction emojis travel. Named presets: up, up-right, right,
|
||||
# down-right, down, down-left, left, up-left, random.
|
||||
# Also accepts a degree value (0-359, where 0 is up, clockwise).
|
||||
# Default: "up"
|
||||
direction: "up"
|
||||
|
||||
# Maximum rotation angle in degrees. Each emoji gets a random
|
||||
# rotation between -max_rotation and +max_rotation.
|
||||
# Set to 0 to disable rotation.
|
||||
# Default: 25
|
||||
max_rotation: 25
|
||||
```
|
||||
|
||||
### Token
|
||||
|
||||
The overlay token is auto-generated on first run and stored in `config.yaml`. You can also set a custom token manually:
|
||||
|
||||
```yaml
|
||||
modules:
|
||||
emoji_wall:
|
||||
token: "your-custom-token-here"
|
||||
```
|
||||
|
||||
The token prevents casual discovery of your overlay URL. Anyone with the token can connect to the emoji wall SSE endpoint, but the data transmitted (emojis from public chat) is not sensitive.
|
||||
|
||||
### Query Parameter Overrides
|
||||
|
||||
All configuration options can be overridden via query parameters on the overlay URL. This lets you create multiple overlays with different settings without modifying `config.yaml`:
|
||||
|
||||
```
|
||||
https://stream.logal.dev/owlbot/emoji_wall/srQPcfouonD5r26K-mwOElNVZtjTHyV5gi4Dv7Y_CWs?direction=random&max_count=100&min_size=30&max_size=80
|
||||
```
|
||||
|
||||
### Direction Values
|
||||
|
||||
The `direction` setting controls which way emojis travel:
|
||||
|
||||
| Value | Direction |
|
||||
|-------|-----------|
|
||||
| `up` | Emojis rise from bottom to top (default) |
|
||||
| `up-right` | Emojis travel diagonally upward-right |
|
||||
| `right` | Emojis travel left to right |
|
||||
| `down-right` | Emojis travel diagonally downward-right |
|
||||
| `down` | Emojis fall from top to bottom |
|
||||
| `down-left` | Emojis travel diagonally downward-left |
|
||||
| `left` | Emojis travel right to left |
|
||||
| `up-left` | Emojis travel diagonally upward-left |
|
||||
| `random` | Each emoji gets a random direction |
|
||||
| `0-359` | Numeric degree value (0=up, 90=right, 180=down, 270=left) |
|
||||
|
||||
## Examples
|
||||
|
||||
```yaml
|
||||
# Falling confetti effect
|
||||
modules:
|
||||
emoji_wall:
|
||||
direction: down
|
||||
min_size: 15
|
||||
max_size: 30
|
||||
min_duration: 2
|
||||
max_duration: 5
|
||||
max_rotation: 360
|
||||
|
||||
# Large dramatic emojis
|
||||
modules:
|
||||
emoji_wall:
|
||||
direction: random
|
||||
min_size: 50
|
||||
max_size: 100
|
||||
min_duration: 5
|
||||
max_duration: 15
|
||||
max_count: 20
|
||||
```
|
||||
+1
@@ -6,6 +6,7 @@ Owlbot is a modular, event-driven toolkit for extending [Owncast](https://owncas
|
||||
|
||||
- **[Clips](Clips)**: Capture and save moments from the live stream. Viewers clip directly from chat and trim their footage in a browser-based editor, no extra software needed.
|
||||
- **[Custom commands](Custom-Commands)**: Moderators can create, edit, and delete chat commands at runtime without code changes or restarts. Responses support dynamic placeholders like `$(user)`, `$(count)`, `$(rand)`, `$(countdown)`, and positional arguments.
|
||||
- **[Emoji Wall](Emoji-Wall)**: Display floating emojis and custom emotes from chat as animated particles in an OBS browser source overlay.
|
||||
- **[Quotes](Quotes)**: Codify the streamer's hot takes, wild claims, and memorable one-liners said live on air. Moderators add quotes, and anyone can recall them at random or look up a specific quote by ID.
|
||||
- **[Timers](Timers)**: Set up recurring chat messages that fire on a simple duration or cron schedule. An optional minimum chat line threshold keeps timers from firing into an empty chat.
|
||||
|
||||
|
||||
+1
@@ -8,6 +8,7 @@
|
||||
**Built-in Modules**
|
||||
* [Clips](Clips)
|
||||
* [Custom Commands](Custom-Commands)
|
||||
* [Emoji Wall](Emoji-Wall)
|
||||
* [Quotes](Quotes)
|
||||
* [Timers](Timers)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user