1. pertama, agan hrus udah punya file OAuth.php dan twitteroauth.php yg bisa didownload satu paket di sini
klo males download bisa langsung ambil 2 filenye lewat pastebin
OAuth.php -> http://pastebin.com/AusVevKV
twitteroauth.php -> http://pastebin.com/5XsgH8p2
trus jgn lupa ganti akses dari Read ke Read and Write di menu setting yg ada di app twitter agan,,
2. taruh 2 file tadi dalam 1 folder, trus buat file auto_reply_mention.php dalam folder itu juga
dan ksih script kya gini
<?php
/*
coded by rieqyns13
thanks to all devilzc0de members
*/
set_time_limit(0);
class rieqyns13{
public $api_key;
public $api_secret;
public $access_token;
public $access_token_secret;
public $simi_type;
public $file_id;
public $file_log;
public $delay;
public $fls_komen;
public $post_waktu;
public $cookie;
private $user_sender;
private $user_mention;
function oauth(){
require_once("lib/twitteroauth.php");
$con = new TwitterOAuth($this->api_key, $this->api_secret, $this->access_token, $this->access_token_secret);
return $con;
}
function tweet(){
$con = $this->oauth();
$data = $con->get("statuses/mentions_timeline");
return $data;
}
function tweet2(){
$con = $this->oauth();
foreach($this->tweet() as $twit){
if($this->cekId($twit->id_str)==true){
$user_mention = explode(" ", $twit->entities->user_mentions[0]->name);
$this->user_mention = $user_mention[0];
$user_sender = explode(" ", $twit->user->name);
$this->user_sender = $user_sender[0];
if($this->post_waktu==true) $waktu = $this->waktu();
else $waktu = null;
if($this->simi_type==true) $data = "@".$twit->user->screen_name." ".$this->simsimi($twit->text).$waktu;
else{
$msg = $this->match($this->fls_komen);
$data = "@".$twit->user->screen_name." ".$msg.$waktu;
}
echo "[+]Menangkap mention dari @".$twit->user->screen_name.": ".$twit->text."n";
echo "[+]Mencoba membalas: ";
$post = $con->post("statuses/update", array("status" => $data, "in_reply_to_status_id" => $twit->id_str));
if(!empty($post->text)){
$status = "Sukes -> ".$post->text."n";
echo $status;
$this->simpan($this->file_log, $status);
$this->simpan($this->file_id, $twit->id_str."n");
}elseif(!empty($post->errors[0]->message)){
$status = "Gagal -> ".$post->errors[0]->message."n";
$this->simpan($this->file_id, $twit->id_str."n"); //<<--test
echo $status;
$this->simpan($this->file_log, $status);
}
}else{
continue;
}
}
}
function waktu(){
if(function_exists('date_default_timezone_set')) date_default_timezone_set("Asia/Jakarta");
$hari=date('w');
$tgl =date('d');
$bln =date('m');
$thn =date('Y');
$jam =date("H:i:s");
switch($hari){
case 0 : {$hari='Sunday';}break;
case 1 : {$hari='Monday';}break;
case 2 : {$hari='Tuesday';}break;
case 3 : {$hari='Wednesday';}break;
case 4 : {$hari='Thursday';}break;
case 5 : {$hari="Friday";}break;
case 6 : {$hari='Saturday';}break;
default: {$hari='UnKnown';}break;
}
switch($bln){
case 1 : {$bln='January';}break;
case 2 : {$bln='February';}break;
case 3 : {$bln='March';}break;
case 4 : {$bln='April';}break;
case 5 : {$bln='May';}break;
case 6 : {$bln="June";}break;
case 7 : {$bln='July';}break;
case 8 : {$bln='August';}break;
case 9 : {$bln='September';}break;
case 10 : {$bln='October';}break;
case 11 : {$bln='November';}break;
case 12 : {$bln='December';}break;
default: {$bln='UnKnown';}break;
}
$waktu = "n[".$hari.", ".$tgl." ".$bln." ".$thn." ".$jam."]";
return $waktu;
}
function match($str){
if(preg_match("#@nama_saya#is", $str)) $str = str_ireplace("@nama_saya", $this->user_mention, $str);
else $str = $str;
if(preg_match("#@nama_depan#is", $str)) $str = str_ireplace("@nama_depan", $this->user_sender, $str);
else $str = $str;
return $str;
}
function simsimi($str){
$header = array("Host: www.simsimi.com",
"User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:21.0) Gecko/20100101 Firefox/21.0",
"Accept: application/json, text/javascript, */*; q=0.01",
"Accept-Language: id,en-us;q=0.7,en;q=0.3",
"Accept-Encoding: gzip, deflate",
"Content-Type: application/json; charset=utf-8",
"X-Requested-With: XMLHttpRequest",
"Referer: http://www.simsimi.com/talk.htm",
"Cookie: ".$this->cookie);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.simsimi.com/func/reqN?lc=id&ft=0.0&req=".urlencode($str));
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$exec = curl_exec($ch);
curl_close($ch);
$dec = json_decode($exec, true);
if(empty($dec)){
$msg = $this->fls_komen;
$simi = $this->match($msg);
return $simi;
}else{
if(!empty($dec['sentence_resp'])){
$dat = $dec['sentence_resp'];
if(preg_match("/is tired/is", $dat)){
$msg = $this->match($this->fls_komen);
//$simi=$msg;
$simi = $msg.$this->waktu();
}else $simi=$dat."n#BotMaho";
}else{
$msg = $this->fls_komen;
$simi = $this->match($msg);
//return $simi;
$simi = $simi.$this->waktu();
}
$preg = preg_replace("/simsimi|simi|.simi|sim/i", " rieqy", $simi);
return $preg;
}
}
function simpan($file, $data){
$fp = fopen($file, "a");
fwrite($fp, $data);
fclose($fp);
}
function cekId($id){
if(!file_exists($this->file_id)){
$this->simpan($this->file_id, "");
}
if(file_exists($this->file_id)){
$file = file($this->file_id);
$file = str_replace(array("n", "r", "rn"), "", $file);
$file = array_unique($file);
if(in_array($id, $file)==true){
return false;
}else{
return true;
}
}
}
}
$bot = new rieqyns13;
$bot->cookie=" COOKIENYA CARI SENDIRI :v";
$bot->api_key="*********";
$bot->api_secret="*************";
$bot->access_token="***************";
$bot->access_token_secret="*********";
$bot->file_id = "mention_id.log";
$bot->file_log = "mention.log";
$bot->simi_type = true; //TRUE jika ingin menggunakan api simsimi untuk reply mentions, FALSEE jika ingin membalas mention dengan pesan sendiri di $bot->fls_komen;
$bot->fls_komen = "kak @nama_depan, om @nama_saya lagi off, jdi yg bales robotnya";
$bot->post_waktu = false;
$bot->delay = 1;
$bot->tweet2();
?>
jgn lupa buat file txt dulu yaitu mention_id.log dan mention.log sesuai dgn $bot->file_id dan $bot->file_log yg dibuat. trus di chmod 0777 kedua file txt tdi biar filenya bisa dibaca dan ditulis.
trus tinggal atur cron job
oh ya, kan ada tulisan @nama_depan di bagian $bot->fls_komen, itu untuk nampilin nama depan user yg mention kita. jdi klo mw nampilin nama depan dri user yg mention kita, tinggal tambahin @nama_depan aja di bagian $bot->fls_komen
trus hasilnya kya gini:
Parse error: syntax error, unexpected T_STRING, expecting T_FUNCTION in /home/uXXXXX/public_html/simi.php on line 8
BalasHapushelp!
script yg mana tuh :v
Hapusat auto_reply_mention.php on line 8 > public $api_key; (p)
Hapusane coba bisa2 aja tuh :v
HapusRieq , bagi auto respond komen facebook yang kayak lu dong , :3 di gua yg jalan cuman auto komen nya doang ;-(
BalasHapusbukannya udah ada versi Google Script :v
Hapusdan jga om FA dah share scriptnya versi dia :v
ok thanks rieq :-t
Hapusada yang baru gak om riki,, yg ini gak jalan api nya yaaaaaaaaaa
BalasHapuskenapa ya itu fungsi cek log id nya kagak berfungsi,, apa harus ditambah cekId = true ??
BalasHapuskalau ststusnya diganti (fls_komen = "diganti") , itu walau statusnya sudah direply, kalau file bot nya di load cron dia nge reply terus T.T
harusnya ka sekali aja sampai ada mention baru T.T
apa yang harus hamba lakukan om rieky ?