mirror of
https://github.com/Maks1mS/nestjs-telegraf.git
synced 2024-12-27 00:08:09 +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 '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],
|
||
|
});
|
||
|
```
|