🤖 Powerful Nest module for easy and fast creation Telegram bots
Go to file
Alexander Bukhalo 7d49cf2663 Merge branch 'master' of github.com:bukhalo/nestjs-telegraf into feature/typedoc
 Conflicts:
	package-lock.json
	package.json
2021-01-02 21:49:15 +03:00
.github ci(): use latest nodejs versions 2020-12-30 20:41:06 +03:00
lib fix(): working after merge 2021-01-02 21:40:13 +03:00
sample fix(): module work restored 2021-01-02 16:37:59 +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 chore(): add lock files to gitignore 2021-01-02 15:23:59 +03:00
.npmignore fix(): working after merge 2021-01-02 21:40:13 +03:00
.prettierrc feat: complete rewrite 2020-03-19 16:21:35 +03:00
index.d.ts fix(): revert back typescript configuration 2021-01-02 16:34:27 +03:00
index.js fix(): revert back typescript configuration 2021-01-02 16:34:27 +03:00
index.ts fix(): revert back typescript configuration 2021-01-02 16:34:27 +03:00
LICENSE.md chore(): update author info 2020-12-30 20:37:11 +03:00
package-lock.json fix(): working after merge 2021-01-02 21:40:13 +03:00
package.json Merge branch 'master' of github.com:bukhalo/nestjs-telegraf into feature/typedoc 2021-01-02 21:49:15 +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(): revert back typescript configuration 2021-01-02 16:34:27 +03:00
tsconfig.typedoc.json feat: add typedoc generation 2020-09-13 11:25:23 +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');
  }
}