สอนทำ line bot ไว้ใช้เอง ง่ายๆ ไม่กี่ขั้นตอน

Thannara Rattanakaeoprasoet
THE EXISTING COMPANY
3 min readFeb 10, 2020

เนื่องจากบล็อกที่แล้วเรา ทำไลน์บอท แจ้งเตือน BTS/MRT เสีย (อ่ะ ขายอีกรอบซะหน่อย แสกน QR codeข้างล่าง เพื่อใช้งาน) บล็อกนี้เลยจะสอนทำ line bot ง่ายๆ ไว้ใช้เอง

ไลน์บอท แจ้งเตือน BTS/MRT เสีย

เตรียมเครื่องไม้เครื่องมือ ซะหน่อย

Step 1: สร้าง app ใน heroku

หลังจากสร้าง แอพแล้วก็ทำตาม ขั้นตอนใน Heroku เลย ในที่นี้เราตั้งชื่อแอพว่า easylinebot

heroku login
cd to-easy-line-bot-path/
git init
heroku git:remote -a easylinebot

สร้าง file ที่ชื่อว่า Procfile โดยมีโค้ดดังนี้

สร้างไฟล์ app.py

สร้างไฟล์ requirements.txt ใส่ตัวที่เรา install มาใช้ ในpython3 ในไฟล์app.py

จากนั้นให้ deploy

pip install flask
pip install gunicorn
git add .
git commit -am "make it better"
git push heroku master

จะได้แบบนี้

ไปที่ https://ชื่อapp.herokuapp.com/webhook

ถ้าแสดงแบบข้างล่างนี้ แสดงว่าคุณได้ไปต่อ เอ้ย เราก็ได้ webhookไว้ใช้งานแล้ว

Step 2: สร้าง line bot

ขั้นตอนต่อไป สร้าง line bot ไปที่ https://developers.line.biz/en/

  • Login ด้วย Account ของตัวเอง
  • เลือก Create
  • ตั้งชื่อ
  • กด Create
  • เลือก Create a Messaging API channel
  • กรอกข้อมูลให้ครบ
  • กด Create
  • กด ยอมรับ แล้วจะได้หน้าตาแบบข้างล่าง
  • เลือก Messaging API
  • ใส่ Webhook URL
  • กด Verify
  • กด issuse ที่ Channel access token ข้างล่าง

อย่าลืมแอดไลน์ไว้ด้วยน้า ไม่งั้นเราจะไม่มีตัวไลน์บอทในเครื่องนะ

Step 3: ใส่ channel secret และ channel token

กลับไปที่ app.py ของเรากันค่ะ

ตัวอย่างการใส่ food list และ channel token , channel secret

channel_secret = ไปที่ Basic Setting ที่ไลน์บอท ใน https://developers.line.biz/en/

channel_secret

channel_access_token = ไปที่ Messaging API ที่ไลน์บอท ใน https://developers.line.biz/en/

channel_access_token

food_list = ใส่รายการอาหาร เช่น [‘ไข่ดาว’, ‘ไข่เจียว’]

Step 4: แก้ไข webhook และ เพิ่ม auto reply

แก้ตรง def webhook(): ให้เป็นแบบข้างล่าง

ส่วนนี้คือทำตัว auto reply นั่นเอง

ทุกๆครั้งที่เรารับ message จะทำการไปแบ่งคำ แล้วหาคำที่เข้าข่าย ‘กิน’ ‘อาหาร’ ‘อะไร’ จะทำการสุ่มรายการอาหาร แล้ว reply คืนมา นั่นเอง ถ้านอกเหนือจากนั้น ให้ reply ‘ต้องการสุ่มอาหารหรือเปล่า หากต้องการสุ่ม พิมพ์ กินอะไรดี’

Step 5: Deploy

จากนั้น commit แล้ว deploy เลยยยยยย

git add .
git commit -am "make it better"
git push heroku master

มาดูผลกัน

--

--