diff --git a/README.md b/README.md index 27e87b0..81de5ac 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,96 @@ +# MonoTG – Telegram‑бот сповіщень Monobank (single‑file edition) -# Monobank Telegram Bot (Async) +MonoTG – це невеликий асинхронний бот на **python‑telegram‑bot v20**. Він підключається до API Monobank і надсилає в Telegram‑чат оперативні повідомлення про нові транзакції, дозволяє подивитися баланс, історію та курси валют. Усі функції реалізовано в одному файлі `monobank_bot.py`, тому розгортання займає кілька хвилин. -## Quick start +--- -```bash -git clone ... -cd MonoTG -python -m venv venv -source venv/bin/activate # or venv\Scripts\activate on Windows -pip install -r requirements.txt -cp .env.example .env # add your tokens -python monobank_bot.py +## 📂 Вміст репозиторію + +``` +MonoTG/ + ├─ monobank_bot.py # увесь код бота (~330 с.) + ├─ .env.example # шаблон змінних середовища + ├─ requirements.txt # залежності (ptb 20, aiohttp, python‑dotenv, filelock) + ├─ .gitignore + └─ README.md # цей файл ``` -The bot periodically checks your Monobank account every 5 minutes and pushes new transactions to the Telegram users listed in `ALLOWED_USERS`. +--- + +## 🚀 Швидкий старт + +```bash +#  Клонувати репозиторій +$ git clone git@192.168.31.120:you/MonoTG.git && cd MonoTG + +#  Встановити залежності +$ pip install -r requirements.txt + +#  Скопіювати .env +$ cp .env.example .env && nano .env # впишіть свої токени + +#  Запустити бота +$ python monobank_bot.py +``` + +> Після старту бот перейде у **polling**‑режим і почне перевіряти Monobank кожні 5 хвилин. + +### Приклад `.env` + +```dotenv +TELEGRAM_BOT_TOKEN=123456:ABC… +MONO_TOKEN_MAIN=mono_api_token +ALLOWED_USERS=123456789,987654321 +``` + +--- + +## 💬 Доступні команди + +| Команда | Опис | +| ------------ |-------------------------------------| +| `/start` | Привітання + допомога | +| `/balance` | Поточний баланс та доступний кредит | +| `/currency` | Курси USD/EUR → ₴ | +| `/history d` | Історія за *d* днів (≤ 30) | +| `/status` | Час останнього оновлення | + +Сповіщення про нові транзакції приходять **автоматично**. + +--- + +## ⚙️ Запуск як systemd‑служби (Linux) + +Створіть файл `/etc/systemd/system/monotg.service`: + +```ini +[Unit] +Description=MonoTG – Monobank → Telegram bot +After=network.target + +[Service] +WorkingDirectory=/opt/MonoTG +User=bot # змініть за потреби +ExecStart=/opt/MonoTG/.venv/bin/python monobank_bot.py +EnvironmentFile=/opt/MonoTG/.env +Restart=always + +[Install] +WantedBy=multi-user.target +``` + +```bash +sudo systemctl daemon-reload +sudo systemctl enable --now monotg +``` + +--- + +## 🛠️ Нотатки по розробці + +* **Файл мітки** останньої транзакції зберігається в `~/.mono-tg/last_time.txt` під lock‑файлом. +* `/status` наразі показує лише час останнього оновлення транзакцій із Monobank API. +* Мультиакаунти не підтримуються — бот працює лише з одним токеном `MONO_TOKEN_MAIN`. +* Змінні `CHECK_INTERVAL` і `LOG_LEVEL` наразі не використовуються — інтервал та логування жорстко зашиті в коді. + +---