> 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-chats-and-supergroups-and-channels/messages.editchatadmin.md).

# messages.editChatAdmin

Make a user admin in a [legacy group](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.messages.editChatAdmin({
        chatId: 8945722,
        userId: new Api.InputUser({...}),
        isAdmin: new Api.Bool({...}),
        }));
    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.Bool = await client.invoke(new Api.messages.editChatAdmin({
        chatId: 8945722,
        userId: new Api.InputUser({...}),
        isAdmin: new Api.Bool({...}),
        }));
    console.log(result); // prints the result
})();
```

{% endtab %}
{% endtabs %}

## TL schema

```
boolFalse#bc799737 = Bool;
boolTrue#997275b5 = Bool;
---functions---
messages.editChatAdmin#a9e69f2e chat_id:int user_id:InputUser is_admin:Bool = Bool;
```

## Parameters

|      Name     | Type                                                  | Description               |
| :-----------: | ----------------------------------------------------- | ------------------------- |
|  **chat\_id** | [int](https://core.telegram.org/type/int)             | The ID of the group       |
|  **user\_id** | [InputUser](https://core.telegram.org/type/InputUser) | The user to make admin    |
| **is\_admin** | [Bool](https://core.telegram.org/type/Bool)           | Whether to make him admin |

## Result

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

## Possible errors

| Code | Type                   | Description                                    |
| :--: | ---------------------- | ---------------------------------------------- |
|  400 | CHAT\_ID\_INVALID      | The provided chat id is invalid                |
|  400 | PEER\_ID\_INVALID      | The provided peer id is invalid                |
|  400 | USER\_ID\_INVALID      | The provided user ID is invalid                |
|  400 | USER\_NOT\_PARTICIPANT | You're not a member of this supergroup/channel |

## 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.
