Berbagi Artikel-Artikel Unik Dan Bermutu

Blog Archive

Copyright © 2015 Artikel TopNews | . Powered by Blogger.

Labels

ads3

tag

Top Artikel

ads2

ads

iklan

Auto Reply Mentions di Twitter dengan Respon Simsimi

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:

Tag : PHP, Twitter
0 Komentar untuk "Auto Reply Mentions di Twitter dengan Respon Simsimi"
Back To Top