🤖 Powerful Nest module for easy and fast creation Telegram bots
Go to file
2020-12-30 20:45:36 +03:00
.github ci(): use latest nodejs versions 2020-12-30 20:41:06 +03:00
lib docs: support docs versioning, new update hook decorators docs added 2020-09-10 11:23:04 +03:00
website chore(): update author info 2020-12-30 20:37:11 +03:00
.eslintrc.js chore: replace tslint with eslint (pull request #1) 2020-03-27 20:41:55 +00:00
.gitignore feat: add docusaurus for docs 2020-09-09 23:17:31 +03:00
.npmignore fix: remove website directory from npm package 2020-09-10 00:23:07 +03:00
.prettierrc feat: complete rewrite 2020-03-19 16:21:35 +03:00
index.d.ts improvement(workflow): rewrite all workflow 2020-01-12 14:18:48 +03:00
index.js improvement(workflow): rewrite all workflow 2020-01-12 14:18:48 +03:00
index.ts improvement(workflow): rewrite all workflow 2020-01-12 14:18:48 +03:00
LICENSE.md chore(): update author info 2020-12-30 20:37:11 +03:00
package-lock.json chore(deps): update lockfile on v2 2020-12-30 20:40:14 +03:00
package.json chore(): update author info 2020-12-30 20:37: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: allow comments for jsdoc/tsdoc 2020-08-14 14:01:39 +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');
  }
}