# Discord

> Integrate with Discord to retrieve messages, send messages, and manage threads in Discord servers.

Source: https://cotera.co/docs/reference/tools/individual-tools/discord

---

**Authentication Type:** No Auth or User-Provided Token
**Description:** Integrate with Discord to retrieve messages, send messages, and manage threads.

***

## Channels

Operations for Discord channels.

### Get Messages

Retrieve messages from a Discord channel. Returns messages from newest to oldest.

**Operation Type:** Query (Read)

**Parameters:**

* **channelId** `string` (required): The Discord channel ID to get messages from
* **cursorType** `"before" | "after" | "around"` (optional): Pagination cursor type
  * `"before"` - Gets older messages before the cursor
  * `"after"` - Gets newer messages after the cursor
  * `"around"` - Gets messages surrounding the cursor
* **cursorMessageId** `string` (optional): The message ID to use as the pagination cursor. Required if `cursorType` is set.
* **limit** `number` (optional): Max number of messages to return (1-100, default 50)

**Returns:**

* **messages** `array`: Array of message objects from newest to oldest
  * **id** `string`: The message ID
  * **channelId** `string`: The channel ID
  * **content** `string`: The message content
  * **authorId** `string`: The author user ID
  * **authorUsername** `string`: The author username
  * **timestamp** `string`: When the message was sent
  * **editedTimestamp** `string | null`: When the message was last edited
  * **tts** `boolean`: Whether this was a TTS message
  * **mentionEveryone** `boolean`: Whether this message mentions everyone
  * **pinned** `boolean`: Whether this message is pinned
  * **type** `number`: The type of message

**Example Usage:**

```json
{
  "channelId": "1234567890123456789",
  "limit": 25
}
```

**Example with pagination:**

```json
{
  "channelId": "1234567890123456789",
  "cursorType": "before",
  "cursorMessageId": "9876543210987654321",
  "limit": 50
}
```

***

## Threads

Operations for Discord threads.

### Reply to Thread

Sends a reply message to a specific Discord thread.

**Operation Type:** Mutation (Write)

**Parameters:**

* **replyToMessageId** `string` (required): The Discord message ID to reply to
* **channelId** `string` (required): The Discord thread ID to reply to. If you're replying to a thread, the thread id is the channel id
* **content** `string` (required): The message content to send

**Returns:**

* **messageId** `string`: The ID of the created message

**Example Usage:**

```json
{
  "replyToMessageId": "1234567890123456789",
  "channelId": "9876543210987654321",
  "content": "Thanks for the update! This looks great."
}
```

***

## Common Use Cases

**Message Retrieval:**

* Fetch recent messages from a channel for analysis or monitoring
* Paginate through message history using cursor-based pagination
* Get messages around a specific message for context

**Thread Management:**

* Reply to ongoing discussions in Discord threads
* Continue conversations with contextual responses
* Maintain conversation flow in community discussions

**Customer Support:**

* Retrieve support request history from channels
* Respond to support requests in dedicated threads
* Provide follow-up information to user queries
* Keep support conversations organized and threaded

**Community Engagement:**

* Monitor community discussions and activity
* Participate in community discussions and threads
* Respond to announcements or project updates
* Facilitate ongoing conversations in Discord servers

