- Implemented /status command handler in telegram_command_bot.py - Shows real-time P&L, entry/current prices, TP/SL levels, position info - Added TRADING_BOT_URL and API_SECRET_KEY environment variables - Updated docker-compose.telegram-bot.yml with new env vars - Bot connects to trading-bot-v4:3000 API via internal Docker network - Added comprehensive documentation and testing guides - Command displays formatted position info with emojis (profit/loss indicators) - Shows 'No open positions' message when no trades active
173 lines
3.8 KiB
Markdown
173 lines
3.8 KiB
Markdown
# Telegram /status Command - Implementation Summary
|
|
|
|
## ✅ **Feature Complete**
|
|
|
|
You can now send `/status` in your Telegram channel to get real-time information about your open position on Drift Protocol.
|
|
|
|
---
|
|
|
|
## 📊 What You'll See
|
|
|
|
### When No Position Is Open:
|
|
```
|
|
📊 No open positions
|
|
|
|
All clear! Ready for new signals.
|
|
```
|
|
|
|
### When You Have an Open Position:
|
|
```
|
|
🟢 SOL-PERP 📈 LONG
|
|
|
|
💰 P&L: $3.50 (+0.70% account)
|
|
📊 Price Change: +0.07%
|
|
|
|
Entry: $142.5000
|
|
Current: $142.6000
|
|
|
|
Targets:
|
|
TP1: $143.4975 ✅ (if hit)
|
|
TP2: $144.6375 ⏳
|
|
SL: $140.3625
|
|
|
|
Position: $500.00 @ 10x
|
|
Age: 5 min
|
|
```
|
|
|
|
### Legend:
|
|
- 🟢 = Profit | 🔴 = Loss | ⚪ = Breakeven
|
|
- 📈 = Long | 📉 = Short
|
|
- ✅ = Target hit | ⏳ = Pending
|
|
|
|
---
|
|
|
|
## 🚀 How to Use
|
|
|
|
1. Open your Telegram bot chat
|
|
2. Send: `/status`
|
|
3. Get instant position info!
|
|
|
|
You can send it anytime - while trading, after hours, whenever you want to check your position.
|
|
|
|
---
|
|
|
|
## 🔧 What Changed
|
|
|
|
### Files Modified:
|
|
1. **`telegram_command_bot.py`**
|
|
- Added `status_command()` function
|
|
- Fetches data from trading bot API
|
|
- Formats beautiful status messages
|
|
|
|
2. **`docker-compose.telegram-bot.yml`**
|
|
- Added `TRADING_BOT_URL` environment variable
|
|
- Added `API_SECRET_KEY` environment variable
|
|
|
|
3. **`.env.telegram-bot`**
|
|
- Added trading bot URL (internal Docker network)
|
|
- Added API secret key for authentication
|
|
|
|
### New Environment Variables:
|
|
```bash
|
|
TRADING_BOT_URL=http://trading-bot-v4:3000
|
|
API_SECRET_KEY=2a344f0149442c857fb56c038c0c7d1b113883b830bec792c76f1e0efa15d6bb
|
|
```
|
|
|
|
---
|
|
|
|
## ✅ Verification
|
|
|
|
**Container Status:**
|
|
```bash
|
|
docker ps | grep telegram-trade-bot
|
|
# Output: Up About a minute
|
|
```
|
|
|
|
**Bot Logs:**
|
|
```bash
|
|
docker logs telegram-trade-bot --tail 10
|
|
# Shows: ✅ Commands: /status - Show open positions
|
|
```
|
|
|
|
**API Connectivity Test:**
|
|
```bash
|
|
docker exec telegram-trade-bot python3 -c "import requests; r=requests.get('http://trading-bot-v4:3000/api/trading/positions', headers={'Authorization': 'Bearer 2a344f0149442c857fb56c038c0c7d1b113883b830bec792c76f1e0efa15d6bb'}); print(r.status_code)"
|
|
# Output: 200 ✅
|
|
```
|
|
|
|
---
|
|
|
|
## 🎯 Live Example Use Cases
|
|
|
|
### Morning Check:
|
|
```
|
|
You: /status
|
|
Bot: 🟢 SOL-PERP 📈 LONG
|
|
💰 P&L: $8.25 (+1.65% account)
|
|
TP1: $143.50 ✅
|
|
Runner position active!
|
|
```
|
|
|
|
### During Volatile Move:
|
|
```
|
|
You: /status
|
|
Bot: 🔴 SOL-PERP 📈 LONG
|
|
💰 P&L: -$3.75 (-0.75% account)
|
|
Current: $141.80
|
|
SL: $140.36 (still safe!)
|
|
```
|
|
|
|
### Multiple Times Per Day:
|
|
- Check before meetings
|
|
- Monitor during lunch
|
|
- Quick check before bed
|
|
- Anytime you're curious!
|
|
|
|
---
|
|
|
|
## 🔐 Security
|
|
|
|
✅ **Only works in YOUR Telegram chat** (TELEGRAM_CHAT_ID=579304651)
|
|
✅ **Requires API authentication** (API_SECRET_KEY)
|
|
✅ **Internal Docker network** (not exposed to internet)
|
|
✅ **Same security as main trading bot**
|
|
|
|
---
|
|
|
|
## 📝 Available Commands
|
|
|
|
Your Telegram bot now supports:
|
|
|
|
| Command | Description |
|
|
|---------|-------------|
|
|
| `/status` | Show current open position |
|
|
| `/buySOL` | Open long SOL position |
|
|
| `/sellSOL` | Open short SOL position |
|
|
| `/buyBTC` | Open long BTC position |
|
|
| `/sellBTC` | Open short BTC position |
|
|
| `/buyETH` | Open long ETH position |
|
|
| `/sellETH` | Open short ETH position |
|
|
|
|
---
|
|
|
|
## 🎉 Ready to Use!
|
|
|
|
Your Telegram bot is running and ready. Just send `/status` to try it out!
|
|
|
|
**Container:** `telegram-trade-bot` ✅ Running
|
|
**Network:** Connected to `trading-bot-v4` ✅
|
|
**API:** Authenticated and tested ✅
|
|
**Commands:** `/status` handler active ✅
|
|
|
|
---
|
|
|
|
## 📚 Documentation Updated
|
|
|
|
- ✅ `TELEGRAM_BOT_README.md` - Updated with /status usage
|
|
- ✅ `TEST_STATUS_COMMAND.md` - Testing guide
|
|
- ✅ `TELEGRAM_STATUS_IMPLEMENTATION.md` - This file
|
|
|
|
---
|
|
|
|
**Next time you open a position, send `/status` to see it in action!** 🚀
|