ปฏิเสธไม่ได้ว่าแอปลิเคชั่นไลน์มีผลอย่างมากกับแวดวงคนทำงาน จะเอกชนหรือวงราชการก็ต้องใช้ แต่ด้วยความที่แอปลิเคชั่นสื่อสารแบบนี้การส่งข้อความยาว ๆ บางครั้งก็เล่นเอาหัวเสียเหมือนกัน เพราะใจความสำคัญมันถูกเผยแพร่แต่เพราะข้อความมันยาว จึงขาดความน่าสนใจ คนรับก็เลื่อนผ่านไปโดยปริยาย (เหมือนเธอที่มองผ่านฉันไป เอ้าเพลงมาาา ซูดดดดด)
รวมทั้งข้อมูลรายงานผลโรค COVID-19 ที่ตอนนี้หลาย ๆ สื่อหลาย ๆ ที่ ได้ทำย่อยข้อมูลเหล่านี้ออกมาเป็น Infographic บ้าง เว็บไซค์แสดง Dashboard บ้าง งั้นจะช้าอยู่ไย เราเซฟรูปเหล่านั้นแล้วส่งเข้าไลน์เลยดีกว่า
Shell Script ไม่ได้มีอะไรซับซ้อนใช้ Headless Chrome ให้ Screenshot หน้าจอตอนนั้นแล้วส่งเข้าไลน์ก็เป็นอันเสร็จสิ้น
#!/bin/bash PICTURE_PATH="./screenshot.png" NOW=$(date +"%d-%m-%Y %H:%M") IP=$(hostname -I | awk '{ print $1 }') DASHBOARD="IP Address" # Declare an array of Token PHP-CC PSH declare -a ACCESS_TOKENS=("token1" "token2") command_exists() { command -v "$1" >/dev/null 2>&1 } # Take pictures using Chrome Headless if command_exists google-chrome ; then google-chrome --headless --no-sandbox --screenshot --hide-scrollbars --virtual-time-budget=10000 --disable-gpu --window-size=680,380 http://$IP:88/covid convert -resize 1280x screenshot.png screenshot-01.png google-chrome --headless --no-sandbox --screenshot --hide-scrollbars --virtual-time-budget=10000 --disable-gpu --window-size=1280,1410 http://$DASHBOARD mv screenshot.png screenshot-02.png else if command_exists docker ; then sudo docker container run -it --rm -v $(pwd):/usr/src/app zenika/alpine-chrome --no-sandbox --screenshot --hide-scrollbars --virtual-time-budget=10000 --disable-gpu --window-size=680,380 http://$IP:88/covid convert -resize 1280x screenshot.png screenshot-01.png sudo docker container run -it --rm -v $(pwd):/usr/src/app zenika/alpine-chrome --no-sandbox --screenshot --hide-scrollbars --virtual-time-budget=10000 --disable-gpu --window-size=1280,1410 http://$DASHBOARD mv screenshot.png screenshot-02.png else echo 'Not found docker' fi fi convert -append screenshot-01.png screenshot-02.png screenshot.png # Iterate the token array for token in "${ACCESS_TOKENS[@]}"; do echo $token # curl -X POST https://notify-api.line.me/api/notify -H "Authorization: Bearer $token" -F "message=รายงานสถานการณ์ COVID-19 ณ $NOW" -F "imageFile=@$PICTURE_PATH" > /dev/null 2>&1 done
ผลลัพธ์ที่ได้ก็ตามนี้
จบปิ๊ง บล๊อกเดือนนี้ ^__^
ป.ล.
- เราใช้ Dashboard ของ อ.เอ แห่ง Developer Mate
- มี Dashboard 2 ตัว ก็เลย Merge ไฟล์รวมกันซะจะทิ้งไปก็เสียดาย
- Token ของ Line Notify น่าจะมีกันแล้วนะ อันนี้ข้ามเรื่องการสร้าง Line Notify Token หล่ะกัน
- ตัวเลขผู้ติดเชื้อวันนี้เห็นแล้วมีแรงทำงานสู้กันต่อ