Three connected tools
| Section | Use it to |
|---|---|
| Live session | Send messages, run slash commands, trigger events, press components, react to messages, and inspect the resulting trace. |
| World setup | Configure reusable server names, channels, members, roles, role positions, and permissions. |
| Test suites | Save reference behaviors and run them against a selected workflow version and saved world. |
Run a live session
- Choose a world and acting memberSelect the server setup and the member whose permissions and identity should apply.
- Start the workflowSend a message, use an available event button, or open the slash-command picker with the / button.
- Complete command fieldsRequired and optional slash-command options use controls matching their type, including members, channels, roles, numbers, and choices.
- Use the resultPress rendered buttons and selects or click a reaction beneath the simulated message. Follow-up interactions continue the session.
- Inspect execution traceExpand the trace to see successful, skipped, and failed steps. Select a trace item to locate the corresponding workflow item.
Build a reusable test world
World setup defines the Discord context used by actions and permission checks. Add the channels, members, and roles your workflow expects, then configure the bot role and acting-member permissions. Role position matters for role assignment and moderation actions just as it does in Discord.
Save the world before using it in a regression suite. A live session can use unsaved changes, but suite runs require a saved world version so results remain reproducible.
Record a reference behavior
- Produce the conversation firstRun the command or event and continue through any buttons, reactions, or forms needed for the behavior.
- Enable Record behaviorMessages only become selectable after recording is active, preventing ordinary clicks from changing a reference case.
- Select every relevant input and responseA behavior may contain multiple inputs and multiple expected bot responses. Buttons and reactions are captured when used.
- Finish selectingReview the ordered input and response lists, choose an existing suite or name a new one, and give the behavior a specific name.
- Add it to the suiteThe saved case becomes a reference for later workflow versions.
Run regression suites
Open Test suites, select a reference suite, then choose both a saved bot version and a saved test world. Run one behavior while debugging or use Run all behaviors before a release.
Each behavior reports Passed or Failed and includes assertion details plus its execution trace. The regression summary shows how many behaviors passed and records the run time. A passing setup can be pinned to a release candidate.
Understand simulator boundaries
- The simulator mirrors supported BotFrame workflow behavior; it is not a live Discord server.
- Permission-sensitive cases are meaningful only when the world’s roles, positions, and permissions match the intended server.
- External network effects and unsupported Discord events may require a deployed test bot.
- A max virtual seconds warning means the workflow did not reach a terminal state within the simulator’s safety boundary. Inspect loops, waits, and execution trace rather than treating it as a successful run.
Use live Discord testing for final integration confidence, but keep repeatable behavior in suites so later versions can be checked automatically.