#!/usr/bin/env python3 """ WhatsApp Test Script """ import os from dotenv import load_dotenv from twilio.rest import Client from twilio.base.exceptions import TwilioException load_dotenv() def test_whatsapp_connection(): """Test WhatsApp connection and provide opt-in instructions""" account_sid = os.getenv("TWILIO_ACCOUNT_SID") auth_token = os.getenv("TWILIO_AUTH_TOKEN") from_number = os.getenv("TWILIO_WHATSAPP_NUMBER") to_number = os.getenv("WHATSAPP_TO_NUMBER") print("🔍 WhatsApp Configuration Check:") print(f" Account SID: {account_sid[:10]}..." if account_sid else "❌ Not set") print(f" Auth Token: {'✅ Set' if auth_token else '❌ Not set'}") print(f" From Number: {from_number}") print(f" To Number: {to_number}") print() if not all([account_sid, auth_token, from_number, to_number]): print("❌ Missing required environment variables") return try: client = Client(account_sid, auth_token) # Test message test_message = "🚀 Email Alerts System Test\n\nThis is a test message to verify WhatsApp connectivity." print("📱 Sending test WhatsApp message...") message = client.messages.create( from_=f"whatsapp:{from_number}", body=test_message, to=f"whatsapp:{to_number}" ) print(f"✅ Test message sent successfully!") print(f" Message SID: {message.sid}") print(f" Status: {message.status}") print() print("📋 If you don't receive the message, you need to opt-in:") print(f" 1. Open WhatsApp on your phone") print(f" 2. Send 'join ' to {from_number}") print(f" 3. Or send any message to {from_number} to start the conversation") print() print("🔗 Twilio WhatsApp Setup Guide:") print(" https://www.twilio.com/docs/whatsapp/quickstart/python") except TwilioException as e: print(f"❌ Twilio Error: {e}") print() print("🔧 Troubleshooting:") print(" 1. Check your Twilio account is active") print(" 2. Verify WhatsApp Business API is enabled") print(" 3. Ensure the phone numbers are in correct format (+1234567890)") print(" 4. Check if you need to opt-in to receive messages") if __name__ == "__main__": test_whatsapp_connection()