Added
New Configuration Options:
Complete Configuration Options:
thread_creation_send_dm_embed: True # Send embed to user when creating a thread DMthread_creation_menu_enabled: True # Boolean to enable or disable the thread-creation menuthread_creation_menu_close_on_timeout: False # Silently abort thread creation if user doesn't select an optionthread_creation_menu_anonymous_menu: False # Anonymize the initial menu prompt relayed to staffthread_creation_menu_selection_log: True # Log the chosen menu option in the newly created thread channelthread_creation_menu_precreate_channel: False # Create thread channel immediately upon first DM even if menu is enabledthread_creation_menu_embed_large_image: False # Promote thumbnail to large hero image if no separate image URL is setthread_min_characters: 0 # Minimum characters required to create a threadthread_min_characters_title: "Message too short" # Title displayed when message is too shortthread_min_characters_response: "Your message is too short to create a thread. Please provide more details." # Response text when message is too shortthread_min_characters_footer: "Minimum {min_characters} characters required." # Footer showing required minimum characterssnooze_default_duration: 604800 # Default snooze duration in seconds (7 days)snooze_title: "Thread Snoozed" # Title for the snooze notification embedsnooze_text: "This thread has been snoozed. The channel will be restored when the user replies or a moderator unsnoozes it." # Text displayed when a thread is snoozedunsnooze_text: "This thread has been unsnoozed and restored." # Text displayed when a thread is unsnoozedunsnooze_notify_channel: "thread" # Channel to notify upon unsnooze ('thread' = same thread channel or channel ID)snooze_behavior: "delete" # 'delete' to delete channel, 'move' to move channel to snoozed_category_idsnoozed_category_id: None # Category ID to move snoozed channels into when snooze_behavior == 'move'snooze_store_attachments: False # When True, store image attachments as base64 in snooze_datasnooze_attachment_max_bytes: 4_194_304 # Maximum size per attachment to store as base64 (4 MiB)unsnooze_history_limit: None # Limit number of messages replayed when unsnoozing (None = all messages)thread_creation_menu_timeout: 30 # Timeout duration for user interaction with the menu (seconds)thread_creation_menu_embed_text: "Please select an option." # Text shown in the embed above the selection dropdownthread_creation_menu_dropdown_placeholder: "Select an option to contact the staff team." # Placeholder text in the dropdown before selectionthread_creation_menu_embed_title: None # Optional title for the thread-creation menu embedthread_creation_menu_embed_footer: None # Optional footer text for the menu embedthread_creation_menu_embed_thumbnail_url: None # Optional thumbnail image URLthread_creation_menu_embed_image_url: None # Optional large hero image URL for the menu embedthread_creation_menu_embed_footer_icon_url: None # Optional URL for the footer iconthread_creation_menu_embed_color: str(discord.Color.green()) # Color for the menu embed's side strip
Thread-Creation Menu Feature:
- Full thread-creation menu system with interactive select menus:
?threadmenu toggle: Enable/disable the menu globally.?threadmenu show: List current top-level options.?threadmenu option add: Interactive wizard to create an option.?threadmenu option edit/remove/show: Manage or inspect existing options.?threadmenu submenu create/delete/list/show: Manage submenus (nested menu levels).?threadmenu submenu option add/edit/remove: Manage options inside submenus.?threadmenu dump_config: Export current configuration to a file.?threadmenu load_config: Import configuration from a file.?threadmenu reset: Reset all thread-creation menu settings to defaults.
- Per-option category targeting: Each menu option can specify a target category where threads are created.
- Submenu support: Create up to 25 main-level options, each with up to 24 nested options.
- Optional selection logging: Log which menu option was chosen in the newly created thread channel.
- Anonymous menu support: Hide original prompt author context from staff when menu is anonymized.
- Category fallback: If an option's category is invalid/missing, creation falls back to
main_category_id.
Snooze Enhancements:
- Attachment persistence for delete-behavior snoozing: Image attachments can now be stored as base64 data.
- Enhanced unsnooze functionality with configurable message replay limits.
- Auto-unsnooze task continuously monitors and automatically unsnoozes threads when duration expires.
Changed
- Renamed
max_snooze_timetosnooze_default_duration(accepts seconds or human-readable time like "7 days"). - When
snooze_behavioris set tomove, the snoozed category now has a hard limit of 49 channels. New snoozes are blocked once it’s full until space is freed. - When switching
snooze_behaviortomovevia?config set, the bot reminds admins to setsnoozed_category_idif it’s missing. - Thread-creation menu options and submenu options now support per-option
categorytargeting. - Category selection in menu option wizards allows specifying ID, name, or mention format.
- Snoozed thread restoration now respects
unsnooze_history_limit(if set) to replay only the last N messages. - Enhanced auto-unsnooze task monitors and automatically unsnoozes threads when their snooze duration expires.
- Snoozed threads can now be moved to a dedicated category instead of being deleted (via
snooze_behavior: move).
Fixed
- Corrected behavior when snooze channel count reaches the 49-channel limit in move-based snoozing.
- Improved category resolution in threadmenu wizards (handles ID, name, and mention formats reliably).
- Enhanced thread state restoration after unsnoozing to properly re-add all recipients.