Revalto

Game Bot #3

Dec 11th, 2018
785
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.67 KB | None | 0 0
  1. <?php
  2. if (!isset($_REQUEST)) { return; }
  3.  
  4. $confirmation_token = 'cf14a902';
  5. $token = 'c5f4c9b81f94969525a9676e39b46e88e10561415e8930f34d0f4ee193bc2103ad56644a9b40967897d43';
  6.  
  7. $data = json_decode(file_get_contents('php://input')); // vkbot | B3a9B8v7 - Данные от MySQL (Чтобы не забыть)
  8. switch ($data->type) {
  9. case 'confirmation': echo $confirmation_token; break;
  10. case 'message_new':
  11. $user_id = $data->object->user_id;
  12. $user_info = json_decode(file_get_contents("https://api.vk.com/method/users.get?user_ids={$user_id}&access_token={$token}&v=5.0"));
  13. $user_name = $user_info->response[0]->first_name;
  14. $body = $data->object->body;
  15. $user_stat = GetUserStats($user_id);
  16.  
  17. if(preg_match("/^помощь$/", $body)) sendMessage($user_id, "{$user_name}, тут будут команды! &#128540;");
  18. elseif(preg_match("/^баланс$/", $body)) sendMessage($user_id, "{$user_name}, ваш баланс: {$user_stat['money']} руб. &#127974;");
  19. elseif(preg_match("/^профиль$/", $body)) sendMessage($user_id, "{$user_name}, вот ваш профиль: &#128084;<br>ID: {$user_stat['id']} &#128187; <br>UID: {$user_stat['uid']} &#128203;<br>Баланс: {$user_stat['money']} &#128181;");
  20. elseif(preg_match("/^казино (?<sum>\d{1,7})$/", $body, $out)) {
  21. $a = GetUserStats($user_id);
  22. if($a['money'] < $out['sum']) { sendMessage($user_id, "{$user_name}, у тебя нету денег!"); return; }
  23. $rand = rand(0,100);
  24. if($rand >= 50) {
  25. addMoney($user_id, $out['sum'], 1);
  26. sendMessage($user_id, "{$user_name}, поздравляю! Ты выйграл!!!");
  27. } else {
  28. addMoney($user_id, $out['sum'], 2);
  29. sendMessage($user_id, "{$user_name}, прости, но ты проиграл!");
  30. }
  31. }
  32. // else sendMessage($user_id, "{$user_name}, я не могу понять, что ты хочешь!"); // На случай, если он не найдет команду!
  33. echo('ok');
  34. break;
  35. }
  36.  
  37. function sendMessage($user_id, $message) { // Создаем функцию, которая будет принимать 2е переменные, это UID самого пользователя и само сообщение.
  38. global $token; // Даем доступ функции к переменной $token
  39. $request_params = array(
  40. 'message' => $message, // Подстраиваем переменные функции под параметры запроса.
  41. 'user_id' => $user_id,
  42. 'access_token' => $token,
  43. 'v' => '5.0'
  44. );
  45. file_get_contents('https://api.vk.com/method/messages.send?'. http_build_query($request_params)); // Чисто мои удобства :)
  46. }
  47.  
  48. function GetUserStats($user_id) { // Функция с помощью которой мы будем получать данные нашего пользователя, а так же его регистрировать в базе!
  49. $link = new mysqli("localhost", "vkbot", "B3a9B8v7", "vkbot"); // Подключение к базе данных
  50. $result = mysqli_query($link, "SELECT * FROM `accounts` WHERE `uid` = '".$user_id."'"); // Делаем запрос с выводом данных нашего пользователя
  51. $row = mysqli_fetch_array($result, MYSQLI_ASSOC); // Берем данные с запроса в переменную как массив
  52. if($row['uid'] == $user_id) return $row; // Сверяем, ли наш юзер есть в базе, то есть, что строка не пустая
  53. else { // если..
  54. mysqli_query($link, "INSERT INTO `accounts`(`uid`, `money`, `firstMessage`) VALUES ('".$user_id."', '500', '".time()."')"); // Создаем аккаунт пользователя в базе
  55. $result = mysqli_query($link, "SELECT * FROM `accounts` WHERE `uid` = '".$user_id."'"); // Опять получаем информацию о нем
  56. $row = mysqli_fetch_array($result, MYSQLI_ASSOC); // берем в массив
  57. return $row; // Возвращаем его..
  58. }
  59. }
  60.  
  61. function addMoney($user_id, $money, $status) {
  62. $link = new mysqli("localhost", "vkbot", "B3a9B8v7", "vkbot"); // Подключение к базе данных
  63. $result = mysqli_query($link, "SELECT * FROM `accounts` WHERE `uid` = '".$user_id."'"); // Делаем запрос с выводом данных нашего пользователя
  64. $row = mysqli_fetch_array($result, MYSQLI_ASSOC); // Берем данные с запроса в переменную как массив
  65. if($status == 1) $row['money'] += $money;
  66. elseif($status == 2) $row['money'] -= $money;
  67. mysqli_query($link, "UPDATE `accounts` SET `money`='".$row['money']."' WHERE `uid` = '".$user_id."'");
  68. }
  69.  
  70. ?>
Add Comment
Please, Sign In to add comment