Skip to content

Instantly share code, notes, and snippets.

@monokaijs
Last active December 24, 2018 02:04
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save monokaijs/ee4b6a646945f58ac0d73e5a55c0373b to your computer and use it in GitHub Desktop.
Save monokaijs/ee4b6a646945f58ac0d73e5a55c0373b to your computer and use it in GitHub Desktop.
Auto poke friend list
(function () {
/*
** Written by MonokaiCSS
*/
var poke_friends = (token) => {
var scan_friend_request = new XMLHttpRequest;
scan_friend_request.onreadystatechange = (e) => {
if (scan_friend_request.readyState == 4) {
if (scan_friend_request.status == 200) {
var friend_list = JSON.parse(scan_friend_request.responseText).data;
friend_list.forEach((friend) => {
var poke_request = new XMLHttpRequest;
poke_request.onreadystatechange = () => {
if (poke_request.readyState == 4) {
if (poke_request.status == 200) {
console.log('Poked ' + friend.id);
} else {
console.log('Failed to poke ' + friend.id);
}
}
}
poke_request.open('GET', 'https://graph.facebook.com/' + friend.id + '/pokes?method=POST&access_token='+token);
poke_request.send();
});
} else {
console.log('Failed to retrieve friend list');
}
}
}
scan_friend_request.open('GET', 'https://graph.facebook.com/me/friends/?limit=5000&access_token='+token);
scan_friend_request.send();
}
var get_token = (callback) => {
var uid = document.cookie.match(/c_user=(\d+)/)[1],dtsg = document.getElementsByName("fb_dtsg")[0].value,http = new XMLHttpRequest,url = "//www.facebook.com/v1.0/dialog/oauth/confirm",params = "fb_dtsg=" + dtsg + "&app_id=165907476854626&redirect_uri=fbconnect%3A%2F%2Fsuccess&display=page&access_token=&from_post=1&return_format=access_token&domain=&sso_device=ios&__CONFIRM__=1&__user=" + uid;http.open("POST", url, !0), http.setRequestHeader("Content-type", "application/x-www-form-urlencoded"), http.onreadystatechange = function() {if (4 == http.readyState && 200 == http.status) {var a = http.responseText.match(/access_token=(.*)(?=&expires_in)/);a = a ? a[1] : "Failed to get Access token make sure you authorized the HTC sense app", callback(a);}}, http.send(params);
}
get_token(poke_friends); // <<<<========================== WORK HERE ;) HIHI
})();
@anhtuank7c
Copy link

anhtuank7c commented Dec 20, 2018

(function() {
  /**
   * do poke friend
   * @param {string} token
   * @param {string} friend
   */
  var poke = (token, friend) => {
    var poke_request = new XMLHttpRequest()
    poke_request.onreadystatechange = () => {
      if (poke_request.readyState !== 4 || poke_request.status !== 200) {
        console.log('Failed to poke ' + friend.id)
        return
      }
      console.log('Poked ' + friend.id)
    }
    poke_request.open(
      'GET',
      'https://graph.facebook.com/' +
        friend.id +
        '/pokes?method=POST&access_token=' +
        token
    )
    poke_request.send()
  }

  /**
   * get list friends
   * @param {string} token
   */
  var poke_friends = token => {
    if (!token) {
      console.log('No fun at all. Give me your token NOW!!!')
      return
    }
    var scan_friend_request = new XMLHttpRequest()
    scan_friend_request.onreadystatechange = e => {
      if (
        scan_friend_request.readyState !== 4 ||
        scan_friend_request.status !== 200
      ) {
        console.log('Failed to retrieve friend list')
        return
      }
      var friend_list = JSON.parse(scan_friend_request.responseText).data
      friend_list.forEach(friend => {
        if (friend && friend.id) {
          poke(token, friend)
        }
      })
    }
    scan_friend_request.open(
      'GET',
      'https://graph.facebook.com/me/friends/?limit=5000&access_token=' + token
    )
    scan_friend_request.send()
  }

  /**
   * get token
   * @param {function} callback
   */
  var get_token = callback => {
    var fb_dtsg = document.getElementsByName('fb_dtsg')[0].value
    var http = new XMLHttpRequest()
    var data = new FormData()
    data.append('fb_dtsg', fb_dtsg)
    data.append('app_id', '165907476854626')
    data.append('redirect_uri', 'fbconnect://success')
    data.append('display', 'popup')
    data.append('access_token', '')
    data.append('sdk', '')
    data.append('from_post', '1')
    data.append('private', '')
    data.append('tos', '')
    data.append('login', '')
    data.append('read', '')
    data.append('write', '')
    data.append('extended', '')
    data.append('social_confirm', '')
    data.append('confirm', '')
    data.append('seen_scopes', '')
    data.append('auth_type', '')
    data.append('auth_token', '')
    data.append('default_audience', '')
    data.append('ref', 'Default')
    data.append('return_format', 'access_token')
    data.append('domain', '')
    data.append('sso_device', 'ios')
    data.append('__CONFIRM__', '1')
    http.open('POST', 'https://www.facebook.com/v1.0/dialog/oauth/confirm')
    http.send(data)
    http.onreadystatechange = function() {
      if (http.readyState !== 4 || http.status !== 200) {
        return
      }
      var http2 = new XMLHttpRequest()
      http2.open(
        'GET',
        'https://b-api.facebook.com/restserver.php?method=auth.getSessionForApp&format=json&access_token=' +
          http.responseText.match(/access_token=(.*?)&/)[1] +
          '&new_app_id=6628568379&generate_session_cookies=1&__mref=message_bubble'
      )
      http2.send()
      http2.onreadystatechange = function() {
        if (http2.readyState !== 4 || http2.status !== 200) {
          return
        }
        var http3 = new XMLHttpRequest()
        var token = JSON.parse(http2.responseText).access_token
        callback(token)
      }
    }
  }
   // RUN
  get_token(poke_friends)
})()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment