# Join requests

## Approve chat join request

You can approve chat join request using **ApproveJoinRequest class-method** or `.approveJoinRequest` **api method**

#### ApproveJoinRequest class-method take arguments:

<table><thead><tr><th width="150" data-type="number">Argument</th><th width="384.3333333333333">Description</th><th></th></tr></thead><tbody><tr><td>1</td><td>User id you want to approve join request for</td><td><strong>Required</strong></td></tr><tr><td>2</td><td>Chat id in which user you want to approve join request for is located</td><td>Optional. Current chat id by default</td></tr></tbody></table>

{% hint style="info" %}
If you want to know what arguments an API method takes, see the IDE hint
{% endhint %}

{% code title="app.controller.ts" %}

```typescript
import { Controller, OnJoinRequest, JoinRequest, IChatJoinRequest, ApproveJoinRequest } from 'nestgram';
import { AppService } from './app.service';

@Controller()
export class AppController {
  constructor(private readonly appService: AppService) {}

  @OnJoinRequest()
  async joinRequest(@JoinRequest() joinRequest: IChatJoinRequest) {
    return new ApproveJoinRequest(joinRequest.from.id);
  }
}
```

{% endcode %}

## Decline chat join request

You can decline chat join request using **DeclineJoinRequest class-method** or `.declineJoinRequest` **api method**

#### DeclineJoinRequest class-method take arguments:

<table><thead><tr><th width="150" data-type="number">Argument</th><th width="384.3333333333333">Description</th><th></th></tr></thead><tbody><tr><td>1</td><td>User id you want to decline join request for</td><td><strong>Required</strong></td></tr><tr><td>2</td><td>Chat id in which user you want to decline join request for is located</td><td>Optional. Current chat id by default</td></tr></tbody></table>

{% hint style="info" %}
If you want to know what arguments an API method takes, see the IDE hint
{% endhint %}

{% code title="app.controller.ts" %}

```typescript
import { Controller, OnJoinRequest, JoinRequest, IChatJoinRequest, DeclineJoinRequest } from 'nestgram';
import { AppService } from './app.service';

@Controller()
export class AppController {
  constructor(private readonly appService: AppService) {}

  @OnJoinRequest()
  async joinRequest(@JoinRequest() joinRequest: IChatJoinRequest) {
    return new DeclineJoinRequest(joinRequest.from.id);
  }
}
```

{% endcode %}
