Update app.py
Browse files
app.py
CHANGED
@@ -120,7 +120,7 @@ def upload_file():
|
|
120 |
def get_image():
|
121 |
return send_from_directory(UPLOAD_FOLDER, IMAGE_FILENAME)
|
122 |
|
123 |
-
@app.route('/
|
124 |
def index():
|
125 |
html = '''
|
126 |
<!DOCTYPE html>
|
@@ -227,8 +227,6 @@ def index():
|
|
227 |
document.getElementById('message').innerText = data.message;
|
228 |
var image = document.getElementById("cameraImage");
|
229 |
image.src = "/image?" + new Date().getTime();
|
230 |
-
document.getElementById('fileUrlInput').value = data.file_url;
|
231 |
-
document.getElementById('fileNameInput').value = data.file_name;
|
232 |
})
|
233 |
.catch(error => {
|
234 |
document.getElementById('message').innerText = 'Error: ' + error.message;
|
@@ -240,8 +238,6 @@ def index():
|
|
240 |
const message = document.getElementById('messageInput').value;
|
241 |
const minDelay = parseInt(document.getElementById('minDelayInput').value) || 500;
|
242 |
const maxDelay = parseInt(document.getElementById('maxDelayInput').value) || 10000;
|
243 |
-
const fileUrl = document.getElementById('fileUrlInput').value;
|
244 |
-
const fileName = document.getElementById('fileNameInput').value;
|
245 |
|
246 |
if (!apiKey) {
|
247 |
alert('Please enter your API key.');
|
@@ -255,10 +251,6 @@ def index():
|
|
255 |
alert('Min delay must be less than max delay.');
|
256 |
return;
|
257 |
}
|
258 |
-
if (!fileUrl || !fileName) {
|
259 |
-
alert('Please upload an image.');
|
260 |
-
return;
|
261 |
-
}
|
262 |
|
263 |
const fileInput = document.getElementById('fileInput');
|
264 |
const file = fileInput.files[0];
|
@@ -270,27 +262,25 @@ def index():
|
|
270 |
reader.onload = function(event) {
|
271 |
const text = event.target.result;
|
272 |
const phones = text.split('\n').map(phone => phone.trim()).filter(phone => phone);
|
273 |
-
sendMessages(phones, apiKey, message, minDelay, maxDelay
|
274 |
};
|
275 |
reader.readAsText(file);
|
276 |
});
|
277 |
|
278 |
-
async function sendMessages(phones, apiKey, message, minDelay, maxDelay
|
279 |
const totalPhones = phones.length;
|
280 |
const progressBar = document.getElementById('progress');
|
281 |
for (let i = 0; i < totalPhones; i++) {
|
282 |
const phone = phones[i];
|
283 |
try {
|
284 |
-
const response = await fetch(`https://api.green-api.com/waInstance1101952913/
|
285 |
method: 'POST',
|
286 |
headers: {
|
287 |
'Content-Type': 'application/json'
|
288 |
},
|
289 |
body: JSON.stringify({
|
290 |
chatId: `${phone}@c.us`,
|
291 |
-
|
292 |
-
fileName: fileName,
|
293 |
-
caption: message
|
294 |
})
|
295 |
});
|
296 |
if (!response.ok) {
|
@@ -328,7 +318,6 @@ def index():
|
|
328 |
|
329 |
|
330 |
|
331 |
-
|
332 |
# Маршрут для обработки GET-запроса
|
333 |
@app.route('/add_contact', methods=['GET'])
|
334 |
def add_contact():
|
|
|
120 |
def get_image():
|
121 |
return send_from_directory(UPLOAD_FOLDER, IMAGE_FILENAME)
|
122 |
|
123 |
+
@app.route('/')
|
124 |
def index():
|
125 |
html = '''
|
126 |
<!DOCTYPE html>
|
|
|
227 |
document.getElementById('message').innerText = data.message;
|
228 |
var image = document.getElementById("cameraImage");
|
229 |
image.src = "/image?" + new Date().getTime();
|
|
|
|
|
230 |
})
|
231 |
.catch(error => {
|
232 |
document.getElementById('message').innerText = 'Error: ' + error.message;
|
|
|
238 |
const message = document.getElementById('messageInput').value;
|
239 |
const minDelay = parseInt(document.getElementById('minDelayInput').value) || 500;
|
240 |
const maxDelay = parseInt(document.getElementById('maxDelayInput').value) || 10000;
|
|
|
|
|
241 |
|
242 |
if (!apiKey) {
|
243 |
alert('Please enter your API key.');
|
|
|
251 |
alert('Min delay must be less than max delay.');
|
252 |
return;
|
253 |
}
|
|
|
|
|
|
|
|
|
254 |
|
255 |
const fileInput = document.getElementById('fileInput');
|
256 |
const file = fileInput.files[0];
|
|
|
262 |
reader.onload = function(event) {
|
263 |
const text = event.target.result;
|
264 |
const phones = text.split('\n').map(phone => phone.trim()).filter(phone => phone);
|
265 |
+
sendMessages(phones, apiKey, message, minDelay, maxDelay);
|
266 |
};
|
267 |
reader.readAsText(file);
|
268 |
});
|
269 |
|
270 |
+
async function sendMessages(phones, apiKey, message, minDelay, maxDelay) {
|
271 |
const totalPhones = phones.length;
|
272 |
const progressBar = document.getElementById('progress');
|
273 |
for (let i = 0; i < totalPhones; i++) {
|
274 |
const phone = phones[i];
|
275 |
try {
|
276 |
+
const response = await fetch(`https://api.green-api.com/waInstance1101952913/sendMessage/${apiKey}`, {
|
277 |
method: 'POST',
|
278 |
headers: {
|
279 |
'Content-Type': 'application/json'
|
280 |
},
|
281 |
body: JSON.stringify({
|
282 |
chatId: `${phone}@c.us`,
|
283 |
+
message: message
|
|
|
|
|
284 |
})
|
285 |
});
|
286 |
if (!response.ok) {
|
|
|
318 |
|
319 |
|
320 |
|
|
|
321 |
# Маршрут для обработки GET-запроса
|
322 |
@app.route('/add_contact', methods=['GET'])
|
323 |
def add_contact():
|