оновлення readme
This commit is contained in:
parent
7bc14784e1
commit
26b16cc14c
102
README.md
102
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
|
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, python‑dotenv, filelock)
|
||||||
python monobank_bot.py
|
├─ .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` наразі не використовуються — інтервал та логування жорстко зашиті в коді.
|
||||||
|
|
||||||
|
---
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user