Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/0x467/nestjs-telegram

🤖 A NestJS Telegram module for using the Telegram Bot API
https://github.com/0x467/nestjs-telegram

bot nest nestjs telegram telegram-api telegram-bot-api

Last synced: 6 days ago
JSON representation

🤖 A NestJS Telegram module for using the Telegram Bot API

Awesome Lists containing this project

README

        


Nest Logoplus Telegram Logo



A NestJS service wrapper for Telegram bots!












## Description

[Telegram](https://telegram.org) API wrapper for the Telegram Bots API made to work with the [Nest](https://github.com/nestjs/nest) framework.

## Installation

```bash
$ npm install nestjs-telegram
```

## Using the Module

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

// Or async
@Module({
imports: [
TelegramModule.forRootAsync({
useFactory: async (configService: ConfigService) => ({
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
```typescript
@Injectable()
export class MyService {

constructor(private readonly telegram: TelegramService) {}

testBot(): Observable {
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](https://core.telegram.org/bots/api), 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

- Author - [Jay McDoniel](https://github.com/jmcdo29)

## License

Nestjs-telegram is [MIT licensed](LICENSE).