Server and Channel Management
Discord apps can programmatically interact with Discord servers (guilds) and channels. This includes reading content, posting messages, managing members, creating channels, and more. Nearly all of these actions require the bot to have the appropriate permissions in the target server or channel.
What Apps Can Do
Section titled “What Apps Can Do”Some examples of server and channel management features include the ability to do the following. Check out the API Reference for a complete list of endpoints and capabilities.
Guilds
Section titled “Guilds”- Read guild metadata: name, icon, member count, features
- List and manage roles (create, update, delete, assign to members)
- Kick and ban members
- Manage and audit server events
- List guild integrations and webhooks
Channels
Section titled “Channels”- List and read channels across the server
- Create, edit, and delete channels and threads
- Set channel permissions and position
- Read and send messages (subject to message permissions)
- Manage pinned messages
Members
Section titled “Members”- Fetch member profiles and role assignments
- Add or remove roles from members
- Modify member nicknames
- Manage member timeouts
Key Permissions
Section titled “Key Permissions”Most server and channel operations require explicit permissions. Check out our Permissions reference for a full list of permissions. Common ones include:
| Permission | What It Enables |
|---|---|
MANAGE_GUILD |
Edit server settings, view audit log |
MANAGE_CHANNELS |
Create, edit, delete channels |
MANAGE_ROLES |
Create and manage roles below the bot's highest role |
KICK_MEMBERS |
Remove members from the server |
BAN_MEMBERS |
Permanently ban members |
MANAGE_MESSAGES |
Delete messages from other users, pin messages |
VIEW_CHANNEL |
See a channel and its message history |
SEND_MESSAGES |
Post messages in a channel |
Permissions can be overridden at the channel level, so a bot may have server-wide permissions but be restricted in specific channels (or vice versa).