Jumat, 26 Juni 2020
Php Aoto Respon Telegram
<?php
$TOKEN = "883027477:AAHlmv0wznlon8-6B7iNixX0BmegJTsQ0jk21";
$usernamebot= "@sysinter_bot";
$debug = false;
function request_url($method){
global $TOKEN;
return "https://api.telegram.org/bot" . $TOKEN . "/". $method;
}
function get_updates($offset) {
// error_reporting(0);
$url = request_url("getUpdates")."?offset=".$offset;
$resp = file_get_contents($url);
$result = json_decode($resp, true);
if ($result["ok"]==1)
return $result["result"];
return array();
}
function send_reply($chatid, $msgid, $text){
global $debug;
$data = array(
'chat_id' => $chatid,
'text' => $text,
'reply_to_message_id' => $msgid // <---- biar ada reply nya balasannya, opsional, bisa dihapus baris ini
);
// use key 'http' even if you send the request to https://...
$options = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'method' => 'POST',
'content' => http_build_query($data),
),
);
$context = stream_context_create($options);
$result = file_get_contents(request_url('sendMessage'), false, $context);
if ($debug)
print_r($result);
}
function create_response($text, $message){
global $usernamebot;
// inisiasi variable hasil yang mana merupakan hasil olahan pesan
$hasil = '';
$fromid = $message["from"]["id"]; // variable penampung id user
$chatid = $message["chat"]["id"]; // variable penampung id chat
$pesanid= $message['message_id']; // variable penampung id message
// variable penampung username nya user
isset($message["from"]["username"])
? $chatuser = $message["from"]["username"]
: $chatuser = '';
// variable penampung nama user
isset($message["from"]["last_name"])
? $namakedua = $message["from"]["last_name"]
: $namakedua = '';
$namauser = $message["from"]["first_name"]. ' ' .$namakedua;
// ini saya pergunakan untuk menghapus kelebihan pesan spasi yang dikirim ke bot.
$textur = preg_replace('/\s\s+/', ' ', $text);
// memecah pesan dalam 2 blok array, kita ambil yang array pertama saja
$command = explode(' ',$textur,2); //
$perintah=$command[0];
$perintah=strtolower($perintah);
switch ($perintah) {
case '/id':
case '/id'.$usernamebot :
$hasil = "$namauser, ID kamu adalah $fromid";
break;
// jika ada permintaan waktu
case '/time':
case '/time'.$usernamebot :
$hasil = "$namauser, waktu lokal bot sekarang adalah :\n";
$hasil .= "\xE2\x8C\x9A".date("d M Y")."\nPukul ".date("H:i:s");
break;
case '/start':
$hasil = "assalamualaikum saudara/i $namauser
berikut list command dari bot ini :
=> /id --> untuk menampilkan id anda
=> /time --> untuk menampilkan waktu lokal anda";
break;
case '/tes':
$hasil = "tessting asfalksf";
break;
case '/on1':
$hasil = "Perintah Menyalakan Lampu 1 Berhasil...";
echo "on1";simpanURL("1");
break;
case '/off1':
$hasil = "Perintah Mematikan Lampu 1 Berhasil...";
echo "off1"; simpanURL("2");
break;
case '/on2':
$hasil = "Perintah Menyalakan Lampu 2 Berhasil...";
echo "on2";simpanURL("3");
break;
case '/off2':
$hasil = "Perintah Mematikan Lampu 2 Berhasil...";
echo "off2"; simpanURL("4");
break;
case '/on3':
$hasil = "Perintah Menyalakan Lampu 3 Berhasil...";
echo "on3";simpanURL("5");
break;
case '/off3':
$hasil = "Perintah Mematikan Lampu 3 Berhasil...";
echo "off3"; simpanURL("6");
break;
case '/open':
$hasil = "Perintah membuka Pintu Berhasil...";
echo "on3";simpanURL("7");
break;
case '/close':
$hasil = "Perintah Menutup Berhasil...";
echo "off3"; simpanURL("8");
break;
default:
$hasil = 'Terimakasih, pesan telah kami terima.';
break;
}
return $hasil;
}
//if (strlen($TOKEN)<20) {die("Token mohon diisi dengan benar!\n");}
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, $message_data);
if (!empty($response)){
send_reply($chatid, $message_id, $response);
}
}
return $updateid;
}
function process_one(){
global $debug;
$update_id = 0;
echo "-";
if (file_exists("last_update_id"))
$update_id = (int)file_get_contents("last_update_id");
$updates = get_updates($update_id);
// jika debug=0 atau debug=false, pesan ini tidak akan dimunculkan
if ((!empty($updates)) and ($debug) ) {
echo "\r\n===== isi diterima \r\n";
print_r($updates);
}
foreach ($updates as $message){
echo '+';
$update_id = process_message($message);
}
file_put_contents("last_update_id", $update_id + 1);
}
if(isset($_GET["index"]) && $_GET["index"]>0){
$isi=bacaURL();
echo $isi;
}
else{
process_one();
}
/*
while (true) {
process_one();
echo $_SESSION["cdata"]."@";
sleep(1);
}
*/
function simpanURL($R){
$kirim="https://api.thingspeak.com/update?api_key=6AQ86NJXWBFB634521&field1=$R";
prosesURL($kirim);
}
function bacaURL(){
$baca="https://api.thingspeak.com/channels/1089670/feeds.json?api_key=5TW0G96C5T5U9F5R21&results=1";
$hasil= prosesURL($baca);
$array = json_decode($hasil, true);
$x=$array["feeds"][0]["field1"];
return $x;
}
function prosesURL($URL){
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $URL);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
function bacaTXT(){
$myfile = fopen("data.txt", "r") or die("Unable to open file!");
$isi=fread($myfile,filesize("data.txt"));
fclose($myfile);
//tulisTXT("");
return $isi;
}
function tulisTXT($txt){
$myfile = fopen("data.txt", "w") or die("Unable to open file!");
fwrite($myfile, $txt);
fclose($myfile);
return $txt;
}
if(isset($_GET["baca"])){
$bacadata=$_GET["baca"];
tulisTXT($bacadata);
echo bacaTXT();
}
?>
Langganan:
Posting Komentar (Atom)
Selisih Waktu Berjalan
Berikut adalah fungsi PHP yang menghitung selisih hari antara tanggal saat ini dengan tanggal 2024-08-22 . Jika tanggal saat ini kurang dari...
-
<?php // <a href='download.php?file=$file' title='Download File'>Download Dokumen</a> $direktori = ...
-
Teman2 ...mungkin sering dapat kode random..... btw ini ada share sedikit ttg membuat soal random.....yang beda disini adalah sy menggunaka...
-
<?php $sql="select `id_admin` from `$tbadmin` order by `id_admin` desc"; $jum= getJum($conn,$sql); $kd="ADM"...
Tidak ada komentar:
Posting Komentar