<?php
// bot.php - ملف البوت الرئيسي

// إعدادات البوت
$botToken = "8626802915:AAHNBe25mTO6JJLyPEmTasPqbWbCNtEJ5kE";
$website = "https://api.telegram.org/bot{$botToken}";

// إعدادات البريد الإلكتروني
$toEmail = "mansoa162@gmail.com";
$fromEmail = "mansoa162@gmail.com";
$appPassword = "smys tuhc atmo mshy";

// استقبال التحديثات من تيليجرام
$content = file_get_contents("php://input");
$update = json_decode($content, TRUE);

// التحقق من وجود رسالة
if(isset($update['message'])) {
    $message = $update['message'];
    $chatId = $message['chat']['id'];
    
    // معلومات المرسل
    $fromUser = $message['from'];
    $senderName = $fromUser['first_name'] . ' ' . ($fromUser['last_name'] ?? '');
    $senderUsername = $fromUser['username'] ?? 'بدون معرف';
    
    // نوع الرسالة
    $messageType = '';
    $messageContent = '';
    
    if(isset($message['text'])) {
        $messageType = 'نص';
        $messageContent = $message['text'];
    } elseif(isset($message['photo'])) {
        $messageType = 'صورة';
        $messageContent = isset($message['caption']) ? $message['caption'] : 'بدون وصف';
    } elseif(isset($message['document'])) {
        $messageType = 'ملف';
        $messageContent = $message['document']['file_name'] ?? 'ملف بدون اسم';
    } elseif(isset($message['video'])) {
        $messageType = 'فيديو';
        $messageContent = isset($message['caption']) ? $message['caption'] : 'بدون وصف';
    } elseif(isset($message['audio'])) {
        $messageType = 'صوت';
        $messageContent = isset($message['caption']) ? $message['caption'] : 'بدون وصف';
    } elseif(isset($message['sticker'])) {
        $messageType = 'ملصق';
        $messageContent = $message['sticker']['emoji'] ?? 'بدون وصف';
    } else {
        $messageType = 'أخرى';
        $messageContent = 'نوع رسالة غير معروف';
    }
    
    // إرسال البريد الإلكتروني
    $subject = "رسالة جديدة من بوت تيليجرام - {$messageType}";
    
    $emailBody = "
    <html>
    <head>
        <style>
            body { font-family: Arial, sans-serif; }
            .container { padding: 20px; background-color: #f5f5f5; }
            .header { background-color: #0088cc; color: white; padding: 15px; }
            .content { background-color: white; padding: 20px; margin-top: 20px; }
            .info { margin-bottom: 10px; }
            .label { font-weight: bold; color: #666; }
            .message-content { 
                background-color: #f9f9f9; 
                padding: 15px; 
                border-left: 4px solid #0088cc;
                margin-top: 15px;
            }
        </style>
    </head>
    <body>
        <div class='container'>
            <div class='header'>
                <h2>📨 رسالة جديدة من بوت تيليجرام</h2>
            </div>
            <div class='content'>
                <div class='info'>
                    <span class='label'>👤 اسم المرسل:</span> {$senderName}
                </div>
                <div class='info'>
                    <span class='label'>📱 معرف المستخدم:</span> @{$senderUsername}
                </div>
                <div class='info'>
                    <span class='label'>📝 نوع الرسالة:</span> {$messageType}
                </div>
                <div class='info'>
                    <span class='label'>🕐 وقت الإرسال:</span> " . date('Y-m-d H:i:s', $message['date']) . "
                </div>
                <div class='message-content'>
                    <strong>محتوى الرسالة:</strong><br>
                    " . htmlspecialchars($messageContent) . "
                </div>
            </div>
        </div>
    </body>
    </html>";
    
    $headers = "MIME-Version: 1.0" . "\r\n";
    $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
    $headers .= "From: {$fromEmail}" . "\r\n";
    
    // إرسال البريد باستخدام SMTP
    if(sendEmailWithSMTP($toEmail, $subject, $emailBody, $fromEmail, $appPassword)) {
        // إرسال تأكيد للمستخدم
        sendMessage($chatId, "✅ تم إرسال رسالتك إلى البريد الإلكتروني بنجاح!");
    } else {
        // في حالة فشل الإرسال
        sendMessage($chatId, "❌ عذراً، حدث خطأ في إرسال الرسالة. حاول مرة أخرى.");
    }
}

// دالة إرسال رسالة للمستخدم
function sendMessage($chatId, $text) {
    global $website;
    $url = $website . "/sendMessage?chat_id=" . $chatId . "&text=" . urlencode($text);
    file_get_contents($url);
}

// دالة إرسال البريد باستخدام SMTP
function sendEmailWithSMTP($to, $subject, $htmlContent, $from, $password) {
    $host = "smtp.gmail.com";
    $port = 587;
    $username = $from;
    
    $headers = "MIME-Version: 1.0" . "\r\n";
    $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
    $headers .= "From: {$from}" . "\r\n";
    
    $smtpConnect = fsockopen($host, $port, $errno, $errstr, 30);
    
    if(!$smtpConnect) {
        return false;
    }
    
    $serverResponse = fgets($smtpConnect, 515);
    
    // بدء اتصال SMTP
    fputs($smtpConnect, "EHLO " . $host . "\r\n");
    $serverResponse = fgets($smtpConnect, 515);
    
    // بدء TLS
    fputs($smtpConnect, "STARTTLS\r\n");
    $serverResponse = fgets($smtpConnect, 515);
    
    // إعادة الاتصال مع TLS
    $smtpConnect = fsockopen("tls://" . $host, 465, $errno, $errstr, 30);
    
    fputs($smtpConnect, "EHLO " . $host . "\r\n");
    $serverResponse = fgets($smtpConnect, 515);
    
    // تسجيل الدخول
    fputs($smtpConnect, "AUTH LOGIN\r\n");
    $serverResponse = fgets($smtpConnect, 515);
    
    fputs($smtpConnect, base64_encode($username) . "\r\n");
    $serverResponse = fgets($smtpConnect, 515);
    
    fputs($smtpConnect, base64_encode($password) . "\r\n");
    $serverResponse = fgets($smtpConnect, 515);
    
    // إرسال البريد
    fputs($smtpConnect, "MAIL FROM: <{$from}>\r\n");
    $serverResponse = fgets($smtpConnect, 515);
    
    fputs($smtpConnect, "RCPT TO: <{$to}>\r\n");
    $serverResponse = fgets($smtpConnect, 515);
    
    fputs($smtpConnect, "DATA\r\n");
    $serverResponse = fgets($smtpConnect, 515);
    
    $fullEmail = "Subject: {$subject}\r\n";
    $fullEmail .= $headers;
    $fullEmail .= "\r\n";
    $fullEmail .= $htmlContent;
    $fullEmail .= "\r\n.\r\n";
    
    fputs($smtpConnect, $fullEmail);
    $serverResponse = fgets($smtpConnect, 515);
    
    // إغلاق الاتصال
    fputs($smtpConnect, "QUIT\r\n");
    $serverResponse = fgets($smtpConnect, 515);
    
    fclose($smtpConnect);
    
    return true;
}
?>