Permite membrilor grupului sa foloseasca bot-ul in DM prin verificare API
Adauga logica de autorizare flexibila: - Useri in TELEGRAM_ALLOWED_USER_IDS (whitelist explicit) - SAU membrii grupului TELEGRAM_CHAT_ID (verificare getChatMember API) - Membrii grupului pot folosi bot-ul atat in grup cat si in DM individual Modificari: - telegram_trigger_bot.py: metoda is_member_of_group() cu verificare API - telegram_trigger_bot.py: is_user_allowed() cu logica OR pentru whitelist + grup - .env.example: comentarii actualizate pentru noua logica - TELEGRAM_BOT_SETUP.md: documentatie completa pentru autorizare Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -27,9 +27,13 @@ Tu (Telegram) → Bot → Rulează scraper → Trimite CSV-uri înapoi
|
||||
3. Alege nume pentru bot (ex: "BTGO Scraper Bot")
|
||||
4. Copiază **token-ul** primit (ex: `123456789:ABCdefGHIjklMNOpqrs`)
|
||||
|
||||
### 2. Obține User ID-ul Tău
|
||||
### 2. Obține User ID-ul Tău (OPȚIONAL)
|
||||
|
||||
Ai nevoie de User ID pentru securitate (doar tu poți rula scraper-ul).
|
||||
User ID e necesar doar dacă vrei să autorizezi utilizatori care **NU sunt în grup**.
|
||||
|
||||
**Dacă folosești grup:** Toți membrii grupului pot folosi bot-ul automat (în grup sau DM)!
|
||||
|
||||
**Pentru whitelist suplimentar:**
|
||||
|
||||
**Opțiunea A - Folosește bot existent:**
|
||||
```bash
|
||||
@@ -98,19 +102,20 @@ Editează `.env` și adaugă:
|
||||
# Bot token (același ca pentru notificări sau nou)
|
||||
TELEGRAM_BOT_TOKEN=123456789:ABCdefGHIjklMNOpqrs
|
||||
|
||||
# User IDs autorizați (separați prin virgulă)
|
||||
# DOAR acești useri pot rula /scrape din grup
|
||||
TELEGRAM_ALLOWED_USER_IDS=123456789,987654321
|
||||
|
||||
# Chat ID GRUP pentru notificări automate + răspunsuri comenzi
|
||||
# Chat ID GRUP pentru notificări automate + autorizare membri
|
||||
# IMPORTANT: Negativ pentru grupuri! (ex: -1001234567890)
|
||||
# TOȚI membrii acestui grup pot folosi bot-ul (în grup sau DM)
|
||||
TELEGRAM_CHAT_ID=-1001234567890
|
||||
|
||||
# User IDs autorizați individual (OPȚIONAL - separați prin virgulă)
|
||||
# Pentru useri care NU sunt în grup dar vrei să le dai acces
|
||||
TELEGRAM_ALLOWED_USER_IDS=123456789,987654321
|
||||
```
|
||||
|
||||
**Securitate:**
|
||||
- `TELEGRAM_ALLOWED_USER_IDS` = doar acești useri pot rula `/scrape` din grup
|
||||
- Lasă gol dacă vrei ca oricine din grup să poată rula (nesigur!)
|
||||
- Bot-ul verifică User ID-ul celui care trimite comanda, NU group ID-ul
|
||||
**Autorizare:**
|
||||
- **Orice membru al grupului `TELEGRAM_CHAT_ID`** poate folosi bot-ul (în grup SAU în DM)
|
||||
- **SAU** useri din `TELEGRAM_ALLOWED_USER_IDS` (chiar dacă nu sunt în grup)
|
||||
- Dacă ambele sunt goale = bot deschis pentru oricine (NESIGUR!)
|
||||
|
||||
### 4. Pornire Bot
|
||||
|
||||
@@ -153,7 +158,7 @@ Bot pornit. Așteaptă comenzi...
|
||||
/help - Ajutor utilizare
|
||||
```
|
||||
|
||||
**Securitate:** Doar userii din `TELEGRAM_ALLOWED_USER_IDS` pot rula comenzi!
|
||||
**Autorizare:** Membri ai grupului TELEGRAM_CHAT_ID SAU useri din TELEGRAM_ALLOWED_USER_IDS pot rula comenzi!
|
||||
|
||||
### Flow Tipic în Grup
|
||||
|
||||
@@ -308,16 +313,18 @@ TELEGRAM_ALLOWED_USER_IDS=123456789
|
||||
|
||||
**⚠️ ATENȚIE:**
|
||||
- Bot-ul are acces la credentials din `.env`
|
||||
- `TELEGRAM_ALLOWED_USER_IDS` TREBUIE configurat!
|
||||
- `TELEGRAM_CHAT_ID` sau `TELEGRAM_ALLOWED_USER_IDS` TREBUIE configurat pentru securitate!
|
||||
- Nu partaja token-ul botului
|
||||
- VM-ul trebuie securizat (firewall, VPN)
|
||||
|
||||
**Best Practices:**
|
||||
```bash
|
||||
# ✅ Bun - doar tu și admin
|
||||
# ✅ Bun - grup autorizat + whitelist individual
|
||||
TELEGRAM_CHAT_ID=-1001234567890
|
||||
TELEGRAM_ALLOWED_USER_IDS=123456789,987654321
|
||||
|
||||
# ❌ Rău - oricine cu acces la bot
|
||||
# ❌ Rău - ambele goale (oricine are acces)
|
||||
TELEGRAM_CHAT_ID=
|
||||
TELEGRAM_ALLOWED_USER_IDS=
|
||||
|
||||
# ✅ Bun - notificări separate de trigger
|
||||
|
||||
Reference in New Issue
Block a user