🤖 Powerful Nest module for easy and fast creation Telegram bots
Go to file
2021-01-03 16:52:11 +03:00
.github ci(): use latest nodejs versions 2020-12-30 20:41:06 +03:00
lib fix(explorer): get bot on module init 2021-01-03 16:20:50 +03:00
sample/01-complete-app chore(sample): transform app to complete app dir 2021-01-03 16:40:08 +03:00
website docs(): update docs 2021-01-02 03:10:25 +03:00
.eslintrc.js chore: replace tslint with eslint (pull request #1) 2020-03-27 20:41:55 +00:00
.gitignore fix(): add build tsconfig & add main/types 2021-01-03 15:52:50 +03:00
.npmignore fix(): add build tsconfig & add main/types 2021-01-03 15:52:50 +03:00
.prettierrc feat: complete rewrite 2020-03-19 16:21:35 +03:00
LICENSE.md chore(): update author info 2020-12-30 20:37:11 +03:00
package-lock.json chore(deps): pin dependencies (#188) 2021-01-02 22:01:40 +03:00
package.json fix(build): remove sample from tsconfig 2021-01-03 16:52:11 +03:00
README.md docs(): remove all-contributors from project, it's too hard to keep it up to date 2020-12-30 20:45:36 +03:00
renovate.json chore(deps): replace dependabot with renovate bot 2020-12-07 18:14:58 +03:00
tsconfig.json fix(build): remove sample from tsconfig 2021-01-03 16:52:11 +03:00
tsconfig.typedoc.json chore(deps): new typedoc version and configuration 2021-01-02 21:59:41 +03:00

Nest Logo

NestJS Telegraf

npm GitHub last commit NPM

Telegraf module for NestJS.

Documentation

If you want to dive fully into NestJS Telegraf then don't waste your time in this dump, check out the documentation site.

Installation

$ npm i nestjs-telegraf

Once the installation process is complete, we can import the TelegrafModule into the root AppModule:

import { Module } from '@nestjs/common';
import { TelegrafModule } from 'nestjs-telegraf';

@Module({
  imports: [
    TelegrafModule.forRoot({
      token: 'TELEGRAM_BOT_TOKEN',
    })
  ],
})
export class AppModule {}

Then add some decorators into the app.service.ts for handling Telegram bot API updates:

import { Injectable } from '@nestjs/common';
import {
  Start,
  Help,
  On,
  Hears,
  Context,
} from 'nestjs-telegraf';

@Injectable()
export class AppService {
  @Start()
  start(ctx: Context) {
    ctx.reply('Welcome');
  }

  @Help()
  help(ctx: Context) {
    ctx.reply('Send me a sticker');
  }

  @On('sticker')
  on(ctx: Context) {
    ctx.reply('👍');
  }

  @Hears('hi')
  hears(ctx: Context) {
    ctx.reply('Hey there');
  }
}