Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

nestgram

Package Overview
Dependencies
Maintainers
1
Versions
28
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

nestgram

Framework for working with Telegram Bot API on TypeScript like Nest.js

  • 1.9.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
52
decreased by-22.39%
Maintainers
1
Weekly downloads
 
Created
Source

What is Nestgram?

Nestgram - Framework for working with Telegram Bot API on TypeScript like Nest.js

ℹ️ Nestgram in development. Current version is 1.8.7
If you found a bug, you can ask the author or ask the form

⚠️ Nestgram can't use Nest.js modules. But you can create own modules for Nestgram :)

Guide

You can read the guide on the official Nestgram website, on Medium website or here

Install Nestgram

You need to install nestgram at first. You can do this using yarn or npm

yarn add nestgram
// or
npm i nestgram

Create main file

Our next step is creating the main file, so let's create the main.ts file

import { NestGram } from 'nestgram';
import { AppModule } from './app/app.module';

async function bootstrap(): Promise<void> {
  const bot = new NestGram('TOKEN', AppModule);
  await bot.start();
}

bootstrap();

At first, we imported nestgram and our AppModule, later we will create it. In the next step, we created a bootstrap function, in which we set up and run the project. The NestGram class takes arguments:

ArgumentNameRequired
1Bot token. You can get it hereRequired
2App moduleRequired
3Config IPollingConfig or IWebhookConfigOptional
4Run configOptional

Create app.module.ts

Let's create the app.module.ts file. In it, we will describe all available controllers and services

import { Module } from 'nestgram';
import { AppController } from './app.controller';
import { AppService } from './app.service';

@Module({
  controllers: [AppController],
  services: [AppService],
})
export class AppModule {}

At first, we imported Module class from nestgram, AppController and AppService also, that we will create later. Then we described our controllers and services in @Module decorator

Create app.controller.ts

Let's create the app.controller.ts file. In it, we will describe updates, that we want to handle

import { OnCommand, Controller } from 'nestgram';
import { AppService } from './app.service';

@Controller()
export class AppController {
  constructor(private readonly appService?: AppService) {}

  @OnCommand('start')
  start(): string {
    return 'Hello, world!';
  }
}

We have created a controller where we describe an update when the user writes /start, and we handle it by sending a message Hello, world!

Create app.service.ts

Let's create the app.service.ts file. In it, we will describe methods with working with db, that we will call in controller

import { Service } from 'nestgram';

@Service()
export class AppService {}

We can describe methods in AppService class, and call it in controller by this.appService

Run project

To run the project, open a terminal in the project directory and type:

npm run dev

Or build and run production:

npm run build && npm run prod

What’s next?

Now you know about the syntax and structure of the Nestgram project, but if you want to write your own pro bot, you can check out the Nestgram documentation

Found a bug?

You can ask the author or ask the form

Keywords

FAQs

Package last updated on 16 Jul 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc