@fusionx7/nestjs-telegram
TypeScript icon, indicating that this package has built-in type declarations

1.1.3 • Public • Published

Nest Logoplus Telegram Logo

A NestJS service wrapper for Telegram bots!

Description

Telegram API wrapper for the Telegram Bots API made to work with the Nest framework.

Installation

$ npm install nestjs-telegram

Using the Module

// Inside of your module imports
@Module({
  imports: [TelegramModule.forRoot({
    botKey: 'YourBotApiToken'
  })]
})

// Or async
@Module({
  imports: [
    TelegramModule.forRootAsync({
      useFactory: async (configService: ConfigService) => {
        return { 
          botKey: configService.get('Telegram_API_Key')
        };
      inject: [ConfigService]
    })
  ],
})

In your service class you can inject the service like so and then use it in any function as you would any other service

@Injectable()
export class MyService {

  constructor(private readonly telegram: TelegramService) {}

  testBot(): Observable<Telegram.User> {
    return this.telegram.getMe();
  }
}

Currently, the service only returns Observables as the HttpModule does. If you want to use Promises just call .toPromise() on the function.

Support

If any bugs are found in the API wrapper, please open an issue on GitHub, or a Pull Request if you want to fix it yourself! Please be as explicit as possible and provide a minimum reproducing repository if at all possible, as it helps track down what went wrong.

Documentation

All documentation for this wrapper comes from the Telegram Bot API documentation, if there are any typos, please let me know or open a PR to fix it.

Todo

  • Implement Telegram Passport methods
  • Implement Telegram Inline mode options

Stay in touch

License

Nestjs-telegram is MIT licensed.

/@fusionx7/nestjs-telegram/

    Package Sidebar

    Install

    npm i @fusionx7/nestjs-telegram

    Weekly Downloads

    1

    Version

    1.1.3

    License

    MIT

    Unpacked Size

    65.2 kB

    Total Files

    27

    Last publish

    Collaborators

    • fusionx7