Skip to content

Discord Client

The Discord Client enables your agent to interact with Discord servers, supporting message handling, voice interactions, and slash commands.

Installation

  1. Install required packages:

    Terminal window
    npm i github:elizaos-plugins/client-discord @elizaos/[email protected]
  2. Configure environment variables:

    Terminal window
    # Required Discord credentials
    DISCORD_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