# ═══════════════════════════════════════════════════════════════
# 🎮 Craft World - Economy - Telegram Bot
# 
# Desenvolvido por Plum com Qwen
# Telegram: @bondsbtc
# ═══════════════════════════════════════════════════════════════

import requests
import logging
from config import *
from utils import *

logger = logging.getLogger(__name__)

def get_text(key, language=None, **kwargs):
    """Obtém texto traduzido"""
    if language is None:
        language = DEFAULT_LANGUAGE
    
    lang_config = get_language_config(language)
    text = lang_config.get(key, key)
    
    for k, v in kwargs.items():
        text = text.replace('{' + k + '}', str(v))
    
    return text

def send_telegram_message(message, parse_mode='Markdown'):
    """Envia mensagem para Telegram"""
    if not TELEGRAM_ENABLED:
        logger.info(f"Telegram desabilitado: {message[:100]}")
        return False
    
    url = f"https://api.telegram.org/bot{TELEGRAM_BOT_TOKEN}/sendMessage"
    data = {
        'chat_id': TELEGRAM_CHAT_ID,
        'text': message,
        'parse_mode': parse_mode
    }
    
    try:
        response = requests.post(url, json=data, timeout=10)
        response.raise_for_status()
        logger.info("Mensagem enviada para Telegram com sucesso")
        return True
    except requests.exceptions.RequestException as e:
        logger.error(f"Erro ao enviar mensagem Telegram: {e}")
        return False

def send_welcome_message(language=None):
    """Envia mensagem de boas-vindas"""
    if language is None:
        language = DEFAULT_LANGUAGE
    
    message = f"""
✅ *{get_text('bot_name', language)}* - Bot Ativo!

*Versão:* {VERSION}
*Rede:* {NETWORK.upper()}
*Intervalo:* {CHECK_INTERVAL_MINUTES} minutos
*Pools Monitoradas:* 30

👨‍💻 *Desenvolvido por:* {DEVELOPER}
📞 *Suporte:* {TELEGRAM_SUPPORT}

🎮 _Monitoramento de preços iniciado!_
    """
    
    return send_telegram_message(message)

def send_price_alert(alert, language=None):
    """Envia alerta de preço"""
    if language is None:
        language = DEFAULT_LANGUAGE
    
    emoji = get_alert_emoji(alert['priority'])
    direction_emoji = get_direction_emoji(alert['type'])
    
    if 'COMPRA' in alert['type'] or 'BUY' in alert['type']:
        alert_type_text = get_text('alert_buy', language)
        recommendation = get_text('recommendation_buy', language, deviation=f"{abs(alert['deviation_percent']):.1f}")
    elif 'VENDA' in alert['type'] or 'SELL' in alert['type']:
        alert_type_text = get_text('alert_sell', language)
        recommendation = get_text('recommendation_sell', language, deviation=f"{alert['deviation_percent']:.1f}")
    else:
        alert_type_text = get_text('alert_above_max', language)
        recommendation = get_text('recommendation_above', language)
    
    priority_text = get_text(alert['priority'], language)
    timestamp_formatted = format_timestamp(alert['timestamp'], language)
    
    message = f"""
{emoji} *{get_text('alert_title', language, bot_name=get_text('bot_name', language))}* {direction_emoji}

*{get_text('resource', language)}:* {alert['symbol']}
*{get_text('market_price', language)}:* ${alert['market_price']:.8f}
*{get_text('production_cost', language)}:* ${alert['production_cost']:.8f}
*{get_text('direction', language)}:* {alert_type_text}
*{get_text('deviation', language)}:* {alert['deviation_percent']:.1f}%
*{get_text('priority', language)}:* {priority_text}
*{get_text('timestamp', language)}:* {timestamp_formatted}

💡 _{recommendation}_

{get_text('warning_game', language)}

────────────────────
👨‍💻 {DEVELOPER} | {TELEGRAM_SUPPORT}
    """
    
    return send_telegram_message(message)