StroepWafel

Portfolio & Creative Works

Privacy Policy

© 2025 StroepWafel (Max Kuchel)

Configuration

Learn what each setting does and how to configure LYTE for your needs.

Basic Settings

YOUTUBE_VIDEO_ID

The ID of your YouTube livestream. This is the characters at the end of the URL after ?v=.

Example: If your livestream URL is https://www.youtube.com/watch?v=C4qJeIjNd2U, then C4qJeIjNd2U is your video ID.

How to find it:

  • Look at the end of your livestream URL after ?v=
  • Or check the livestream URL in your browser's address bar

PREFIX

The command prefix that listeners must use before commands. Default is !.

Examples:

  • ! - Standard prefix (default)
  • ? - Question mark prefix
  • lyte - Multi-character prefix

Note: This can be multiple characters if desired.

QUEUE_COMMAND

The command name for queueing a song. Default is queue.

Example: With default settings, users type !queue <VIDEO_ID> to queue a song.

Customization: You can change this to any string, such as play, add, request, etc.

RATE_LIMIT_SECONDS

How long a user must wait (in seconds) before they can queue another song. Set to 0 to disable rate limiting.

Default: 3000 (50 minutes)

Examples:

  • 0 - No rate limiting (users can queue songs immediately)
  • 30 - Users must wait 30 seconds between requests
  • 60 - Users must wait 1 minute between requests

Use case: Prevents user spam and allows more users to participate in the queue. Recommended: 30-60 seconds for public streams.

Audio Settings

VOLUME

Default volume level for playback (0-100). This sets the initial volume when LYTE starts.

Range: 0 (silent) to 100 (maximum volume)

Default: 100 (maximum volume)

Note: You can adjust volume in real-time using the volume slider in the control panel.

Notification Settings

TOAST_NOTIFICATIONS

Enable or disable Windows toast notifications that pop up with song name and requester information.

Values:

  • "True" - Enable toast notifications (default)
  • "False" - Disable toast notifications

Note: This setting is not case-sensitive.

SONG_FINISH_NOTIFICATIONS

Determines whether desktop notifications are shown when a new song starts playing (only when songs finish naturally, not when skipped).

Values:

  • "True" - Enable song finish notifications
  • "False" - Disable song finish notifications (default)

Note: These notifications only appear when songs finish naturally, not when manually skipped.

Appearance Settings

THEME

Selects which theme to use for the interface. Default is dark_theme.

Available themes:

  • dark_theme - Default dark theme
  • light_theme - Default light theme
  • Custom themes you've created (see Theme Documentation)

Note: Theme files are stored in the themes folder. Custom themes override default themes.

Theme Location:

  • Exe installation: %LOCALAPPDATA%\LYTE\themes\
  • Portable installation: themes\ (relative to application directory)

Request Settings

ALLOW_URLS

Determines whether users can request songs using full YouTube URLs instead of just video IDs.

