Guides
Permissions and limits
The Discord permissions a bot asks for, which messages it sees, what it cannot do, and the limits and daily AI allowances it runs within
Permissions
When you add a bot to a server, Discord asks you to approve these basic permissions:
- View Channel
- Send Messages
- Send Messages in Threads
- Embed Links
- Read Message History
- Add Reactions
On Camel's app, it also asks for Change Nickname, so it can use your bot's name in the server. A bot asks for more permissions only when it uses the matching features. The publish card says what each one lets the bot do, and publishing approves it:
| Feature | Additional permissions |
|---|---|
| Creating and managing channels and threads | Manage Channels, Manage Threads, Create Public Threads, Create Private Threads |
| Moderation, including nicknames | Kick Members, Ban Members, Timeout Members, Manage Nicknames |
| Giving, taking, or creating roles, and changing access to channels the bot made | Manage Roles |
| Deleting anyone's messages and sending direct messages | Manage Messages |
| Managing any channel in its servers | Manage Channels, Manage Roles |
A bot never asks for Administrator. For moderation and role changes, place the bot's highest role above the members and roles it manages in Server Settings > Roles. It can't act on the server owner, or give or take @everyone or a role managed by another app.
To add a bot to a server, you need the Manage Server permission there.
/camel add and /camel remove need Manage Server or Manage Channels.
Which messages a bot sees
Every bot gets its own slash commands, button and menu presses, and form answers, wherever people use them. Messages from other bots and webhooks are ignored. Which ordinary messages it sees depends on its app.
On Camel's app
- In the channels you add it to, and the threads in them, it sees every message.
- Anywhere else in those servers, it sees messages that start with its
name, such as
mochi, rollormochi roll, and replies to its messages. - A message that @mentions camel goes to the channel's only bot, or to the server's only bot when no bot is in that channel.
- Direct messages to camel go to the bot whose message you reply to, or else to the bot you last used a command or button of.
On your own app
- Direct messages to your app always reach your bot.
- Messages that @mention it or reply to it reach it anywhere in its servers.
- With Message Content on, it also sees every message in its channels and
their threads, and messages that start with its name followed by a comma or
colon, such as
Pebble, roll. - With Message Content off, other messages in its channels reach it without their text. When your bot reads ordinary messages, its Settings offer Turn it on.
What a bot can do
A bot can post in its channels, reply, edit and delete its own messages, add reactions, and attach files. Ask camel-builder for the features you need:
- Moderation. Time out, kick, ban, and unban members, and change their nicknames, with reasons in the server's audit log and the bot's logs. A ban can optionally delete up to seven days of that user's recent messages. By default, it deletes none.
- Roles. Give and take roles below the bot's highest role, and create roles. It can edit or delete only roles it created.
- Tickets and channels. Create text channels and threads, including private tickets for a member and staff. It can rename, archive, reopen, and lock threads in its channels, and delete channels or threads it made. Changing access to a channel it made also needs role-management permissions.
- Managing any channel. Edit, lock, hide, copy, and delete any channel in its servers, and change member and role permissions there, including @everyone's. It can't change its app's own permissions or those of managed bot or integration roles. Attempting to delete a sixth channel it didn't make in 10 minutes is refused. Further deletions of channels it didn't make or other people's messages, bans, and kicks stop for 30 minutes.
- Deleting messages. Delete anyone's message in its channels, or up to 100 at once. Each delete is in the server's audit log with its reason. It can't delete messages from other camelBot bots.
- Direct messages. Send a direct message to a member of one of its servers. Discord refuses if the member turned off direct messages from server members or blocked the app, and the bot is told why. Their replies reach the bot.
- Edits and deletions. Respond when messages in its channels are edited or deleted. Discord doesn't say what a deleted message said, so a bot that logs deletions has to save messages itself.
- Message history. Read earlier messages from its channels when built to use history, for example to save a ticket transcript.
- Reactions. Respond when people add or remove reactions in its channels or on its messages, such as giving a verification role.
- Member arrivals and departures. Run a welcome or departure workflow when Discord's Server Members intent is enabled for the app.
Member events need Server Members
On your own Discord app, camel-builder can offer to enable Server Members Intent. You approve it in a card because it lets the app see who is in its servers. Availability depends on Discord's intent approval. If Discord requires a review, complete it through the Developer Portal. See Discord's current privileged intent review guide.
On Camel's app, join and leave events work only while Discord allows the shared app to use Server Members. You can't turn that setting on for the shared app yourself. If it isn't available, switch the bot to your own app and enable it there.
What a bot can't do
Some of these are defaults that the features above lift. You approve each feature on the publish card when you publish the bot.
- Delete messages written by other people, unless it's built to delete messages. A ban's optional recent-message deletion is separate.
- Pin messages, or edit other people's messages.
- Act on members at or above its role or on the server owner, such as changing their nicknames, or grant Administrator, Manage Server, or Manage Webhooks.
- Change or delete existing channels it didn't create, unless it's built to manage any channel. It can manage threads in its channels as described above.
- Edit or delete roles it didn't create.
- Start a direct message with someone, unless it's built to send direct messages. It can always answer direct messages.
- Post outside the channels it was added to or made, and their threads, except to answer where it was used.
- Mention @everyone, @here, or a role.
- Work in forum or voice channels.
- Reach private networks. Its web requests go to public
httpsaddresses only. - Have a website or dashboard of its own.
Limits
| Limit | Value |
|---|---|
| Commands | Up to 25 per bot, each with up to 25 options. An option offers up to 25 choices |
| Command and option names | 1 to 32 lowercase letters, numbers, - or _. Descriptions up to 100 characters |
| Forms | Up to 5 fields per form, including text, menus, member and role pickers, checkboxes, and file uploads |
| Bot names on Camel's app | 1 to 32 lowercase letters, numbers, - or _. Not camel, help or settings. Each of your bots has its own name, and two bots on Camel's app in one server can't share a name |
| Names on your own app | 2 to 32 characters. Discord allows about two name changes an hour |
| Files a bot sends | 10 per message, 20 MiB each and 24 MiB in all, as png, jpg, jpeg, gif, webp, txt, md, csv, json, pdf, mp3, ogg, wav or mp4 |
| Files you send in the test channel | 10 per message, 20 MiB each |
| Moderation and role actions | 30 per minute per bot |
| Message deletes | 60 deletion requests per minute per bot. A bulk request deletes up to 100 messages, each under 14 days old; older messages can be deleted individually. A request that would exceed 500 messages deleted in 10 minutes is refused and triggers the same 30-minute stop described under channel management above |
| Direct messages a bot starts | 10 per minute per bot |
| Timeouts | Up to 28 days; the bot can also lift a timeout |
| Messages deleted with a ban | Up to the previous 7 days for the banned user; none by default |
| Channels the bot creates | Up to 200 undeleted channels per server |
| Roles the bot creates | Up to 50 undeleted roles per server |
| Channel history | Up to 100 messages per request |
| Saved data | 100 MB per bot |
| Repeating schedules | 25 per bot, at most once a minute |
| One-time reminders | 200 waiting at once, from 1 second to a year ahead |
| Web requests | Public https addresses only, 10 seconds and 1 MB each |
| Messages to camel-builder | 8,000 characters each, and up to 20 in 10 minutes |
| Discord apps | 5 per account. One app runs one bot |
Schedule times are in UTC. When you ask for a post at a set time, tell camel-builder your time zone.
A schedule or reminder that was due while camelBot was unavailable runs as soon as it's back. A repeating schedule runs once for all the times it missed. Schedules don't run while a bot is paused.
AI allowances
camelBot is free while in beta. AI draws on two daily allowances, and both reset at midnight UTC.
- Each bot's allowance covers the AI a live bot uses in Discord, such as chat replies, images, and voice transcription. Once it's used up, the bot's AI stops working until it resets. Its commands and features that don't use AI keep working.
- Your camel-builder allowance covers camel-builder's own work and AI in your test channels. AI today in the test channel's header shows how much is used. Once it's used up, camel-builder takes no new messages and AI in tests stops working until it resets.