Skip to content

Discord Client

The Discord Client enables your agent to interact with Discord servers, supporting message handling, voice interactions, and slash commands. Visit Elizaos Discord client docs for more details.

  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
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);
  • Always initialize with a database adapter
  • Set appropriate character configuration for Discord context
  • Handle client startup errors appropriately
  • Implement proper Discord permission handling