оновлення readme

This commit is contained in:
Max Lakhman 2025-05-29 11:44:58 +03:00
parent 7bc14784e1
commit 26b16cc14c

102
README.md
View File

@ -1,16 +1,96 @@
# MonoTG Telegramбот сповіщень Monobank (singlefile edition)
# Monobank Telegram Bot (Async) MonoTG це невеликий асинхронний бот на **pythontelegrambot v20**. Він підключається до API Monobank і надсилає в Telegramчат оперативні повідомлення про нові транзакції, дозволяє подивитися баланс, історію та курси валют. Усі функції реалізовано в одному файлі `monobank_bot.py`, тому розгортання займає кілька хвилин.
## Quick start ---
```bash ## 📂 Вміст репозиторію
git clone ...
cd MonoTG ```
python -m venv venv MonoTG/
source venv/bin/activate # or venv\Scripts\activate on Windows ├─ monobank_bot.py # увесь код бота (~330 с.)
pip install -r requirements.txt ├─ .env.example # шаблон змінних середовища
cp .env.example .env # add your tokens ├─ requirements.txt # залежності (ptb 20, aiohttp, pythondotenv, filelock)
python monobank_bot.py ├─ .gitignore
└─ README.md # цей файл
``` ```
The bot periodically checks your Monobank account every 5minutes 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` наразі не використовуються — інтервал та логування жорстко зашиті в коді.
---