Documentation

Octera works with slash commands (/command) and text commands using your server prefix (default .). Almost everything is also configurable from the web dashboard.

Tip: type .help <command> (e.g. .help ban, .help eco) for what a command does plus real examples — or .help <category> for a whole section. <command> help still works too.

Prefix & help

/help [query]
Command menu by category — or pass a command for its usage + examples, or a category to list it.
Example: .help timeout
/prefix [set]
Show or change the text-command prefix (Manage Server).
Example: /prefix set: ?
/enable & /disable <targets>
Turn modules and/or commands on or off — multiple at once.
Example: /disable economy music warn

Moderation

/warn @user [reason]
Warn a member; adds escalation points and logs a case.
/timeout @user <duration> [reason]
Temporarily mute a member.
Example: /timeout @user 10m spamming
/kick · /ban · /unban
Standard moderation, all case-logged.
/case [id|@user]
View a specific case or a member's full history.
/modlog
Set the mod-log channel.
/unbanall
Mass-unban everyone except a protected blacklist.
/purge <all | number | time span> [@user]
Bulk-delete messages. all wipes the channel (and locks it while it clears if it's large), a number deletes that many recent messages, or a time span (e.g. 7d, 2mo) deletes that window. Add a user to only delete their messages. Note: Discord won't let bots bulk-delete messages older than 14 days.
Example: .purge 50 · .purge 2mo · .purge all

Security

/security
Anti-nuke, quarantine role and protection info.
/quarantine @user · /release @user
Strip a member's roles and isolate them, or restore them.
/security panic on|off
Emergency lockdown — lock channels and/or quarantine new joins.

Heat tracking, raid & join-gate filters, verification and captcha are configured on the dashboard.

Leveling

/rank [@user]
Show level & XP with a rank card.
/leaderboard
Top members by XP.
/xp · /level
Admin: add/remove/set a member's XP or level.
/leveling
Set the level-up channel and import levels from other bots.

Economy

/balance · /bank
Wallet, bank, and interest.
/deposit · /withdraw · /pay
Move or send coins.
/work · /crime · /rob · /daily
Earn coins. Luck (from items) improves /crime & /rob odds.
/coinflip · /slots · /blackjack · /roulette · /highlow
Gamble your coins.
/shop · /buy · /sell · /use · /open
Browse the shop (buy buttons), buy/sell items, use consumables, open lootboxes.
Example: .buy lucky coin 3
/inventory · /collect · /multipliers · /rich
Items, income roles, active boosts, and the rich leaderboard.
/eco
Admin: give/take coins, set boosts, run interest.

Roles & members

/role <add|remove> <roles> (user or everyone) [duration]
Add or remove one or more roles for a member or everyone. A duration makes it a timed role — auto-removed when it expires.
Example: /role add roles:@VIP @Booster user:@someone duration:7d
/serverinfo
Server stats — owner, created, members, roles, channels, boosts.
/info [@user]
A member's account age, join date, roles and color.
/av [@user]
Show a user's avatar full-size.
/roles
List every role with its ID.
/dump [role]
Export the members of a role (or the whole server) to a file.
/oldest · /youngest
The member with the oldest / newest Discord account.
/clonecategory · /stylechannels · /cleanroles · /counters
Clone a category with permissions, add emoji prefixes to channels, strip role-name decoration, set up live stat channels.

Automation

/tag
Custom prefix commands written in TagScript — see the guide below.
/reactionrole sync|list|convert
Post/refresh your role menus, or convert them all between buttons / dropdown / reaction-emoji.
/embed post|list
Post a saved embed built on the dashboard.
/embedsource <message>
Grab a posted message's embeds + content as JSON (to reuse or edit).
/editembed <message> <json>
Edit one of the bot's embeds from raw JSON.
/stealemoji <emoji> [name]
Add a custom emoji from another server to this one.

Tickets

Create ticket panels on the dashboard (Tickets module). Members open a ticket from the panel button; staff claim and close it. On close, a transcript is saved and posted, with a View Online Transcript link to read it in the browser.

/close [reason]
Close the current ticket and save its transcript.

Utility

/ping
Bot latency.

Notifications

Get alerts when a creator posts. On the dashboard (Socials) add feeds for YouTube, TikTok and Kick — Octera posts new uploads and go-lives to the channel you choose, with a custom message.

Music

Play music in a voice channel with a clean queue — no extra bot to invite. (Premium.)

/play <song or link>
Play a track, or add it to the queue.
/queue · /skip · /pause · /resume · /stop
Control playback.

Backups

Snapshot your server's structure — roles, channels, permissions and settings — from the dashboard. A restore re-creates anything missing without deleting what's already there. Backups never include messages or chat history.

Guide: building tag commands

Tags are custom prefix commands you write yourself, powered by TagScript — a tiny templating language with variables, logic, math, randomness, and control blocks (delete the trigger, DM the reply, react, gate by role, attach an embed, and more).

Create a tag

Use /tag (or the dashboard → Utilities → Tags). Give it a name and content. Members run it with your prefix, e.g. .rules.

/tag name: hello content: Hey {user(mention)}, welcome to {server(name)}! 👋

Running .helloHey @You, welcome to Octera! 👋

Variables

Wrap variables in { }. Use dot- or paren-syntax: {user.mention} = {user(mention)}.

VariableGives you
{user(mention)}The runner, pinged — also name, id, nick, tag, avatar, color, top_role, joinstamp, timestamp
{target(mention)}The first @mention in the message (else the runner) — same attributes as user
{server(name)}Server name — also id, member_count, icon, created_at, ordinal
{channel(mention)}Current channel — also name, id, topic, nsfw
{args}Everything typed after the command. {args(1)} = first word, {args(2)} = second…
{uses}How many times the tag has run
{unix}Current unix timestamp

Logic, math & randomness

BlockWhat it does
{if(a==b):yes|no}Conditional. Operators: == != > < >= <=
{any(a==b|c==d):yes|no}any/or and all/and across several conditions
{math:2*(3+4)}Arithmetic (+ - * / % ^)
{random:a~b~c}Pick one at random (separate with ~ or ,)
{range:1-100}Random whole number in a range
{=(name):value}Set a variable; read it later with {name}
{lower} {upper} {replace(a,b):text} {length:text}Text helpers

Control blocks (side-effects)

BlockEffect
{delete}Delete the message that triggered the tag
{dm}Send the reply to the runner's DMs instead
{react:✅,🎉}React to the reply · {reactu:✅} reacts to the trigger
{redirect:#channel}Send the reply to another channel
{require(@Role)} / {blacklist(@Role)}Only / never allow these roles or channels to use the tag
{embed(title):Hi}{embed(description):...}Build a rich embed (title, description, color, image, thumbnail, footer, field)
{silent}Run the tag's side-effects without sending text

Worked examples

Suggestion box — deletes the command, posts a clean embed in a channel:

{delete}{redirect:#suggestions}{embed(title):💡 Suggestion from {user(name)}}{embed(description):{args}}{embed(color):#a855f7}

Coin flip with reactions:

{user(mention)} flips… **{random:Heads~Tails}**! {react:🪙}

Staff-only announce — gated by role, DMs nobody, posts to a channel:

{require(@Staff):You can't use this.}{redirect:#announcements}📢 {args}

Personalized welcome using a mention target:

{=(msg):Welcome {target(mention)} — you're member #{server(member_count)}!}{if({args}==):Mention someone to welcome them.|{msg}}
Anything you can do in a tag, you can also build visually with Message Templates and Autoresponders on the dashboard.