Advertisement
Guest User

ref system

a guest
Apr 9th, 2020
458
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 21.81 KB | None | 0 0
  1. <?php
  2.  
  3. include "libs/vk_api.php";
  4. include "libs/db.php";
  5.  
  6.  
  7. const VK_KEY = "";  // Токен сообщества
  8. const ACCESS_KEY = "";  // Тот самый ключ из сообщества
  9. const VERSION = "5.81"; // Версия API VK
  10.  
  11.  
  12. // ТУТ НАШИ КНОПКИ ===
  13. const PROFILE = [["command" => 'btn_1'], "📒 Профиль", "red"];
  14. const SHOP = [["command" => 'btn_2'], "🛍 Магазин", "red"];
  15. const REF = [["command" => 'btn_2'], "👨‍👧‍👦 Реф. система", "blue"];
  16. const CLICK = [["command" => 'btn_3'], "👉 КЛИК 👈", "green"];
  17. const BANK = [["command" => 'btn_4'], "💳 Банк", "blue"];  
  18. const BONUS = [["command" => 'btn_5'], "💰Бонус", "blue"];
  19. const TOP = [["command" => 'btn_7'], "🏆Топ", "green"];
  20. const HELP = [["command" => 'btn_6'], "🆘Помощь", "red"];
  21. ///
  22. const DEP = [["command" => 'btn_7'], "💳Пополнить", "green"];
  23. const WITHDRAW = [["command" => 'btn_7'], "💸Вывести", "blue"];
  24. const BACK = [["command" => 'btn_7'], "<<< Назад", "red"];
  25. ///
  26. const BALTOP = [["command" => 'btn_7'], "💰 По балансу", "green"];
  27. const CLICKTOP = [["command" => 'btn_7'], "👉🏻 По кликам", "green"];
  28. ///
  29. const BUY = [["command" => 'buy'], "💰Купить", "green"];
  30. const TO2 = [["command" => 'to2'], "➡", "blue"];
  31. const TO3 = [["command" => 'to3'], "➡", "blue"];
  32. const BACK2 = [["command" => 'back2'], "⬅", "blue"];
  33. const BACK1 = [["command" => 'back1'], "⬅", "blue"];
  34. const SOON = [["command" => 'btn_7'], "В разработке", "red"];
  35. //
  36. const ENTER = [["command" => 'enter'], "👨‍👧‍👦 Ввод", "green"];
  37. // ===================
  38.  
  39. $vk = new vk_api(VK_KEY, VERSION);
  40. $data = json_decode(file_get_contents('php://input'));
  41.  
  42. if ($data->type == 'confirmation') {
  43.     exit(ACCESS_KEY);
  44. }
  45. $vk->sendOK();
  46. // ====== Наши переменные ============
  47. $id = $data->object->from_id; // Узнаем ID пользователя, кто написал нам
  48. $message = $data->object->text; // Само сообщение от пользователя
  49. $userInfo = $vk->request("users.get", ["user_ids" => $id]);
  50. $first_name = $userInfo[0]['first_name']; // Имя пользователя
  51. $last_name = $userInfo[0]['last_name']; // Фамилия пользователя
  52. ///
  53. $all_users = R::load( 'clicksettings', 1 );
  54. $userss = $all_users->value; // Инфа, сколько всего игроков
  55. //
  56. $all_clicks = R::load( 'clicksettings', 2 );
  57. $all_clickss = $all_clicks->value; // Инфа, сколько всего кликов
  58. ///
  59. $user = R::findOne('clickusers', 'user = ?', [$id]); //Загружаем данные о пользователе
  60. $clicks = $user->click; // Инфа сколько кликов у пользователя
  61. $money = round($user->balance, 3); // Баланс игрока
  62. // ====== *************** ============
  63.  
  64. if ($data->type == 'message_new') { // Создаем проверку на новое сообщение и вызываем кнопки
  65.     if($user->accstatus != "")
  66.     {
  67.         if($user->accstatus == "ref") {
  68.         $code = R::findOne('clickusers', 'ref_code = ?', [$message]);
  69.         if(!$code){
  70.            
  71.             $user->accstatus = "";
  72.             R::store($user);
  73.            $vk->sendButton($id, "👨‍👧‍👦 Реферальный код не найден!", [[ENTER], [BACK]]);
  74.         } else
  75.         {
  76.             $refercheck  = R::findOne('clickusers', 'ref_code = ? ', [$message]);
  77.             if($refercheck->user != $id)
  78.             {
  79.             $user->referal = $message;
  80.             $user->accstatus = "";
  81.             R::store($user);
  82.             $referinfo  = R::findOne('clickusers', 'ref_code = ? ', [$message]);
  83.             $referinfo->ref_count = $referinfo->ref_count + 1;
  84.             R::store($referinfo);
  85.             $referid = $referinfo->user;
  86.             $name = $user->name;
  87.             $enterid = $user->user;
  88.             $vk->sendButton($referid, "👨‍👧‍👦 @id$enterid ($name) Новый реферал!", [[CLICK], [PROFILE, BANK], [BONUS, HELP], [SHOP, REF], [TOP]]);
  89.             $vk->sendButton($id, "👨‍👧‍👦 Вы успешно ввели код и получили бонус в размере 0.5 руб.", [[CLICK], [PROFILE, BANK], [BONUS, HELP], [SHOP, REF], [TOP]]);
  90.             $user->balance = $user->balance + 0.5;
  91.             R::store($user);
  92.             } else {
  93.                 $user->accstatus = "";
  94.                 R::store($user);
  95.                  $vk->sendButton($id, "👨‍👧‍👦 Вы не можете ввести свой реферальный код!", [[CLICK], [PROFILE, BANK], [BONUS, HELP], [SHOP, REF], [TOP]]);
  96.             }
  97.         }
  98.     }
  99.    
  100.     if($user->accstatus == "qiwi")
  101.         {
  102.             if($message != "«< Назад")
  103.             {
  104.             $amount = $user->amount;
  105.             $user->qiwi = $message;
  106.             $user->accstatus = "";
  107.             $user->balance = $user->balance - $amount;
  108.             R::store($user);
  109.             $vk->sendButton($id, "✔ Ваша заявка успешна создана и отправлена администратору. После рассмотрения Вы получите уведомление и деньги поступят на Ваш qiwi кошелек", [[CLICK], [PROFILE, BANK], [BONUS, HELP], [SHOP, REF], [TOP]]);
  110.            /* 535344980 */ $vk->sendButton(346472831, "Пользователь @id$id оставил заявку на вывод.
  111. QIWI: $message
  112. Сумма: $amount
  113. ID аккаунта для подтверждения выплаты: $id
  114. Для подтверждения выплаты напиши 'Вывел'", [[CLICK], [PROFILE, BANK], [BONUS, HELP], [SHOP, REF], [TOP]]);
  115.             } else
  116.             {
  117.                 $user->accstatus = "";
  118.                 R::store($user);
  119.                  $vk->sendButton($id, "Вы вернулись в главное меню.", [[CLICK], [PROFILE, BANK], [BONUS, HELP], [SHOP, REF], [TOP]]);
  120.             }
  121.         }
  122.    
  123.         if($user->accstatus == "amount")
  124.         {
  125.             if($message != "«< Назад")
  126.             {
  127.            if($user->balance >= $message){
  128.                if($message <= 20)
  129.                {
  130.                $user->accstatus = "qiwi";
  131.                $user->amount = $message;
  132.                R::store($user);
  133.                $vk->sendButton($id, "✔ Следующим сообщением введите номер своего qiwi кошелька.", [[BACK]]);
  134.                } else
  135.                {
  136.                    $user->accstatus = "";
  137.                    R::store($user);
  138.                     $vk->sendButton($id, "❌ Вы не можете вывести более 20р за 1 раз.", [[CLICK], [PROFILE, BANK], [BONUS, HELP], [SHOP, REF], [TOP]]);
  139.                }
  140.            } else {
  141.                
  142.                $user->accstatus = "";
  143.                R::store($user);
  144.                $vk->sendButton($id, "❌ На балансе недостаточно средств!", [[CLICK], [PROFILE, BANK], [BONUS, HELP], [SHOP, REF], [TOP]]);
  145.            }
  146.             } else
  147.             {
  148.                 $user->accstatus = "";
  149.                 R::store($user);
  150.                  $vk->sendButton($id, "Вы вернулись в главное меню.", [[CLICK], [PROFILE, BANK], [BONUS, HELP], [SHOP, REF], [TOP]]);
  151.             }
  152.         }
  153.        
  154.         if($user->accstatus == "withdraw")
  155.         {
  156.             $withdrawuser = R::findOne('clickusers', 'user = ? ', [$message]);
  157.             $withdrawuser->qiwi = "";
  158.             $withdrawuser->amount = 0;
  159.             R::store($withdrawuser);
  160.             $withdrawid = $withdrawuser->user;
  161.             $user->accstatus = "";
  162.             R::store($user);
  163.             $vk->sendButton($withdrawid, "💸 Выплата успешно выполнена!
  164. Пожалуйста, оставьте отзыв: https://vk.com/topic-193876263_41360762 (За отзыв даем денежный бонус!)", [[CLICK], [PROFILE, BANK], [BONUS, HELP], [SHOP, REF], [TOP]]);
  165. $vk->sendButton($id, "💸 Вы успешно подтвердили выплату для ID $withdrawid", [[CLICK], [PROFILE, BANK], [BONUS, HELP], [SHOP, REF], [TOP]]);
  166.         }
  167.        
  168.    
  169.     } else {
  170.  
  171. $user = R::findOne('clickusers', 'user = ?', [$id]);
  172.     if(!$user){
  173.         if($id > 0){
  174.         $newuser = R::dispense('clickusers');
  175.         $newuser->user = $id;
  176.         $newuser->balance = 0;
  177.         $newuser->click = 0;
  178.         $newuser->click_speed = 0;
  179.         $newuser->helper = 0;
  180.         $newuser->status = "user";
  181.         $newuser->updates = 0;
  182.         $newuser->amulet = 0;
  183.         $newuser->page = 0;
  184.         $newuser->accstatus = "";
  185.         $newuser->ref_code = mt_rand(1000000,9000000);
  186.         $newuser->referal = 111;
  187.         $newuser->ref_money = 0;
  188.         $newuser->ref_count = 0;
  189.         $newuser->lastbonus = 0;
  190.         $newuser->qiwi = 0;
  191.         $newuser->amount = 0;
  192.         $newuser->name = "$first_name $last_name";
  193.         $newuser->nick = "$first_name";
  194.         $newuser->vk = "https://vk.com/id$id";
  195.         $newuser->ban = 0;
  196.         R::store($newuser);
  197.        
  198.         $users = R::load( 'clicksettings', 1 );
  199.         $users->value = $users->value + 1;
  200.         R::store($users);
  201.         }
  202.     }
  203.  
  204.     if ($message == 'Начать') {
  205.            $vk->sendButton($id, "Привет! 👋
  206. Я - Игровой бот Money Click 📟.", [[CLICK], [PROFILE, BANK], [BONUS, HELP], [SHOP, REF], [TOP]]);
  207.     }
  208.    
  209.     if ($message == '👉 КЛИК 👈') {
  210.        
  211.         $updates = $user->updates;
  212.         $add = $updates * 0.003;
  213.         if($updates == 0)
  214.         {
  215.             $rand = mt_rand(0,1);
  216.             if($rand == 0)
  217.             {
  218.                 $add = 0.001;
  219.             } else
  220.             {
  221.                 $add = 0.002;
  222.             }
  223.         }
  224.         $enter_code = $user->referal;
  225.         if($enter_code != 111)
  226.         {
  227.         $referinfo  = R::findOne('clickusers', 'ref_code = ? ', [$enter_code]);
  228.         $referinfo->balance = $referinfo->balance + $add / 2;
  229.         $referinfo->ref_money = $referinfo->ref_money + $add / 2;
  230.         R::store($referinfo);
  231.         }
  232.         $user->click_speed = $add;
  233.         $user->balance = $user->balance + $add;
  234.         R::store($user);
  235.         if($user->amulet == 1)
  236.         {
  237.             $random = mt_rand(0,100);
  238.             if($random <= 33) {
  239.                 $amulet = $add * 1.5 - $add;
  240.                 $user->balance = $user->balance + $amulet;
  241.                 $is_amulet = 1;
  242.             }
  243.         } else
  244.         {
  245.             $is_amulet = 0;
  246.         }
  247.        
  248.         $user->click = $user->click + 1;
  249.         $all_clicks->value = $all_clicks->value + 1;
  250.         R::store($user);
  251.         R::store($all_clicks);
  252.        
  253.         $all_clicks = R::load( 'clicksettings', 2 );
  254.         $all_clickss = $all_clicks->value; // Инфа, сколько всего кликов
  255.        
  256.         $clicks = $user->click; // Инфа сколько кликов у пользователя
  257.         $money = $user->balance; // Баланс игрока
  258.        
  259.        
  260.         if($is_amulet == 0)
  261.         {
  262.            $vk->sendButton($id, "👍🏻Вы успешно сделали клик
  263.          
  264.  👉🏻 Всего кликов: $all_clickss
  265.  👨‍💻 Ваши клики: $clicks
  266.  👨‍👧‍👦 Всего игроков: $userss
  267.  💶 Баланс: $money руб", [[CLICK], [PROFILE, BANK], [BONUS, HELP], [SHOP, REF], [TOP]]);
  268.         } else {
  269.           $vk->sendButton($id, "👍🏻Вы успешно сделали клик
  270.          
  271.  👉🏻 Всего кликов: $all_clickss
  272.  👨‍💻 Ваши клики: $clicks
  273.  👨‍👧‍👦 Всего игроков: $userss
  274.  💶 Баланс: $money руб
  275.  🔱 Амулет: x1.5", [[CLICK], [PROFILE, BANK], [BONUS, HELP], [SHOP, REF], [TOP]]);  
  276.         }
  277.            
  278.     }
  279.    
  280.     if ($message == '📒 Профиль') {
  281.        
  282.         $name = $user->nick;
  283.         $click_money = $user->click_speed;
  284.         if($user->amulet == 1)
  285.         {
  286.             $amulet = "Есть";
  287.         } else {
  288.             $amulet = "Нет";
  289.         }
  290.         if($user->updates == 0)
  291.         {
  292.             $click_money = "от 0.001 до 0.002";
  293.             $standart = "- Нет (x0)";
  294.         } else
  295.         {
  296.             $click_money = $user->updates * 0.003;
  297.              $standart = "- $user->updates шт.";
  298.         }
  299.        
  300.            $vk->sendButton($id, "@id{$id} ({$name}), Вот твой профиль:
  301.              
  302.  👤 Имя: $name
  303.  ⚡Рублей за клик: $click_money руб.
  304.  💶 Баланс: $money руб.
  305.   
  306.  📺 Имущество
  307.   🔱 Амулет: $amulet
  308.   📟 Улучшений 'Стандарт' $standart", [[CLICK], [PROFILE, BANK], [BONUS, HELP], [SHOP, REF], [TOP]]);
  309.     }
  310.    
  311.     if ($message == '🆘Помощь') {
  312.            $vk->sendButton($id, "🆘 По всем вопросам пишите в техническую поддержку: https://vk.com/public194030340", [[CLICK], [PROFILE, BANK], [BONUS, HELP], [SHOP, REF], [TOP]]);
  313.     }
  314.    
  315.     if ($message == '💳 Банк') {
  316.            $vk->sendButton($id, "💶 У Вас на балансе $money руб.
  317. Выберите действие 👇🏻👇🏻👇🏻", [[DEP, WITHDRAW], [BACK]]);
  318.     }
  319.    
  320.     if ($message == '«< Назад') {
  321.            $vk->sendButton($id, "Вы вернулись в главное меню.", [[CLICK], [PROFILE, BANK], [BONUS, HELP], [SHOP, REF], [TOP]]);
  322.     }
  323.    
  324.     if ($message == '💸Вывести') {
  325.        
  326.         $stat = R::load( 'clicksettings', 4 );
  327.         $status = $stat->value;
  328.        
  329.         if($money >= 1)
  330.         {
  331.         if($status == 0)
  332.         {
  333.             $user->accstatus = "amount";
  334.             R::store($user);
  335.            $vk->sendButton($id, "💸 Следующим сообщением введите сумму которую хотите вывести. (ТОЛЬКО ЦЕЛЫЕ РУБЛИ, БЕЗ КОПЕЕК)", [[BACK]]);
  336.         }
  337.         if($status == 1)
  338.         {
  339.             $vk->sendButton($id, "💸 Вывод средств временно недоступен", [[DEP, WITHDRAW], [BACK]]);
  340.         }
  341.         } else
  342.         {
  343.             $vk->sendButton($id, "💸 Вывод средств доступен от 1 руб.", [[DEP, WITHDRAW], [BACK]]);
  344.         }
  345.     }
  346.    
  347.     if ($message == '💳Пополнить') {
  348.            $vk->sendButton($id, "💳 Для пополнения средств напишите *danmega (Администратору)
  349.  Внимание! В честь открытия бота до 13.04 действует акция +10% к пополнению", [[DEP, WITHDRAW], [BACK]]);
  350.     }
  351.    
  352.     if ($message == '🏆Топ') {
  353.            $vk->sendButton($id, "🏆 Выберите топ который Вам интересен", [[BALTOP, CLICKTOP], [BACK]]);
  354.     }
  355.    
  356.     if ($message == '💰 По балансу') {
  357.        
  358.         $vk->sendButton($id, "🏆 Топ-5 пользователей по балансу:", [[BALTOP, CLICKTOP], [BACK]]);
  359.        
  360.         $topUser = R::findAll('clickusers' , ' ORDER BY balance DESC LIMIT 5 '); //запросили 5 записей с наибольшим значением колонке score в таблице users
  361. foreach ($topUser as $user) { //Цикл. Подробнее почитайте в документации к PHP
  362.      $vk->sendButton($id, "🏆 @id{$user['user']} ({$user['nick']}) - {$user['balance']} 💰", [[BALTOP, CLICKTOP], [BACK]]);
  363. }
  364.     }
  365.    
  366.     if ($message == '👉🏻 По кликам') {
  367.        
  368.         $vk->sendButton($id, "🏆 Топ-5 пользователей по кликам:", [[BALTOP, CLICKTOP], [BACK]]);
  369.        
  370.         $topUser = R::findAll('clickusers' , ' ORDER BY click DESC LIMIT 5 '); //запросили 5 записей с наибольшим значением колонке score в таблице users
  371. foreach ($topUser as $user) {
  372.      $vk->sendButton($id, "🏆 @id{$user['user']} ({$user['nick']}) - {$user['click']} 👈🏻", [[BALTOP, CLICKTOP], [BACK]]);
  373. }
  374.     }
  375.    
  376.     if ($message == '🛍 Магазин') {
  377.        
  378.            $vk->sendButton($id, "📟 Улучшение 'Стандарт'
  379.  💰 Цена - 20 рублей
  380.  📋 Прибавляет 0.003 руб. за клик
  381.  📋 Можно купить 10 раз", [[BUY], [TO2], [BACK]]);
  382.     }
  383.    
  384.     if (isset($data->object->payload)) {  //получаем payload
  385.         $payload = json_decode($data->object->payload, True); // Декодируем в JSON формат
  386.     } else {
  387.         $payload = null; // Иначе кнопок нет
  388.     }
  389.  
  390.     $payload = $payload['command']; // $payload = название нашей кнопки
  391.    
  392.      if ($payload == 'to2' or $payload == 'back2'){ // Переход на вторую страницу
  393.      
  394.      $user->page = 2;
  395.      R::store($user);
  396.      
  397.         $vk->sendButton($id, "🙎‍♂ Улучшение 'Помощник'
  398.  💰 Цена - 50 рублей
  399.  📋 Приносит 5 руб. в день
  400.  📋 Можно купить 3 раза", [[SOON], [BACK1, TO3], [BACK]]);
  401.      }
  402.      
  403.      if ($payload == 'to3'){ // Переход на третью страницу
  404.      
  405.      $user->page = 3;
  406.      R::store($user);
  407.      
  408.         $vk->sendButton($id, "🔱 Улучшение 'Амулет'
  409.  💰 Цена - 35 рублей
  410.  📋 С шансом 33% дает x1.5 за клик
  411.  📋 Можно купить один раз", [[SOON], [BACK2], [BACK]]);
  412.      }
  413.      
  414.      if ($payload == 'back1'){ // Возврат на первую страницу
  415.      
  416.      $user->page = 1;
  417.      R::store($user);
  418.      
  419.         $vk->sendButton($id, "📟 Улучшение 'Стандарт'
  420.  💰 Цена - 20 рублей
  421.  📋 Прибавляет 0.003 руб. за клик
  422.  📋 Можно купить неограниченное количество раз", [[BUY], [TO2], [BACK]]);
  423.      }
  424.      
  425.      if ($payload == 'buy'){ //Покупка улучшений
  426.      if($user->page == 1)
  427.      {
  428.          if($money >= 20)
  429.          {
  430.              
  431.              $user->updates = $user->updates + 1;
  432.              $user->balance = $user->balance - 20;
  433.              R::store($user);
  434.              
  435.      $vk->sendButton($id, "✔ Вы успешно купили улучшение 'Стандарт'", [[BUY], [TO2], [BACK]]);
  436.          } else
  437.          {
  438.              $vk->sendButton($id, "❌ На Вашем балансе недостаточно средств!", [[BUY], [TO2], [BACK]]);
  439.          }
  440.      }
  441.      
  442.      }
  443.      
  444.      if ($message == '👨‍👧‍👦 Реф. система') {
  445.          
  446.          $enter_code = $user->referal;
  447.          $code = $user->ref_code;
  448.          $referals = R::count('clickusers', 'referal = ?', [$code]);
  449.          $ref_money = round($user->ref_money, 3);
  450.          if($user->referal == 111)
  451.          {
  452.              $doref = '
  453.            
  454. Вы ещё не вводили реферальный код!
  455. Чтобы ввести - кнопка "👨‍👧‍👦 Ввод"';
  456.          } else
  457.          {
  458.              $refername  = R::findOne('clickusers', 'ref_code = ? ', [$enter_code])->nick;
  459.              $referid  = R::findOne('clickusers', 'ref_code = ? ', [$enter_code])->user;
  460.              $doref = "
  461.            
  462. Вас пригласил - @id$referid ($refername)";
  463.          }
  464.          
  465.             if($user->referal == 111)
  466.             {
  467.            $vk->sendButton($id, "👨‍👧‍👦Вы пригласили $referals чел.
  468. 💵 Заработано с рефералов: $ref_money руб. (Вы получаете 50% с клика рефералов)
  469. 📊 Ваш реферальный код: $code $doref", [[ENTER], [BACK]]);
  470. } else
  471. {
  472.     $vk->sendButton($id, "👨‍👧‍👦Вы пригласили $referals чел.
  473. 💵 Заработано с рефералов: $ref_money руб. (Вы получаете 50% с клика рефералов)
  474. 📊 Ваш реферальный код: $code $doref", [[BACK]]);
  475. }
  476.     }
  477.    
  478.     if ($payload == 'enter'){
  479.        
  480.         $user->accstatus = "ref";
  481.         R::store($user);
  482.         $vk->sendButton($id, "👨‍👧‍👦 Следующим сообщением введите реферальный код другого пользователя.", [[BACK]]);
  483.        
  484.     }
  485.    
  486.     if ($message == '💰Бонус') {
  487.        
  488.         if(time() - $user->lastbonus > 86400){
  489.            
  490.             $bonus = mt_rand(100,500);
  491.             $give = $bonus / 1000;
  492.             $user->balance = $user->balance + $give;
  493.             $user->lastbonus = time();
  494.             R::store($user);
  495.            
  496.              $vk->sendButton($id, "💰 Вы получили ежедневный бонус в размере $give руб.", [[CLICK], [PROFILE, BANK], [BONUS, HELP], [SHOP, REF], [TOP]]);
  497.         } else
  498.         {
  499.             $vk->sendButton($id, "💰 Вы уже получали ежедневный бонус за последние 24 часа.", [[CLICK], [PROFILE, BANK], [BONUS, HELP], [SHOP, REF], [TOP]]);
  500.         }
  501.     }
  502.    
  503.     if ($message == 'Вывел') {
  504.        
  505.         if($user->status == "admin")
  506.         {
  507.             $user->accstatus = "withdraw";
  508.             R::store($user);
  509.             $vk->sendButton($id, "💰 Следующим сообщением введите айди аккаунта для подтверждения выплаты", [[CLICK], [PROFILE, BANK], [BONUS, HELP], [SHOP, REF], [TOP]]);
  510.         }
  511.        
  512.     }
  513.    
  514.     }      
  515.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement