Bots
Disband bots are self-hosted integrations. You run the code, Disband relays messages to and from it. Disband never hosts or executes your bot's code.
How it works
- Create a bot in Settings → Bots and pick the scopes it needs. You get a token back — it is shown once.
- In Settings → Bots, generate an invite link for the server you want the bot to join, and send it to that server's owner.
- The owner opens the link and approves. The bot becomes a member of the server.
- You run one of the client libraries somewhere (a server, a cloud function, your laptop) and it connects to Disband with the token.
Scopes
A bot's reach in a server is the intersection of the scopes you requested when creating it and the scopes the owner approved for that specific server:
| Scope | Description |
|---|---|
messages.read |
Receive message events on the gateway and read messages/channels. |
messages.write |
Send and reply to messages in channels the bot can see. |
members.read |
List the members of servers the bot has joined. |
channels.manage |
Create, rename, and delete channels — also needs the manage_channels role in the server. |
Token authentication
Every API call is authenticated with the bot token:
Authorization: Bot <token>
Bot tokens are hashed at rest — the raw token is never stored or retrievable. If it leaks (or you no longer need the bot), revoke it in Settings → Bots; revocation kills the token immediately.
Limits & safety
- Up to 5 bots per account. A bot can be revoked at any time, which kills its token.
- Messages up to 4,000 characters. Bots need the
mention_everyonerole permission to use@everyone. - Only a server's owner can approve a bot invite. Invites expire after 7 days.
- Bot tokens are hashed at rest; the raw token is never stored or retrievable.
- Bots can never reach the database directly — every action goes through scoped API endpoints.
Pick a path
- Getting started — create a bot and invite it.
- Hosting your own bot — where to run the client.
- JavaScript client / Python client.
- API reference if you want to talk to the API directly.
Disband