Abitly Telegram bot
Метадані
Section titled “Метадані”| Поле | Значення |
|---|---|
| Продукт | Abitly.org |
| Тип | Bot |
| Статус | 🟢 prod |
| Власник | @Vladbandurin |
Призначення
Section titled “Призначення”Telegram-бот Abitly.org — TODO: уточнити сценарії (пошук, сповіщення, прив’язка акаунту, deep-link до Mini App).
Репозиторій та рантайм
Section titled “Репозиторій та рантайм”| Репо | abitly-org/abitly-tg-bot-v2 (main) |
| Стек | Telegraf · TypeORM · Postgres (pg) · node-cron · reflect-metadata · dotenv (Node.js + TypeScript) |
| Хостинг | Railway, project Abitly-Telegram, service Telegram Bot (environment production) |
| Деплой | Railway автодеплой з GitHub main |
| Режим | Long polling (bot.launch() без параметрів — Telegraf default) |
| HTTP healthcheck | GET /healthcheck на PORT (для Railway readiness probe) |
| Cron | node-cron: 0 7 * * * → dailyOpenDaysNotification (щодня о 07:00 — нотифікації про дні відкритих дверей) |
| Bot username | @abitlybot |
Залежності
Section titled “Залежності”- Залежить від: Abitly API (бізнес-логіка) · Postgres схема
abitly(через TypeORM, ділить з API) · Telegram API - Domain entities (з коду):
TelegramUser,TelegramUserMonitoringOffer,OfferApplicant,Offer,BaseUser,OpenDay,MonitoringOpenDay,University,TableMetadata - Від нього залежать: —
Env-змінні
Section titled “Env-змінні”Зберігаються у Railway project variables. Перелік підтверджених — TODO: (треба прочитати з Railway dashboard / MCP railway-agent). Очікувані:
| Змінна | Призначення |
|---|---|
BOT_TOKEN | токен бота (Telegraf зчитує без префіксу TELEGRAM_) |
DATABASE_URL / DB_* | shared Postgres abitly_prod_db (схема abitly, спільна з API) |
PORT | порт HTTP-healthcheck (Railway передає автоматично) |
API_BASE_URL | URL Abitly API — https://api.abitly.org |
Деталі → environments, Telegram integration.
Ключові команди
Section titled “Ключові команди”npm run dev # локальний запускnpm run dev:watch # з hot-reloadnpm run build && npm run startnpm run lintnpm run db:generate # TypeORM migrationsДеплой та відкат
Section titled “Деплой та відкат”- Deploy: Railway автодеплой з
main. Логи —mcp__railway__get-logsабо Railway dashboard. - Rollback:
mcp__railway__redeployна попередній SUCCESS-деплой. Деталі → deploy-rollback.
Логи та моніторинг
Section titled “Логи та моніторинг”- Railway built-in logs (через Railway MCP —
get-logs,get-status). - Помилки потенційно теж у Telegram-logger чат —
TODO:підтвердити.
Типові проблеми
Section titled “Типові проблеми”- Бот не відповідає → service-down + перевірити webhook через
getWebhookInfo(Telegram) - 409 Conflict → одночасно polling і webhook
- Помилки БД → db-issues