|
@@ -169,8 +169,7 @@ Type /help for detailed command information.
|
|
|
|
|
|
For support, contact your bot administrator.
|
|
For support, contact your bot administrator.
|
|
""".format(
|
|
""".format(
|
|
- symbol=Config.DEFAULT_TRADING_SYMBOL,
|
|
|
|
- amount=Config.DEFAULT_TRADE_AMOUNT,
|
|
|
|
|
|
+ symbol=Config.DEFAULT_TRADING_TOKEN,
|
|
network="Testnet" if Config.HYPERLIQUID_TESTNET else "Mainnet",
|
|
network="Testnet" if Config.HYPERLIQUID_TESTNET else "Mainnet",
|
|
risk_enabled=Config.RISK_MANAGEMENT_ENABLED,
|
|
risk_enabled=Config.RISK_MANAGEMENT_ENABLED,
|
|
stop_loss=Config.STOP_LOSS_PERCENTAGE,
|
|
stop_loss=Config.STOP_LOSS_PERCENTAGE,
|
|
@@ -275,8 +274,7 @@ For support, contact your bot administrator.
|
|
|
|
|
|
For support, contact your bot administrator.
|
|
For support, contact your bot administrator.
|
|
""".format(
|
|
""".format(
|
|
- symbol=Config.DEFAULT_TRADING_SYMBOL,
|
|
|
|
- amount=Config.DEFAULT_TRADE_AMOUNT,
|
|
|
|
|
|
+ symbol=Config.DEFAULT_TRADING_TOKEN,
|
|
network="Testnet" if Config.HYPERLIQUID_TESTNET else "Mainnet",
|
|
network="Testnet" if Config.HYPERLIQUID_TESTNET else "Mainnet",
|
|
risk_enabled=Config.RISK_MANAGEMENT_ENABLED,
|
|
risk_enabled=Config.RISK_MANAGEMENT_ENABLED,
|
|
stop_loss=Config.STOP_LOSS_PERCENTAGE,
|
|
stop_loss=Config.STOP_LOSS_PERCENTAGE,
|
|
@@ -504,10 +502,12 @@ For support, contact your bot administrator.
|
|
|
|
|
|
# Check if token is provided as argument
|
|
# Check if token is provided as argument
|
|
if context.args and len(context.args) >= 1:
|
|
if context.args and len(context.args) >= 1:
|
|
- symbol = context.args[0].upper()
|
|
|
|
|
|
+ token = context.args[0].upper()
|
|
else:
|
|
else:
|
|
- symbol = Config.DEFAULT_TRADING_SYMBOL
|
|
|
|
|
|
+ token = Config.DEFAULT_TRADING_TOKEN
|
|
|
|
|
|
|
|
+ # Convert token to full symbol format for API
|
|
|
|
+ symbol = f"{token}/USDC:USDC"
|
|
market_data = self.client.get_market_data(symbol)
|
|
market_data = self.client.get_market_data(symbol)
|
|
|
|
|
|
if market_data and market_data.get('ticker'):
|
|
if market_data and market_data.get('ticker'):
|
|
@@ -521,7 +521,7 @@ For support, contact your bot administrator.
|
|
low_24h = float(ticker.get('low') or 0)
|
|
low_24h = float(ticker.get('low') or 0)
|
|
volume_24h = ticker.get('baseVolume') or ticker.get('volume') or 'N/A'
|
|
volume_24h = ticker.get('baseVolume') or ticker.get('volume') or 'N/A'
|
|
|
|
|
|
- market_text = f"📊 <b>Market Data - {symbol}</b>\n\n"
|
|
|
|
|
|
+ market_text = f"📊 <b>Market Data - {token}</b>\n\n"
|
|
|
|
|
|
if current_price > 0:
|
|
if current_price > 0:
|
|
market_text += f"💵 <b>Current Price:</b> ${current_price:,.2f}\n"
|
|
market_text += f"💵 <b>Current Price:</b> ${current_price:,.2f}\n"
|
|
@@ -567,14 +567,14 @@ For support, contact your bot administrator.
|
|
market_text += f"📋 <b>Orderbook:</b> Not available\n"
|
|
market_text += f"📋 <b>Orderbook:</b> Not available\n"
|
|
|
|
|
|
# Add usage hint
|
|
# Add usage hint
|
|
- market_text += f"\n💡 <b>Usage:</b> <code>/market {symbol}</code> or <code>/market</code> for default"
|
|
|
|
|
|
+ market_text += f"\n💡 <b>Usage:</b> <code>/market {token}</code> or <code>/market</code> for default"
|
|
|
|
|
|
except (ValueError, TypeError) as e:
|
|
except (ValueError, TypeError) as e:
|
|
market_text = f"❌ <b>Error parsing market data</b>\n\n"
|
|
market_text = f"❌ <b>Error parsing market data</b>\n\n"
|
|
market_text += f"🔧 Raw data received but couldn't parse values.\n"
|
|
market_text += f"🔧 Raw data received but couldn't parse values.\n"
|
|
market_text += f"📞 Please try again or contact support if this persists."
|
|
market_text += f"📞 Please try again or contact support if this persists."
|
|
else:
|
|
else:
|
|
- market_text = f"❌ <b>Could not fetch market data for {symbol}</b>\n\n"
|
|
|
|
|
|
+ market_text = f"❌ <b>Could not fetch market data for {token}</b>\n\n"
|
|
market_text += f"🔄 Please try again in a moment.\n"
|
|
market_text += f"🔄 Please try again in a moment.\n"
|
|
market_text += f"🌐 Check your network connection.\n"
|
|
market_text += f"🌐 Check your network connection.\n"
|
|
market_text += f"📡 API may be temporarily unavailable.\n\n"
|
|
market_text += f"📡 API may be temporarily unavailable.\n\n"
|
|
@@ -590,10 +590,12 @@ For support, contact your bot administrator.
|
|
|
|
|
|
# Check if token is provided as argument
|
|
# Check if token is provided as argument
|
|
if context.args and len(context.args) >= 1:
|
|
if context.args and len(context.args) >= 1:
|
|
- symbol = context.args[0].upper()
|
|
|
|
|
|
+ token = context.args[0].upper()
|
|
else:
|
|
else:
|
|
- symbol = Config.DEFAULT_TRADING_SYMBOL
|
|
|
|
|
|
+ token = Config.DEFAULT_TRADING_TOKEN
|
|
|
|
|
|
|
|
+ # Convert token to full symbol format for API
|
|
|
|
+ symbol = f"{token}/USDC:USDC"
|
|
market_data = self.client.get_market_data(symbol)
|
|
market_data = self.client.get_market_data(symbol)
|
|
|
|
|
|
if market_data and market_data.get('ticker'):
|
|
if market_data and market_data.get('ticker'):
|
|
@@ -603,7 +605,7 @@ For support, contact your bot administrator.
|
|
|
|
|
|
if price_value is not None:
|
|
if price_value is not None:
|
|
price = float(price_value)
|
|
price = float(price_value)
|
|
- price_text = f"💵 <b>{symbol}</b>: ${price:,.2f}"
|
|
|
|
|
|
+ price_text = f"💵 <b>{token}</b>: ${price:,.2f}"
|
|
|
|
|
|
# Add timestamp
|
|
# Add timestamp
|
|
timestamp = datetime.now().strftime('%H:%M:%S')
|
|
timestamp = datetime.now().strftime('%H:%M:%S')
|
|
@@ -1100,7 +1102,7 @@ For support, contact your bot administrator.
|
|
await self.send_message(
|
|
await self.send_message(
|
|
"🤖 <b>Manual Trading Bot Started</b>\n\n"
|
|
"🤖 <b>Manual Trading Bot Started</b>\n\n"
|
|
f"✅ Connected to Hyperliquid {'Testnet' if Config.HYPERLIQUID_TESTNET else 'Mainnet'}\n"
|
|
f"✅ Connected to Hyperliquid {'Testnet' if Config.HYPERLIQUID_TESTNET else 'Mainnet'}\n"
|
|
- f"📊 Default Symbol: {Config.DEFAULT_TRADING_SYMBOL}\n"
|
|
|
|
|
|
+ f"📊 Default Symbol: {Config.DEFAULT_TRADING_TOKEN}\n"
|
|
f"📱 Manual trading ready!\n"
|
|
f"📱 Manual trading ready!\n"
|
|
f"🔄 Order monitoring: Active ({Config.BOT_HEARTBEAT_SECONDS}s interval)\n"
|
|
f"🔄 Order monitoring: Active ({Config.BOT_HEARTBEAT_SECONDS}s interval)\n"
|
|
f"🔄 External trade monitoring: Active\n"
|
|
f"🔄 External trade monitoring: Active\n"
|