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. Config

Controller Helper class

About controller helper that helps you with some easy tasks

PreviousMongo moduleNextSet chat action

Last updated 2 years ago

Build a bot link

Sometimes you need to build a bot link (e.g. referral link to the bot). Create ControllerHelper class instance and pass Api class to it. Then call .getBotLink method

You can read more about Api class

.getBotLink takes argument: run parameters for /start command (optional)

app.controller.ts
import { OnCommand, Controller, GetApi, Api, ControllerHelper, UserId } from 'nestgram';
import { AppService } from './app.service';

@Controller()
export class AppController {
  @GetApi() api: Api;
  controllerHelper: ControllerHelper = new ControllerHelper(this.api);

  constructor(private readonly appService?: AppService) {}

  @OnCommand('start')
  async start(@UserId() userId: number): Promise<string | undefined> {
    const link: string | undefined = this.controllerHelper.getBotLink(userId.toString());
    return link;
  }
}
âš™ī¸
here