refactor: Standardize CLP Manager and Hedger modules & cleanup

- **clp_manager.py**: Renamed from 'uniswap_manager.py'. Standardized logic for Uniswap V3 liquidity provision.
- **clp_hedger.py**: Renamed from 'unified_hedger.py'. Consolidated hedging logic including Delta Calculation fixes, EAC (Edge Avoidance), and Fishing order implementation.
- **Cleanup**: Removed legacy 'aerodrome' folder and tools.
- **Monitoring**: Added Telegram monitoring scripts.
- **Config**: Updated gitignore to exclude market data CSVs.
This commit is contained in:
2025-12-31 11:09:33 +01:00
parent 69fbf389c8
commit b22fdcf741
31 changed files with 3499 additions and 6869 deletions

109
tools/telegram_setup.py Normal file
View File

@ -0,0 +1,109 @@
#!/usr/bin/env python3
"""
Setup script for Telegram Bot notifications
Helps users create a Telegram bot and get required credentials
"""
import webbrowser
import time
def print_instructions():
"""Print setup instructions"""
print("🤖 TELEGRAM BOT SETUP INSTRUCTIONS")
print("=" * 50)
print()
print("1⃣ CREATE YOUR TELEGRAM BOT:")
print(" • Open Telegram and search for @BotFather")
print(" • Send: /newbot")
print(" • Choose a name for your bot")
print(" • Choose a username (must end with 'bot')")
print(" • BotFather will give you a HTTP API token")
print(" • Copy this token (it looks like: 123456789:ABCdefGHIjklMNOpqrsTUVwxyz)")
print()
print("2⃣ GET YOUR CHAT ID:")
print(" • Send a message to your new bot first (any message)")
print(" • Your bot will not work if you haven't messaged it first")
print(" • Use the script below to get your Chat ID")
print()
print("3⃣ CONFIGURE ENVIRONMENT:")
print(" • Add to your .env file:")
print(" TELEGRAM_MONITOR_ENABLED=True")
print(" TELEGRAM_BOT_TOKEN=your_bot_token_here")
print(" TELEGRAM_CHAT_ID=your_chat_id_here")
print()
print("4⃣ RUN THE MONITOR:")
print(" • python tools/telegram_monitor.py")
print()
print("=" * 50)
def get_chat_id():
"""Get chat ID using bot token"""
print("🔍 CHAT ID FINDER")
print("-" * 20)
token = input("Enter your bot token: ").strip()
if not token:
print("❌ No token provided")
return
try:
import requests
import json
url = f"https://api.telegram.org/bot{token}/getUpdates"
response = requests.get(url, timeout=10)
data = response.json()
if data.get('ok'):
updates = data.get('result', [])
if updates:
chat_id = updates[-1]['message']['chat']['id']
print(f"✅ Your Chat ID: {chat_id}")
print()
print("Add this to your .env file:")
print(f"TELEGRAM_CHAT_ID={chat_id}")
else:
print("❌ No messages found")
print("Send a message to your bot first, then try again")
else:
print(f"❌ Error: {data.get('description', 'Unknown error')}")
except Exception as e:
print(f"❌ Error getting Chat ID: {e}")
def main():
"""Main setup menu"""
print("🤖 CLP TELEGRAM NOTIFICATION SETUP")
print("=" * 40)
print()
while True:
print("Choose an option:")
print("1. Show setup instructions")
print("2. Get Chat ID")
print("3. Open BotFather (to create bot)")
print("4. Exit")
print()
choice = input("Enter choice (1-4): ").strip()
if choice == '1':
print_instructions()
elif choice == '2':
get_chat_id()
elif choice == '3':
print("Opening BotFather in Telegram...")
try:
webbrowser.open('https://t.me/BotFather')
except:
print("Could not open browser. Go to https://t.me/BotFather manually")
elif choice == '4':
print("Goodbye! 🚀")
break
else:
print("Invalid choice. Try again.")
print("\n" + "=" * 40 + "\n")
if __name__ == "__main__":
main()