uniBot

Universal chatbot for Telegram and MAX — one logic on two messengers.

uniBot

uniBot is a corporate universal chatbot that runs across several messengers on a single logic. The bot receives messages in the messenger the request came from and replies there, using a shared set of business rules, database and rights registry.

Features

One logic, two messengers

A shared set of business rules, database and rights registry for Telegram and MAX. The bot sends and receives messages in the messenger the request came from.

Content publishing

Create news and articles on a website directly from the chat. Markdown support, image upload (cover and gallery), automatic slug generation.

CRM reports

Operational data from CRM: client search, specialist schedules, employee list — all from a messaging conversation.

Authentication and access

Registration with SMS-code confirmation and a role-based access model. Options are issued per user separately, rights differ per messenger.

Administration

Manage users, registration codes and rights directly in the chat or via a web panel. Grant and revoke options.

Webhooks and notifications

Receive incoming webhook events with API-key authentication. Generate notifications about system events and dispatch them to the right messenger.

Use cases

Who it's for

Companies with a team of content managers, administrators and managers who need fast access to internal systems directly from a messenger without a complex interface.

Where to use

News and article publishing, operational CRM work (clients, schedules), notification automation, employee access rights management.

When to choose

When you need a single entry point to corporate systems from a convenient messenger with a flexible role model and the ability to extend with new features.

Technology stack

Backend

Perl 5
Plack / PSGI
LWP::UserAgent, JSON, DBI

Messengers

Telegram Bot API
MAX API (long-polling)
Unified event format

Data

MySQL (InnoDB, utf8mb4)
Directus CMS (REST)
CRM API + SMS gateway

Deployment

Docker / Podman
systemd units
logrotate