File size: 3,635 Bytes
dbb6a39
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Phone Verification</title>
    <style>
        #progressBar {
            width: 100%;
            background-color: #ddd;
        }
        #progress {
            width: 0%;
            height: 30px;
            background-color: #4CAF50;
            text-align: center;
            line-height: 30px;
            color: white;
        }
    </style>
</head>
<body>
    <input type="file" id="fileInput" accept=".txt">
    <button id="verifyButton">Verify Phones</button>
    <a id="downloadLink" style="display: none;">Download Verified Phones</a>
    <div id="progressBar">
        <div id="progress">0%</div>
    </div>

    <script>
        document.getElementById('verifyButton').addEventListener('click', function() {
            const fileInput = document.getElementById('fileInput');
            const file = fileInput.files[0];
            if (!file) {
                alert('Please select a file.');
                return;
            }

            const reader = new FileReader();
            reader.onload = function(event) {
                const text = event.target.result;
                const phones = text.split('\n').map(phone => phone.trim()).filter(phone => phone);
                verifyPhones(phones, 1000); // 1000 миллисекунд (1 секунда) задержка
            };
            reader.readAsText(file);
        });

        async function verifyPhones(phones, delay) {
            const totalPhones = phones.length;
            const progressBar = document.getElementById('progress');
            const progressText = document.getElementById('progress').textContent;
            const verifiedPhones = [];

            for (let i = 0; i < totalPhones; i++) {
                const phone = phones[i];
                try {
                    const response = await fetch('https://api.green-api.com/waInstance1101952913/checkWhatsapp/fb4986a9d9cb40ef9be6c7b08cb9c98b7a3b1dc8c6834b0b92', {
                        method: 'POST',
                        headers: {
                            'Content-Type': 'application/json'
                        },
                        body: JSON.stringify({ phoneNumber: phone })
                    });
                    const data = await response.json();
                    if (data.existsWhatsapp) {
                        console.log(`Phone ${phone} exists in WhatsApp.`);
                        verifiedPhones.push(phone);
                    } else {
                        console.log(`Phone ${phone} does not exist in WhatsApp.`);
                    }
                } catch (error) {
                    console.error(`Error verifying phone ${phone}:`, error);
                }

                const progress = ((i + 1) / totalPhones) * 100;
                progressBar.style.width = `${progress}%`;
                progressBar.textContent = `${progress.toFixed(2)}%`;

                if (i < totalPhones - 1) {
                    await new Promise(resolve => setTimeout(resolve, delay));
                }
            }

            const verifiedText = verifiedPhones.join('\n');
            const blob = new Blob([verifiedText], { type: 'text/plain' });
            const url = URL.createObjectURL(blob);
            const downloadLink = document.getElementById('downloadLink');
            downloadLink.href = url;
            downloadLink.download = 'verified_phones.txt';
            downloadLink.style.display = 'block';
        }
    </script>
</body>
</html>