# Matterbridge configuration for Kosmi <-> IRC relay
# 
# IMPORTANT: Copy this file to matterbridge.toml and update values before running:
# 1. Change the Kosmi RoomURL to your room
# 2. Change the IRC server and channel to your IRC network
# 3. Set your bot's nickname
# 4. Configure NickServ authentication if needed
# 5. Set Jackbox credentials if using that integration

###################################################################
# Kosmi section
###################################################################
[kosmi]

[kosmi.hyperspaceout]
# Kosmi room URL (required)
# Format: https://app.kosmi.io/room/@roomname or https://app.kosmi.io/room/roomid
RoomURL="https://app.kosmi.io/room/@yourroom"

# Optional: Email/password authentication
# If not provided, will use anonymous access
# Note: Requires Chrome/Chromium installed for browser automation
Email=""
Password=""

# How to format usernames from other bridges
RemoteNickFormat="[{PROTOCOL}] <{NICK}> "

###################################################################
# IRC section
###################################################################
[irc]

[irc.zeronode]
# IRC server to connect to (change this to your IRC server)
Server="irc.libera.chat:6697"

# Your bot's nickname (change this)
Nick="kosmi-relay"

# How to format usernames from other bridges  
RemoteNickFormat="[{PROTOCOL}] <{NICK}> "

# Enable TLS (recommended for public servers)
UseTLS=true
# For TLS, use port 6697:
# Server="irc.libera.chat:6697"
# UseTLS=true

# Skip TLS verification (only for self-signed certs, not recommended)
SkipTLSVerify=false

# NickServ authentication (optional but recommended)
# Register your nick on the IRC network first, then uncomment:
#NickServNick="nickserv"
#NickServPassword="your_password"

# Alternative: Use SASL authentication (more secure)
#UseSASL=true
#NickServUsername="kosmi-relay"
#NickServPassword="your_password"

# Channels to auto-join on connect (optional)
Channels=["#your-channel"]

# Enable debug logging for IRC (optional)
Debug=false

###################################################################
# Gateway configuration
###################################################################
# This connects the Kosmi room to the IRC channel
[[gateway]]
name="kosmi-irc-gateway"
enable=true

# Kosmi side
[[gateway.inout]]
account="kosmi.hyperspaceout"
channel="main"  # Kosmi uses a single "main" channel per room

# IRC side
[[gateway.inout]]
account="irc.zeronode"
channel="#your-channel"

###################################################################
# Jackbox Game Picker API Integration
###################################################################
[jackbox]
# Enable Jackbox integration for vote detection and game notifications
Enabled=false

# Jackbox API URL
APIURL="https://your-jackbox-api.example.com"

# Admin password for API authentication
AdminPassword=""

# Use WebSocket for real-time game notifications (recommended)
# Set to false to use webhooks instead
UseWebSocket=true

# Webhook configuration (only needed if UseWebSocket=false)
# Webhook server port (for receiving game notifications)
WebhookPort=3001

# Webhook secret for signature verification
WebhookSecret=""

# Enable room code image upload for Kosmi chat
# When enabled, generates a PNG image of the room code and attempts to upload it
# Falls back to plain text if upload fails or is not supported
EnableRoomCodeImage=true

# Delay in seconds before sending the image+announcement message (default: 0)
RoomCodeImageDelay=28

# Delay in seconds before sending the plaintext room code follow-up (default: 29)
RoomCodePlaintextDelay=22

###################################################################
# General settings
###################################################################
[general]
# Show join/leave messages
ShowJoinPart=false

# Remote nick format (how nicks from other bridges are displayed)
#RemoteNickFormat="[{PROTOCOL}] <{NICK}> "
