99LineBot 1.4.1

Written by Flying-V'39.

หลังจากปล่อยเว็บแพนด้านิ่งๆ มาหลายปี ต้องบอกว่าหลายปีจริงๆ (หนีไปมีลูกมาสองคน) แถมเว็บบล๊อกแบบนี้คนก็ไม่ค่อยสนใจแล้วเพราะว่าต่างคนก็ต่างมี Facebook ส่วนตัวกันหมด มันทำการตามข่าวเพื่อนๆ ง่ายกว่าเมื่อก่อน 

เข้าเรื่องเลยดีกว่า ก่อนหน้านี้ผมอยากศึกษาโปรแกรมมิ่งภาษา Python อยู่ เพื่อความบันเทิงส่วนตัวล้วนๆ ไม่ได้จะเอาไปใช้หากินอะไร แต่ก็คิดไม่ออกว่าจะทำโปรแกรมอะไรออกมาดี จะทำแค่ Hello world ก็จะดูง่อยๆ ไปหน่อย อยากศึกษาให้ได้ผลต้องคิดโจทย์ให้ตัวเองดูว่าอยากทำอะไร แล้วก็ค่อยๆ หาทางเขียนโปรแกรม

บังเอิญไปเจอคลิปบน Youtube ของ #ตาเล็กวินโดวส์ แนะนำการใช้งาน API ของโปรแกรมแชทสุดฮิต Line ก็ลองทำตามขำๆ แล้วมาคิดต่อยอดว่า ถ้าทำให้มันเป็นเหมือนระบบตอบรับอัตโนมัติคล้ายๆ ของระบบโทรศัพท์น่าจะเข้าท่าดี บวกกับส่วนตัวก็มีธุรกิจขายของออนไลน์อยู่และเจอปัญหา "ตอบคำถามลูกค้าช้า" เพราะบางทีก็วุ่นๆ เลี้ยงลูก หรือทำงานอย่างอื่นอยู่ จึงเกิดเป็น....

 

99LineBot V.1.4.1

99LineBot v.1.4.1 - create by Nuttawat.j
Date : 19 July 2015
What's new?
- Run bot as .exe process.
- Can monitor 99LineBot service and keep it start when fail by '99LinePriest.py'
- fix bug when call menu 000 on save to file status.
- Change menu text file location to /menu
- Single .bat file to run

 

 

 

ตัวโปรแกรมทำอะไรได้บ้าง ?
  1. สามารถสร้างเมนู และกำหนดข้อความที่จะตอบลูกค้าตามเมนูที่เรากำหนดได้ไม่จำกัด 
  2. สามารถรับข้อความในหัวข้อ "สั่งซื้อสินค้า", "แจ้งชำระเงิน", "ฝากคำถามเจ้าของร้าน" โดยจะเซฟลง text file 
  3. สามารถส่งรูปภาพสินค้าที่เราต้องการได้ (แต่ต้องเขียนโค้ดเพิ่มเอา ผมแค่ทำเป็น Comment คำสั่งไว้ให้)

ส่วนวิธีการเซ็ตบอทถ้าใครเลยเซ็ตบอทเกมส์แรคนาร๊อกก็จะคล้ายๆ กันคือเป็น File Base แบบง่ายๆ

สิ่งที่ต้องมี

  1. Line App และ Account ที่ register e-mail ไว้เรียบร้อยแล้ว
  2. โปรแกรมภาษา Python 2.7.x---> https://www.python.org/downloads/
  3. Line API (มีให้แล้วอยู่ในโฟลเดอร์ Line-Master) --> สำหรับของผู้พัฒนา API (ไอ้เด็กอัจริยะ) --> https://github.com/carpedm20/LINE
  4. psutil (มีให้แล้วอยู่ในโฟลเดอร์ Add-on ปล.เป็นของ Windows นะ ใครจะลองกับ OS อื่นๆ ลองหาๆ กันดูครับ)
  5. 99LineBot 1.4.1

 

วิธีการติดตั้ง

  1. ก่อนอื่นก็ติดตั้ง Python 2.7.x ให้เรียบร้อยก่อน แนะนำให้ใช้ค่า Default ที่โปรแกรมตั้งไว้ให้น่าจะสะดวกที่สุด โดยหลังจากติดตั้งเสร็จแล้วให้เข้าไปเพิ่มค่าในตัวแปร Path ของ windows ด้วยนะ




  2. ติดตั้งตัว psutil ให้เรียบร้อย
  3. Setup ตัว LINE API โดยใช้ cmd เข้าไปที่โฟลเดอร์ 99LineBot1.4/Line-master

     

    ช่วงสั่ง Install ให้ต่อเน็ตไว้ด้วยนะ เพราะมันจะมีโหลดไวรัสอะไรบางอย่างลงเครื่องด้วย (ล้อเล่น) รอลุ้นว่าไม่ให้มันมี error ก็แล้วกัน เพราะถ้าผ่านไปได้ ก็พร้อมใช้งานแล้ว 

