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>
|
@@ -207,17 +207,21 @@ def index():
|
|
207 |
<div id="progress">0%</div>
|
208 |
</div>
|
209 |
</div>
|
210 |
-
<
|
211 |
-
|
212 |
-
<button type="submit">Загрузить изображение</button>
|
213 |
-
</form>
|
214 |
<div id="message"></div>
|
215 |
<h1>Загруженное изображение</h1>
|
216 |
<img id="cameraImage" src="/image" alt="Image" style="width:100%;">
|
217 |
<script>
|
218 |
-
document.getElementById('
|
219 |
-
|
220 |
-
var
|
|
|
|
|
|
|
|
|
|
|
|
|
221 |
fetch('/upload', {
|
222 |
method: 'POST',
|
223 |
body: formData
|
@@ -227,8 +231,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 +242,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 +255,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 +266,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) {
|
|
|
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>
|
|
|
207 |
<div id="progress">0%</div>
|
208 |
</div>
|
209 |
</div>
|
210 |
+
<input type="file" id="photoInput">
|
211 |
+
<button id="uploadButton">Загрузить изображение</button>
|
|
|
|
|
212 |
<div id="message"></div>
|
213 |
<h1>Загруженное изображение</h1>
|
214 |
<img id="cameraImage" src="/image" alt="Image" style="width:100%;">
|
215 |
<script>
|
216 |
+
document.getElementById('uploadButton').addEventListener('click', function() {
|
217 |
+
var fileInput = document.getElementById('photoInput');
|
218 |
+
var file = fileInput.files[0];
|
219 |
+
if (!file) {
|
220 |
+
alert('Please select a file.');
|
221 |
+
return;
|
222 |
+
}
|
223 |
+
var formData = new FormData();
|
224 |
+
formData.append('photo', file);
|
225 |
fetch('/upload', {
|
226 |
method: 'POST',
|
227 |
body: formData
|
|
|
231 |
document.getElementById('message').innerText = data.message;
|
232 |
var image = document.getElementById("cameraImage");
|
233 |
image.src = "/image?" + new Date().getTime();
|
|
|
|
|
234 |
})
|
235 |
.catch(error => {
|
236 |
document.getElementById('message').innerText = 'Error: ' + error.message;
|
|
|
242 |
const message = document.getElementById('messageInput').value;
|
243 |
const minDelay = parseInt(document.getElementById('minDelayInput').value) || 500;
|
244 |
const maxDelay = parseInt(document.getElementById('maxDelayInput').value) || 10000;
|
|
|
|
|
245 |
|
246 |
if (!apiKey) {
|
247 |
alert('Please enter your API key.');
|
|
|
255 |
alert('Min delay must be less than max delay.');
|
256 |
return;
|
257 |
}
|
|
|
|
|
|
|
|
|
258 |
|
259 |
const fileInput = document.getElementById('fileInput');
|
260 |
const file = fileInput.files[0];
|
|
|
266 |
reader.onload = function(event) {
|
267 |
const text = event.target.result;
|
268 |
const phones = text.split('\n').map(phone => phone.trim()).filter(phone => phone);
|
269 |
+
sendMessages(phones, apiKey, message, minDelay, maxDelay);
|
270 |
};
|
271 |
reader.readAsText(file);
|
272 |
});
|
273 |
|
274 |
+
async function sendMessages(phones, apiKey, message, minDelay, maxDelay) {
|
275 |
const totalPhones = phones.length;
|
276 |
const progressBar = document.getElementById('progress');
|
277 |
for (let i = 0; i < totalPhones; i++) {
|
278 |
const phone = phones[i];
|
279 |
try {
|
280 |
+
const response = await fetch(`https://api.green-api.com/waInstance1101952913/sendMessage/${apiKey}`, {
|
281 |
method: 'POST',
|
282 |
headers: {
|
283 |
'Content-Type': 'application/json'
|
284 |
},
|
285 |
body: JSON.stringify({
|
286 |
chatId: `${phone}@c.us`,
|
287 |
+
message: message
|
|
|
|
|
288 |
})
|
289 |
});
|
290 |
if (!response.ok) {
|