File size: 5,148 Bytes
324e9d8 601be0e 324e9d8 4e50c71 324e9d8 975e48d da80c62 324e9d8 da80c62 324e9d8 c52dcef da80c62 c52dcef 324e9d8 601be0e 324e9d8 debe32c 601be0e 324e9d8 4e50c71 da80c62 c52dcef 324e9d8 debe32c 324e9d8 4e50c71 975e48d debe32c da80c62 324e9d8 975e48d 4e50c71 da80c62 050d1f6 4e50c71 debe32c 4e50c71 975e48d da80c62 4e50c71 c52dcef 4e50c71 c52dcef 4e50c71 975e48d da80c62 4e50c71 da80c62 4e50c71 975e48d 4e50c71 c52dcef da80c62 4e50c71 da80c62 324e9d8 4e50c71 324e9d8 c52dcef da80c62 c52dcef 324e9d8 975e48d ca8ed36 |
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 |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Create Group with Members</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;
}
.input-row {
display: flex;
justify-content: center;
gap: 10px;
margin-top: 20px;
}
.input-row input {
padding: 10px;
font-size: 16px;
border: 1px solid #ccc;
border-radius: 5px;
}
#fileInput {
margin-top: 20px;
}
#createGroupButton {
color: white;
background-color: #4CAF50;
border: none;
cursor: pointer;
padding: 10px 20px;
font-size: 16px;
border-radius: 5px;
margin-top: 20px;
}
#createGroupButton:hover {
background-color: #388E3C;
}
.group-id-container {
margin-top: 20px;
}
.group-id {
display: inline-block;
padding: 10px;
background-color: #fff;
border: 1px solid #ccc;
border-radius: 5px;
cursor: pointer;
}
</style>
</head>
<body>
<h1>Create Group with Members</h1>
<div class="input-row">
<input type="text" id="apiKeyInput" placeholder="Enter API key">
<input type="text" id="groupNameInput" placeholder="Enter group name">
</div>
<input type="file" id="fileInput" accept=".txt">
<button id="createGroupButton">Create Group</button>
<div class="group-id-container">
<span class="group-id" id="groupIdToCopy" onclick="copyToClipboard(this)">Click here to copy the group ID</span>
</div>
<script>
document.getElementById('createGroupButton').addEventListener('click', async function() {
const apiKey = document.getElementById('apiKeyInput').value;
const groupName = document.getElementById('groupNameInput').value;
const fileInput = document.getElementById('fileInput');
const file = fileInput.files[0];
if (!apiKey || !groupName || !file) {
alert('Please enter an API key, group name, and select a file.');
return;
}
const reader = new FileReader();
reader.onload = async function(event) {
const text = event.target.result;
const chatIds = text.split('\n')
.map(line => line.trim())
.filter(line => line && /^\d+$/.test(line))
.map(line => line + '@c.us');
if (chatIds.length === 0) {
alert('The file must contain valid phone numbers.');
return;
}
const payload = {
groupName: groupName,
chatIds: chatIds
};
console.log('Payload:', payload);
try {
const url = `https://api.green-api.com/waInstance1101952913/createGroup/${apiKey}`;
const response = await fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(payload)
});
console.log('Response status:', response.status);
if (!response.ok) {
const errorText = await response.text();
console.error('Error response:', errorText);
throw new Error(`HTTP error! status: ${response.status} - ${errorText}`);
}
const data = await response.json();
document.getElementById('groupIdToCopy').innerText = data.chatId;
alert('Group created successfully!');
console.log('Response JSON:', data);
} catch (error) {
console.error('Error creating group:', error);
alert('Error creating group.');
}
};
reader.readAsText(file);
});
function copyToClipboard(element) {
const tempInput = document.createElement('input');
document.body.appendChild(tempInput);
tempInput.value = element.innerText;
tempInput.select();
document.execCommand('copy');
document.body.removeChild(tempInput);
alert('Group ID copied to clipboard!');
}
</script>
</body>
</html>
|