10/28/2019

Line Bot Auto reply message

Line Bot Auto reply message
https://developers.line.me/en/
1. Login Account Line
2. ใช้ Massaging API ตั้งชื่อ App และข้อมูลอื่น ๆ ที่มีให้กรอก
3. เปิดใช้ Bot , Channel access token, Use webhooks
4. Webhook URL SSL เช่น extranet.scivalve.com/file.php
5. Add Line เป็นเพื่อน ใช้ Basic ID หรือ QR Code
6. นำ QR Code ไปใส่ในไฟล์ PHP

$accessToken = "";


สามารถเขียน Code ส่งค่าให้ ตอบ Auto ได้ หรือดึงค่าจาก Web เช่น Rate หรือค่าทอง ส่งรูป ส่งข้อความ และอื่น ๆ ได้

https://medium.com/@nattaponsirikamonnet/%E0%B8%AA%E0%B8%A3%E0%B9%89%E0%B8%B2%E0%B8%87-bot-%E0%B8%94%E0%B9%89%E0%B8%A7%E0%B8%A2-line-messaging-api-d7de644ac892


PHP Code Test
  1. <?php
  2.     $accessToken = "";//copy Channel access token ตอนที่ตั้งค่ามาใส่
  3.    
  4.     $content = file_get_contents('php://input');
  5.     $arrayJson = json_decode($content, true);
  6.    
  7.     $arrayHeader = array();
  8.     $arrayHeader[] = "Content-Type: application/json";
  9.     $arrayHeader[] = "Authorization: Bearer {$accessToken}";
  10.    
  11.     //รับข้อความจากผู้ใช้
  12.     $message = $arrayJson['events'][0]['message']['text'];#ตัวอย่าง Message Type "Text"
  13.     if($message == "สวัสดี"){
  14.         $arrayPostData['replyToken'] = $arrayJson['events'][0]['replyToken'];
  15.         $arrayPostData['messages'][0]['type'] = "text";
  16.         $arrayPostData['messages'][0]['text'] = "สวัสดีจ้าาา";
  17.         replyMsg($arrayHeader,$arrayPostData);
  18.     }
  19.     #ตัวอย่าง Message Type "Sticker"
  20.     else if($message == "ฝันดี"){
  21.         $arrayPostData['replyToken'] = $arrayJson['events'][0]['replyToken'];
  22.         $arrayPostData['messages'][0]['type'] = "sticker";
  23.         $arrayPostData['messages'][0]['packageId'] = "2";
  24.         $arrayPostData['messages'][0]['stickerId'] = "46";
  25.         replyMsg($arrayHeader,$arrayPostData);
  26.     }
  27.     #ตัวอย่าง Message Type "Image"
  28.     else if($message == "รูปน้องแมว"){
  29.         $image_url = "https://i.pinimg.com/originals/cc/22/d1/cc22d10d9096e70fe3dbe3be2630182b.jpg";
  30.         $arrayPostData['replyToken'] = $arrayJson['events'][0]['replyToken'];
  31.         $arrayPostData['messages'][0]['type'] = "image";
  32.         $arrayPostData['messages'][0]['originalContentUrl'] = $image_url;
  33.         $arrayPostData['messages'][0]['previewImageUrl'] = $image_url;
  34.         replyMsg($arrayHeader,$arrayPostData);
  35.     }
  36.     #ตัวอย่าง Message Type "Location"
  37.     else if($message == "พิกัดสยามพารากอน"){
  38.         $arrayPostData['replyToken'] = $arrayJson['events'][0]['replyToken'];
  39.         $arrayPostData['messages'][0]['type'] = "location";
  40.         $arrayPostData['messages'][0]['title'] = "สยามพารากอน";
  41.         $arrayPostData['messages'][0]['address'] =   "13.7465354,100.532752";
  42.         $arrayPostData['messages'][0]['latitude'] = "13.7465354";
  43.         $arrayPostData['messages'][0]['longitude'] = "100.532752";
  44.         replyMsg($arrayHeader,$arrayPostData);
  45.     }
  46.     #ตัวอย่าง Message Type "Text + Sticker ใน 1 ครั้ง"
  47.     else if($message == "ลาก่อน"){
  48.         $arrayPostData['replyToken'] = $arrayJson['events'][0]['replyToken'];
  49.         $arrayPostData['messages'][0]['type'] = "text";
  50.         $arrayPostData['messages'][0]['text'] = "อย่าทิ้งกันไป";
  51.         $arrayPostData['messages'][1]['type'] = "sticker";
  52.         $arrayPostData['messages'][1]['packageId'] = "1";
  53.         $arrayPostData['messages'][1]['stickerId'] = "131";
  54.         replyMsg($arrayHeader,$arrayPostData);
  55.     }function replyMsg($arrayHeader,$arrayPostData){
  56.         $strUrl = "https://api.line.me/v2/bot/message/reply";
  57.         $ch = curl_init();
  58.         curl_setopt($ch, CURLOPT_URL,$strUrl);
  59.         curl_setopt($ch, CURLOPT_HEADER, false);
  60.         curl_setopt($ch, CURLOPT_POST, true);
  61.         curl_setopt($ch, CURLOPT_HTTPHEADER, $arrayHeader);    
  62.         curl_setopt($ch, CURLOPT_POSTFIELDS,json_encode($arrayPostData));
  63.         curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
  64.         curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  65.         $result = curl_exec($ch);
  66.         curl_close ($ch);
  67.     }   exit;
  68. ?>

No comments:

Post a Comment