Advertisement
Guest User

Untitled

a guest
Aug 10th, 2017
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.52 KB | None | 0 0
  1. <?php
  2.  
  3. $username = "root";
  4. $password = "";
  5. $hostname = "localhost";
  6. $database = "coba3";
  7.  
  8. $TOKEN="449382595:AAFMsT_MPZUjYIVuqopUdAw0fRqpQFDgBn4";
  9.  
  10. date_default_timezone_set("Asia/Jakarta");
  11.  
  12.  
  13. function request_url($method){
  14. global $TOKEN;
  15. return "https://api.telegram.org/bot" . $TOKEN . "/". $method;
  16. }
  17.  
  18. function getUrl($url){
  19. // inisialisasi CURL
  20. $data = curl_init();
  21. // setting CURL
  22. curl_setopt($data, CURLOPT_RETURNTRANSFER, 1);
  23. curl_setopt($data, CURLOPT_URL, $url);
  24. //curl_setopt($data, CURLOPT_PROXY, '10.1.20.9');
  25. //curl_setopt($data, CURLOPT_PROXYPORT, '8080');
  26. curl_setopt($data,CURLOPT_SSL_VERIFYPEER, false);
  27. // menjalankan CURL untuk membaca isi file
  28. $hasil = curl_exec($data);
  29. curl_close($data);
  30. return $hasil;
  31. }
  32.  
  33. function get_updates($offset) {
  34. $url = request_url("getUpdates")."?offset=".$offset;
  35. $ini = getUrl($url);
  36. //$resp = file_get_contents($url);
  37. $result = json_decode($ini, true);
  38. if ($result["ok"]==1)
  39. return $result["result"];
  40. //echo "$ini ok: " . date("Y-m-d H:i:s") . "\n";
  41. else echo "$ini $url : " . date("Y-m-d H:i:s") . "\n";
  42. return array();
  43. }
  44.  
  45. function curlSend($data){
  46. $ch = curl_init();
  47. $params = http_build_query($data);
  48. $url = request_url('sendMessage');
  49. curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 0 );
  50. curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
  51. curl_setopt( $ch, CURLOPT_URL, $url );
  52. //curl_setopt( $ch, CURLOPT_PROXY, '10.1.20.9');
  53. //curl_setopt( $ch, CURLOPT_PROXYPORT, '8080');
  54. curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false);
  55. curl_setopt( $ch, CURLOPT_POSTFIELDS, $params );
  56. curl_setopt( $ch, CURLOPT_POST, 1 );
  57. $info = curl_exec( $ch );
  58. curl_close( $ch );
  59. return $info;
  60. }
  61.  
  62. function logRequest($path, $text, $chatid){
  63. if($path){
  64. $filename = strpos($path, 'username');
  65. $filename = strpos($path, 'username', $filename +1);
  66. if(!$filename){
  67. $filename = strpos($path, 'first_name');
  68. $filename = strpos($path, 'first_name', $filename +1);
  69. $i = $filename +13;
  70. $user = $path[$i];
  71. do{
  72. $user = $user.$path[$i+1];
  73. $i++;
  74. }while($path[$i+2]!= ",");
  75. $querry = "INSERT INTO log_request (username,user_request,chat_id) VALUES ('$user','$text','$chatid')";
  76. $result = mysql_query($querry);
  77. }
  78.  
  79. else{
  80. $i = $filename +11;
  81. $user = $path[$i];
  82. do{
  83. $user = $user.$path[$i+1];
  84. $i++;
  85. }while($path[$i+2]!= "}");
  86. $querry = "INSERT INTO log_request (username,user_request,chat_id) VALUES ('$user','$text','$chatid')";
  87. $result = @mysql_query($querry);
  88. }
  89. }
  90. }
  91.  
  92. function send_reply($chatid, $msgid, $text, $receive){
  93. $data = array(
  94. 'chat_id' => $chatid,
  95. 'text' => $text,
  96. 'reply_to_message_id' => $msgid
  97. );
  98. $result = curlSend ($data);
  99. if($msgid != "0" && $receive != "0")
  100. logRequest($result, $receive, $chatid);
  101. @mysql_close();
  102. }
  103.  
  104. function tambah($id){
  105. global $database;
  106. $last_id = $database->insert('daftar_teman', [
  107. 'id' => $id,
  108. ]);
  109.  
  110. return $last_id;
  111. }
  112.  
  113.  
  114. function create_response($text, $chatid){
  115. global $hostname, $username, $password, $database;
  116.  
  117. $connect = @mysql_connect($hostname,$username,$password);
  118. if(!$connect)
  119. return "koneksi database error, ulangi lagi perintah anda";
  120. @mysql_select_db($database);
  121.  
  122. $command = explode(" ", $text);
  123. if($text[0]=="/"){
  124. if($text=="/start"){
  125. return "Halo, Selamat datang \n Ketik /help untuk informasi";
  126. }
  127.  
  128. else if($command[0]=="/id" | $command[0]=="/ID"){
  129. $querry10 = "select * FROM daftar_user where chat_id LIKE '$chatid'";
  130. $result10 = mysql_query($querry10);
  131. $num10 = mysql_num_rows($result10);
  132. //cek user terdaftar atau tidak
  133. if ($num10=='0') {
  134. return "Anda belum terdaftar sebagai pengguna aplikasi ini.";
  135. }
  136.  
  137. else {
  138. $UnitName = $command[1];
  139. $querry11 = "select nama, umur, jenis_kelamin, id FROM daftar_teman where id = '$UnitName'";
  140. $result = mysql_query($querry11);
  141. $num = mysql_num_rows($result);
  142. if($UnitName == '')
  143. return "string tidak lengkap";
  144. else if($num == '0')
  145. return "tidak ada data pada " . $UnitName;
  146. while ( $db_field = mysql_fetch_assoc($result) ) {
  147. return $UnitName . "\n" . "\n namanya " . $db_field['nama'] . "\n umurnya " . $db_field['umur'] . "\n jenis kelaminya ".$db_field['jenis_kelamin'];
  148. }
  149. }
  150. }
  151.  
  152. else if($command[0]=="/help"){
  153. $HelpText = "ketikan /cekid untuk informasi idchat anda \nketik /status untuk informasi ststus anda \nketik /id 'nomorid' untuk informasi teman yg anda cari \nketik /tambah untuk menambah daftar teman";
  154. return $HelpText;
  155. }
  156.  
  157. else if($command[0]=="/cekid"){
  158. return "id pada chat ini adalah : ".$chatid;
  159. }
  160.  
  161. else if($command[0]=="/statusku"){
  162. return "Saya hanya robot mas/mba, jadi statusnya single aja ya.";
  163. }
  164.  
  165. else if($command[0]=="/statusjomblo"){
  166. return "Silahkan cari di biro jodoh ya. Jangan cari disini. Atau disini ada yang berminat?";
  167. }
  168.  
  169. else if($command[0]=="/tambah"){
  170. if (isset($id,$nama,$umur,$jenis_kelamin)){
  171. $querry12 = "INSERT INTO daftar_teman (id,nama,umur,jenis_kelamin) VALUES ('$id','$nama','$umur','$jenis_kelamin')";
  172. $result = @mysql_query($querry12);
  173. return "DATA BERHASIL DITAMBAH";
  174. }
  175. else {
  176. return "LENGKAPI DATA";
  177. }
  178. }
  179.  
  180. else if($command[0]=="/error"){
  181.  
  182. }
  183. }
  184.  
  185. else {
  186. return "Command salah, untuk bantuan ketik /help";
  187. }
  188. }
  189.  
  190.  
  191. function process_message($message){
  192. $updateid = $message["update_id"];
  193. $message_data = $message["message"];
  194. if (isset($message_data["text"])) {
  195. $chatid = $message_data["chat"]["id"];
  196. $message_id = $message_data["message_id"];
  197. $text = $message_data["text"];
  198. $response = create_response($text, $chatid);
  199. if($response != "0")
  200. send_reply($chatid, $message_id, $response, $text);
  201. }
  202. return $updateid;
  203. }
  204.  
  205.  
  206. function process_one(){
  207. $update_id = 0;
  208.  
  209. if (file_exists("last_update_id")) {
  210. $update_id = (int)file_get_contents("last_update_id");
  211. }
  212. $updates = get_updates($update_id);
  213. foreach ($updates as $message){
  214. $update_id = process_message($message);
  215. }
  216. file_put_contents("last_update_id", $update_id + 1);
  217. }
  218.  
  219. $flag = 1;
  220.  
  221. while (true) {
  222. process_one();
  223.  
  224. }
  225.  
  226. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement