asyncdef_handle_user_message(
self, text: Text, sender_id: Text, metadata: Optional[Dict[Text, Any]])->None:"""Pass on the text to the dialogue engine for processing."""
out_channel = MessengerBot(self.client)await out_channel.send_action(sender_id, sender_action="mark_seen")
user_msg = UserMessage(
text, out_channel, sender_id, input_channel=self.name(), metadata=metadata
)await out_channel.send_action(sender_id, sender_action="typing_on")# noinspection PyBroadExceptiontry:await self.on_new_message(user_msg)except Exception:
logger.exception("Exception when trying to handle webhook for facebook message.")passfinally:await out_channel.send_action(sender_id, sender_action="typing_off")
Cụ thể hơn thì, nếu tin nhắn ở mess là 1 ảnh, rasa sẽ tiến hành lấy đường dẫn của ảnh đó trên server của messenger sau đó truyền đoạn text này vào
elif self._is_image_message(message):
attachment = message["message"]["attachments"][0]
text = attachment["payload"]["url"]
Lúc này, url ảnh này sẽ được đưa vào Tracker của Rasa qua class UserMessage(). Bạn có thể download ảnh qua đường dẫn này.
Tóm lại:
Nếu user gửi text qua messenger thì text trong tracker sẽ là tin nhắn, còn nếu user gửi ảnh qua messenger thì text trong tracker chính là đường dẫn của ảnh trên server. Bạn hoàn toàn có thể handle theo ý mình trong hàm action.py
Hi vọng câu trả lời này giải đáp được thắc mắc của bạn
Em set up xong và add thêm dữ liệu lên database nhưng khi mở trang web thì không thấy get được bất cứ dữ liệu nào và show trang trắng
Không biết có phải em bị sai config cho database không
Anh hỗ trợ em với
Bạn ơi cho mình hỏi, mình có lỗi này:
Ví dụ trong file main.dart mình import trực tiếp 2 file 1.dart và 2.dart thì ở 2 file này vẫn dùng .tr translate bình thường. Nhưng file 3.dart thì được import trong file 1.dart thì file 3.dart này lại ko thể sử dụng .tr được
THẢO LUẬN
Bạn có thể đào sâu hơn vào đoạn code về handle tin nhắn facebook của rasa: https://github.com/RasaHQ/rasa/blob/6b0940d2fe8e5bd00cbfc3b0180fed94a4af338d/rasa/core/channels/facebook.py#L95
Cụ thể hơn thì, nếu tin nhắn ở mess là 1 ảnh, rasa sẽ tiến hành lấy đường dẫn của ảnh đó trên server của messenger sau đó truyền đoạn text này vào
Lúc này, url ảnh này sẽ được đưa vào Tracker của Rasa qua class UserMessage(). Bạn có thể download ảnh qua đường dẫn này.
Tóm lại: Nếu user gửi text qua messenger thì text trong tracker sẽ là tin nhắn, còn nếu user gửi ảnh qua messenger thì text trong tracker chính là đường dẫn của ảnh trên server. Bạn hoàn toàn có thể handle theo ý mình trong hàm action.py
Hi vọng câu trả lời này giải đáp được thắc mắc của bạn
lang thang đâu vào đây vậy a =))
Anh cho em hỏi tí:
Em set up xong và add thêm dữ liệu lên database nhưng khi mở trang web thì không thấy get được bất cứ dữ liệu nào và show trang trắng Không biết có phải em bị sai config cho database không Anh hỗ trợ em với
Cho em hỏi nếu user gửi 1 cái image qua facebook messenger thì trong file action.py mình lấy hình đó về như thế nào vậy ạ? Dùng tracker được k ạ?
@congnvc167 Cám ơn những góp ý hữu ích của bạn.
Bên mình sẽ cân nhắc phần này để đưa vào triển khai trong thời gian tới
Bài viết rất hữu ích ạ
Bác online mình hỏi thành công trả về signature của momo trả về bên mình bao gồm chuỗi paramater như nào bạn nhỉ
Đợi bài viết tiếp theo từ bạn !
@sven_9x được chứ bạn
@tranxuanthang có điều khác với Gitlab, đội Viblo đã bưng bít lý do vì sao mất dữ liệu.
@thangly98 okay bạn =)))
@tapcode ok bạn =))
Thanks bạn nhé!
Bạn ơi cho mình hỏi, mình có lỗi này: Ví dụ trong file main.dart mình import trực tiếp 2 file 1.dart và 2.dart thì ở 2 file này vẫn dùng .tr translate bình thường. Nhưng file 3.dart thì được import trong file 1.dart thì file 3.dart này lại ko thể sử dụng .tr được
Bài viết hữu ích quá anh ơi. Anh viết ví dụ thực tế luôn đi ạ
Bạn ơi cho hỏi, giả như trong lúc trích xuất tin ra, làm sao biết được khi nào đã đủ độ dài tin được giấu để dừng lại ?
@maiptn226 tks bn nhé
xuất sắc
bạn hướng dẫn mình auth trên 1 bảng với. mình đang muốn thêm role_id vào bảng users để phân quyền cho admin và user.