Actions

Actions are the do that half of a rule. A rule holds between 1 and 20 of them, run in order.

This page is the tour. For the exact settings, permissions and returned values of any single action, see every action in detail, which is generated from the bot itself.

The families

Messaging, send a message, reply privately (only the person who clicked sees it), send a DM, edit or delete a message, pin, add reactions, open a thread, show the typing indicator.

Roles, add, remove, toggle. And swap roles, which replaces a whole set in one atomic update: that is what makes a "pick one colour" menu impossible to break by clicking twice quickly.

Channels, create (with full permission overwrites), edit, delete, lock, unlock, purge messages.

Moderation, warn, timeout, kick, ban, soft-ban, unban, untimeout. These create real FlaviBot infractions, visible in your case history exactly like a manual moderation action, marked as coming from an autoresponder.

Data, set, read, increment, delete a stored value, and push/remove list items. See variables.

Flow, wait, wait-and-cancel, cancel, emit an event.

Levels, economy, music, give XP, set a level, add coins, give an item, play a track, control playback, text-to-speech.

Utility, read a value into a variable, pick a random one, call an HTTP endpoint.

Steps hand values to each other

Every action returns something. A later step reads it with {steps.<step number>.<field>}:

1. Create channel        → {steps.1.channel_id}, {steps.1.channel_name}, …
2. Send message in {steps.1.channel_id}

Creating a role or a channel gives you every property back (id, name, colour, position, permissions), not just the id.

Posting in a thread

Send message posts into a thread like into any channel:

  • A thread that already exists: choose Specific channel. Active threads are listed under their channel; an archived one is not.
  • A thread the same rule creates: add Create thread first, then in Send message choose From an earlier step and use {steps.<step number>.thread_id}.
  • A rule triggered by a message inside a thread: Same channel as the trigger already is that thread.

The bot needs Send Messages in Threads there. A forum or media channel takes no plain message: sending to one opens a new post, which needs a post title.

Permissions are checked before the call

Before an action runs, FlaviBot verifies the bot actually has the permission it needs, in the right channel. Missing permission means a clean, explicit error on the rule's page instead of a silent failure.

That check fails closed: if the permission state cannot be read at all, the action does not run.

When a step fails

Each step chooses what happens on failure:

  • abort (default), stop the workflow here
  • continue: carry on with the next step

A step skipped by a condition is not a failure, and does not mark the run as failed.

Created on · Last updated on