Advertisement
ferdhika31

Auto Invite Grup [PHP]

Jun 17th, 2013
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 6.72 KB | None | 0 0
  1.     <?php
  2.      
  3.     // settingannya gan
  4.      
  5.     $bot = new bot(
  6.             array(
  7.                     'email' => '',
  8.                     'pass' => '',
  9.                     'group_id' => '',
  10.             )
  11.     );
  12.      
  13.     /*
  14.     *
  15.     * - Test auto invited friends to group using PHP
  16.     *
  17.     * - Created by Danz Ze
  18.     *
  19.     */
  20.      
  21.     class bot {
  22.             private $bot;
  23.             function __construct($bot) {
  24.                     $this->pass = $bot[pass];
  25.                     $this->email = $bot[email];
  26.                     $this->gId = $bot[group_id];
  27.             }
  28.      
  29.             public function invited() {
  30.                     $friends = $this->getData('me/friends',array('fields' => 'id'));
  31.                     for($i=0;$i<count($friends);$i++) {
  32.                             $x[] = '"addees['.$friends[$i][id].']":"'. $friends[$i][id].'"';
  33.                     }
  34.                     $y='{'.implode(',',$x).'}';
  35.                     $a=json_decode($y,true);
  36.                     $url = $this->getUrl(
  37.                             'm',
  38.                             'groups/members/search/',
  39.                             array(
  40.                                     'group_id' => $this->gId,
  41.                                     'refid' => '7',
  42.                             )
  43.                     );
  44.                     $cData=$this->_req($url,2);
  45.                     $fbDtsg = substr($cData, strpos($cData, 'name="fb_dtsg"'));
  46.                     $fbDtsg = substr($fbDtsg, strpos($fbDtsg, 'value=') + 7);
  47.                     $fbDtsg = substr($fbDtsg, 0, strpos($fbDtsg, '"'));
  48.                     $arr = array(
  49.                             'fb_dtsg' => $fbDtsg,
  50.                             'group_id' => $this->gId,
  51.                     );
  52.                     $postFields=array_merge($a,$arr);
  53.                     $urlPost=$this->getUrl('m','/a/groups/members/add/');
  54.                     $this->_req($urlPost,2,$postFields);
  55.                     echo 'true... <br/> '.count($friends).' Friends invited...';
  56.             }
  57.             private function _req($url,$type=null,$fields=null) {
  58.                     $opts = array(
  59.                     CURLOPT_CONNECTTIMEOUT => 10,
  60.                             CURLOPT_RETURNTRANSFER => true,
  61.                             CURLOPT_URL => $url,
  62.                     );
  63.                     $ch=curl_init();
  64.                     if($type) {
  65.                             if($type == 1) {
  66.                                     $opts[CURLOPT_COOKIEJAR] = 'coker_log';
  67.                             }
  68.                             if($type == 3) {
  69.                                     $opts[CURLOPT_HEADER] = true;
  70.                             }
  71.                             $opts[CURLOPT_COOKIEFILE]='coker_log';
  72.                     }
  73.                     if($fields) {
  74.                             $opts[CURLOPT_POST] = true;
  75.                             $opts[CURLOPT_POSTFIELDS] = $fields;
  76.                     }
  77.                     curl_setopt_array($ch,$opts);
  78.                     $result = curl_exec($ch);
  79.                     curl_close($ch);
  80.                     return $result;
  81.             }
  82.      
  83.             private function getToken() {
  84.                     if(file_exists('toketAne')) {
  85.                             $fileToken = file('toketAne');
  86.                             return $fileToken[0];
  87.                     } else {
  88.                             return $this->setToken();
  89.                     }
  90.             }
  91.             public function setToken() {
  92.                     $url = $this->getUrl(
  93.                             'touch',
  94.                             'connect/uiserver.php',
  95.                             array(
  96.                                     'app_id' => '350685531728',
  97.                                     'redirect_uri' => urlencode('https://facebook.com/connect/login_success.html'),
  98.                                     'response_type' => 'token',
  99.                                     'perms' => 'publish_stream,offline_access,read_stream,publish_actions',
  100.                                     'method' => 'permissions.request',
  101.                             )
  102.                     );
  103.                     $getToken = $this->_req($url,3);
  104.                     $cut = explode('token=',$getToken);
  105.                     $cuts = explode('&expires',$cut[1]);
  106.                     if($cuts[0]) {
  107.                     $x=fopen('toketAne','w');
  108.                             fwrite($x,$cuts[0]);
  109.                             fclose($x);
  110.                             return $cuts[0];
  111.                     } else {
  112.                             echo "<!DOCTYPE html><title>Error</title><b style=\"color:red\">Kesalahan pada login facebook.</b><br/>Klik <a href=\"".$_SERVER[PHP_SELF]."\">disini</a> untuk ulangi lagi.";
  113.                             $this -> login();
  114.                     }
  115.             }
  116.      
  117.             private function getData($dir,$params=null) {
  118.                     $param = array(
  119.                             'access_token' => $this->getToken(),
  120.                     );
  121.                     if($params){
  122.                             $arrayParams=array_merge($params,$param);
  123.                     } else {
  124.                             $arrayParams =$param;
  125.                     }
  126.                     $url = $this->getUrl('graph',$dir,$arrayParams);
  127.                     $result = json_decode($this->_req($url),true);
  128.                     if($result[data]) {
  129.                             return $result[data];
  130.                     } else {
  131.                             return $result;
  132.                     }
  133.             }
  134.             public function me() {
  135.                     return $this->getData('me');
  136.             }
  137.             private function getUrl($domain,$dir,$uri=null) {
  138.                     if($uri) {
  139.                             foreach($uri as $key =>$value) {
  140.                                     $parsing[] = $key . '=' . $value;
  141.                             }
  142.                             $parse = '?' . implode('&',$parsing);
  143.                     }
  144.                      return 'https://' . $domain . '.facebook.com/' . $dir . $parse;
  145.             }
  146.             private function login() {
  147.                     $login = array(
  148.                             'pass' => $this -> pass,
  149.                             'email' => $this ->email,
  150.                             'login'  => 'Login',
  151.                     );
  152.                     $url = $this->getUrl('m','login.php');
  153.                     $result = $this->_req($url,1,$login);
  154.                     if($result) {
  155.                             $this->setToken();
  156.                     }
  157.             }
  158.     }
  159.      
  160.     $me = $bot->me();
  161.     if($me[id]) {
  162.             $bot->invited();
  163.     } else {
  164.             $bot->setToken();
  165.     }
  166.      
  167.     ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement