nestjs-telegraf/website/docs/getting-updates.md

1.0 KiB

id title sidebar_label slug
getting-updates Getting updates Getting updates getting-updates

Long polling

By default, the bot receives updates using long-polling and requires no additional action.

Webhooks

If you want to configure a telegram bot webhook, you need to get a middleware via getBotToken helper in your main.ts file.

To access it, you must use the app.get() method, followed by the provider reference:

import { getBotToken } from '@maks1ms/nestjs-telegraf';

// ...
const bot = app.get(getBotToken());

Now you can connect middleware:

app.use(bot.webhookCallback('/secret-path'));

The last step is to specify launchOptions in forRoot method:

TelegrafModule.forRootAsync({
  imports: [ConfigModule],
  useFactory: (configService: ConfigService) => ({
    token: configService.get<string>('TELEGRAM_BOT_TOKEN'),
    launchOptions: {
      webhook: {
        domain: 'domain.tld',
        hookPath: '/secret-path',
      }
    }
  }),
  inject: [ConfigService],
});