mirror of
https://github.com/Maks1mS/nestjs-telegraf.git
synced 2024-12-26 15:58:09 +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 '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](/docs/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 '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>) {}
|
||
|
...
|
||
|
}
|
||
|
```
|