Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $username = "root";
- $password = "";
- $hostname = "localhost";
- $database = "coba3";
- $TOKEN="449382595:AAFMsT_MPZUjYIVuqopUdAw0fRqpQFDgBn4";
- date_default_timezone_set("Asia/Jakarta");
- function request_url($method){
- global $TOKEN;
- return "https://api.telegram.org/bot" . $TOKEN . "/". $method;
- }
- function getUrl($url){
- // inisialisasi CURL
- $data = curl_init();
- // setting CURL
- curl_setopt($data, CURLOPT_RETURNTRANSFER, 1);
- curl_setopt($data, CURLOPT_URL, $url);
- //curl_setopt($data, CURLOPT_PROXY, '10.1.20.9');
- //curl_setopt($data, CURLOPT_PROXYPORT, '8080');
- curl_setopt($data,CURLOPT_SSL_VERIFYPEER, false);
- // menjalankan CURL untuk membaca isi file
- $hasil = curl_exec($data);
- curl_close($data);
- return $hasil;
- }
- function get_updates($offset) {
- $url = request_url("getUpdates")."?offset=".$offset;
- $ini = getUrl($url);
- //$resp = file_get_contents($url);
- $result = json_decode($ini, true);
- if ($result["ok"]==1)
- return $result["result"];
- //echo "$ini ok: " . date("Y-m-d H:i:s") . "\n";
- else echo "$ini $url : " . date("Y-m-d H:i:s") . "\n";
- return array();
- }
- function curlSend($data){
- $ch = curl_init();
- $params = http_build_query($data);
- $url = request_url('sendMessage');
- curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 0 );
- curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
- curl_setopt( $ch, CURLOPT_URL, $url );
- //curl_setopt( $ch, CURLOPT_PROXY, '10.1.20.9');
- //curl_setopt( $ch, CURLOPT_PROXYPORT, '8080');
- curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false);
- curl_setopt( $ch, CURLOPT_POSTFIELDS, $params );
- curl_setopt( $ch, CURLOPT_POST, 1 );
- $info = curl_exec( $ch );
- curl_close( $ch );
- return $info;
- }
- function logRequest($path, $text, $chatid){
- if($path){
- $filename = strpos($path, 'username');
- $filename = strpos($path, 'username', $filename +1);
- if(!$filename){
- $filename = strpos($path, 'first_name');
- $filename = strpos($path, 'first_name', $filename +1);
- $i = $filename +13;
- $user = $path[$i];
- do{
- $user = $user.$path[$i+1];
- $i++;
- }while($path[$i+2]!= ",");
- $querry = "INSERT INTO log_request (username,user_request,chat_id) VALUES ('$user','$text','$chatid')";
- $result = mysql_query($querry);
- }
- else{
- $i = $filename +11;
- $user = $path[$i];
- do{
- $user = $user.$path[$i+1];
- $i++;
- }while($path[$i+2]!= "}");
- $querry = "INSERT INTO log_request (username,user_request,chat_id) VALUES ('$user','$text','$chatid')";
- $result = @mysql_query($querry);
- }
- }
- }
- function send_reply($chatid, $msgid, $text, $receive){
- $data = array(
- 'chat_id' => $chatid,
- 'text' => $text,
- 'reply_to_message_id' => $msgid
- );
- $result = curlSend ($data);
- if($msgid != "0" && $receive != "0")
- logRequest($result, $receive, $chatid);
- @mysql_close();
- }
- function tambah($id){
- global $database;
- $last_id = $database->insert('daftar_teman', [
- 'id' => $id,
- ]);
- return $last_id;
- }
- function create_response($text, $chatid){
- global $hostname, $username, $password, $database;
- $connect = @mysql_connect($hostname,$username,$password);
- if(!$connect)
- return "koneksi database error, ulangi lagi perintah anda";
- @mysql_select_db($database);
- $command = explode(" ", $text);
- if($text[0]=="/"){
- if($text=="/start"){
- return "Halo, Selamat datang \n Ketik /help untuk informasi";
- }
- else if($command[0]=="/id" | $command[0]=="/ID"){
- $querry10 = "select * FROM daftar_user where chat_id LIKE '$chatid'";
- $result10 = mysql_query($querry10);
- $num10 = mysql_num_rows($result10);
- //cek user terdaftar atau tidak
- if ($num10=='0') {
- return "Anda belum terdaftar sebagai pengguna aplikasi ini.";
- }
- else {
- $UnitName = $command[1];
- $querry11 = "select nama, umur, jenis_kelamin, id FROM daftar_teman where id = '$UnitName'";
- $result = mysql_query($querry11);
- $num = mysql_num_rows($result);
- if($UnitName == '')
- return "string tidak lengkap";
- else if($num == '0')
- return "tidak ada data pada " . $UnitName;
- while ( $db_field = mysql_fetch_assoc($result) ) {
- return $UnitName . "\n" . "\n namanya " . $db_field['nama'] . "\n umurnya " . $db_field['umur'] . "\n jenis kelaminya ".$db_field['jenis_kelamin'];
- }
- }
- }
- else if($command[0]=="/help"){
- $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";
- return $HelpText;
- }
- else if($command[0]=="/cekid"){
- return "id pada chat ini adalah : ".$chatid;
- }
- else if($command[0]=="/statusku"){
- return "Saya hanya robot mas/mba, jadi statusnya single aja ya.";
- }
- else if($command[0]=="/statusjomblo"){
- return "Silahkan cari di biro jodoh ya. Jangan cari disini. Atau disini ada yang berminat?";
- }
- else if($command[0]=="/tambah"){
- if (isset($id,$nama,$umur,$jenis_kelamin)){
- $querry12 = "INSERT INTO daftar_teman (id,nama,umur,jenis_kelamin) VALUES ('$id','$nama','$umur','$jenis_kelamin')";
- $result = @mysql_query($querry12);
- return "DATA BERHASIL DITAMBAH";
- }
- else {
- return "LENGKAPI DATA";
- }
- }
- else if($command[0]=="/error"){
- }
- }
- else {
- return "Command salah, untuk bantuan ketik /help";
- }
- }
- function process_message($message){
- $updateid = $message["update_id"];
- $message_data = $message["message"];
- if (isset($message_data["text"])) {
- $chatid = $message_data["chat"]["id"];
- $message_id = $message_data["message_id"];
- $text = $message_data["text"];
- $response = create_response($text, $chatid);
- if($response != "0")
- send_reply($chatid, $message_id, $response, $text);
- }
- return $updateid;
- }
- function process_one(){
- $update_id = 0;
- if (file_exists("last_update_id")) {
- $update_id = (int)file_get_contents("last_update_id");
- }
- $updates = get_updates($update_id);
- foreach ($updates as $message){
- $update_id = process_message($message);
- }
- file_put_contents("last_update_id", $update_id + 1);
- }
- $flag = 1;
- while (true) {
- process_one();
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement