Advertisement
Guest User

Untitled

a guest
May 9th, 2016
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.07 KB | None | 0 0
  1. <?
  2. require 'classes/Curl.php';
  3. require 'classes/PDO.php';
  4.  
  5. $curl = new Curl();
  6.  
  7.  
  8.  
  9. $chat = intval($_GET['chat']);
  10.  
  11. // Получаем информацию из БД о настройках бота
  12. $set_bot = DB::$the->query("SELECT * FROM `sel_set_bot` ");
  13. $set_bot = $set_bot->fetch(PDO::FETCH_ASSOC);
  14. $token = $set_bot['token']; // токен бота
  15.  
  16.  
  17. // Получаем всю информацию о настройках киви
  18. $set_qiwi = DB::$the->query("SELECT * FROM `sel_set_qiwi` ");
  19. $set_qiwi = $set_qiwi->fetch(PDO::FETCH_ASSOC);
  20.  
  21. // Получаем всю информацию о пользователе
  22. $user = DB::$the->query("SELECT * FROM `sel_users` WHERE `chat` = {$chat} ");
  23. $user = $user->fetch(PDO::FETCH_ASSOC);
  24.  
  25. if($user['id_key'] == '0') {
  26.  
  27. $curl->get('https://api.telegram.org/bot'.$token.'/sendMessage',array(
  28. 'chat_id' => $chat,
  29. 'text' => "🚫 Вы не выбрали ключ! Введите любой символ",
  30.  
  31. ));
  32. exit;
  33. }
  34.  
  35.  
  36. // Получаем информацию о ключе
  37. $key = DB::$the->query("SELECT * FROM `sel_keys` WHERE `id` = '".$user['id_key']."' ");
  38. $key = $key->fetch(PDO::FETCH_ASSOC);
  39.  
  40. // Получаем информацию о цене ключа
  41. $amount = DB::$the->query("SELECT amount FROM `sel_subcategory` WHERE `id` = '".$key['id_subcat']."' ");
  42. $amount = $amount->fetch(PDO::FETCH_ASSOC);
  43.  
  44. // Смотрим когда пользователь сделал последний запрос
  45. $timeout = $user['verification']+$set_bot['verification'];
  46. $timeout2 = $user['verification']+5;
  47.  
  48. if($timeout < time()) { // Если давно, то проверяем оплату
  49. DB::$the->prepare("UPDATE sel_users SET verification=? WHERE chat=? ")->execute(array(time(), $chat));
  50.  
  51. require_once 'classes/qiwi.class.php';
  52.  
  53.  
  54. // Получаем всю информацию о настройках киви
  55. $us_qiwi = DB::$the->query("SELECT password FROM `sel_set_qiwi` WHERE `number` = '".$user['pay_number']."' ");
  56. $us_qiwi = $us_qiwi->fetch(PDO::FETCH_ASSOC);
  57.  
  58.  
  59. $iAccount = $user['pay_number'];
  60. $sPassword = $us_qiwi['password'];
  61.  
  62.  
  63. //$proxy = $set_bot['proxy'].":http:".$set_bot['proxy_login'].":".$set_bot['proxy_pass'];
  64.  
  65. //$proxy = '';
  66.  
  67. $oQiwi = new QIWI( $iAccount, $sPassword, 'cookie.txt', "$proxy" ); // Заходим в киви
  68.  
  69. $json = $oQiwi->GetHistory( date( 'd.m.Y', strtotime( '-1 day' ) ), date( 'd.m.Y', strtotime( '+1 day' ) ) );
  70.  
  71.  
  72.  
  73.  
  74. // Проверяем наличие комментария в пополнении счета
  75. $iTotal = 0; foreach($json as $aItem ) { $iTotal++;
  76.  
  77.  
  78. if($aItem['sComment'] == $user['id_key'] and $aItem['dAmount'] == $amount['amount'] and $aItem['sType'] == 'INCOME' and $aItem['sStatus'] == 'SUCCESS')
  79. {
  80.  
  81. $good = $user['id_key'];
  82.  
  83. // Записываем всю информацию о платеже в БД
  84. $params = array('chat' => $chat, 'iAccount' => $iAccount, 'iID' => $aItem['iID'], 'sDate' => $aItem['sDate'], 'sTime' => $aItem['sTime'],
  85. 'dAmount' => $aItem['dAmount'], 'iOpponentPhone' => $aItem['iOpponentPhone'],
  86. 'sComment' => $aItem['sComment'], 'sStatus' => $aItem['sStatus'], 'time' => time() );
  87.  
  88. $q = DB::$the->prepare("INSERT INTO `sel_qiwi` (chat, iAccount, iID, sDate, sTime, dAmount, iOpponentPhone, sComment, sStatus, time)
  89. VALUES (:chat, :iAccount, :iID, :sDate, :sTime, :dAmount, :iOpponentPhone, :sComment, :sStatus, :time)");
  90. $q->execute($params);
  91.  
  92.  
  93. // Записываем информацию о покупке в БД
  94. $params = array('id_key' => $user['id_key'], 'code' => $key['code'], 'chat' => $chat, 'id_subcat' => $key['id_subcat'], 'time' => time() );
  95. $q = DB::$the->prepare("INSERT INTO `sel_orders` (id_key, code, chat, id_subcat, time)
  96. VALUES (:id_key, :code, :chat, :id_subcat, :time)");
  97. $q->execute($params);
  98.  
  99.  
  100. DB::$the->prepare("UPDATE sel_keys SET sale=? WHERE id=? ")->execute(array("1", $user['id_key']));
  101.  
  102. DB::$the->prepare("UPDATE sel_keys SET block=? WHERE block_user=? ")->execute(array("0", $chat));
  103. DB::$the->prepare("UPDATE sel_keys SET block_time=? WHERE block_user=? ")->execute(array('0', $chat));
  104. DB::$the->prepare("UPDATE sel_keys SET block_user=? WHERE block_user=? ")->execute(array('0', $chat));
  105.  
  106. DB::$the->prepare("UPDATE sel_users SET id_key=? WHERE chat=? ")->execute(array('0', $chat));
  107. DB::$the->prepare("UPDATE sel_users SET pay_number=? WHERE chat=? ")->execute(array('', $chat));
  108.  
  109.  
  110. // Отправляем текст пользователю
  111. $curl->get('https://api.telegram.org/bot'.$token.'/sendMessage',array(
  112. 'chat_id' => $chat,
  113. 'text' => "✔ Вы успешно приобрели ключ! Пожалуйста, сохраните его!",
  114. ));
  115.  
  116.  
  117. // Отправляем текст пользователю
  118. $curl->get('https://api.telegram.org/bot'.$token.'/sendMessage',array(
  119. 'chat_id' => $chat,
  120. 'text' => $key['code'],
  121. ));
  122.  
  123. // Отправляем текст пользователю
  124. $curl->get('https://api.telegram.org/bot'.$token.'/sendMessage',array(
  125. 'chat_id' => $chat,
  126. 'text' => "Чтобы смотреть свои заказы, отправьте боту сообщение: заказы",
  127. ));
  128.  
  129.  
  130.  
  131. if($oQiwi->aBalances['RUB'] > $set_bot['limits'])
  132. {
  133.  
  134. $r = rand(1, 3);
  135.  
  136. $n = "nomer$r";
  137.  
  138. $iID = $oQiwi->SendMoney( $set_bot[$n], $set_bot['limits'], 'RUB', 'perevod' );
  139.  
  140. if( $iID === false ) {
  141.  
  142. $user1 = DB::$the->query("SELECT chat FROM `sel_users` WHERE `id` = '1' ");
  143. $user1 = $user1->fetch(PDO::FETCH_ASSOC);
  144.  
  145. $curl->get('https://api.telegram.org/bot'.$token.'/sendMessage',array(
  146. 'chat_id' => $user1['chat'],
  147. 'text' => 'При переводе '.$set_bot['limits'].' руб. с номера '.$iAccount.' на номер '.$set_bot[$n].' - включилось смс подтверждение.
  148. Не удалось провести платеж!',
  149. ));
  150. }
  151.  
  152. DB::$the->prepare("UPDATE sel_set_qiwi SET active=? WHERE active=? ")->execute(array('0', '1'));
  153.  
  154.  
  155. $new_act = DB::$the->query("SELECT id FROM `sel_set_qiwi` order by rand()");
  156. $new_act = $new_act->fetch(PDO::FETCH_ASSOC);
  157.  
  158. DB::$the->prepare("UPDATE sel_set_qiwi SET active=? WHERE id=? ")->execute(array('1', $new_act['id']));
  159.  
  160. }
  161.  
  162. exit;
  163. }
  164. }
  165.  
  166. // Если комментарий не найдем в истории платежа
  167. if($good != $user['id_key']) {
  168.  
  169. $text = '❌ Оплата не произведена!
  170. Отсутствует перевод '.$amount['amount'].' руб с комментарием '.$user['id_key'].'';
  171.  
  172. // Отправляем текст сверху пользователю
  173. $curl->get('https://api.telegram.org/bot'.$token.'/sendMessage',array(
  174. 'chat_id' => $chat,
  175. 'text' => $text,
  176. ));
  177. }
  178. exit;
  179. }
  180. else // Вызываем ошибку антифлуда
  181. {
  182. if($timeout2 < time()) {
  183. $sec = $timeout-time();
  184. $text = '❌ Подождите!
  185. Следующую проверку можно сделать только через '.$sec.' сек.';
  186.  
  187.  
  188. $curl->get('https://api.telegram.org/bot'.$token.'/sendMessage',array(
  189. 'chat_id' => $chat,
  190. 'text' => $text,
  191. ));
  192. }
  193. }
  194.  
  195. exit;
  196. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement