JSPM

common-tg-service

1.3.10
    • ESM via JSPM
    • ES Module Entrypoint
    • Export Map
    • Keywords
    • License
    • Repository URL
    • TypeScript Types
    • README
    • Created
    • Published
    • Downloads 1461
    • Score
      100M100P100Q105780F
    • License MIT

    Common Telegram service for NestJS applications

    Package Exports

      This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (common-tg-service) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

      Readme

      Nest Logo

      A progressive Node.js framework for building efficient and scalable server-side applications.

      NPM Version Package License NPM Downloads CircleCI Coverage Discord Backers on Open Collective Sponsors on Open Collective Support us

      Common Telegram Service for NestJS

      A comprehensive NestJS service for handling Telegram-related functionality, including channel management, client handling, statistics, and more.

      Installation

      npm install @your-org/common-tg-service

      Features

      • Telegram Bot Integration
      • Channel Management
      • Client Management (Active, Archived, Buffer)
      • Statistics and Analytics
      • Promotion Management
      • Transaction Handling
      • User Data Management
      • File Management
      • UPI Integration

      Quick Start

      import { TelegramModule } from '@your-org/common-tg-service';
      
      @Module({
        imports: [
          TelegramModule.forRoot({
            // your config here
          }),
          // ... other modules
        ],
      })
      export class AppModule {}

      Available Modules

      • TelegramModule - Core Telegram functionality
      • ActiveChannelsModule - Manage active Telegram channels
      • ClientModule - Client management functionality
      • PromoteClientModule - Client promotion features
      • StatModule - Statistics tracking
      • And many more...

      Environment Variables

      Ensure you have the following environment variables set:

      TELEGRAM_BOT_TOKEN=your_bot_token
      MONGODB_URI=your_mongodb_uri
      # ... other required environment variables

      Contributing

      Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

      License

      MIT

      Peer Dependencies

      This package uses peer dependencies to avoid duplicate node_modules in your project. Make sure your project has the following dependencies installed:

      {
        "@nestjs/common": "^10.0.0",
        "@nestjs/config": "^3.0.0",
        "@nestjs/core": "^10.0.0",
        "@nestjs/mongoose": "^10.0.0",
        "@nestjs/platform-express": "^10.0.0",
        "@nestjs/swagger": "^8.0.0",
        "mongoose": "^8.0.0",
        "rxjs": "^7.0.0",
        "telegram": "^2.19.0",
        "class-transformer": "^0.5.0",
        "class-validator": "^0.14.0",
        "axios": "^1.6.0",
        "node-fetch": "^2.7.0",
        "swagger-jsdoc": "^6.2.0",
        "swagger-ui-express": "^5.0.0",
        "adm-zip": "^0.5.0",
        "cloudinary": "^2.0.0",
        "imap": "^0.8.0",
        "https": "^1.0.0"
      }

      Prerequisites

      Make sure your project has the following peer dependencies:

      {
        "@nestjs/common": "^10.0.0",
        "@nestjs/config": "^3.0.0",
        "@nestjs/core": "^10.0.0",
        "@nestjs/mongoose": "^10.0.0",
        "@nestjs/platform-express": "^10.0.0",
        "@nestjs/swagger": "^8.0.0",
        "mongoose": "^8.0.0",
        "rxjs": "^7.0.0",
        "telegram": "^2.0.0"
      }

      These dependencies should already be in your NestJS project, so no additional installation is needed.

      Running the app

      # development
      $ npm run start
      
      # watch mode
      $ npm run start:dev
      
      # production mode
      $ npm run start:prod

      Usage

      Import the modules you need in your NestJS application:

      import { TelegramModule, ChannelsModule /* other modules */ } from 'common-tg-service';
      
      @Module({
        imports: [
          TelegramModule,
          ChannelsModule,
          // ... other modules you need
        ],
      })
      export class AppModule {}

      Updating

      To update the package, simply run:

      npm update common-tg-service

      This will only update the compiled dist files from the dist branch, without re-downloading dependencies.

      Test

      # unit tests
      $ npm run test
      
      # e2e tests
      $ npm run test:e2e
      
      # test coverage
      $ npm run test:cov

      Support

      Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please read more here.

      Stay in touch

      License

      Nest is MIT licensed.