22 ม.ค. 2563

LINE BOT WITH PHP

แบบ  Reply
<?php
$strAccessToken = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";

$content = file_get_contents('php://input');
$arrJson = json_decode($content, true);

$strUrl = "https://api.line.me/v2/bot/message/reply";

$arrHeader = array();
$arrHeader[] = "Content-Type: application/json";
$arrHeader[] = "Authorization: Bearer {$strAccessToken}";

http_response_code(200);


if($arrJson['events'][0]['message']['text'] == "สวัสดี"){
    $arrPostData = array();
    $arrPostData['replyToken'] = $arrJson['events'][0]['replyToken'];
    $arrPostData['messages'][0]['type'] = "text";
    $arrPostData['messages'][0]['text'] = "สวัสดี ID คุณคือ ".$arrJson['events'][0]['source']['userId'];
  }else if($arrJson['events'][0]['message']['text'] == "ชื่ออะไร"){
    $arrPostData = array();
    $arrPostData['replyToken'] = $arrJson['events'][0]['replyToken'];
    $arrPostData['messages'][0]['type'] = "text";
    $arrPostData['messages'][0]['text'] = "ฉันยังไม่มีชื่อนะ";
  }else if($arrJson['events'][0]['message']['text'] == "ทำอะไรได้บ้าง"){
    $arrPostData = array();
    $arrPostData['replyToken'] = $arrJson['events'][0]['replyToken'];
    $arrPostData['messages'][0]['type'] = "text";
    $arrPostData['messages'][0]['text'] = "ฉันทำอะไรไม่ได้เลย คุณต้องสอนฉันอีกเยอะ";
  }else{
    $arrPostData = array();
    $arrPostData['replyToken'] = $arrJson['events'][0]['replyToken'];
    $arrPostData['messages'][0]['type'] = "text";
    $arrPostData['messages'][0]['text'] = "ฉันไม่เข้าใจคำสั่ง";
  }
 
  curl_setopt($ch, CURLOPT_URL,$strUrl);
  curl_setopt($ch, CURLOPT_HEADER, false);
  curl_setopt($ch, CURLOPT_POST, true);
  curl_setopt($ch, CURLOPT_HTTPHEADER, $arrHeader);
  curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($arrPostData));
  curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  $result = curl_exec($ch);
  curl_close ($ch);
?>

แบบ Push

$strAccessToken = "xxxxxxxxxxxxxxxxxxxxxxx";

$strUrl = "https://api.line.me/v2/bot/message/push";

$arrHeader = array();
$arrHeader[] = "Content-Type: application/json";
$arrHeader[] = "Authorization: Bearer {$strAccessToken}";

$arrPostData = array();
$arrPostData['to'] = "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyy";

//ตัวอย่าง Message Type "Text"
$arrPostData['messages'][0]['type'] = "text";
$arrPostData['messages'][0]['text'] = "นี้คือการทดสอบ Push Message";

//ตัวอย่าง Message Type "Sticker"
$arrayPostData['messages'][0]['type'] = "sticker";
$arrayPostData['messages'][0]['packageId'] = "2";
$arrayPostData['messages'][0]['stickerId'] = "46";

//ตัวอย่าง Message Type "Image"
$image_url = "https://i.pinimg.com/originals/cc/22/d1/cc22d10d9096e70fe3dbe3be2630182b.jpg";
$arrPostData['messages'][0]['type'] = "image";
$arrPostData['messages'][0]['originalContentUrl'] = $image_url;
$arrPostData['messages'][0]['previewImageUrl'] = $image_url;

//ตัวอย่าง Message Type "Location"
$arrayPostData['messages'][0]['type'] = "location";
$arrayPostData['messages'][0]['title'] = "สยามพารากอน";
$arrayPostData['messages'][0]['address'] =   "13.7465354,100.532752";
$arrayPostData['messages'][0]['latitude'] = "13.7465354";
$arrayPostData['messages'][0]['longitude'] = "100.532752";

//ตัวอย่าง Message Type "Text + Sticker ใน 1 ครั้ง"
$arrayPostData['messages'][0]['type'] = "text";
$arrayPostData['messages'][0]['text'] = "อย่าทิ้งกันไป";
$arrayPostData['messages'][1]['type'] = "sticker";
$arrayPostData['messages'][1]['packageId'] = "1";
$arrayPostData['messages'][1]['stickerId'] = "131";

//ตัวอย่าง Message Type "Video"
$arrayPostData['messages'][0]['type'] = "video";
$arrayPostData['messages'][0]['originalContentUrl'] = "";//ใส่ url ของ video ที่ต้องการส่ง
$arrayPostData['messages'][0]['previewImageUrl'] = "";//ใส่รูป preview ของ video


$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$strUrl);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $arrHeader);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($arrPostData));
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec($ch);
curl_close ($ch);

?>

//รับ id ว่ามาจากไหน
if(isset($arrayJson['events'][0]['source']['userId']){
$id = $arrayJson['events'][0]['source']['userId'];
}
else if(isset($arrayJson['events'][0]['source']['groupId'])){
$id = $arrayJson['events'][0]['source']['groupId'];
}
else if(isset($arrayJson['events'][0]['source']['room'])){
$id = $arrayJson['events'][0]['source']['room'];
}

Message types อื่นๆก็ลองศึกษากันที่ https://developers.line.me/en/docs/messaging-api/message-types/#template-messages

ไม่มีความคิดเห็น:

แสดงความคิดเห็น