Menu button

You can set/get menu button

Set menu button

You can set menu button using MenuButton class-method or .setMenuButton answer/api method

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

In answer method or class-method, you can pass '_current' as 2nd argument to set menu button for current chat

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

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

  @OnCommand('start')
  setMenuButton() {
    return new MenuButton({
      type: 'web_app',
      text: 'Open web app',
      web_app: { url: 'https://youtube.com/' },
    }).next('Menu button updated!');
  }
}

Get menu button

To get the menu button, use .getMenuButton answer/api method

.getMenuButton answer method takes argument: chat id you want to get menu button (optional, for all by default). You can pass '_current' to get menu button in the current chat

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

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

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

  @OnCommand('start')
  async getMenuButton(@GetAnswer() answer: Answer) {
    console.log(await answer.getMenuButton());
    return 'Logged to console!';
  }
}

Last updated