Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- test: {
- let scriptAutoRemoveAdminsFromGroup = {
- CONFIG: {
- groupId: 183454384
- },
- async getDocumentPage(url) {
- let response = await ajax.request(url, null, {
- method: "GET",
- withCredetials: true,
- headers: { Cookie: document.cookie }
- })
- if (response.code != 200)
- throw new Error("error.");
- let domParser = new DOMParser;
- let domDocument = domParser.parseFromString(response.data, "text/html");
- return domDocument;
- },
- request(url) {
- return new Promise((resolve, reject) =>
- ajax.plainpost(url, null, response => {
- let { payload } = JSON.parse(response);
- if (payload[0]) reject({
- error_code: +payload[0],
- error_message: payload[1][0],
- other_data: payload[1]
- });
- resolve(JSON.parse(response).payload)
- })
- )
- },
- parseUser(userObject = []) {
- let [user_id, link, full_name, photo_src, , html, level, hash] = userObject;
- return { user_id, link, full_name, photo_src, hash, level, html };
- },
- async removeAdminFromGroup(groupId, userId, hash) {
- let response = await this.request(`https://vk.com/groupsedit.php?act=done_admin&addr=${userId}&al=1&from=users&hash=${hash}&id=${groupId}&level=0`);
- return {
- html_sucess: response[1][0],
- user_info: this.parseUser(response[1][1])
- };
- },
- async getAdminListOfGroup(groupId) {
- let response = await this.request(`https://vk.com/groupsedit.php?act=get_list&al=1&id=${groupId}&tab=members`);
- let countMembers = response[1][0];
- let dataMembers = response[1][1];
- return {
- count_members: countMembers,
- data_members: dataMembers,
- admins: dataMembers
- .filter(user => user[6] == 3)
- .map(this.parseUser)
- };
- },
- sleepScript(ms = 0) {
- return new Promise(resolve => setTimeout(resolve, ms));
- },
- async startScript() {
- try {
- if (!cur.oid)
- return console.log("Please open your page.");
- let _document = await this.getDocumentPage(`https://vk.com/club${this.CONFIG.groupId}?act=users&tab=admins`);
- let membersData = await this.getAdminListOfGroup(this.CONFIG.groupId);
- console.info("Group name: '%s'", _document.querySelector(" .ui_ownblock_label").innerText);
- console.info("Count members: %i\nCount admins: %i", membersData.count_members, membersData.admins.length);
- console.info("Admin list: \n\t%s", membersData.admins.map(admin => `Admin: ${admin.full_name}\n\tLink: ${admin.link}`).join("\n\n\t"));
- for (let admin of membersData.admins)
- if (admin.user_id != cur.oid) {
- let removeAdminResponse = await this.removeAdminFromGroup(this.CONFIG.groupId, admin.user_id, admin.hash);
- console.info(`Remove user (${removeAdminResponse.user_info.full_name}) from admin list.`);
- }
- } catch (error) {
- console.error(error);
- }
- await this.sleepScript(1000);
- await this.startScript();
- }
- };
- scriptAutoRemoveAdminsFromGroup.startScript();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement