@metafoks/telegram-bot
v1.2.0
Published
Metafoks telegram bot extension
Downloads
3
Readme
Metafoks Telegram Bot
Extension for Metafoks Application
Installation
1. Project Preparation
- You need to install and configure the Metafoks Application.
- 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 botsupportedCommands
(string) - The list of supported commandscreatorId
(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