1.2.0 • Published 3 months ago

@metafoks/telegram-bot v1.2.0

Weekly downloads
-
License
MIT
Repository
github
Last release
3 months ago

Metafoks Telegram Bot

Extension for Metafoks Application

Русская документация

Installation

1. Project Preparation

  1. You need to install and configure the Metafoks Application.
  2. Install the extension from NPM: npm i @metafoks/telegram-bot.

2. Configuration

Add the following information to the config/config.json configuration file:

{
  "telegramBot": {
    "token": "bot_father_token_api"
  }
}

For more details on how to obtain a token for the bot, please refer to the Telegram documentation.

3. Installation of the Extension in the Project

Use the MetafoksApplication annotation with the with parameter:

import { MetafoksApplication, With } from "@metafoks/app";
import { telegramBotExtension } from "@metafoks/telegram-bot";

@MetafoksApplication
@With(telegramBotExtension)
class Application {
    constructor(private deps: {}) {}

    start() {
        // ...
    }
}

4. Registration of Message Handlers

To run the bot, you need to create a message handler component: create a file called messageHandler.component.ts anywhere in the project.

// file: messageHandler.component.ts
// imports...

// telegramMessageHandler - mandatory name for the component
@Component( "telegramMessageHandler" )
export default class MessageHandlerComponent implements TelegramMessageHandler {
    onMessage(event: MessageEvent) {
        event.chat.sendMessage( "Hi!" );
    }
}

Once this is done, you can start the bot and send any message.

5. Registration of Command Handlers

First, you need to register the commands:

{
  "telegramBot": {
    "token": "bot_father_token_api",
    "supportedCommands": [
      "hello"
    ]
  }
}

Next, create a file called commandHandler.component.ts anywhere in the project.

// file: commandHandler.component.ts
// imports...

// telegramCommandHandler - mandatory name for the component
@Component( "telegramCommandHandler" )
export default class CommandHandlerComponent implements TelegramCommandHandler {
    onCommand(event: NewCommandEvent) {
        if (event.command === "hello") {
            event.chat.sendMessage( "Hi!" );
        }
    }
}

Configuration

To configure the bot, create a telegramBot section in the config/config.json file.

{
  "telegramBot": {}
}
  • token (string) - The token for the Telegram bot
  • supportedCommands (string) - The list of supported commands
  • creatorId (string?) - The ID of the bot creator (required for critical messages)
  • allowSendStartMessage (boolean?) - Default: true. If set to true, the creatorId will receive a message when the bot starts or restarts.
  • autorun (boolean?) - Default: true. Allows bot starts with application
1.2.0

3 months ago

1.1.5

3 months ago

1.1.4

3 months ago

1.1.3

3 months ago

1.1.2

3 months ago

1.1.1

3 months ago

1.1.0

3 months ago

1.0.6

3 months ago

1.0.5

3 months ago

1.0.4

3 months ago

1.0.3

3 months ago

1.0.2

3 months ago

1.0.1

3 months ago

1.0.0

3 months ago