🏠 Home 

Facebook-yian

Facebook一键脚本,支持点赞、移除推荐,并根据好友数量条件手动控制页面。提供UI按钮以控制开关,状态跨页面持久化保存,开关状态UI美化。

Этот скрипт недоступен для установки пользователем. Он является библиотекой, которая подключается к другим скриптам мета-ключом // @require https://update.greasyfork.org/scripts/490096/1345708/Facebook-yian.js

// ==UserScript==
// @name         Facebook狗推专用
// @namespace    http://tampermonkey.net/
// @version      2.2.2
// @description  Facebook一键脚本,支持点赞、移除推荐,并根据好友数量条件手动控制页面。提供UI按钮以控制开关,状态跨页面持久化保存,开关状态UI美化。
// @author       亦安
// @match        https://www.facebook.com/*
// @grant        none
// @downloadURL https://update.greasyfork.org/scripts/490096/Facebook%E7%8B%97%E6%8E%A8%E4%B8%93%E7%94%A8.user.js
// @updateURL https://update.greasyfork.org/scripts/490096/Facebook%E7%8B%97%E6%8E%A8%E4%B8%93%E7%94%A8.meta.js
// ==/UserScript==
(function () {
"use strict";
// 读取初始状态
let isChecking = localStorage.getItem("fb-friendCheckEnabled") === "true";
let checkInterval;
const settings = {
likeButton: {
text: "一键点赞",
bottom: "50px",
action: likeAction,
},
removeButton: {
text: "移除推荐",
bottom: "100px",
action: removeRecommendations,
},
listPullupButton: {
text: "一键列表上拉",
bottom: "150px",
action: listPullupAction,
},
};
function toggleFriendCheck() {
isChecking = !isChecking;
localStorage.setItem("fb-friendCheckEnabled", isChecking.toString());
updateButtonState();
manageFriendCheck();
}
function updateButtonState() {
const button = document.getElementById("fb-enhanced-checkFriendButton");
if (button) {
button.textContent = isChecking ? "停止检查好友数量" : "开始检查好友数量";
}
}
function manageFriendCheck() {
if (isChecking) {
startFriendCheck();
} else {
if (checkInterval) clearInterval(checkInterval);
}
}
function startFriendCheck() {
if (checkInterval) clearInterval(checkInterval);
checkInterval = setInterval(checkFriends, 500);
}
function checkFriends() {
const links = document.querySelectorAll("a");
for (let link of links) {
if (link.textContent.includes("位好友")) {
const friendCount = parseInt(link.textContent.split(" ")[0].replace(/,/g, ""), 10);
if (friendCount < 10 || friendCount > 1000) {
window.close();
return;
}
}
}
}
function createEnhancedButton() {
let button = document.createElement("button");
button.id = "fb-enhanced-checkFriendButton";
button.textContent = isChecking ? "停止检查好友数量" : "开始检查好友数量";
button.style = "position: fixed; bottom: 200px; right: 20px; z-index: 10000; padding: 10px 15px; font-size: 16px; border: none; border-radius: 5px; color: white; cursor: pointer; background-color: #4267B2;";
button.onclick = toggleFriendCheck;
document.body.appendChild(button);
}
function createButton({ text, bottom, action }) {
let btn = document.createElement("button");
btn.textContent = text;
btn.style = `position: fixed; bottom: ${bottom}; right: 20px; z-index: 10000; padding: 10px 15px; font-size: 16px; border: none; border-radius: 5px; color: white; cursor: pointer; background-color: #4267B2;`;
btn.addEventListener("click", action);
document.body.appendChild(btn);
return btn;
}
// 以下为代码2中的其他功能实现
function likeAction() {
const likeButtons = Array.from(
document.querySelectorAll('div[aria-label="赞"][role="button"]'),
);
const numberOfLikes = Math.floor(Math.random() * 8) + 3;
for (let i = 0; i < numberOfLikes; i++) {
const randomIndex = Math.floor(Math.random() * likeButtons.length);
const buttonToClick = likeButtons[randomIndex];
if (buttonToClick) {
setTimeout(
() => buttonToClick.click(),
Math.random() * (2000 - 1000) + 1000,
);
likeButtons.splice(randomIndex, 1);
}
}
}
function removeRecommendations() {
setInterval(() => {
const buttons = document.querySelectorAll('div[role="none"]');
buttons.forEach(function (button) {
if (
button.innerText.includes("移除") ||
button.innerText.includes("删除")
) {
button.click();
}
});
}, 1000);
}
function listPullupAction() {
const targetClassName =
"x6s0dn4 xkh2ocl x1q0q8m5 x1qhh985 xu3j5b3 xcfux6l x26u7qi xm0m39n x13fuv20 x972fbf x9f619 x78zum5 x1q0g3np x1iyjqo2 xs83m0k x1qughib xat24cr x11i5rnm x1mh8g0r xdj266r xexx8yu x1n2onr6 x1ja2u2z";
const elements = document.querySelectorAll(
`div.${targetClassName.replace(/\s/g, ".")}`,
);
const friendLinks = [];
elements.forEach((element) => {
if (element.textContent.includes("添加好友")) {
const link = element.querySelector("a");
if (link && link.href) {
friendLinks.push(link.href);
}
}
});
function openLinksInBatches(links, batchSize, interval) {
let index = 0;
function openBatch() {
const batch = links.slice(index, index + batchSize);
batch.forEach((link) => window.open(link, "_blank"));
index += batchSize;
if (index < links.length) {
setTimeout(openBatch, interval);
}
}
openBatch();
}
openLinksInBatches(friendLinks, 10, 20000);
}
function initialize() {
Object.values(settings).forEach((setting) => {
createButton(setting);
});
createEnhancedButton(); // 创建增强检查好友数量的按钮
updateButtonState();
manageFriendCheck();
}
initialize();
})();