Nestgram
  • ⭐About Nestgram
  • 📄Guide
  • 📰News
  • đŸ”ŧHandling updates
    • Handling commands
    • Handling text messages
    • Handling other updates
    • Entities: url, email and other
    • Other arguments in handler
    • Handling media files and download it
  • đŸĒļNestgram Features
    • Services
    • Middlewares and Params
    • Sending messages correctly
    • Answer class
    • Scopes
    • States
    • Views
  • đŸ’ŦMessages
    • Sending a photo, video and other media
    • Sending a media group
    • Send location (live) or venue
    • Send contact
    • Send poll
    • Send dice
    • Edit/delete messages
    • Copy or Forward a message
  • âŒ¨ī¸Keyboards
    • Keyboard types, building keyboard
    • Handle underTheMessage keyboard button click by Alert or Toast
    • Keyboard layouts
  • âš™ī¸Config
    • CLI
    • Webhooks and run config
    • Api class
    • Modules
      • Mongo module
    • Controller Helper class
  • 🤖API Reference
    • Set chat action
    • Save user profile photo
    • Ban, unban user or chat
    • Restrict or Promote user
    • Set chat permissions
    • Set chat admin custom title
    • Chat invite links
    • Join requests
    • Update chat info, photo, title, description and more
    • Pin or unpin messages
    • Get chat info, leave chat
    • Check user subscription
    • Chat sticker set
    • My commands
    • My default admin rights
    • Menu button
Powered by GitBook
On this page
  1. Keyboards

Handle underTheMessage keyboard button click by Alert or Toast

Handle underTheMessage keyboard button click by Alert or Toast

Handling click on underTheMessage keyboard button

If you want to handle when user clicks on underTheMessage keyboard button, you can use @OnClick decorator for method and pass button id to it.

@OnClick takes argument: button id you want to listen to the click

You can also send alert or toast using class-method: Alert and Toast

Alert/Toast class-method takes arguments:

Argument
Description
Required
1

Text of the Alert/Toast

Required

2

Optional

app.controller.ts
import { Controller, Keyboard, KeyboardTypes, MessageSend, OnCommand, OnClick, Alert, Toast } from 'nestgram';
import { AppService } from './app.service';

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

  @OnCommand('start')
  async start(): Promise<MessageSend> {
    return new MessageSend(
      'underTheMessage (or inline_keyboard) keyboard example',
      new Keyboard(KeyboardTypes.underTheMessage) // keyboard type
        .btn('Button', 'buttonId')
        .btn('Button 2', 'buttonId2'), // row is created automatically
    );
  }
  
  @OnClick('buttonId')
  async buttonClick(): Promise<Alert> {
    return new Alert('Hello!');
  }
  
  @OnClick('buttonId2')
  async secondButtonClick(): Promise<Toast> {
    return new Toast('World!');
  }
}

You can also use a RegExp expression in the @OnClick decorator to handle clicks with params

PreviousKeyboard types, building keyboardNextKeyboard layouts

Last updated 2 years ago

âŒ¨ī¸
Options