วิธีการเซ็ตบอท (แหมหยั่งกะบอทแร๊ค) 

ผมใช้วิธีอ่านค่าจาก Text File มาทีละบรรทัด บางไฟล์จะเก็บเข้าตัวแปรบรรทัดละตัว

**ให้ใช้โปรแกรมแก้ไขโค้ดที่เวลาเซฟมันไม่เปลี่ยน Encoding เช่น Dreamweaver, Pycharm ผมเข้าใจว่าตัว Python มันอ่านไฟล์ที่เป็น ANSI ASCII ตอนทดสอบไปลงอีกเครื่องลองใช้ notepad แก้ มันดันมีปัญหาเรื่อง "\n" เพี้ยนไปหมด ใครที่เจอวิธีแก้ก็บอกกันด้วยละกันนะ**  

login.txt

เก็บข้อมูลที่ใช้ Login เข้า Line โดยบรรทัดแรกเป็น e-mail ที่เราใช้เข้า Line บรรทัดที่สองเป็นพาสเวิร์ด

greeting.txt

ข้อความต้อนรับลูกค้า และแสดงรหัสเมนูให้ลูกค้าเลือก

options.txt

เก็บรหัสเมนูทั้งหมด เมื่อลูกค้าใส่รหัสมาตรงกับที่อยู่ในไฟล์นี้ โปรแกรมจะไปอ่านข้อความในไฟล์  รหัส.txt แล้วไปส่งกลับไปให้ลูกค้า เช่น ลูกค้าพิมพ์ข้อความส่งมาว่า "001" โปรแกรมจะไปอ่านไฟล์ 001.txt แล้วเอาข้อความในนั้นส่งกลับไปให้

ซึ่งเราสามารถสร้างกี่ไฟล์ก็ได้ (ขึ้นอยู่กับความขยัน) ยกเว้นรหัส 000 จะสงวนไว้สำหรับเรียกไฟล์ greeting.txt 

001.txt

 

Option พิเศษสำหรับการรับค่าจากลูกค้าเก็บลง Text File

จะขอยกตัวอย่างการรับข้อมูลจากลูกค้าให้ดูเพื่อความเข้าใจง่ายขึ้นนะครับ

ตัวอย่างผมจะใช้เมนูรหัส 003 เป็นการรับคำสั่งซื้อสินค้า เราก็ไปสร้างไฟล์ 003.txt เพื่อเป็นข้อความตอบกลับลูกค้า

ส่งไฟล์ order.txt ในบรรทัดแรกจะระบุรหัสให้ตรงกับเมนูที่ต้องการให้รับออร์เดอร์สินค้า ในที่นี้คือ 003 เพื่อบอกโปรแกรมว่า ถ้าลูกค้าพิมพ์เมนู 003 เข้ามาให้รอเซฟข้อความถัดไปลงไฟล์

 

สำหรับไฟล์ payment.txt, question.txt ก็จะใช้วิธีเดียวกัน และสำหรับไฟล์ order_thankyou.txt, payment_thankyou.txt, question_thankyou.txt จะเป็นข้อความตอบกลับหลังจากรับข้อมูลจากลูกค้ามาแล้ว

 

99LinePriest

โปรแกรมนี้ไม่มีอะไรมาเป็นตัวช่วยกรณี 99LineBot.exe มันหยุดทำงาน มันจะสแกนหา Process ชื่อ 99LineBot.exe ถ้าไม่เจอก็จะปลุกชีพมันขึ้นมาใหม่

ปล. ไฟล์ 99LineBot.exe กับ 99LinePriest.exe จริงๆแล้วมันก็คือไฟล์ python.exe นั่นแหละ ผมเอามาแก้ชื่อ เพื่อให้เวลารันจะได้รู้ว่าเป็นการรันไฟล์ python ตัวไหนอยู่ และใช้สำหรับการกู้ Process ด้วย ใครอยากแก้โค้ดก็แก้ไขไฟล์ *.py ได้เลย

วิธีการรันบอท

เรียกไฟล์ 99LineBot_start.bat ได้เลย ง่ายๆ

 

-- จบ --

(ดื้อๆ แบบนี้แหละ ทำคู่มือนี่เหนื่อยพอๆกับเขียนโปรแกรมเลย ลองใช้แล้วเจอบักถล่มก็เอาสะเดาไปฉีด เอ้ย!! Comment ข้างใต้นี้บอกกันบ้างนะครับ)


blog comments powered by Disqus

Crazypanda.net