1
Create the agent
multi_platform.py
2
Install dependencies
3
Set environment variables
4
Run
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
Serve one agent across Telegram, Discord, and Slack simultaneously.
Create the agent
import asyncio
import os
from definable.agent import Agent
from definable.agent.interface import TelegramInterface, DiscordInterface, SlackInterface
from definable.memory import Memory, SQLiteStore
from definable.tool.decorator import tool
@tool
def get_weather(city: str) -> str:
"""Get the current weather for a city."""
return f"Sunny, 24C in {city}"
agent = Agent(
model="gpt-4o",
instructions="You are a helpful assistant available on multiple platforms.",
tools=[get_weather],
memory=Memory(store=SQLiteStore("./shared_memory.db")),
)
telegram = TelegramInterface(
agent=agent,
bot_token=os.environ["TELEGRAM_BOT_TOKEN"],
)
discord = DiscordInterface(
agent=agent,
bot_token=os.environ["DISCORD_BOT_TOKEN"],
)
slack = SlackInterface(
agent=agent,
bot_token=os.environ["SLACK_BOT_TOKEN"],
app_token=os.environ["SLACK_APP_TOKEN"],
)
# Serve all interfaces with agent.serve()
agent.serve(telegram, discord, slack, port=8000)
Install dependencies
pip install 'definable[interfaces]'
Set environment variables
export TELEGRAM_BOT_TOKEN="..."
export DISCORD_BOT_TOKEN="..."
export SLACK_BOT_TOKEN="xoxb-..."
export SLACK_APP_TOKEN="xapp-..."
export OPENAI_API_KEY="sk-..."
Run
python multi_platform.py