วันพุธที่ 25 พฤษภาคม พ.ศ. 2559

NodeJS to BOT for Facebook

การใช้งาน NodeJS เพื่อมาทำ BOT ใช้สื่อสารใน Facebook

ก่อนอื่นเลยผมต้องขอกล่าวบอกว่าผมเองก็เพิ่งทำได้ครับ พอดีไปเห็นคลิปใน Youtube แล้วลองทำตามดู ปรากฏว่าทำไม่ได้เลยได้แต่โหลด Library มาแล้วก็มานั่งอ่านทำความเข้าใจจนทำได้ครับ

ส่วนนี้ผมจะนำเสนอการดึงค่า พยากรณ์อากาศ มาครับ เมื่อมีคนถามเราด้วย Keyword ที่เรากำหนดไว้ตัว โปรแกรมจะทำการ ดึงค่าจาก Server มาแสดงผลครับ เอาล่ะ มาเริ่มกันเลยดีกว่า

-สิ่งแรกเลยเราต้องไปโหลดโปรแกรม NodeJS ก่อนะครับ ที่ https://nodejs.org/en/

 สำหรับผมเองผมเลือก V4.4.5 LTS ครับเนื่องจากมีผู้ใช้งานกันเยอะถ้ามีปัญหาหรือติดขัดอย่างไรก็มีคนแก้ปัญหาได้เร็วครับ เพราะเจอเหมือนๆกัน 555+ แต่สำหรับ V6.2.0 เป็นตัวล่าสุดในปัจจุบันครับ ก็ตามแต่ที่ชอบนะครับผม

- เมื่อลงเสร็จแล้ว เรามาสร้างที่เก็บ Library ที่เราจะโหลดมาใช้กันครับ File ของเรากันดีกว่า

 Folder ที่เห็นอยู่คือผมสร้างไว้ก่อนแล้วครับแต่เรื่องที่เก็บ Library ไม่ต้องซีเรียสอะไรมากนะครับเพราะหากลบไปก็โหลดมาลงใหม่ได้

 

- ต่อมาเราจะมาโหลดตัว Library กันเพื่อเชื่อมต่อจาก NodeJS จากเครื่องเราไปยัง Facebook โหลดเลย https://www.npmjs.com

สำหรับตัว Library ที่เราจะใช้คือ facebook-chat-api ก็เคลิกเข้าไปครับ

เมื่อเข้ามาแล้ว ดูตรงหัวข้อ Install นะครับ เห็นคำสั่งไหม

   npm install facebook-chat-api

เมื่อเห็นแล้วให้ทำการเปิด Windows command ครับ 

ก็เรียก หน้าต่าง RUN ขึ้นมา แล้วพิม cmd ลงไป แล้ว กด Enter ด้วยครับ หลังจากที่ขึ้นมาแล้วหน้าต่าง command ให้พิมคำสั่งลงไปเลยครับ

   npm install facebook-chat-api

 มันจะทำการโหลดสักพักนึงครับไม่นาน


รอต่อไปครับจนกว่าจะขึ้นแบบรูปข้างล่าง


เมื่อขึ้นแบบรูปบนนี้แล้วนะครับ ให้ทำการหาตำแหน่งตรงไหนก็ได้ว่างๆ ในคอมพิวเตอร์

 

 คลิกขวาเลือก Text Document ครับ


พอได้มาแล้วให้ทำการเปลี่ยนชื่อมันใหม่และเปลี่ยนสกุลเป็น *.js ในที่นี้ผมขอใช้เป็น ABC.js ครับ



เมื่อเราทำการกด Enter มันจะถามเราว่าต้องการที่จะเปลี่ยนสกุล File ไหมเนื่องจากอาจจะไม่สามารถเรียกข้อมูลได้ให้เราตอบ YES เลยครับ

 

คลิกขวาที่ file ที่เราเปลียนชื่อครับ เลือก Edit เลย เพราะเราจะแก้ไขข้อมูลในนั้น

 

var login = require("facebook-chat-api");


// Create simple echo bot

login({email: "FB_EMAIL", password: "FB_PASSWORD"}, function callback (err, api) {

if(err) return console.error(err);

api.listen(function callback(err, message) {

api.sendMessage(message.body, message.threadID);

});

});

ใส่ Code ตามนี้เลยครับ แล้ว แก้ไขส่วนของ 

FB_EMAIL เป็นเมลที่ใช้เข้า Facebook
FB_PASSWORD เป็นรหัสที่ใช้เข้า Facebook 

จากนั้น SAVE เลยคับ เพราะต่อไปเราจะทำสอบล่ะว่ามันจะ Login เข้า Facebook ได้ไหม ให้เราทำการเปิดที่เก็บ File ที่เราเพิ่ง SAVE ไปครับ เปิดมันขึ้นมาแล้วกด SHIFT + คลิกขวา

 เลือกที่ Open command window here เราจะได้หน้าต่าง command ขึ้นมาครับ หน้าต่าง Command อันนี้แตกต่างจากที่เราเรียกก่อนหน้าครับ เพราะหน้าต่าง Command  นี้ระบุตำแหน่งที่เราทำการคลิกขวาครับ นั่นก็คือ


 ในที่นี้ผมยกตัวอย่างของผมมันอยู่ที่ desktop นะครับ เพราะผมวาง FIle ABC.js ไว้ที่  Desktop เลยต้องมาเลือกที่ Desktop 

- จากนั้นพิม node ชื่อไฟ.js แล้วกด enter ครับ


สุดท้ายจะขึ้นมาแบบรูปล่างนี้นะครับ ถือว่าสามารถเชื่อมต่อกับ Facebook ได้ล่ะ ตัวโปรแกรมของเราตอนนี้ เมื่อมีใครคุยกับเราผ่าน Facebook ในช่อง แช็ทตัวโปรแกรมจะทำการรับตัวอักษรนั้นๆมา แล้วส่งกลับคืนไปครับ



จบขั้นตอนแรกในการเชื่อมต่อจาก NodeJS ไปยัง Facebook เดี๋ยวคครั้งหน้าผมจะมาต่อเรื่องทำอย่างไรจะดึงค่า พยากรณ์อากาศ มา เรื่องนี้ค่อนข้างยาวเลย ติดตามไว้เลยนะครับเดี๋ยวครั้งหน้าเจอกัน