mirror of
https://github.com/Maks1mS/nestjs-telegraf.git
synced 2024-12-27 08:18:08 +03:00
36 lines
1.1 KiB
Markdown
36 lines
1.1 KiB
Markdown
---
|
|
id: bot-injection
|
|
title: Bot injection
|
|
sidebar_label: Bot injection
|
|
slug: /extras/bot-injection
|
|
---
|
|
|
|
At times you may need to access the native `Telegraf` instance. You can inject the Telegraf by using the `@InjectBot()` decorator as follows:
|
|
|
|
```typescript {8} title="src/echo/echo.service.ts"
|
|
import { Injectable } from '@nestjs/common';
|
|
import { InjectBot } from '@maks1ms/nestjs-telegraf';
|
|
import { Telegraf } from 'telegraf';
|
|
import { TelegrafContext } from '../common/interfaces/telegraf-context.interface.ts';
|
|
|
|
@Injectable()
|
|
export class EchoService {
|
|
constructor(@InjectBot() private bot: Telegraf<TelegrafContext>) {}
|
|
...
|
|
}
|
|
```
|
|
|
|
If you run [multiple bots](/extras/multiple-bots) in the same application, explicitly specify the bot name:
|
|
|
|
```typescript {8} title="src/echo/echo.service.ts"
|
|
import { Injectable } from '@nestjs/common';
|
|
import { InjectBot } from '@maks1ms/nestjs-telegraf';
|
|
import { Telegraf } from 'telegraf';
|
|
import { TelegrafContext } from '../common/interfaces/telegraf-context.interface.ts';
|
|
|
|
@Injectable()
|
|
export class EchoService {
|
|
constructor(@InjectBot('cats') private bot: Telegraf<TelegrafContext>) {}
|
|
...
|
|
}
|
|
``` |