import logging
from django.conf import settings

logger = logging.getLogger(__name__)

def send_sms(to_number: str, body: str) -> bool:
    """Send an SMS using Twilio credentials in settings. Returns True on success."""
    try:
        sid = getattr(settings, 'TWILIO_SID', None)
        auth = getattr(settings, 'TWILIO_AUTH', None)
        from_number = getattr(settings, 'TWILIO_FROM', None)
        if not sid or not auth or not from_number:
            logger.warning('Twilio credentials not configured; skipping SMS send')
            return False

        # import here to avoid hard dependency when not configured
        from twilio.rest import Client

        client = Client(sid, auth)
        client.messages.create(body=body, from_=from_number, to=to_number)
        logger.info('SMS sent to %s', to_number)
        return True
    except Exception as e:
        logger.exception('Failed to send SMS to %s: %s', to_number, e)
        return False
