Spaces:
test-sj-crm
/
Runtime error

File size: 5,335 Bytes
7b9983c
 
 
 
 
 
95671ea
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
acf4a1d
95671ea
acf4a1d
95671ea
acf4a1d
 
 
 
95671ea
 
 
 
 
acf4a1d
95671ea
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7b9983c
 
3af1cef
45cc5c4
95671ea
 
 
 
 
7b9983c
3af1cef
cc5f9f7
7b9983c
 
 
acf4a1d
 
 
 
 
 
7b9983c
 
 
 
 
 
 
 
 
 
 
cc5f9f7
7b9983c
 
 
 
acf4a1d
95671ea
 
 
7b9983c
95671ea
 
7b9983c
 
acf4a1d
7b9983c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
95671ea
 
 
 
 
7b9983c
 
 
 
 
 
 
 
 
 
95671ea
7b9983c
 
 
 
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
<!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>
        body {
            font-family: Arial, sans-serif;
            text-align: center;
            background-color: #f0f0f0;
            margin: 0;
            padding: 0;
        }
        h1 {
            background-color: #4CAF50;
            color: white;
            padding: 20px;
            margin: 0;
            border-bottom: 2px solid #388E3C;
        }
        #progressBarContainer {
            width: 80%;
            margin: 20px auto;
        }
        #progressBar {
            width: 100%;
            background-color: #ddd;
        }
        #progress {
            width: 0%;
            height: 30px;
            background-color: #4CAF50;
            text-align: center;
            line-height: 30px;
            color: white;
        }
        #apiKeyInput, #fileInput, #verifyButton {
            margin-top: 20px;
            padding: 10px;
            font-size: 16px;
            border: 1px solid #ccc;
            border-radius: 5px;
        }
        #verifyButton {
            color: white;
            background-color: #4CAF50;
            border: none;
            cursor: pointer;
        }
        #verifyButton:hover {
            background-color: #388E3C;
        }
        #downloadLink {
            display: inline-block;
            margin-top: 20px;
            padding: 10px 20px;
            font-size: 16px;
            color: white;
            background-color: #4CAF50;
            text-decoration: none;
            border-radius: 5px;
        }
        #downloadLink:hover {
            background-color: #388E3C;
        }
    </style>
</head>
<body>
    <h1>Верификация телефонов</h1>
    <input type="text" id="apiKeyInput" placeholder="Введите API ключ">
    <div id="progressBarContainer">
        <div id="progressBar">
            <div id="progress">0%</div>
        </div>
    </div>
    <input type="file" id="fileInput" accept=".txt">
    <button id="verifyButton">Проверить наличие WhatsApp</button>
    <a id="downloadLink" style="display: none;">Скачать номера с WhatsApp</a>

    <script>
        document.getElementById('verifyButton').addEventListener('click', function() {
            const apiKey = document.getElementById('apiKeyInput').value;
            if (!apiKey) {
                alert('Please enter your API key.');
                return;
            }

            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, apiKey, 500); // 1000 миллисекунд (1 секунда) задержка
            };
            reader.readAsText(file);
        });

        async function verifyPhones(phones, apiKey, 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/${apiKey}`, {
                        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 = 'inline-block';
        }
    </script>
</body>
</html>