สอนสร้าง Line Chatbot ด้วย Spring Boot
การพัฒนา Line Chatbot ด้วย Spring Boot เป็นเรื่องที่น่าสนใจและสามารถช่วยให้ธุรกิจหรือโครงการต่างๆ สามารถตอบสนองความต้องการของผู้ใช้งานได้อย่างมีประสิทธิภาพ บทความนี้จะช่วยให้คุณเข้าใจวิธีการสร้าง Line Chatbot โดยใช้ Spring Boot ได้อย่างง่ายดาย
1. เตรียมความพร้อม
สิ่งที่ต้องมี:
บัญชี LINE Developers
สมัครและสร้าง Messaging API Channel เพื่อเชื่อมต่อกับ LINE PlatformSpring Boot Framework
ติดตั้ง Spring Boot และตั้งค่าโปรเจกต์เบื้องต้นNgrok (หรือ Reverse Proxy อื่นๆ)
ใช้เพื่อเปิดให้ LINE Webhook เข้าถึงเซิร์ฟเวอร์ที่รันในเครื่องของคุณได้JDK และ Maven
สำหรับจัดการ dependencies และรันโปรเจกต์
2. สร้างโปรเจกต์ Spring Boot
เริ่มต้นโปรเจกต์ด้วย Spring Initializr
- เข้าไปที่ Spring Initializr
- เลือก dependencies:
Spring Web
และSpring Boot DevTools
- ดาวน์โหลดโปรเจกต์แล้วนำมารันใน IDE ที่คุณใช้ (เช่น IntelliJ IDEA หรือ Eclipse)
เพิ่ม dependencies สำหรับ LINE Messaging API
แก้ไขไฟล์pom.xml
:<dependency> <groupId>com.linecorp.bot</groupId> <artifactId>line-bot-spring-boot</artifactId> <version>4.7.0</version> <!-- ตรวจสอบเวอร์ชันล่าสุด --> </dependency>
3. การตั้งค่า LINE Messaging API
รับข้อมูล Channel Access Token และ Channel Secret
- ไปที่ LINE Developers Console
- คัดลอก Channel Access Token และ Channel Secret
เพิ่มค่าการตั้งค่าใน
application.yml
หรือapplication.properties
:line.bot: channel-token: "YOUR_CHANNEL_ACCESS_TOKEN" channel-secret: "YOUR_CHANNEL_SECRET"
4. เขียนโค้ดสำหรับรับข้อความ
สร้าง Controller เพื่อรับ Webhook:
@RestController @RequestMapping("/callback") public class LineBotController { private final LineMessagingClient lineMessagingClient; public LineBotController(LineMessagingClient lineMessagingClient) { this.lineMessagingClient = lineMessagingClient; } @PostMapping public void callback(@RequestBody LineBotCallbackRequest events) { events.getEvents().forEach(event -> { if (event instanceof MessageEvent messageEvent) { handleTextMessageEvent((MessageEvent<TextMessageContent>) messageEvent); } }); } private void handleTextMessageEvent(MessageEvent<TextMessageContent> event) { String replyToken = event.getReplyToken(); String userMessage = event.getMessage().getText(); TextMessage replyMessage = new TextMessage("คุณพิมพ์: " + userMessage); lineMessagingClient.replyMessage(new ReplyMessage(replyToken, replyMessage)); } }
เพิ่ม Bean สำหรับ
LineMessagingClient
:@Configuration public class LineBotConfig { @Bean public LineMessagingClient lineMessagingClient(LineBotProperties lineBotProperties) { return LineMessagingClient.builder(lineBotProperties.getChannelToken()).build(); } }
5. ใช้ Ngrok สำหรับ Webhook
- ติดตั้งและรัน Ngrok:
ngrok http 8080
- คัดลอก URL ที่ Ngrok ให้มา (เช่น
https://abc123.ngrok.io
) และตั้งค่า Webhook URL ใน LINE Developers Console เป็น:https://abc123.ngrok.io/callback
6. ทดสอบการใช้งาน
- ทดสอบการส่งข้อความผ่าน LINE Application
- ตรวจสอบว่า Chatbot ตอบข้อความกลับตามที่กำหนดไว้
ข้อแนะนำเพิ่มเติม
เพิ่มฟีเจอร์อื่นๆ:
เช่น การส่งรูปภาพ, การใช้งาน Flex Messages, หรือการเชื่อมต่อฐานข้อมูลดูเอกสารเพิ่มเติม:
LINE Messaging API Documentation: https://developers.line.biz/en/docs/
เมื่อทำตามขั้นตอนเหล่านี้ คุณจะได้ Line Chatbot ที่ใช้งานได้จริง และสามารถปรับปรุงให้ตอบโจทย์ตามความต้องการของคุณได้!
ความคิดเห็น
แสดงความคิดเห็น