JSPM

common-tg-service

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

    Common Telegram service for NestJS applications

    Package Exports

    • common-tg-service
    • common-tg-service/dist/index.js

    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.