nestjs-telegraf/website/versioned_docs/version-2.6/extras/bot-injection.md

1.1 KiB

id title sidebar_label slug
bot-injection Bot injection Bot injection /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:

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 in the same application, explicitly specify the bot name:

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>) {}
  ...
}