line bot แจ้งเตือนวันพระทุกวัน


การแจ้งเตือนวันพระทุกวัน


///อย่างแรก เตรียมข้อมูลในส่วนของ Mysql ก่อน
////////////// Mysql ///////
1.สร้าง Dabase Mysql ชื่อ Monk
2. นำฐานข้อมูลเข้า Database

USE `Monk`;
/*Table structure for table `mong_day` */
DROP TABLE IF EXISTS `mong_day`;
CREATE TABLE `mong_day` (
 `id` int(3) NOT NULL auto_increment,
 `name` varchar(300) character set utf8 NOT NULL,
 `date_mong` date default NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=tis620 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;
/*Data for the table `mong_day` */
insert into `mong_day`(`id`,`name`,`date_mong`) values (1,'วันนี้วันพระ ขึ้น ๘ ค่ำ เดือน ๔ ปีระกา','2561–02–22'),(2,'วันนี้วันพระ ตรงกับวันมาฆบูชา ขึ้น ๑๕ ค่ำ เดือน ๔ ปีระกา','2561–03–01'),(3,'วันนี้วันพระ แรม ๘ ค่ำ เดือน ๔ ปีระกา','2561–03–09'),(4,'วันนี้วันพระ แรม ๑๕ ค่ำ เดือน ๔ ปีระกา','2561–03–16'),(5,'วันนี้วันพระ ขึ้น ๘ ค่ำ เดือน ๕ ปีจอ','2561–03–24'),(6,'วันนี้วันพระ ขึ้น ๑๕ ค่ำ เดือน ๕ ปีจอ','2561–03–31'),(7,'วันนี้วันพระ แรม ๘ ค่ำ เดือน ๕ ปีจอ','2561–04–08'),(8,'วันนี้วันพระ แรม ๑๔ ค่ำ เดือน ๕ ปีจอ','2561–04–14'),(9,'วันนี้วันพระ ขึ้น ๘ ค่ำ เดือน ๖ ปีจอ','2561–04–22'),(10,'วันนี้วันพระ ขึ้น ๑๕ ค่ำ เดือน ๖ ปีจอ','2561–04–29'),(11,'วันนี้วันพระ แรม ๘ ค่ำ เดือน ๖ ปีจอ','2561–05–07'),(12,'วันนี้วันพระ แรม ๑๕ ค่ำ เดือน ๖ ปีจอ','2561–05–14'),(13,'วันนี้วันพระ ขึ้น ๘ ค่ำ เดือน ๖ ปีจอ','2561–05–22'),(14,'วันนี้วันพระ ตรงกับวันวิสาขบูชา ขึ้น ๑๕ ค่ำ เดือน ๖ ปีจอ','2561–05–29'),(15,'วันนี้วันพระ แรม ๘ ค่ำ เดือน ๗ ปีจอ','2561–06–06'),(16,'วันนี้วันพระ แรม ๑๕ ค่ำ เดือน ๗ ปีจอ','2561–06–12'),(17,'วันนี้วันพระ ขึ้น ๘ ค่ำ เดือน ๗ ปีจอ','2561–06–20'),(18,'วันนี้วันพระ ขึ้น ๑๕ ค่ำ เดือน ๗ ปีจอ','2561–06–27'),(19,'วันนี้วันพระ แรม ๘ ค่ำ เดือน ๘ ปีจอ','2561–07–05'),(20,'วันนี้วันพระ แรม ๑๕ ค่ำ เดือน ๘ ปีจอ','2561–07–12'),(21,'วันนี้วันพระ ขึ้น ๘ ค่ำ เดือน ๘(หลัง) ปีจอ','2561–07–20'),(22,'วันนี้วันพระ ตรงกับวันอาสาฬบูชา ขึ้น ๑๕ ค่ำ เดือน ๘(หลัง) ปีจอ','2561–07–27'),(23,'วันนี้วันพระ ตรงกับวันเข้าพรรษา แรม ๑ ค่ำ เดือน ๘(หลัง) ปีจอ','2561–07–28'),(24,'วันนี้วันพระ แรม ๘ ค่ำ เดือน ๘ ปีจอ','2561–08–04'),(25,'วันนี้วันพระ แรม ๑๕ ค่ำ เดือน ๘ ปีจอ','2561–08–11'),(26,'วันนี้วันพระ ขึ้น ๘ ค่ำ เดือน ๙ ปีจอ','2561–08–19'),(27,'วันนี้วันพระ ขึ้น ๑๕ ค่ำ เดือน ๙ ปีจอ','2561–08–26'),(28,'วันนี้วันพระ แรม ๘ ค่ำ เดือน ๙ ปีจอ','2561–09–03'),(29,'วันนี้วันพระ แรม ๑๕ ค่ำ เดือน ๙ ปีจอ','2561–09–09'),(30,'วันนี้วันพระ ขึ้น ๘ ค่ำ เดือน ๑๐ ปีจอ','2561–09–17'),(31,'วันนี้วันพระ ขึ้น ๑๕ ค่ำ เดือน ๑๑ ปีจอ','2561–09–24'),(32,'วันนี้วันพระ แรม ๘ ค่ำ เดือน ๑๐ ปีจอ','2561–10–02'),(33,'วันนี้วันพระ แรม ๑๕ ค่ำ เดือนสิบ(๑๐) ปีจอ','2561–10–09'),(34,'วันนี้วันพระ ขึ้น ๘ ค่ำ เดือนสิบเอ็ด(๑๑) ปีจอ','2561–10–17'),(35,'วันนี้วันพระ ขึ้น ๑๕ ค่ำ เดือนสิบเอ็ด(๑๑) ปีจอ (วันออกพรรษา)','2561–10–24'),(36,'วันนี้วันพระ แรม ๘ ค่ำ เดือนสิบเอ็ด(๑๑) ปีจอ','2561–11–01'),(37,'วันนี้วันพระ แรม ๑๔ ค่ำ เดือนสิบเอ็ด(๑๑) ปีจอ','2561–11–07'),(38,'วันนี้วันพระ ขึ้น ๘ ค่ำ เดือนสิบสอง(๑๒) ปีจอ','2561–11–15'),(39,'วันนี้วันพระ ขึ้น ๑๕ ค่ำ เดือนสิบสอง(๑๒) ปีจอ (วันลอยกระทง)','2561–11–22'),(40,'วันนี้วันพระ แรม ๘ ค่ำ เดือนสิบสอง(๑๒) ปีจอ','2561–11–30'),(41,'วันนี้วันพระ แรม ๑๕ ค่ำ เดือนสิบสอง(๑๒) ปีจอ','2561–12–07'),(42,'วันนี้วันพระ ขึ้น ๘ ค่ำ เดือนอ้าย(๑) ปีจอ','2561–12–15'),(43,'วันนี้วันพระ ขึ้น ๑๕ ค่ำ เดือนอ้าย(๑) ปีจอ','2561–12–22'),(44,'วันนี้วันพระ แรม ๘ ค่ำ เดือนอ้าย(๑) ปีจอ','2561–12–30');


/////////////////////

//// ต่อมา code php ///
///หมายเหตุ user_id-1,user_id-2 เป็น line user id ได้มาจาก log สามารถเพิ่ม user_id ได้

<?php
//error_reporting(0);
//header('Content-Type: text/html; charset=utf-8');

date_default_timezone_set("Asia/Bangkok");

 $serverName = "localhost";

 $userName = "username_db";

 $userPassword = "password_db";

 $dbName = "monk";



 $connect = mysqli_connect($serverName,$userName,$userPassword,$dbName) or die ("connect error".mysqli_error());

 mysqli_set_charset($connect, "utf8");
 $query ="SELECT  name,date_mong   FROM mong_day  WHERE  MONTH(STR_TO_DATE(date_mong,'%Y-%m-%d'))= MONTH(NOW()) AND   DAY(STR_TO_DATE(date_mong,'%Y-%m-%d'))= DAY(NOW())  ";



 $resource = mysqli_query($connect,$query) or  die ("error".mysqli_error());

 $count_row = mysqli_num_rows($resource);

if($count_row > 0) {
while($result =mysqli_fetch_array($resource)){
$name = $result['name'];
$date =$result['date_mong'];



$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.line.me/v2/bot/message/multicast",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\r\n\r\n    \"to\":[\"user_id-1\",\"user_id-2\",\"user_id-3\"],\r\n\r\n     \"messages\": [{\r\n\r\n        \"type\": \"flex\",\r\n\r\n        \"altText\": \"วันนี้เป็นวันพระ ควรทำบุญใส่บาตร รักษาศีล\",\r\n\r\n        \"contents\": \r\n{\r\n\"type\": \"bubble\",\r\n  \"hero\": {\r\n    \"type\": \"image\",\r\n    \"url\": \"https://f.ptcdn.info/716/040/000/o3npyu1b2ovxUqEPxDb-o.jpg\",\r\n    \"size\": \"full\",\r\n    \"aspectRatio\": \"20:13\",\r\n    \"aspectMode\": \"cover\",\r\n    \"action\": {\r\n      \"type\": \"uri\",\r\n      \"uri\": \"https://f.ptcdn.info/716/040/000/o3npyu1b2ovxUqEPxDb-o.jpg\"\r\n    }\r\n  },\r\n  \"body\": {\r\n    \"type\": \"box\",\r\n    \"layout\": \"vertical\",\r\n    \"contents\": [\r\n      {\r\n        \"type\": \"text\",\r\n        \"text\": \"วันนี้ วันพระ\",\r\n        \"weight\": \"bold\",\r\n        \"size\": \"xl\"\r\n      },\r\n      {\r\n        \"type\": \"box\",\r\n        \"layout\": \"baseline\",\r\n        \"margin\": \"md\",\r\n        \"contents\": [\r\n          {\r\n            \"type\": \"icon\",\r\n            \"size\": \"sm\",\r\n            \"url\": \"https://scdn.line-apps.com/n/channel_devcenter/img/fx/review_gold_star_28.png\"\r\n          },\r\n          {\r\n            \"type\": \"icon\",\r\n            \"size\": \"sm\",\r\n            \"url\": \"https://scdn.line-apps.com/n/channel_devcenter/img/fx/review_gold_star_28.png\"\r\n          },\r\n          {\r\n            \"type\": \"icon\",\r\n            \"size\": \"sm\",\r\n            \"url\": \"https://scdn.line-apps.com/n/channel_devcenter/img/fx/review_gold_star_28.png\"\r\n          },\r\n          {\r\n            \"type\": \"icon\",\r\n            \"size\": \"sm\",\r\n            \"url\": \"https://scdn.line-apps.com/n/channel_devcenter/img/fx/review_gold_star_28.png\"\r\n          },\r\n          {\r\n            \"type\": \"icon\",\r\n            \"size\": \"sm\",\r\n            \"url\": \"https://scdn.line-apps.com/n/channel_devcenter/img/fx/review_gold_star_28.png\"\r\n          },\r\n          {\r\n            \"type\": \"text\",\r\n            \"text\": \"คณะทำงานจริยธรรมสารสนเทศ\",\r\n            \"size\": \"sm\",\r\n            \"color\": \"#999999\",\r\n            \"margin\": \"md\",\r\n            \"flex\": 0\r\n          }\r\n        ]\r\n      },\r\n      {\r\n        \"type\": \"box\",\r\n        \"layout\": \"vertical\",\r\n        \"margin\": \"lg\",\r\n        \"spacing\": \"sm\",\r\n        \"contents\": [\r\n          {\r\n            \"type\": \"box\",\r\n            \"layout\": \"baseline\",\r\n            \"spacing\": \"sm\",\r\n            \"contents\": [\r\n              {\r\n                \"type\": \"text\",\r\n                \"text\": \"  \",\r\n                \"color\": \"#aaaaaa\",\r\n                \"size\": \"sm\",\r\n                \"flex\": 1\r\n              },\r\n              {\r\n                \"type\": \"text\",\r\n                \"text\": \"$name\",\r\n                \"wrap\": true,\r\n                \"color\": \"#666666\",\r\n                \"size\": \"sm\",\r\n                \"flex\": 5\r\n              }\r\n            ]\r\n          }\r\n           \r\n        ]\r\n      }\r\n    ]\r\n  }\r\n}\r\n    }]\r\n\r\n}\r\n\r\n\r\n",
  CURLOPT_HTTPHEADER => array(
    "authorization: Bearer line_token",
    "cache-control: no-cache",
    "content-type: application/json",
    "postman-token: 71e40b26-87b8-5f38-477c-9bbb4cbffa88"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}

}
}else{
//$results = '{"results":null}';
//echo "today have no ";
}
?>

//// เข้าไปที่  https://cron-job.org/ 
กำหนดให้ run code php ที่เราสร้างขึ้นทุกวัน

ความคิดเห็น

  1. ความคิดเห็นนี้ถูกผู้เขียนลบ

    ตอบลบ
  2. CURLOPT_POSTFIELDS => "{\r\n\r\n \"to\":[\"user_id-1\",\"
    ถ้าอยากส่งเป็นข้อความธรรมดา ไปหาแต่ละ user_id จะต้องมีรูปแบบอย่างไรครับ ดูแล้วผมปรับไม่ถูกครับ

    ตอบลบ
    คำตอบ
    1. CURLOPT_POSTFIELDS => "{\r\n\r\n \"to\": \"$userId\",\r\n\r\n \"messages\": [{\r\n\r\n \"type\": \"text\",\r\n\r\n \"text\": \"ข้อความ\"\r\n\r\n }]\r\n\r\n}",

      ลบ

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

โพสต์ยอดนิยมจากบล็อกนี้

แจ้งเตือนเข้าไลน์กลุ่ม ผ่าน Line notify เมื่อมีคน login เข้า server ของเราผ่าน SSH (linux) หรือ remote desktop เข้ามา (windows server)

การทำ cloud iot ด้วย thingsboard ไว้ใช้เองครับ

การประยุกต์ใช้ line notify ในการแจ้งปัญหาการใช้งาน สำหรับ php