Add config.ini

This commit is contained in:
2025-12-13 18:37:28 +00:00
parent bb5c2d0853
commit 72904c1877

114
config.ini Normal file
View File

@@ -0,0 +1,114 @@
; ============================================================
; XMPP Radio Bot Configuration
; ============================================================
[XMPP]
; The Jabber ID (JID) the bot will use to login.
jid = radiobot@example.com
; The password for the bot's account.
password = i_love_doors_123
; The XMPP resource. This identifies this specific connection.
; You can usually leave this as default.
resource = RadioBot
[Radio]
; Local directory where music files are stored.
; The bot will scan this recursively for audio files.
music_directory = ./music
; Playback mode. Options: 'random' or 'sequential'.
; 'random' shuffles tracks, 'sequential' plays alphabetically/by folder.
playback_mode = random
; Comma-separated list of audio formats to scan for.
audio_formats = flac,opus,ogg,wav,mp3,m4a
; Default internal volume (0-100).
default_volume = 80
[Stream]
; Enable the built-in HTTP streaming server (Icecast-like).
; If true, users can listen via browser/VLC at http://host:port/mount
http_enabled = false
; The IP to bind the stream server to. 0.0.0.0 listens on all interfaces.
stream_host = 0.0.0.0
; Port for the HTTP stream.
stream_port = 8000
; Output format for the HTTP stream.
; Options: mp3, ogg, aac, opus
stream_format = mp3
; Bitrate in kbps for the HTTP stream (e.g., 128, 192, 320).
bitrate = 128
; The URL path for the stream (e.g., /radio makes http://IP:8000/radio).
mount_point = /radio
[Jingle]
; Enable Jingle/WebRTC for making/receiving VoIP calls directly via XMPP.
; Requires 'aiortc' library.
enabled = true
; STUN/TURN server is required for negotiating connections through NAT/Firewalls.
; You can use Google's public STUN or your own COTURN server.
stun_server = stun:stun.l.google.com:19302
[MUC]
; Multi-User Chat (Group) settings.
; Leave empty to disable joining rooms.
; The JID of the public radio room (where the bot announces songs).
radio_room = radio@conference.example.com
radio_room_nick = DJ_Bot
; The JID of the management room (for admins).
management_room = staff@conference.example.com
management_room_nick = BotControl
[Access]
; Permission control mode.
; 'admins': Only JIDs in admin_jids can use control commands.
; 'everyone': Anyone can control playback (stop, next, play).
control_mode = admins
; Comma-separated list of JIDs that have basic access (if not in 'everyone' mode).
allowed_jids = user1@example.com, user2@example.com
; Comma-separated list of Super Admins (can use !scan, !dl, !stop).
admin_jids = admin@example.com, owner@example.com
[YtDlp]
; Enable YouTube/SoundCloud downloading and searching features.
; Requires 'yt-dlp' and 'ffmpeg' installed on the system.
enabled = true
; Preferred audio format download setting (passed to yt-dlp).
format = bestaudio
; Maximum number of results to show for !search.
max_search_results = 5
; Maximum filesize to download in MB. Prevents downloading 10-hour mixes.
max_filesize = 100
; Subdirectory inside 'music_directory' where downloads are saved.
download_subdir = downloads
[Stations]
; Internet Radio Stations for the !station command.
; Format: Name = URL
example_radio = https://radio.example.org/stream.mp3
[OMEMO]
; Enable End-to-End Encryption (OMEMO).
; WARNING: Requires python-omemo and associated cryptographic libraries.
; If you have trouble installing those, set this to false.
enabled = true
; File path to store OMEMO keys and trust data.
store_path = radio_omemo_store.json