Code Telegram Chatbot
Những thứ mà tôi học được:
1. ConversationHandler: Cái này có thể cho mình custom workflow làm việc. Ví dụ như việc order đồ ăn chẳng hạn: Step 1 => Step 2 => ...
- Khi làm việc với cái này thì cần định nghĩa ra các state để xác định xem đang ở bước nào (sử dụng enum chẳng hạn)
- Tiếp theo là định nghĩa ra callback. Ví dụ khi người dùng nhấn /order thì hiện ra InlineKeyboard, khi mà ấn vào một nút ở keyboard nó sẽ gọi đến một hàm xử lý logic (hàm này gọi là callback)
- Khi mà kết thúc một workflow làm việc thì sẽ sử dụng ConservationHandler.END
2. func(update: Update, context: ContextTypes)
- Đây là cấu trúc cơ bản của một hàm tương tác với telegram API, update sẽ nhận những thông tin liên quan đến tin nhắn
- Một vài cái cơ bản có thể nhận: message, file, image, callback (query = update.callback_query), effective_user (thông tin của user)
- Một vài cái cơ bản mà update có thể gửi: edit_text (text sẽ được thay thế), reply_text, send_text, send_imgs, ....
- context có thể được dùng để truyền qua lại dữ liệu trong workflow. Ví dụ khi một người dùng đặt Burgur thì có thể gán context.user_data["item"] = "Burgur"
- context cũng có thể gửi tin nhắn chủ động chứ không phải là reply
3. BotCommand
- Đây là nơi để khai báo các /start, /order, ...
- Có thể set command theo scope (ví dụ chỉ admin)
- app = ApplicationBuilder().set_handler()
- Thằng nào được khai báo trước mà match thì sẽ được lấy
Nhận xét
Đăng nhận xét