Pin or unpin messages

You can pin, unpin (unpin all also) messages

Pin message

You can pin message using Pin class-method or .pin answer/api method

Pin class-method or .pin answer method take arguments:

Argument
Description
Required
1

Message id you want to pin

Optional. Current message id by default

2

Chat id in which message you want to edit is located

Optional. Current chat id by default

3

Disable notification. Pass true to disable notification on pin

Optional

If you want to know what arguments an API method takes, see the IDE hint

app.controller.ts
import { Controller, OnCommand, Pin } from 'nestgram';
import { AppService } from './app.service';

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

  @OnCommand('pin_me')
  pinMe() {
    return new Pin();
  }
}

Unpin message

To unpin message, use Unpin class-method or .unpin answer/api method. It takes message id you want to unpin as 1st argument (pass 'all' to unpin all messages, by default), and chat id in which you want to unpin message/messages as 2nd argument (optional, current chat id by default)

Unpin class-method or .unpin answer method take arguments:

Argument
Description
Required
1

Message id you want to unpin. Pass 'all' to unpin all messages

Optional

2

Chat id in which message you want to unpin is located

Optional. Current chat id by default

If you want to know what arguments an API method takes, see the IDE hint

app.controller.ts
import { Controller, IMessage, Message, OnCommand, Pin, Unpin } from 'nestgram';
import { AppService } from './app.service';

@Controller()
export class AppController {
  pinnedMessageId: number = 0;
  constructor(private readonly appService: AppService) {}

  @OnCommand('pin_me')
  pinMessage(@Message() message: IMessage) {
    this.pinnedMessageId = message.message_id;
    return new Pin();
  }

  @OnCommand('unpin')
  unpinMessage() {
    return new Unpin(this.pinnedMessageId);
  }
}

We recommend using services to save data

Unpin all messages

To unpin all messages, use Unpin class-method, and pass 'all' to it as argument

app.controller.ts
import { Controller, OnCommand, Unpin } from 'nestgram';
import { AppService } from './app.service';

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

  @OnCommand('unpin_all')
  unpinAll() {
    return new Unpin('all');
  }
}

Last updated