Skip to content

v4.2.1 Release

Latest

Choose a tag to compare

@Taaku18 Taaku18 released this 30 Nov 11:00
665e67e

Added

New Configuration Options:
Complete Configuration Options:

  • thread_creation_send_dm_embed: True # Send embed to user when creating a thread DM
  • thread_creation_menu_enabled: True # Boolean to enable or disable the thread-creation menu
  • thread_creation_menu_close_on_timeout: False # Silently abort thread creation if user doesn't select an option
  • thread_creation_menu_anonymous_menu: False # Anonymize the initial menu prompt relayed to staff
  • thread_creation_menu_selection_log: True # Log the chosen menu option in the newly created thread channel
  • thread_creation_menu_precreate_channel: False # Create thread channel immediately upon first DM even if menu is enabled
  • thread_creation_menu_embed_large_image: False # Promote thumbnail to large hero image if no separate image URL is set
  • thread_min_characters: 0 # Minimum characters required to create a thread
  • thread_min_characters_title: "Message too short" # Title displayed when message is too short
  • thread_min_characters_response: "Your message is too short to create a thread. Please provide more details." # Response text when message is too short
  • thread_min_characters_footer: "Minimum {min_characters} characters required." # Footer showing required minimum characters
  • snooze_default_duration: 604800 # Default snooze duration in seconds (7 days)
  • snooze_title: "Thread Snoozed" # Title for the snooze notification embed
  • snooze_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 snoozed
  • unsnooze_text: "This thread has been unsnoozed and restored." # Text displayed when a thread is unsnoozed
  • unsnooze_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_id
  • snoozed_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_data
  • snooze_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 dropdown
  • thread_creation_menu_dropdown_placeholder: "Select an option to contact the staff team." # Placeholder text in the dropdown before selection
  • thread_creation_menu_embed_title: None # Optional title for the thread-creation menu embed
  • thread_creation_menu_embed_footer: None # Optional footer text for the menu embed
  • thread_creation_menu_embed_thumbnail_url: None # Optional thumbnail image URL
  • thread_creation_menu_embed_image_url: None # Optional large hero image URL for the menu embed
  • thread_creation_menu_embed_footer_icon_url: None # Optional URL for the footer icon
  • thread_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_time to snooze_default_duration (accepts seconds or human-readable time like "7 days").
  • When snooze_behavior is set to move, 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_behavior to move via ?config set, the bot reminds admins to set snoozed_category_id if it’s missing.
  • Thread-creation menu options and submenu options now support per-option category targeting.
  • 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.