mirror of
https://github.com/Maks1mS/nestjs-telegraf.git
synced 2024-12-24 15:04:38 +03:00
45 lines
1.0 KiB
Markdown
45 lines
1.0 KiB
Markdown
---
|
|
id: getting-updates
|
|
title: Getting updates
|
|
sidebar_label: Getting updates
|
|
slug: 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:
|
|
```typescript
|
|
import { getBotToken } from '@maks1ms/nestjs-telegraf';
|
|
|
|
// ...
|
|
const bot = app.get(getBotToken());
|
|
```
|
|
|
|
Now you can connect middleware:
|
|
```typescript
|
|
app.use(bot.webhookCallback('/secret-path'));
|
|
```
|
|
|
|
The last step is to specify launchOptions in `forRoot` method:
|
|
```typescript
|
|
TelegrafModule.forRootAsync({
|
|
imports: [ConfigModule],
|
|
useFactory: (configService: ConfigService) => ({
|
|
token: configService.get<string>('TELEGRAM_BOT_TOKEN'),
|
|
launchOptions: {
|
|
webhook: {
|
|
domain: 'domain.tld',
|
|
hookPath: '/secret-path',
|
|
}
|
|
}
|
|
}),
|
|
inject: [ConfigService],
|
|
});
|
|
```
|