> For the complete documentation index, see [llms.txt](https://painor.gitbook.io/gramjs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://painor.gitbook.io/gramjs/working-with-channels-and-supergroups-and-geogroups/channels.getchannels.md).

# channels.getChannels

Get info about [channels/supergroups](https://core.telegram.org/api/channel)

## Example

{% tabs %}
{% tab title="Javascript" %}

```javascript
const {Api, TelegramClient} = require('telegram');
const {StringSession} = require('telegram/sessions');

const session = new StringSession('');
const client = new TelegramClient(session, apiId, apiHash, {});

(async function run() {
    const result = await client.invoke(new Api.channels.getChannels({
        id: [new Api.InputChannel({...})],
        }));
    console.log(result); // prints the result
})();
```

{% endtab %}

{% tab title="TypeScript" %}

```typescript
import {Api, TelegramClient} from 'telegram';
import {StringSession} from 'telegram/sessions';

const session = new StringSession('');
const client = new TelegramClient(session, apiId, apiHash, {});

(async function run() {
    const result: Api.messages.Chats = await client.invoke(new Api.channels.getChannels({
        id: [new Api.InputChannel({...})],
        }));
    console.log(result); // prints the result
})();
```

{% endtab %}
{% endtabs %}

## TL schema

```
messages.chats#64ff9fd5 chats:Vector<Chat> = messages.Chats;
messages.chatsSlice#9cd81144 count:int chats:Vector<Chat> = messages.Chats;
---functions---
channels.getChannels#a7f6bbb id:Vector<InputChannel> = messages.Chats;
```

## Parameters

|  Name  | Type                                                                                                                | Description                                   |
| :----: | ------------------------------------------------------------------------------------------------------------------- | --------------------------------------------- |
| **id** | [Vector](https://core.telegram.org/type/Vector%20t) < [InputChannel](https://core.telegram.org/type/InputChannel) > | IDs of channels/supergroups to get info about |

## Result

[messages.Chats](https://core.telegram.org/type/messages.Chats)

## Possible errors

| Code | Type             | Description                                |
| :--: | ---------------- | ------------------------------------------ |
|  400 | CHANNEL\_INVALID | The provided channel is invalid            |
|  400 | CHANNEL\_PRIVATE | You haven't joined this channel/supergroup |
|  400 | MSG\_ID\_INVALID | Invalid message ID provided                |

## Can bots use this methd ?

### yes

## Related pages

### [Channels](https://core.telegram.org/api/channel)

How to handle channels, supergroups, groups, and what's the difference between them.
