Discord Client
The Discord Client enables your agent to interact with Discord servers, supporting message handling, voice interactions, and slash commands.
Installation
-
Install required packages:
Terminal window Terminal window Terminal window -
Configure environment variables:
Terminal window # Required Discord credentialsDISCORD_API_TOKEN=your_bot_token
Basic Setup
import { AgentBuilder, ModelProviderName } from "@iqai/agent";import DiscordClient from "@elizaos/client-discord";import SqliteAdapter from "@elizaos/adapter-sqlite";
async function main() { const agent = new AgentBuilder() .withDatabase(SqliteAdapter) .withClient(DiscordClient) .withModelProvider( ModelProviderName.OPENAI, process.env.OPENAI_API_KEY ) .withCharacter({ name: "DiscordBot", bio: "A helpful Discord assistant", username: "brain-bot" }) .build();
await agent.start();}
main().catch(console.error);
Best Practices
- โ๏ธ Always initialize with a database adapter
- โ๏ธ Set appropriate character configuration for Discord context
- โ๏ธ Handle client startup errors appropriately
- โ๏ธ Implement proper Discord permission handling
Remember that withDatabase()
is required before calling build()
.
You can use withPlugins()
to add multiple plugins that enhance Discord functionality.