Discord
Deploy agents to Discord for community support and moderation.
The Discord integration connects any Agno agent to Discord via the Gateway API, so you don't need to set up webhooks.
Quick Start
Set DISCORD_BOT_TOKEN and OPENAI_API_KEY in the terminal, then save the code as discord_agent.py. Enable Message Content Intent in the Discord Developer Portal as well as in the client below.
import discord
from agno.db.sqlite import SqliteDb
from agno.agent import Agent
from agno.models.openai import OpenAIResponses
from agno.integrations.discord import DiscordClient
agent = Agent(
name="Assistant",
model=OpenAIResponses(id="gpt-5.4"),
db=SqliteDb(db_file="tmp/discord.db"),
add_history_to_context=True,
)
intents = discord.Intents.default()
intents.message_content = True
discord_client = DiscordClient(agent, client=discord.Client(intents=intents))
if __name__ == "__main__":
discord_client.serve()uv pip install agno discord.py openai sqlalchemy
python discord_agent.pyHow It Works
| Concept | Behavior |
|---|---|
| Gateway | Direct connection to Discord, no webhooks or tunnels needed |
| Threads | Uses Discord thread IDs as session IDs; the configured database and history setting provide follow-up context |
| Intents | Requires Message Content Intent enabled in Developer Portal |
| Permissions | Send Messages, Read History, Create Threads, Attach Files |
Setup
You need a Discord Application with a bot user. Create one in the Discord Developer Portal.
Then set your bot token as an environment variable:
export DISCORD_BOT_TOKEN="..."
export OPENAI_API_KEY="your_openai_api_key"