Values:

  • "True" - Allow full URLs (e.g., https://www.youtube.com/watch?v=VIDEO_ID)
  • "False" - Only allow video IDs (default)

Default behavior: By default, only video IDs are accepted. This is because YouTube blocks links in livestream chats.

REQUIRE_MEMBERSHIP

Requires users to be channel members before they can request songs.

Values:

  • "True" - Only channel members can request songs
  • "False" - Anyone can request songs (default)

Use case: Useful for exclusive member-only song requests.

REQUIRE_SUPERCHAT

Requires users to send a Super Chat (paid message) to request songs.

Values:

  • "True" - Users must Super Chat to request songs
  • "False" - Super Chat not required (default)

Note: When enabled, works in conjunction with MINIMUM_SUPERCHAT.

MINIMUM_SUPERCHAT

The minimum Super Chat amount (in USD) required to request a song. Only applies when REQUIRE_SUPERCHAT is "True".

Default: 3 (USD)

Example: If set to 5, users must send a Super Chat of at least $5 USD to request a song.

Moderation Settings

AUTOBAN_USERS

Automatically ban users who attempt to request banned videos.

Values:

  • "True" - Automatically ban users who request banned videos
  • "False" - Only reject the request, don't ban the user (default)

Use case: Helps prevent repeat offenders from spamming banned content.

AUTOREMOVE_SONGS

Automatically remove songs from the queue after they finish playing.

Values:

  • "True" - Automatically remove finished songs (default)
  • "False" - Keep finished songs in the queue

Use case: Keeps the queue clean and shows only upcoming songs.

Whitelist Settings

ENFORCE_USER_WHITELIST

Only allow users who are on the whitelist to request songs. When enabled, all other users are blocked.

Values:

  • "True" - Only whitelisted users can request songs
  • "False" - All users can request (subject to other restrictions) (default)

Use case: Create an exclusive list of users who can request songs.

Note: Requires whitelisted_users.json to be populated. See the Whitelist Management section below.

ENFORCE_ID_WHITELIST

Only allow videos that are on the whitelist to be requested. When enabled, all other videos are blocked.

Values:

  • "True" - Only whitelisted videos can be requested
  • "False" - All videos can be requested (subject to other restrictions) (default)

Use case: Create a curated playlist of approved songs.

Note: Requires whitelisted_IDs.json to be populated. See the Whitelist Management section below.

Ban Management

banned_IDs.json

JSON file containing a list of banned YouTube video IDs. Videos on this list cannot be requested.

Location:

  • Exe installation: %LOCALAPPDATA%\LYTE\banned_IDs.json
  • Portable installation: Src/banned_IDs.json

Format:

["VIDEO_ID_1", "VIDEO_ID_2", "VIDEO_ID_3"]

Example:

["dQw4w9WgXcQ", "jNQXAC9IVRw"]

How to add: Manually edit the file or use the moderation interface in LYTE's settings.

banned_users.json

JSON file containing a list of banned YouTube user/channel IDs. Users on this list cannot request songs.

Location:

  • Exe installation: %LOCALAPPDATA%\LYTE\banned_users.json
  • Portable installation: Src/banned_users.json

Format:

["CHANNEL_ID_1", "CHANNEL_ID_2", "CHANNEL_ID_3"]

Example:

["UCxxxxxxxxxxxxxxxxxxxxxx", "UCyyyyyyyyyyyyyyyyyyyyyy", "UCzzzzzzzzzzzzzzzzzzzzzz"]

How to find channel ID:

  • Use this tool
  • Check LYTE's logs when a user requests a song (channel ID is logged)

How to add: Manually edit the file or use the moderation interface in LYTE's settings.

Whitelist Management

whitelisted_IDs.json

JSON file containing a list of approved YouTube video IDs. When ENFORCE_ID_WHITELIST is enabled, only videos on this list can be requested.

Location:

  • Exe installation: %LOCALAPPDATA%\LYTE\whitelisted_IDs.json
  • Portable installation: Src/whitelisted_IDs.json

Format:

[
  {"id": "VIDEO_ID_1", "name": "Video Name 1"},
  {"id": "VIDEO_ID_2", "name": "Video Name 2"}
]

Example:

[
  {"id": "dQw4w9WgXcQ", "name": "Rick Astley - Never Gonna Give You Up"},
  {"id": "jNQXAC9IVRw", "name": "Me at the zoo"}
]

Note: The name field is optional but helpful for identification. LYTE will automatically fetch video names when possible.

whitelisted_users.json

JSON file containing a list of approved YouTube user/channel IDs. When ENFORCE_USER_WHITELIST is enabled, only users on this list can request songs.

Location:

  • Exe installation: %LOCALAPPDATA%\LYTE\whitelisted_users.json
  • Portable installation: Src/whitelisted_users.json

Format:

[
  {"id": "CHANNEL_ID_1", "name": "Channel Name 1"},
  {"id": "CHANNEL_ID_2", "name": "Channel Name 2"}
]

Example:

[
  {"id": "UCxxxxxxxxxxxxxxxxxxxxxx", "name": "John Doe"},
  {"id": "UCyyyyyyyyyyyyyyyyyyyyyy", "name": "Jane Smith"}
]

Note: The name field is optional but helpful for identification. LYTE will automatically fetch channel names when possible.

Configuration File Location

The location of configuration files depends on how LYTE is installed:

Exe Installation

When LYTE is installed as an executable (.exe), all configuration files, logs, and themes are stored in:

Location: %LOCALAPPDATA%\LYTE\

Note: %LOCALAPPDATA% typically expands to C:\Users\<YourUsername>\AppData\Local\ on Windows.

Portable/Development Installation

When running LYTE from source or as a portable application, files are located in:

  • Path: Src/config.json
  • Format: JSON

Backup: LYTE automatically creates backup files with timestamps (e.g., config.json.backup_20251113_172242.json).

Editing Configuration

Method 1: Through the UI

  1. Launch LYTE
  2. Open the Settings window
  3. Modify settings as needed
  4. Click "Save and Start" or "Save" to apply changes

Method 2: Manual Edit

  1. Close LYTE (if running)
  2. Open the configuration file in a text editor:
    • Exe installation: %LOCALAPPDATA%\LYTE\config.json
    • Portable installation: Src/config.json
  3. Modify the values (ensure JSON syntax is correct)
  4. Save the file
  5. Restart LYTE

Warning: Incorrect JSON syntax will prevent LYTE from starting. Always validate your JSON before saving.

Configuration Best Practices

  1. Backup your config: Before making major changes, copy config.json to a safe location
  2. Test changes: After modifying settings, test with a small livestream first
  3. Use UI when possible: The UI validates input and prevents syntax errors
  4. Document custom settings: Keep notes on why you changed certain settings
  5. Rate limiting: Set RATE_LIMIT_SECONDS to at least 30 for public streams to prevent spam

Example Configuration

Here's an example of a complete configuration:

{
    "YOUTUBE_VIDEO_ID": "C4qJeIjNd2U",
    "RATE_LIMIT_SECONDS": 0,
    "TOAST_NOTIFICATIONS": "True",
    "PREFIX": "!",
    "QUEUE_COMMAND": "queue",
    "VOLUME": 100,
    "THEME": "dark_theme",
    "ALLOW_URLS": "False",
    "REQUIRE_MEMBERSHIP": "False",
    "REQUIRE_SUPERCHAT": "False",
    "MINIMUM_SUPERCHAT": 3,
    "ENFORCE_ID_WHITELIST": "False",
    "ENFORCE_USER_WHITELIST": "False",
    "AUTOREMOVE_SONGS": "True",
    "AUTOBAN_USERS": "False",
    "SONG_FINISH_NOTIFICATIONS": "False"
}