Complete reference for all config.toml options.
[bot]
Option Type Required Default Description
tokenstring Yes - Discord bot token from Developer Portal
statusstring Yes - Bot’s activity status message
welcome_messagestring Yes - Message sent to users when opening a ticket
close_messagestring Yes - Message sent to users when ticket is closed
Option Type Required Default Description
typing_proxy_from_userbool Yes - Show typing indicator in ticket when user types
typing_proxy_from_staffbool Yes - Show typing indicator in DM when staff types
Option Type Required Default Description
enable_logsbool Yes - Enable logging to a channel
enable_featuresbool Yes - Enable feature request tracking
enable_panelbool Yes - Enable web administration panel
Option Type Required Default Description
logs_channel_idu64 Conditional - Channel for bot logs. Required if enable_logs = true
features_channel_idu64 Conditional - Channel for feature requests. Required if enable_features = true
Required when enable_panel = true.
Option Type Required Default Description
client_idu64 Conditional - Discord application client ID
client_secretstring Conditional - Discord application client secret
redirect_urlstring Conditional - OAuth2 callback URL (must match Discord config)
Option Type Required Default Description
ipstring No Auto-detected Network interface to bind the server
Note: The server attempts to bind to the configured IP address. If the IP is invalid or unavailable, it falls back to 0.0.0.0:3002 (all interfaces). Set this manually when:
Running in Docker with host networking
Auto-detection returns wrong interface
You need to bind to a specific network interface
Option Type Required Default Description
panel_super_admin_users[u64] No []User IDs with full panel access
panel_super_admin_roles[u64] No []Role IDs with full panel access
Option Type Required Default Description
timezonestring No UTCTimezone for timestamps (IANA format)
Examples: Europe/Paris, America/New_York, Asia/Tokyo
[bot.mode]
[bot.mode]
type = "single"
guild_id = 123456789012345678
Option Type Required Description
typestring Yes Must be "single"
guild_idu64 Yes Your Discord server ID
[bot.mode]
type = "dual"
community_guild_id = 123456789012345678
staff_guild_id = 987654321098765432
Option Type Required Description
typestring Yes Must be "dual"
community_guild_idu64 Yes Server where users are
staff_guild_idu64 Yes Server where tickets are created
[command]
Option Type Required Default Description
prefixstring Yes "!"Prefix for text commands
[thread]
Option Type Required Default Description
inbox_category_idu64 Yes - Category where ticket channels are created
Option Type Required Default Description
embedded_messagebool Yes - Display messages as Discord embeds
user_message_colorstring Yes "5865f2"Hex color for user messages (without #)
staff_message_colorstring Yes "57f287"Hex color for staff messages (without #)
system_message_colorstring Yes "faa81a"Hex color for system messages (without #)
block_quotebool Yes - Use block quotes for message content
Option Type Required Default Description
time_to_close_threadu64 Yes 0Default minutes until auto-close (0 = disabled)
create_ticket_by_create_channelbool Yes - Allow ticket creation by making a channel
close_on_leavebool No falseAuto-close when user leaves server
auto_archive_durationu16 No 10080Thread auto-archive time in minutes
[language]
Option Type Required Default Description
default_languagestring Yes "en"Default language code
fallback_languagestring Yes "en"Fallback when translation missing
supported_languages[string] Yes ["en", "fr"]Available languages
Code Language
enEnglish
frFrench
esSpanish
deGerman
itItalian
ptPortuguese
ruRussian
zhChinese
jaJapanese
koKorean
[notifications]
Control feedback messages shown to staff.
Option Type Required Default Description
show_success_on_editbool Yes trueConfirm successful edits
show_partial_success_on_editbool Yes trueNotify on partial edit success
show_failure_on_editbool Yes trueNotify on edit failure
show_success_on_replybool Yes trueConfirm sent replies
show_success_on_deletebool Yes trueConfirm deletions
show_successbool No trueGeneral success notifications
show_errorbool No trueGeneral error notifications
[logs]
Control what actions are logged.
Option Type Required Default Description
show_log_on_editbool Yes trueLog message edits
show_log_on_deletebool Yes trueLog message deletions
[reminders]
Option Type Required Default Description
embed_colorstring Yes "ffcc00"Hex color for reminder embeds (without #)
[error_handling]
Option Type Required Default Description
show_detailed_errorsbool Yes trueShow technical details in errors
log_errorsbool Yes trueLog errors to console
send_error_embedsbool Yes trueSend errors as embeds
auto_delete_error_messagesbool Yes falseAuto-delete error messages
error_message_ttlu64 No - Seconds before error deletion
display_errorsbool No trueShow errors to users
[bot]
token = "YOUR_BOT_TOKEN"
status = "DM for support"
welcome_message = "Your message has been received. Staff will respond shortly."
close_message = "This ticket has been closed. Thank you for contacting us."
typing_proxy_from_user = true
typing_proxy_from_staff = true
enable_logs = true
enable_features = false
enable_panel = true
client_id = 123456789012345678
client_secret = "your_client_secret_here"
redirect_url = "https://panel.example.com/api/auth/callback"
timezone = "Europe/Paris"
logs_channel_id = 123456789012345678
panel_super_admin_users = [123456789012345678]
panel_super_admin_roles = []
[bot.mode]
type = "dual"
community_guild_id = 123456789012345678
staff_guild_id = 987654321098765432
[command]
prefix = "!"
[thread]
inbox_category_id = 123456789012345678
embedded_message = true
user_message_color = "5865f2"
staff_message_color = "57f287"
system_message_color = "faa81a"
block_quote = true
time_to_close_thread = 0
create_ticket_by_create_channel = false
close_on_leave = false
auto_archive_duration = 10080
[language]
default_language = "en"
fallback_language = "en"
supported_languages = ["en", "fr", "es", "de"]
[notifications]
show_success_on_edit = false
show_partial_success_on_edit = true
show_failure_on_edit = true
show_success_on_reply = false
show_success_on_delete = false
show_success = true
show_error = true
[logs]
show_log_on_edit = true
show_log_on_delete = true
[reminders]
embed_color = "ffb800"
[error_handling]
show_detailed_errors = false
log_errors = true
send_error_embeds = true
auto_delete_error_messages = true
error_message_ttl = 30
display_errors = true
Rustmail does not currently support environment variable substitution in config.toml. For sensitive values in containerized environments, consider mounting the config file as a secret.