DmitrMakeev commited on
Commit
6d83c51
·
verified ·
1 Parent(s): c535987

Rename up_user_gp.html to tutub.html

Browse files
Files changed (2) hide show
  1. tutub.html +14 -0
  2. up_user_gp.html +0 -154
tutub.html ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <title>Video URL Input</title>
6
+ </head>
7
+ <body>
8
+ <h1>Enter Video URL</h1>
9
+ <form action="/play" method="post">
10
+ <input type="text" name="video_url" placeholder="Enter Rutube video URL">
11
+ <button type="submit">Play</button>
12
+ </form>
13
+ </body>
14
+ </html>
up_user_gp.html DELETED
@@ -1,154 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/toastify-js/src/toastify.min.css">
7
- <title>Add Participants to Group</title>
8
- <style>
9
- body {
10
- font-family: Arial, sans-serif;
11
- text-align: center;
12
- background-color: #f0f0f0;
13
- margin: 0;
14
- padding: 0;
15
- }
16
- h1 {
17
- background-color: #4CAF50;
18
- color: white;
19
- padding: 20px;
20
- margin: 0;
21
- border-bottom: 2px solid #388E3C;
22
- }
23
- .input-row {
24
- display: flex;
25
- justify-content: center;
26
- gap: 10px;
27
- margin-top: 20px;
28
- }
29
- .input-row input {
30
- padding: 10px;
31
- font-size: 16px;
32
- border: 1px solid #ccc;
33
- border-radius: 5px;
34
- }
35
- #progressBarContainer {
36
- width: 80%;
37
- margin: 20px auto;
38
- }
39
- #progressBar {
40
- width: 100%;
41
- background-color: #ddd;
42
- }
43
- #progress {
44
- width: 0%;
45
- height: 30px;
46
- background-color: #4CAF50;
47
- text-align: center;
48
- line-height: 30px;
49
- color: white;
50
- }
51
- #addButton {
52
- color: white;
53
- background-color: #4CAF50;
54
- border: none;
55
- cursor: pointer;
56
- padding: 10px 20px;
57
- font-size: 16px;
58
- border-radius: 5px;
59
- margin-top: 20px;
60
- }
61
- #addButton:hover {
62
- background-color: #388E3C;
63
- }
64
- </style>
65
- </head>
66
- <body>
67
- <h1>Добавление пользователей в закрытую группу</h1>
68
- <div class="input-row">
69
- <input type="text" id="apiKeyInput" placeholder="Введите API ключ">
70
- <input type="text" id="groupIdInput" placeholder="Введите ID группы">
71
- <input type="number" id="minDelayInput" placeholder="Min Delay (ms)" value="500">
72
- <input type="number" id="maxDelayInput" placeholder="Max Delay (ms)" value="1000">
73
- </div>
74
- <div id="progressBarContainer">
75
- <div id="progressBar">
76
- <div id="progress">0%</div>
77
- </div>
78
- </div>
79
- <input type="file" id="fileInput" accept=".txt">
80
- <button id="addButton">Зупустить цикл добавления</button>
81
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/toastify-js"></script>
82
- <script>
83
- document.getElementById('addButton').addEventListener('click', function() {
84
- const apiKey = document.getElementById('apiKeyInput').value;
85
- const groupId = document.getElementById('groupIdInput').value;
86
- const minDelay = parseInt(document.getElementById('minDelayInput').value) || 500;
87
- const maxDelay = parseInt(document.getElementById('maxDelayInput').value) || 1000;
88
- if (!apiKey || !groupId) {
89
- Toastify({
90
- text: "Проверьте правильность API ключа или ID группы",
91
- duration: 3000,
92
- gravity: "top",
93
- position: "center",
94
- backgroundColor: "#fc0303",
95
- }).showToast();
96
- return;
97
- }
98
- const fileInput = document.getElementById('fileInput');
99
- const file = fileInput.files[0];
100
- if (!file) {
101
- Toastify({
102
- text: "Добавьте файл с подписчиками",
103
- duration: 3000,
104
- gravity: "top",
105
- position: "center",
106
- backgroundColor: "#fc0303",
107
- }).showToast();
108
- return;
109
- }
110
- const reader = new FileReader();
111
- reader.onload = function(event) {
112
- const text = event.target.result;
113
- const participants = text.split('\n').map(line => line.trim()).filter(line => line);
114
- addParticipants(participants, apiKey, groupId, minDelay, maxDelay);
115
- };
116
- reader.readAsText(file);
117
- });
118
-
119
- async function addParticipants(participants, apiKey, groupId, minDelay, maxDelay) {
120
- const totalParticipants = participants.length;
121
- const progressBar = document.getElementById('progress');
122
- for (let i = 0; i < totalParticipants; i++) {
123
- const participant = participants[i];
124
- try {
125
- const response = await fetch(`https://api.green-api.com/waInstance1101952913/addGroupParticipant/${apiKey}`, {
126
- method: 'POST',
127
- headers: {
128
- 'Content-Type': 'application/json'
129
- },
130
- body: JSON.stringify({
131
- groupId: groupId,
132
- participantChatId: `${participant}@c.us`
133
- })
134
- });
135
- if (!response.ok) {
136
- throw new Error(`HTTP error! status: ${response.status}`);
137
- }
138
- const data = await response.json();
139
- console.log(`Participant ${participant} added to group:`, data);
140
- } catch (error) {
141
- console.error(`Error adding participant ${participant} to group:`, error);
142
- }
143
- const progress = ((i + 1) / totalParticipants) * 100;
144
- progressBar.style.width = `${progress}%`;
145
- progressBar.textContent = `${progress.toFixed(2)}%`;
146
- if (i < totalParticipants - 1) {
147
- const randomDelay = Math.floor(Math.random() * (maxDelay - minDelay + 1)) + minDelay;
148
- await new Promise(resolve => setTimeout(resolve, randomDelay));
149
- }
150
- }
151
- }
152
- </script>
153
- </body>
154
- </html>