> ## Documentation Index
> Fetch the complete documentation index at: https://www.chapterjs.org/llms.txt
> Use this file to discover all available pages before exploring further.

# TextChannel

> A text or announcement channel of a server: topic, slowmode, threads and following

A `TextChannel` is a text or announcement channel of a server. It is what `channel.isText()` gives, and the most common `channel` of a command or a message.

```ts theme={"theme":{"light":"github-light","dark":"vesper"}}
import type { TextChannel } from 'chapterjs';

async function openDiscussion(channel: TextChannel, subject: string) {
  const thread = await channel.startThread({ name: subject, autoArchiveDuration: 1440 });
  await thread.send(`Let's talk about ${subject} here.`);
  if (channel.slowmode > 0) await channel.send(`Slowmode is on: one message every ${channel.slowmode} s.`);
  return thread;
}
```

> [!NOTE]
>
> How to send, edit and read messages is in [Sending messages](https://www.chapterjs.org/messages.md).

## Properties

It also has everything of [GuildChannel](https://www.chapterjs.org/reference/channels#guildchannel) and [what channels with messages share](https://www.chapterjs.org/reference/channels#channels-with-messages).

**topic** `string | null`

The topic shown at the top of the channel.

**slowmode** `number`

How many seconds a member waits between two messages (slowmode).

**isAnnouncement** `boolean`

Whether it is an announcement channel, which servers can follow.

## Actions

### startThread()

```ts theme={"theme":{"light":"github-light","dark":"vesper"}}
startThread(options: ThreadCreateOptions, reason?: string): Promise<ThreadChannel>
```

Starts a thread that is not attached to a message. To start one from a message, use `message.startThread()`. The options are a [`ThreadCreateOptions`](https://www.chapterjs.org/reference/options#threadcreateoptions).

[Discord documentation](https://docs.discord.com/developers/resources/channel#start-thread-without-message)

### follow()

```ts theme={"theme":{"light":"github-light","dark":"vesper"}}
follow(target: Snowflake | { id: Snowflake }, reason?: string): Promise<void>
```

Makes another channel receive what is published in this announcement channel.

[Discord documentation](https://docs.discord.com/developers/resources/channel#follow-announcement-channel)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.