Last active
August 20, 2018 09:48
-
-
Save resir014/fb42e6936bf6c4f47c7b23060bd0f92f to your computer and use it in GitHub Desktop.
Revisions
-
resir014 revised this gist
Aug 20, 2018 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -7,7 +7,7 @@ $module = basename(__FILE__,".php"); define("_MODULE" , $module); define("_AI_TOKEN" , "YmxjaGVlaW9paGZuamhsamxnMTU0Q29lVTJyMm5PVTA3OTg4OWxRZGJ3Nk5XbU1Z"); define("_ROOT", realpath(dirname(__FILE__))); $err_log = "err_".$module.".log"; -
resir014 created this gist
Aug 20, 2018 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,245 @@ <?php // Header AI ==================================================================================================================== error_reporting(1); header("Content-type: text/html; charset=utf-8"); ini_set("max_execution_time", 30); date_default_timezone_set("Asia/Jakarta"); $module = basename(__FILE__,".php"); define("_MODULE" , $module); define("_AI_TOKEN" , "YmZxa2VmaGltam9oaG1sZnFnMTRqYVlEclNGbjcvczkyMDExMGZFSzBYQVNxNlJB"); define("_ROOT", realpath(dirname(__FILE__))); $err_log = "err_".$module.".log"; ini_set("error_log", $err_log); ini_set("default_charset", "UTF-8"); ini_set("mbstring.language", "neutral"); if ( version_compare(PHP_VERSION, "5.6.0", "<") ) { mb_internal_encoding("UTF-8"); ini_set("mbstring.internal_encoding", "UTF-8"); ini_set("mbstring.http_input", "auto"); ini_set("mbstring.http_output", "UTF-8"); ini_set("iconv.internal_encoding", "UTF-8"); ini_set("iconv.output_encoding", "UTF-8"); } // Handle Input ==================================================================================================================== $in_data = file_get_contents("php://input"); $arr_in_data = json_decode($in_data, true); // Parse Data ==================================================================================================================== $ref_id = ( isset($arr_in_data["ref_id"]) ) ? $arr_in_data["ref_id"] : "" ; $eva_ref_id = ( isset($arr_in_data["eva_ref_id"]) ) ? $arr_in_data["eva_ref_id"] : "" ; $sender_data = ( isset($arr_in_data["sender_data"]) ) ? $arr_in_data["sender_data"] : "" ; $platform_id = ( isset($sender_data["platform_id"]) ) ? $sender_data["platform_id"] : "" ; $platform_name = ( isset($sender_data["platform_name"]) ) ? $sender_data["platform_name"] : "" ; $sender_id = ( isset($sender_data["sender_id"]) ) ? $sender_data["sender_id"] : "" ; $sender_uid = ( isset($sender_data["sender_uid"]) ) ? $sender_data["sender_uid"] : "" ; $sender_nick = ( isset($sender_data["sender_nick"]) ) ? $sender_data["sender_nick"] : "" ; $sender_name = ( isset($sender_data["sender_name"]) ) ? $sender_data["sender_name"] : "" ; $sender_chat_id = ( isset($sender_data["sender_chat_id"]) ) ? $sender_data["sender_chat_id"] : "" ; $sender_room_type = ( isset($sender_data["sender_room_type"]) ) ? $sender_data["sender_room_type"] : "" ; $sender_room_title = ( isset($sender_data["sender_room_title"]) ) ? $sender_data["sender_room_title"] : "" ; $sender_is_eva_owner = ( isset($sender_data["sender_is_eva_owner"]) ) ? $sender_data["sender_is_eva_owner"] : false ; $sender_eva_uid = ( isset($sender_data["sender_eva_uid"]) ) ? $sender_data["sender_eva_uid"] : "" ; $message_data = ( isset($arr_in_data["message_data"]) ) ? $arr_in_data["message_data"] : "" ; $msg_original = ( isset($message_data["msg_original"]) ) ? $message_data["msg_original"] : "" ; $msg_type = ( isset($message_data["msg_type"]) ) ? $message_data["msg_type"] : "" ; $msg_dtsent = ( isset($message_data["msg_dtsent"]) ) ? $message_data["msg_dtsent"] : "" ; $msg_clear = ( isset($message_data["msg_clear"]) ) ? $message_data["msg_clear"] : "" ; $msg_last_n = ( isset($message_data["msg_last_n"]) ) ? $message_data["msg_last_n"] : array() ; $msg_type_data = ( isset($message_data["msg_type_data"]) ) ? $message_data["msg_type_data"] : false; $msg_file_data = ( isset($message_data["msg_file_data"]) ) ? $message_data["msg_file_data"] : false ; $arr_words_lc = $nlp_data = ""; $msg_breakdown = ( isset($message_data["msg_breakdown"]) ) ? $message_data["msg_breakdown"] : false ; if( $msg_breakdown ) { $keyword = ( isset($msg_breakdown["keyword"]) ) ? $msg_breakdown["keyword"] : "" ; $msg_clear = ( isset($msg_breakdown["msg_clear"]) ) ? $msg_breakdown["msg_clear"] : "" ; $msg_clear_no_keywords = ( isset($msg_breakdown["msg_clear_no_keywords"]) ) ? $msg_breakdown["msg_clear_no_keywords"] : "" ; $nlp_data = ( isset($msg_breakdown["nlp_data"]) ) ? $msg_breakdown["nlp_data"] : false ; if( $nlp_data ) { $arr_words_lc = ( isset($nlp_data["arr_words_lc"]) ) ? $nlp_data["arr_words_lc"] : "" ; } } $meta_data = ( isset($arr_in_data["meta_data"]) ) ? $arr_in_data["meta_data"] : "" ; $eva_bot_src_id = ( isset($meta_data["eva_bot_src_id"]) ) ? $meta_data["eva_bot_src_id"] : "" ; $eva_session_status = ( isset($meta_data["eva_session_status"]) ) ? $meta_data["eva_session_status"] : "" ; $eva_session_id = ( isset($meta_data["eva_session_id"]) ) ? $meta_data["eva_session_id"] : "" ; $eva_name = ( isset($meta_data["eva_name"]) ) ? $meta_data["eva_name"] : "" ; $eva_nick = ( isset($meta_data["eva_nick"]) ) ? $meta_data["eva_nick"] : "" ; $eva_language_code = ( isset($meta_data["eva_language_code"]) ) ? $meta_data["eva_language_code"] : "" ; $eva_add_options = ( isset($message_data["eva_add_options"]) ) ? $message_data["eva_add_options"] : array(); $session = ( isset($arr_in_data["eva_session"]) ) ? $arr_in_data["eva_session"] : false ; // Output function ============================================================================================================ function create_uid() { $ref = microtime(true); $sec = $ref | 0; return sprintf("%d%'08d", $sec, ($ref - $sec) * 100000000); } function curl( $url, $method = 'get', $data = '', $header = array(), $keep = true ) { global $ch, $curl_cookie_file; $res = array(); if ( false == $ch ) { $ch = curl_init(); } $_header = array( 'Accept-Language: en-US,en;q=0.7,fr;q=0.3', 'Accept-Encoding: gzip, deflate', ); $header += $_header; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); curl_setopt($ch, CURLOPT_TIMEOUT, 400); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_ENCODING, ''); curl_setopt($ch, CURLOPT_VERBOSE, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_MAXREDIRS, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0'); curl_setopt($ch, CURLOPT_HTTPHEADER, $header); if ( 'post' == $method AND '' != $data ) { curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); } if ( strpos($url, 'https://') !== false ) { //curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); } if ( $curl_cookie_file ) { curl_setopt($ch, CURLOPT_COOKIEJAR, $curl_cookie_file); curl_setopt($ch, CURLOPT_COOKIEFILE, $curl_cookie_file); } $ce = curl_exec($ch); if ( false === $ce ) { $res = array( 'eno' => curl_errno($ch), 'emsg' => curl_error($ch), ); } else { $res = array( 'code' => curl_getinfo($ch, CURLINFO_HTTP_CODE), 'body' => $ce, ); } if ( false != $keep ) { curl_close($ch); $ch = false; } return $res; } function ouput_message($arr_push) { $ref_id = create_uid(); $eva_name = ( isset($arr_push["eva_name"]) ) ? $arr_push["eva_name"] : ""; $platform_id = ( isset($arr_push["platform_id"]) ) ? $arr_push["platform_id"] : ""; $sender_chat_id = ( isset($arr_push["sender_chat_id"]) ) ? $arr_push["sender_chat_id"] : ""; $text = ( isset($arr_push["text"]) ) ? $arr_push["text"] : ""; $url_src = ( isset($arr_push["url_src"]) ) ? $arr_push["url_src"] : ""; $content_type = ( isset($arr_push["content_type"]) ) ? $arr_push["content_type"] : ""; $keep_session = ( isset($arr_push["keep_session"]) ) ? $arr_push["keep_session"] : ""; $date_send = gmdate("Y-m-d H:i:s"); $result_arr_push = array( "ref_id" => $ref_id, "eva_ref_id" => 0, "eva_name" => $eva_name, "dest_platform_id" => $platform_id, "dest_chat_id" => $sender_chat_id, "content_type" => $content_type, "content_data" => array("text" => $text, "url_src" => $url_src), "keep_session" => $keep_session, "eva_session" => "", "dt_sent" => $date_send, ); $output_data = json_encode($result_arr_push); return $output_data; } function push_message($arr_push) { $api_url = "https://api.eva.id/ais/"._AI_TOKEN."/send_msg"; $ref_id = create_uid(); $eva_name = ( isset($arr_push["eva_name"]) ) ? $arr_push["eva_name"] : ""; $platform_id = ( isset($arr_push["platform_id"]) ) ? $arr_push["platform_id"] : ""; $sender_chat_id = ( isset($arr_push["sender_chat_id"]) ) ? $arr_push["sender_chat_id"] : ""; $text = ( isset($arr_push["text"]) ) ? $arr_push["text"] : ""; $url_src = ( isset($arr_push["url_src"]) ) ? $arr_push["url_src"] : ""; $content_type = ( isset($arr_push["content_type"]) ) ? $arr_push["content_type"] : ""; $keep_session = ( isset($arr_push["keep_session"]) ) ? $arr_push["keep_session"] : ""; $date_send = gmdate("Y-m-d H:i:s"); $result_arr_push = array( "ref_id" => $ref_id, "eva_ref_id" => 0, "eva_name" => $eva_name, "dest_platform_id" => $platform_id, "dest_chat_id" => $sender_chat_id, "content_type" => $content_type, "content_data" => array("text" => $text, "url_src" => $url_src), "keep_session" => $keep_session, "eva_session" => "", "dt_sent" => $date_send, ); $output_data = json_encode($result_arr_push); $push_data = curl( $api_url, "post", $output_data ); } // Output Mode Message =========================================================================================================== if($msg_original){ $ouputMode = 0; $push["eva_name"] = $eva_name; $push["platform_id"] = $platform_id; $push["sender_chat_id"] = $sender_chat_id; $push["content_type"] = 1; $push["keep_session"] = false; $push["text"] = "Your message is: ".$msg_original; if($ouputMode == 0){ $push["text"] = $push["text"]." (Mode: output)"; echo ouput_message($push); } else{ $push["text"] = $push["text"]." (Mode: push)"; push_message($push); } } ?>