VK slaps

slap everyone who are online on vk.com by typing '@here' or '*here' and press Tab button

ของเมื่อวันที่ 16-11-2017 ดู เวอร์ชันล่าสุด

// ==UserScript==
// @name VK slaps
// @namespace    https://greasyfork.dpdns.org/en/users/159342-cleresd
// @description slap everyone who are online on vk.com by typing '@here' or '*here' and press Tab button
// @version 1.04
// @require    https://code.jquery.com/jquery-3.2.1.min.js
// @match https://vk.com/*
// @grant none
// ==/UserScript==

// add callback when '@here' or '*here' is typed and Tab key it pressed
$(".im_editable.im-chat-input--text._im_text").on("keyup", function (e) {
  if (e.which == 9 && (e.target.textContent == '@here' || e.target.textContent == '*here')) {
    my.setOnlineMembers();
  }
})

window.my = {
  setOnlineMembers: function () {
    onlineMembers = [];

    // open members list
    $('._im_chat_members.im-page--members').click();

    // wait untill list loaded
    var checkExist = setInterval(function() {
      if ($('.im-member-item--left > .im-member-iterm--status').length) {
        console.log("Exists!");
        clearInterval(checkExist);
        setOnlineMembers();
      }
    }, 500);
    
    function setOnlineMembers() {
      // get all online members
      $onlineMembersElements = $('.im-member-item--left > .im-member-iterm--status')
        .filter(function(){if ($(this).text()==='online') return $(this)})
        .prev()
        .children();

      let onlineMembersElementIds = $onlineMembersElements.map(function() { return $(this).attr('href').replace('/', '@')});
      let onlineMembersElementNames = $onlineMembersElements.map(function() { return '(' + $(this).text().split(' ')[0] + ')'});
      
      // get array of final string with online members
      for (let i = 0; i < onlineMembersElementIds.length; i++) {
        onlineMembers.push(onlineMembersElementIds[i] + ' ' + onlineMembersElementNames[i]);
      }

      // close members list
      $('.box_x_button').click();
      
      // add online members to input field
      $('.im_editable.im-chat-input--text._im_text').click();
      $('.im_editable.im-chat-input--text._im_text').text(onlineMembers.join(' '));
    }
  }
};
长期地址
遇到问题?请前往 GitHub 提 Issues,或加Q群1031348184

赞助商

Fishcpy

广告

Rainyun

注册一下就行

Rainyun

一年攒够 12 元