Introduction

MultiBot Module

Overview

The MultiBot module provides a framework for managing multiple Telegram bots within a system. This module facilitates the initialization, configuration, and management of Telegram bots, allowing you to work with a single or multiple bots depending on your system's requirements. It includes functionalities for connecting to the Telegram API, validating bot configurations, and retrieving bot instances based on various criteria.

Purpose

The purpose of the MultiBot module is to:

  1. Initialize Connections: Set up connections for one or multiple Telegram bots based on provided configuration parameters. This involves creating instances of TelegramBot and managing their lifecycle.

  2. Validate Configurations: Ensure that the bot configurations meet the required criteria, such as having valid tokens, unique IDs, and proper designation of the main bot.

  3. Manage Bots: Provide methods to retrieve bots by their IDs and get the main bot instance from the collection of configured bots.

Features

  • Flexible Configuration: Supports both single and multi-bot setups, allowing you to configure bots based on the system type ('one' or 'multi').

  • Error Handling: Includes detailed error handling for invalid configurations and connection issues, ensuring robust and predictable behavior.

  • Bot Management: Offers methods to retrieve bot instances by ID and get the main bot, enabling efficient management of bot operations.

Dependencies

  • node-telegram-bot-api: A library for interacting with the Telegram Bot API.

  • global-manager: A utility for managing global state across the application.

Usage

To use the MultiBot module, you need to configure it with bot details and options. The module provides methods to initialize bot connections, validate configurations, and manage bot instances.

Here is a basic example of how to use the MultiBot module:

const MultiBot = require('multibot-telegram');

// Configuration object for MultiBot
const config = {
    type: 'multi', // System type, can be 'one' or 'multi'
    bots: [
        { id: 1, token: 'your_bot_token_1', main: true },
        { id: 2, token: 'your_bot_token_2', main: false }
    ],
    options: {
        commands: [
            { command: 'start', description: 'Start command' },
            { command: 'help', description: 'Help command' }
        ]
    }
};

// Create an instance of MultiBot
const multiBot = new MultiBot(config);

Documentation

For detailed documentation on each method and property of the MultiBot class, refer to the API docuation sectionsow.

Last updated