Skip to content

Bots

A bot on Floodilka is a special kind of user account that belongs to an application. Bots authenticate with a bot token, can be added to guilds via OAuth2, and behave like regular users for most API operations — with a few intentional restrictions.

CapabilityUserBot
Log in with email/passwordYesNo — bot token only
Receive/send friend requestsYesNo
Join guilds by inviteYesNo — must be added via OAuth2 bot scope
Own guildsYesNo — ownership cannot be transferred to a bot
Use the official client UIYesNo
REST API accessYesYes
Gateway (WebSocket) accessYesYes

Every bot is backed by an application. Creating an application automatically provisions a dedicated bot user and issues a bot token.

  1. Open User Settings → Applications & Bots.

  2. Click New Application, name it, and confirm. Floodilka creates both the application and its paired bot user.

  3. Open the application, go to the Bot tab, click Reset Token, and copy the token that appears. You will not see it again.

  4. Configure the bot’s username, avatar, and bio on the same tab. These are what users see when your bot posts messages.

A bot token has the shape:

<application_id>.<secret>

Both halves are required. Use it as Authorization: Bot <token> on every request.

If a token leaks, rotate it immediately from Bot → Reset Token. The old token stops working the moment the new one is issued. Update every running process with the new value.

Bots cannot accept regular invites. Instead, a user with Manage Server permission authorizes the bot via OAuth2, and Floodilka adds the bot to the selected guild.

https://floodilka.com/oauth2/authorize
?client_id=APPLICATION_ID
&scope=bot
&permissions=PERMISSIONS_BITFIELD
&guild_id=OPTIONAL_GUILD_ID
&disable_guild_select=true
ParameterRequiredDescription
client_idYesThe Application ID, not the token.
scopeYesMust include bot. Add more scopes (space-separated) if your bot also needs Bearer access.
permissionsNoDecimal permission bitfield. If omitted, the bot joins with no extra permissions.
guild_idNoPre-selects a specific guild in the authorization screen.
disable_guild_selectNotrue to force the pre-selected guild_id and hide the picker.

Build the bitfield by OR-ing the permission values you need. For example, a moderation bot might want:

const permissions =
(1 << 13) | // MANAGE_MESSAGES
(1 << 1) | // KICK_MEMBERS
(1 << 2); // BAN_MEMBERS
// → 8198

See Permissions for the full table.

Once the bot is in a guild, use the token on any endpoint:

Окно терминала
curl https://floodilka.com/api/v1/channels/CHANNEL_ID/messages \
-X POST \
-H "Authorization: Bot YOUR_BOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"content": "Hello from my bot!"}'

For anything reactive (respond to messages, track member joins, handle voice state), connect to the Gateway. Identify with your bot token — events arrive automatically, and you can mute categories you don’t need via the ignored_events field in IDENTIFY.

On the application’s General tab you can toggle:

  • Public Bot — anyone can use the OAuth2 invite URL to add the bot. Leave off if the bot is for one specific server.
  • Require OAuth2 Code Grant — require the full authorization code flow before the bot joins. Useful for verification, most bots leave this off.
  • One bot user per application.
  • Bot usernames must match [A-Za-z0-9_]{2,32}.
  • Bots cannot be marked as the owner of a guild.
  • Bulk-DMing users who have no prior interaction with your bot will get your application flagged.