From d9ab26f11a8dafd16c7eb3706fa22bf3e82b3b2d Mon Sep 17 00:00:00 2001 From: Alexander Bukhalo Date: Tue, 5 Jan 2021 17:18:22 +0300 Subject: [PATCH] docs(): update readme --- README.md | 56 ++++++++++++++++++++++++++++++++----------------------- 1 file changed, 33 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index 78ec707..4a83506 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,21 @@ -

- - Nest Logo -

+# NestJS Telegraf ![npm](https://img.shields.io/npm/dm/nestjs-telegraf) ![GitHub last commit](https://img.shields.io/github/last-commit/bukhalo/nestjs-telegraf) ![NPM](https://img.shields.io/npm/l/nestjs-telegraf) -# NestJS Telegraf -![npm](https://img.shields.io/npm/dm/nestjs-telegraf) -![GitHub last commit](https://img.shields.io/github/last-commit/bukhalo/nestjs-telegraf) -![NPM](https://img.shields.io/npm/l/nestjs-telegraf) + -[Telegraf](https://github.com/telegraf/telegraf) module for [NestJS](https://github.com/nestjs/nest). +NestJS Telegraf – powerful solution for creating Telegram bots. + +This package uses the best of the NodeJS world under the hood. [Telegraf](https://github.com/telegraf/telegraf) is the most powerful library for creating bots and [NestJS](https://github.com/nestjs) is a progressive framework for creating well-architectured applications. This module provides fast and easy way for creating Telegram bots and deep integration with your NestJS application. + +**Features** + +- Simple. Easy to use. +- Ton of decorators available out of the box for handling bot actions. +- Ability to create custom decorators. +- Scenes support. +- Telegraf plugins and custom plugins support. +- Ability to run multiple bots simultaneously. +- Full support of NestJS guards, interceptors, filters and pipes! (*in progress...*) ## Documentation If you want to dive fully into NestJS Telegraf then don't waste your time in this dump, check out the [documentation site](https://nestjs-telegraf.vercel.app). @@ -20,8 +26,8 @@ If you want to dive fully into NestJS Telegraf then don't waste your time in thi $ npm i nestjs-telegraf ``` +## Usage Once the installation process is complete, we can import the `TelegrafModule` into the root `AppModule`: - ```typescript import { Module } from '@nestjs/common'; import { TelegrafModule } from 'nestjs-telegraf'; @@ -36,38 +42,42 @@ import { TelegrafModule } from 'nestjs-telegraf'; export class AppModule {} ``` -Then add some decorators into the `app.service.ts` for handling Telegram bot API updates: +Then create `app.update.ts` file and add some decorators for handling Telegram bot API updates: ```typescript -import { Injectable } from '@nestjs/common'; import { + Update, Start, Help, On, Hears, Context, } from 'nestjs-telegraf'; +import { AppService } from './app.service'; +import { Context } from './context.interface'; + +@Update() +export class AppUpdate { + constructor(private readonly appService: AppService) -@Injectable() -export class AppService { @Start() - start(ctx: Context) { - ctx.reply('Welcome'); + async startCommand(ctx: Context) { + await ctx.reply('Welcome'); } @Help() - help(ctx: Context) { - ctx.reply('Send me a sticker'); + async helpCommand(ctx: Context) { + await ctx.reply('Send me a sticker'); } @On('sticker') - on(ctx: Context) { - ctx.reply('👍'); + async onSticker(ctx: Context) { + await ctx.reply('👍'); } @Hears('hi') - hears(ctx: Context) { - ctx.reply('Hey there'); + async hearsHi(ctx: Context) { + await ctx.reply('Hey there'); } } ```