Thread Menu

Instructions on using the threadmenu function of the bot.

This page will provide information on using the ?threadmenu core bot functionality. If you are still using the advanced-menu plugin from Sebkuip, please migrate away from the plugin before attempting to use these features.

Migration Instructions are at the bottom of this page.

The Thread Menu ?threadmenu function allows recipients to choose an option to better clarify what kind of help they are recieving. It supports submenus, command, and text-based replys allowing a complex and efficient thread routing system.

Config Options

Config Variable Name
Type
Default
Details

thread_creation_menu_anonymous_menu

Boolean (yes/no)

No

If enabled, the initial menu prompt relayed to staff (after creation) is anonymized; only selection details are logged, not the original prompt message author context.

thread_creation_menu_close_on_timeout

Boolean (yes/no)

No

Silently aborts thread creation if the user does not select an option before the timeout expires.

thread_creation_menu_dropdown_placeholder

Text

"Select an option to contact the staff team."

Placeholder text displayed in the dropdown before selection.

thread_creation_menu_embed_color

Hex Code (or Discord Color)

Green

Color for the menu embed's side strip. Accepts hex (e.g. #5865F2) or one of the supported color names (e.g. "blurple").

thread_creation_menu_embed_footer

Text

Empty (no footer)

Optional footer text at the bottom of the menu embed.

thread_creation_menu_embed_footer_icon_url

URL

Empty (no icon)

Optional URL for the small footer icon displayed next to the footer text.

thread_creation_menu_embed_image_url

URL

Empty (no image)

Optional large hero image displayed in the body of the menu embed. If set, this image is shown prominently and takes precedence over the thumbnail.

thread_creation_menu_embed_large_image

Boolean (yes/no)

No

Promotes the thumbnail to a large hero image when no thread_creation_menu_embed_image_url is set. Useful if you want a big image without specifying a separate URL.

thread_creation_menu_embed_text

Text

"Please select an option."

Text shown in the embed above the selection dropdown in the user's DM.

thread_creation_menu_embed_thumbnail_url

URL

Empty (no thumbnail)

Optional thumbnail image shown in the top-right of the menu embed.

thread_creation_menu_embed_title

Text

Empty (no title)

Optional title at the top of the thread-creation menu embed in the user's DM.

thread_creation_menu_precreate_channel

Boolean (yes/no)

No

When enabled, a thread channel is created immediately upon the user's first DM even if the thread creation menu is enabled. The menu is still shown but selection becomes optional and happens after channel creation.

thread_creation_menu_selection_log

Boolean (yes/no)

Yes

When disabled, the staff will not see an automatic message with the selection details though commands may still act.

thread_creation_menu_timeout

Time in Seconds

30

If the timeout is reached, thread_creation_menu_close_on_timeout controls whether the attempt is aborted or the user is asked to message again.

Commands

  • threadmenu

    • dump_config - Dump the current core thread menu config to a file.

    • load_config - Load the thread menu config from an attached file.

    • option - Manage main-menu options (add/remove/edit/show).

      • add - Interactive wizard to add a main-menu option.

      • edit - Interactive wizard to edit a main-menu option.

      • remove - Remove a main-menu option by label.

      • show - Show detailed information about a main-menu option.

    • reset - Reset ALL thread-creation menu settings to their defaults.

    • show - Show all current main-menu options.

    • submenu - Manage submenus (create/delete/list/show and options within).

      • create - Create an empty submenu that can hold nested options.

      • delete - Delete a submenu and all its options.

      • list - List all submenu keys currently configured.

      • option - Manage options within a specific submenu (add/remove/edit).

        • add - Interactive wizard to add an option inside a submenu.

        • edit - Interactive wizard to edit a submenu option.

        • remove - Remove an option from a submenu via an interactive prompt.

        • show - Show the options configured inside a submenu.

    • toggle - Enable or disable the thread-creation menu.

Example Flowchart and Command Order

This feature allows the creation of very complex menu systems. If you are intending to create a complex menu system, it is recommended to think through the required submenus and options and make your submenus first. Drawing these out in a flowchart like below is a good way to begin this process.

**In Progress by theonlystephen**

Advanced/Legacy Usage

Migrating from Legacy advanced-menu Plugin

Migration from the legacy plugin, to core function requires permission to modify the menu. In both, by default, this level is ADMINISTRATOR [4].

Step 1: Export Config from advanced-menu

Run the ?advancedmenu dump_config command to dump the menu config from advanced-menu. This will export your menu configuration to a config.json file.

Screenshot of output of dump_config subcommand on advanced-menu
The bot will provide you a correcly formatted config.json file. Do not modify this file

Step 2: Download config.json to your local computer

Press the download button and keep track of where the file was saved. You will need it in the next step.

Step 3: Import Config to Thread Menu

Run the ?threadmenu load_config command, while attaching the downloaded config.json to your message.

Attach the config.json file directly to your message.
Attach the config.json file directly to your message.
The bot will provide you a success confirmation message after successful import.
The import was successful if you see: Successfully loaded config into core.

You're done!

Good job! You have successfully migrated your advanced-menu config to the Thread Menu feature introduced in Modmail 4.2.0.

Last updated

Was this helpful?