Skip to content

Configuration

JustEvil edited this page Aug 19, 2026 · 1 revision
  • Every knob Stelle exposes lives in a config file under /src/config/.
  • This page documents every field. For how config files are loaded, see Installation β†’ Configuration.

Note

local.config.ts (git-ignored) overrides default.config.ts. Build your config with the createConfig(...) helper so you get full typing.

πŸŽ›οΈ Top-level fields

Field Type Default Usage
defaultLocale LocaleString en-US Locale used when a guild hasn't set one.
defaultPrefix string stelle Fallback prefix for text commands.
prefixes string[] ["st!"] Extra global prefixes.
defaultSearchSource SearchSources Spotify Default search engine for play.
defaultVolume number 60 Volume new players start at.
lyricsLines number 10 Lines shown in the live lyrics view.
disconnectTime number (ms) ms("30s") Grace period before leaving an empty channel.
inviteLink string β€” Your bot's invite URL.
githubLink string β€” Repository link shown in some embeds.
developerIds string[] [] User ids allowed to run developer commands.
guildIds string[] [] Guilds that developer/guild-only commands are pushed to.
presenceInterval number (ms) ms("25s") How often the bot rotates its presence.
nodes NodeOptions[] β€” Lavalink node list (wrap them in Sessions.resolve(...)).

🎨 color

Field Type Default Usage
success number (hex) 0x8d86a8 Primary/embed color.
extra number (hex) 0xece8f1 Secondary/accent color.

πŸ“’ channels

Field Type Usage
guildsId string Channel id where guild join/leave logs go.
errorsId string Channel id for error logs.

πŸ” permissions

Field Type Default Usage
voicePermissions PermissionStrings ViewChannel, Connect, Speak Permissions required in a voice channel.
stagePermissions PermissionStrings MuteMembers Permissions required in a stage channel.

♻️ sessions

Node session resuming: lets players survive a bot/node restart.

Field Type Default Usage
enabled boolean true Enable node session resuming.
resumeTime number (s) 60 How long the node keeps the session alive after a disconnect.
resumePlayers boolean true Restore players on reconnect.

πŸ—„οΈ cache

Field Type Default Usage
size number 5 Max messages kept in the in-memory cache.
expire number (ms) ms("5mins") Message cache TTL.

πŸ–ΌοΈ images

On-disk cache for the rendered "now playing" banners.

Field Type Default Usage
enabled boolean true Cache rendered banners on disk.
ttl number (ms) ms("24h") How long a cached banner stays valid (refreshed on hit).
maxEntries number 100 Max cached banners (LRU eviction).

🧹 deleter

Auto-delete the now-playing message on certain events.

Field Type Default Usage
onTrackEnd boolean false Delete when a track ends.
onTrackSkip boolean false Delete when a track is skipped.
onPlayerStop boolean false Delete when the player stops.

πŸ•’ twentyfourseven

24/7 mode defaults (see Features β†’ 24/7).

Field Type Default Usage
is247 boolean false Global default for 24/7 (per-guild toggled with /247).
autoPause boolean true Pause playback when the channel is empty instead of leaving.
autoReconnect boolean true Rejoin automatically if the bot is forced out of voice while 24/7 is on.

πŸ“‚ playlists

Field Type Default Usage
userLimit number 25 Max playlists per user.
trackLimit number 100 Max tracks per playlist.

🎧 quiz

Music-guessing game (see Features β†’ Music Quiz).

Field Type Default Usage
sources string[] β€” Candidate pools: playlist/track URLs or plain search queries. One is picked at random per game, then resolved, de-duplicated and shuffled.
rounds number 10 Tracks (rounds) per game.
snippet number (ms) ms("30s") How long each snippet plays before the round advances.

Clone this wiki locally