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 prefixlyte- 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 requests60- 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 themelight_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
- Launch LYTE
- Open the Settings window
- Modify settings as needed
- Click "Save and Start" or "Save" to apply changes
Method 2: Manual Edit
- Close LYTE (if running)
- Open the configuration file in a text editor:
- Exe installation:
%LOCALAPPDATA%\LYTE\config.json - Portable installation:
Src/config.json
- Exe installation:
- Modify the values (ensure JSON syntax is correct)
- Save the file
- Restart LYTE
Warning: Incorrect JSON syntax will prevent LYTE from starting. Always validate your JSON before saving.
Configuration Best Practices
- Backup your config: Before making major changes, copy
config.jsonto a safe location - Test changes: After modifying settings, test with a small livestream first
- Use UI when possible: The UI validates input and prevents syntax errors
- Document custom settings: Keep notes on why you changed certain settings
- Rate limiting: Set
RATE_LIMIT_SECONDSto at least30for 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"
}