|
@@ -4,6 +4,7 @@ from telegram.ext import ContextTypes
|
|
from .base import InfoCommandsBase
|
|
from .base import InfoCommandsBase
|
|
from src.utils.token_display_formatter import get_formatter
|
|
from src.utils.token_display_formatter import get_formatter
|
|
from src.config.config import Config
|
|
from src.config.config import Config
|
|
|
|
+from datetime import datetime
|
|
|
|
|
|
logger = logging.getLogger(__name__)
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
@@ -47,8 +48,9 @@ class PriceCommands(InfoCommandsBase):
|
|
current_price = float(ticker.get('last') or 0)
|
|
current_price = float(ticker.get('last') or 0)
|
|
price_text_parts.append(f"\n📊 <b>Current Price:</b> {await formatter.format_price_with_symbol(current_price, token)}")
|
|
price_text_parts.append(f"\n📊 <b>Current Price:</b> {await formatter.format_price_with_symbol(current_price, token)}")
|
|
|
|
|
|
- # 24h change
|
|
|
|
- change_24h = float(ticker.get('percentage') or 0)
|
|
|
|
|
|
+ # 24h change - calculated manually for reliability
|
|
|
|
+ prev_close = float(ticker.get('previousClose') or 0)
|
|
|
|
+ change_24h = ((current_price - prev_close) / prev_close * 100) if prev_close else 0
|
|
change_emoji = "🟢" if change_24h >= 0 else "🔴"
|
|
change_emoji = "🟢" if change_24h >= 0 else "🔴"
|
|
price_text_parts.append(f"📈 <b>24h Change:</b> {change_emoji} {change_24h:+.2f}%")
|
|
price_text_parts.append(f"📈 <b>24h Change:</b> {change_emoji} {change_24h:+.2f}%")
|
|
|
|
|
|
@@ -60,6 +62,9 @@ class PriceCommands(InfoCommandsBase):
|
|
# Volume
|
|
# Volume
|
|
volume_24h = float(ticker.get('quoteVolume') or 0)
|
|
volume_24h = float(ticker.get('quoteVolume') or 0)
|
|
price_text_parts.append(f"💎 <b>24h Volume:</b> {await formatter.format_price_with_symbol(volume_24h, token)}")
|
|
price_text_parts.append(f"💎 <b>24h Volume:</b> {await formatter.format_price_with_symbol(volume_24h, token)}")
|
|
|
|
+
|
|
|
|
+ # Add footer with fetch time
|
|
|
|
+ price_text_parts.append(f"\n<i>Last updated: {datetime.now().strftime('%H:%M:%S')}</i>")
|
|
|
|
|
|
final_message = "\n".join(price_text_parts)
|
|
final_message = "\n".join(price_text_parts)
|
|
await context.bot.edit_message_text(
|
|
await context.bot.edit_message_text(
|