|
1 |
| -import { getPostIdFromUrl, getUidFromUrl } from "../helpers/facebook.js"; |
| 1 | +import { |
| 2 | + getEntityAbout, |
| 3 | + getPostIdFromUrl, |
| 4 | + getUidFromUrl, |
| 5 | + TargetType, |
| 6 | +} from "../helpers/facebook.js"; |
2 | 7 |
|
3 | 8 | const runningDiv = document.getElementById("running");
|
4 | 9 | const inputPostURL = document.getElementById("inputPostURL");
|
@@ -59,15 +64,45 @@ async function main() {
|
59 | 64 | }
|
60 | 65 |
|
61 | 66 | const groupUrls = inputGroups.value.split("\n");
|
| 67 | + const failedGroups = []; |
62 | 68 | for (let i = 0; i < groupUrls.length; ++i) {
|
63 |
| - startBtn.innerHTML = |
64 |
| - "Đang kiểm tra các group... " + (i + 1) + "/" + groupUrls.length; |
65 |
| - const groupId = await getUidFromUrl(groupUrls[i]); |
66 |
| - console.log(groupId); |
67 |
| - if (!groupId) throw Error("Không thấy id group của " + groupUrls[i]); |
| 69 | + try { |
| 70 | + startBtn.innerHTML = |
| 71 | + "Đang kiểm tra các group... " + (i + 1) + "/" + groupUrls.length; |
| 72 | + const groupId = await getUidFromUrl(groupUrls[i]); |
| 73 | + const groupInfo = await getEntityAbout(groupId); |
| 74 | + console.log(groupId, groupInfo); |
| 75 | + if (groupInfo?.type !== TargetType.Group) |
| 76 | + failedGroups.push({ |
| 77 | + url: groupUrls[i], |
| 78 | + info: groupInfo, |
| 79 | + error: "Không phải là group: " + groupInfo?.type, |
| 80 | + }); |
| 81 | + } catch (e) { |
| 82 | + failedGroups.push({ |
| 83 | + url: groupUrls[i], |
| 84 | + error: e, |
| 85 | + }); |
| 86 | + } |
68 | 87 | }
|
| 88 | + if (!failedGroups.length) addJob(); |
| 89 | + else if ( |
| 90 | + confirm( |
| 91 | + `Có ${failedGroups.length} group không hợp lệ. Bạn có muốn tiếp tục không?\n\n` + |
| 92 | + failedGroups |
| 93 | + .map((_, i) => `+ ${_.url} ${_.info?.name || ""}: ${_.error}`) |
| 94 | + .join("\n") + |
| 95 | + "\n\n> Bấm Huỷ/Cancel để nhập lại\n> Bấm Ok để bỏ qua group lỗi" |
| 96 | + ) |
| 97 | + ) { |
| 98 | + const groupsLeft = groupUrls.filter( |
| 99 | + (url) => !failedGroups.map((_) => _.url).includes(url) |
| 100 | + ); |
| 101 | + inputGroups.value = groupsLeft.join("\n"); |
69 | 102 |
|
70 |
| - addJob(); |
| 103 | + if (groupsLeft.length) addJob(); |
| 104 | + else alert("Không còn group để chia sẻ"); |
| 105 | + } |
71 | 106 | } catch (e) {
|
72 | 107 | alert("LỖI: " + e.message);
|
73 | 108 | } finally {
|
|
0 commit comments