# Save user profile photo

To save user profile photo, use `.saveProfilePhoto` answer method or **SaveProfilePhoto class-method**

#### SaveProfilePhoto class-methods or .saveProfilePhoto method take arguments:

<table><thead><tr><th width="152" data-type="number">Argument</th><th width="360.3333333333333">Description</th><th>Required</th></tr></thead><tbody><tr><td>1</td><td>Path in which you want to save profile photo</td><td><strong>Required</strong></td></tr><tr><td>2</td><td>Index of the profile photo you want to save</td><td>Optional. 0 by default</td></tr></tbody></table>

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

```typescript
import { Controller, OnCommand, GetAnswer, Answer, ChatAction, SaveProfilePhoto, Photo } from 'nestgram';
import { AppService } from './app.service';
import * as path from 'path';

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

  @OnCommand('start')
  async getChatAction(@GetAnswer() answer: Answer): Promise<ChatAction> {
    const imgPath: string = path.resolve(__dirname, 'profile-photo.jpeg');

    return new ChatAction('upload_photo')
      .next(new SaveProfilePhoto(imgPath))
      .next(new Photo('path', imgPath, null, false))
  }
}
```

{% endcode %}

{% hint style="info" %}
In the 15th line, we disabled the cache with the 4th argument, because user photo may change
{% endhint %}
