Firebird Developers

Generate a scoped bot token, then build.

Firebird bots are server-owned automation accounts. A signed-in user can create bot tokens only for servers where they currently have manage_server, and requested bot permissions cannot exceed that user's live permissions.

Bot Token Generator

Start with the defaults, then tune scopes when the bot needs more reach.
Checking session...

Use your normal Firebird account. Tokens are created through the same session and CSRF protection as the app.

Install The SDK
pip install https://firebird.gg/developers/downloads/firebird-bot-python.zip
curl -O https://firebird.gg/developers/examples/firebird_echo_bot.py
set FIREBIRD_BASE_URL=https://firebird.gg
set FIREBIRD_BOT_TOKEN=fb_bot_...
python firebird_echo_bot.py

Where The Pieces Come From

Python SDK

Download it from this portal or install it directly with pip install https://firebird.gg/developers/downloads/firebird-bot-python.zip. The archive includes pyproject.toml, firebird_bot, compatibility shim bot.py, and tutorial examples.

Bot Tokens

Generate them in the Bot Token Generator above after signing in. The page calls GET /api/developers/bot-servers to list only servers you can manage, then POST /api/bots or POST /api/bots/<bot_id>/tokens.

Auth Gate

Browser token-management routes require a Firebird session plus X-CSRF-Token. Bot runtime routes use Authorization: Bearer fb_bot_... and do not rely on browser cookies.

Server Gate

Each token is bound to one server. Requests for another server are rejected, and every action still checks the bot user's live server/channel permissions.

Bot Intents

Request only the event streams your bot needs. The default set is guilds, messages, message_content, and slash_commands.

IntentEvents
messagesmessage_create, message_reply, message_delete
message_contentIncludes message text in message events. Without it, content is redacted.
slash_commandsslash_command, command registry changes targeted to your bot.
reactionsreaction_add, reaction_remove
membersmember_join, member_leave, member_update
role_updatesrole_update for role edits, assignments, and removals.
voice_statesvoice_join, voice_leave, voice_move, voice_disconnect, voice_moderation_update
video_statesvideo_stream_start, video_stream_update, video_stream_stop
moderationmoderation_action; requires view_audit_log.

API Surface

Token Management

GET /api/developers/bot-servers

Session-only discovery for servers where the signed-in user has manage_server.

POST /api/bots

Create a bot user, grant initial live permissions, and issue the one-time raw token.

GET /api/bots

List bots for a server you can manage, including active token counts.

POST /api/bots/<bot_id>/tokens

Create another revocable deployment token for an existing server bot.

DELETE /api/bots/tokens/<token_id>

Revoke a token immediately. Existing processes fail on the next bearer request.

Bot Runtime

POST /api/bot/login

Validate a bearer token and inspect bot identity, permission caps, and intent caps.

GET /api/bot/events

Poll the event ledger with after_id, limit, wait, and optional types.

GET /api/bot/commands

Compatibility polling for !command message flows.

POST /api/bot/messages

Send or reply in a text channel as the bot user.

POST /api/bot/slash-commands

Register bot-owned slash commands that produce targeted interaction events.

POST /api/bot/token

Issue route-scoped NewOrigin tokens for text, presence, and voice transports.

POST /api/bot/moderation/*

Kick, ban, timeout, delete messages, and update voice moderation through bearer-authenticated actions.

GET /servers/<server_id>/slash-commands

List enabled slash commands for server members and command pickers.

Examples

Smallest useful bot: !ping, !echo, and /echo.

Message filtering, timeouts, reaction logging, and audit-aware moderation.

Dice rolls and initiative tracking for tabletop play inside chat.