# /channels

{% hint style="info" %}
This endpoint supports the [Exclude](https://dadocs.rickyjs.xyz/exclude-header) header
{% endhint %}

### Endpoint Headers:

* bot-token - Token of the Bot <mark style="color:orange;">**\[String]**</mark> (<mark style="color:red;">**Required**</mark>)&#x20;
* apikey - Your Api Auth Key <mark style="color:orange;">**\[String]**</mark> (<mark style="color:red;">**Required**</mark>)
* guild-id - ID of the guild to be fetched <mark style="color:orange;">**\[Snowflake]**</mark> (<mark style="color:red;">**Required**</mark>)&#x20;
* channel - ID of the channel to be fetched <mark style="color:orange;">**\[Snowflake]**</mark> (<mark style="color:green;">**Optional**</mark>)&#x20;

### Endpoint URL Parameters

* simple - Retrieves a simpler set of data <mark style="color:orange;">**\[Boolean]**</mark> (<mark style="color:green;">**Optional**</mark>)

{% hint style="info" %}
If no `channel` was specified, it will grab all data and retrieve an **Array**, otherwise it will grab the one specified and retrieve an **Object**.&#x20;

<mark style="color:red;background-color:yellow;">**This will affect how to grab your data!**</mark>
{% endhint %}

### Examples:

{% hint style="info" %}
Data API version required. Must replace `<version>` with either **release** or **beta**.
{% endhint %}

<details>

<summary>Bot Designer for Discord</summary>

Example usage of `/guild/channels` endpoint using BDFD

```bash
$httpAddHeader[apikey;<YOUR-API-KEY>]
$httpAddHeader[bot-token;<YOUR-BOT-TOKEN>]
$httpAddHeader[guild-id;1064098700307218463] 
$httpAddHeader[channel;1076739010849947748] $c[Optional header]
$httpGet[https://bdfddata.rickyjs.xyz/<version>/guild/channels]


$httpResult OR $httpResult[details]
```

OR

```bash
$httpAddHeader[apikey;<YOUR-API-KEY>]
$httpAddHeader[bot-token;<YOUR-BOT-TOKEN>]
$httpAddHeader[guild-id;1064098700307218463] 
$c[Header 'channel' cannot be used when simple = true!]
$httpGet[https://bdfddata.rickyjs.xyz/<version>/guild/channels?simple=true]


$httpResult OR $httpResult[details]
```

</details>

<details>

<summary>Discord.js</summary>

Example usage of `/guild/channels` endpoint using Discord.js

```javascript
const axios = require('axios');
(async () => {
return await axios.get('https://bdfddata.rickyjs.xyz/<version>/guild/channels', {
headers: {
"apikey": "<YOUR-API-KEY>",
"bot-token": "<YOUR-BOT-TOKEN>",
"guild-id": "1064098700307218463",
"channel": "1076739010849947748" // Optional header
}
}).then(res=>res.data)
})()
```

OR

```javascript
const axios = require('axios');
(async () => {
return await axios.get('https://bdfddata.rickyjs.xyz/<version>/guild/channels?simple=true', {
headers: {
"apikey": "<YOUR-API-KEY>",
"bot-token": "<YOUR-BOT-TOKEN>",
"guild-id": "1064098700307218463"
}
}).then(res=>res.data)
})()
```

</details>

### Possible Responses (Codes)

<details>

<summary>Code 200 (Simple Not Used)</summary>

API succeeded and details were fetched.

```javascript
{
  status: 200,
  details: [
  {
      "id": "1064102244523458680",
      "last_message_id": "1072162544359329842",
      "type": "GuildText",
      "name": "🎩・tips",
      "position": 5,
   
    
  >  'Read on `Channel Objects` : https://discord.com/developers/docs/resources/channel#channels-resource'
  ]
}
```

</details>

<details>

<summary>Code 200 (Simple Used)</summary>

API succeeded and details were fetched.

```javascript
{
status: 200,
details: {
  channels: { // returns channel IDs!
    GuildText: [],
    GuildVoice: [],
    GuildCategory: [],
    GuildAnnouncement: [],
    AnnouncementThread: [],
    PublicThread: [],
    PrivateThread: [],
    GuildStageVoice: [],
    GuildDirectory: [],
    GuildForum: [],
    GuildNews: [],
    GuildNewsThread: [],
    GuildPublicThread: [],
    GuildPrivateThread: []
    },
    count: { // Returns channel count!
      GuildText: '26',
      GuildVoice: '2',
      GuildCategory: '5',
      GuildAnnouncement: '0',
      AnnouncementThread: '0',
      PublicThread: '0',
      PrivateThread: '0',
      GuildStageVoice: '0',
      GuildDirectory: '0',
      GuildForum: '1',
      GuildNews: '2',
      GuildNewsThread: '0',
      GuildPublicThread: '0',
      GuildPrivateThread: '0'
    }
  },
```

</details>

<details>

<summary>Code 400</summary>

An error occurred that stopped execution.

```javascript
{
    status: 400
    error: 'Cannot read ...  (This can vary)'
}
```

</details>

<details>

<summary>Code 401</summary>

Invalid bot token was provided.

```javascript
{
  status: 401,
  details: { message: '401: Unauthorized', code: 0 }
}
```

</details>

<details>

<summary>Code 404</summary>

Guild was not found via DAPI

```javascript
{
  status: 404,
  details: { message: 'Unknown Guild', code: 10004 } (this can vary)
}
```

</details>
