Skip to main content
Documentation - Discord Docs

Search documentation

Type to search this documentation.

On this pageOverview

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.

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.

  • 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
  • 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
  • Fetch member profiles and role assignments
  • Add or remove roles from members
  • Modify member nicknames
  • Manage member timeouts

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).

Suggest an edit

Propose a replacement for this page. The site team reviews it before applying any changes.

Export
Documentation menu