krom

Crush Crush, Clicker for PHP+Linux

Nov 2nd, 2018
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.35 KB | None | 0 0
  1. #!/usr/bin/php
  2.  
  3. <?php
  4.  
  5. /**
  6.  * Click through gurlz and talk to them every 10 seconds,
  7.  * then keep clicking the prioritized gurl for hearts.
  8.  * Rinse and repeat.
  9.  *
  10.  * required:
  11.  *     + PHP7 (because of direct array access)
  12.  *     + xdotool
  13.  *
  14.  * 1. Save this as e.g. "clicker.sh"
  15.  * 2. chmod +x clicker.sh
  16.  * 3. run
  17.  *
  18.  * Toggle on/off with Capslock
  19.  */
  20.  
  21.  
  22.  
  23. $CLICK_POSITIONS       = array();
  24. $CLICK_POSITION_BUTTON = array();
  25. $DELAY                 = 10;
  26. $TIME_LAST             = 0;
  27. $TIMER                 = 0;
  28. $OLD_TOGGLE            = -1;
  29.  
  30. $PRIO=0;
  31.  
  32. do {
  33.     $NUM_GURLZ = readline("How many gurlz: ");
  34. } while(!is_numeric($NUM_GURLZ));
  35.  
  36.  
  37. for ($i=0; $i<$NUM_GURLZ; $i++)  {
  38.     do {
  39.         $INPUT=readline("Please move mouse over gurl ".($i+1)." and press enter\n");
  40.     } while ($INPUT != '');
  41.  
  42.     $shell = exec('xdotool getmouselocation');
  43.  
  44.     $x = explode(':', explode(' ', $shell)[0])[1];
  45.     $y = explode(':', explode(' ', $shell)[1])[1];
  46.  
  47.     $CLICK_POSITIONS[] = [$x, $y];
  48.  
  49.     echo "position of cursor: ".$x ." / " . $y . "\n";
  50.  
  51. }
  52.  
  53. do {
  54.     $INPUT=readline("Please move mouse over liek button ".($i+1)." and press enter\n");
  55. } while ($INPUT != '');
  56.  
  57.  
  58. $shell = exec('xdotool getmouselocation');
  59.  
  60. $x = explode(':', explode(' ', $shell)[0])[1];
  61. $y = explode(':', explode(' ', $shell)[1])[1];
  62.  
  63. $CLICK_POSITION_BUTTON[0] = [$x, $y];
  64.  
  65. echo "position of cursor: ".$x ." / " . $y . "\n";
  66.  
  67.  
  68.  
  69. do {
  70.     $PRIO = readline("Which to prioritize: ");
  71. } while(!is_numeric($PRIO));
  72.  
  73.  
  74. echo "Now click once to focus window\n";
  75.  
  76. while(true)  {
  77.  
  78.     // check if window is the correct one
  79.     $shell = exec("xdotool getwindowfocus getwindowname");
  80.  
  81.     // check if toggle is on
  82.    # sleep 1s
  83.    $CURRENT_WINDOW_NAME = $shell;
  84.     $CURRENT_TOGGLE = exec('xset -q | grep "Caps Lock:   on" | wc -m');
  85.  
  86.     if ( $CURRENT_TOGGLE != $OLD_TOGGLE )  {
  87.  
  88.         if ( $CURRENT_TOGGLE > 0 )  {
  89.             echo "Toggle Capslock (on)\n";
  90.             $TIME_LAST = time();
  91.             exec("xdotool mousemove ".$CLICK_POSITIONS[$PRIO-1][0]." ".$CLICK_POSITIONS[$PRIO-1][1]);
  92.         } else {
  93.             echo "Toggle Capslock (off)\n";
  94.         }
  95.     }
  96.  
  97.     $OLD_TOGGLE = $CURRENT_TOGGLE;
  98.  
  99.     if (time() - $TIME_LAST > $DELAY)  {
  100.         $TIME_LAST = time();
  101.  
  102.         if ( "$CURRENT_WINDOW_NAME" == "Crush Crush" && $CURRENT_TOGGLE > 0)  {
  103.             for ($i=0; $i<$NUM_GURLZ; $i++)  {
  104.                 exec("xdotool mousemove ".$CLICK_POSITIONS[$i][0]." ".$CLICK_POSITIONS[$i][1]);
  105.                 usleep(1000);
  106.                 exec ("xdotool click 1");
  107.                 usleep(1000);
  108.                 exec("xdotool mousemove ".$CLICK_POSITION_BUTTON[0][0]." ".$CLICK_POSITION_BUTTON[0][1]);
  109.                 usleep(1000);
  110.                 exec ("xdotool click 1");
  111.                 usleep(1000);
  112.             }
  113.             exec("xdotool mousemove ".$CLICK_POSITIONS[$PRIO-1][0]." ".$CLICK_POSITIONS[$PRIO-1][1]);
  114.             usleep(1000);
  115.             exec ("xdotool click 1");
  116.         }
  117.     } else {
  118.         if ( "$CURRENT_WINDOW_NAME" == "Crush Crush" && $CURRENT_TOGGLE > 0)  {
  119.             exec("xdotool mousemove ".($CLICK_POSITION_BUTTON[0][0] + 200)." ".$CLICK_POSITION_BUTTON[0][1]);
  120.             usleep(1000);
  121.             exec ("xdotool click 1");
  122.             usleep(1000);
  123.         }
  124.     }
  125.  
  126.  
  127.  
  128.  
  129.     usleep(5000);
  130.  
  131. }
  132. ?>
Advertisement
Add Comment
Please, Sign In to add comment