Documentation Index
Fetch the complete documentation index at: https://docs.langchain.com/llms.txt
Use this file to discover all available pages before exploring further.
The Discord Tool gives your agent the ability to search, read, and write messages to discord channels.
It is useful for when you need to interact with a discord channel.
Setup
To use the Discord Tool you need to install the following official peer dependency:
Usage, standalone
import {
DiscordGetMessagesTool,
DiscordChannelSearchTool,
DiscordSendMessagesTool,
DiscordGetGuildsTool,
DiscordGetTextChannelsTool,
} from "@langchain/community/tools/discord";
// Get messages from a channel given channel ID
const getMessageTool = new DiscordGetMessagesTool();
const messageResults = await getMessageTool.invoke("1153400523718938780");
console.log(messageResults);
// Get guilds/servers
const getGuildsTool = new DiscordGetGuildsTool();
const guildResults = await getGuildsTool.invoke("");
console.log(guildResults);
// Search results in a given channel (case-insensitive)
const searchTool = new DiscordChannelSearchTool();
const searchResults = await searchTool.invoke("Test");
console.log(searchResults);
// Get all text channels of a server
const getChannelsTool = new DiscordGetTextChannelsTool();
const channelResults = await getChannelsTool.invoke("1153400523718938775");
console.log(channelResults);
// Send a message
const sendMessageTool = new DiscordSendMessagesTool();
const sendMessageResults = await sendMessageTool.invoke("test message");
console.log(sendMessageResults);
Usage, in an Agent
import { ChatOpenAI } from "@langchain/openai";
import { initializeAgentExecutorWithOptions } from "@langchain/classic/agents";
import { DiscordSendMessagesTool } from "@langchain/community/tools/discord";
import { DadJokeAPI } from "@langchain/community/tools/dadjokeapi";
const model = new ChatOpenAI({
model: "gpt-5.4-mini",
temperature: 0,
});
const tools = [new DiscordSendMessagesTool(), new DadJokeAPI()];
const executor = await initializeAgentExecutorWithOptions(tools, model, {
agentType: "zero-shot-react-description",
verbose: true,
});
const res = await executor.invoke({
input: `Tell a joke in the discord channel`,
});
console.log(res.output);
// "What's the best thing about elevator jokes? They work on so many levels."