Skip to main content

Code

cookbook/13_integrations/discord/agent_with_user_memory.py
from textwrap import dedent

from agno.agent import Agent
from agno.db.sqlite import SqliteDb
from agno.integrations.discord import DiscordClient
from agno.models.google import Gemini
from agno.tools.hackernews import HackerNewsTools

db = SqliteDb(db_file="tmp/discord_client_cookbook.db")

personal_agent = Agent(
    name="Basic Agent",
    model=Gemini(id="gemini-2.0-flash"),
    tools=[HackerNewsTools()],
    add_history_to_context=True,
    num_history_runs=3,
    add_datetime_to_context=True,
    markdown=True,
    db=db,
    enable_agentic_memory=True,
    instructions=dedent("""
        You are a personal AI friend of the user, your purpose is to chat with the user about things and make them feel good.
        First introduce yourself and ask for their name then, ask about themeselves, their hobbies, what they like to do and what they like to talk about.
        Use the HackerNews tools to find latest information about things in the conversations
                        """),
    debug_mode=True,
)

discord_agent = DiscordClient(personal_agent)
if __name__ == "__main__":
    discord_agent.serve()

Usage

1

Set up your virtual environment

uv venv --python 3.12
source .venv/bin/activate
2

Set your API keys

export GOOGLE_API_KEY=xxx
export DISCORD_BOT_TOKEN=xxx
3

Install dependencies

uv pip install -U agno google-generativeai discord.py
4

Run Agent

python cookbook/13_integrations/discord/agent_with_user_memory.py