การใช้งาน 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 ในช่อง แช็ทตัวโปรแกรมจะทำการรับตัวอักษรนั้นๆมา แล้วส่งกลับคืนไปครับ