Esempio n. 1
0
    def UpdateInforTeacher(self, sender_id: str) -> str:
        teacher = TeacherEntry()
        if teacher.find_one('teacher_id', sender_id).__len__() == 1:
            name = re.findall("name :.+,",
                              self.message)[0].split(':')[1].strip(' ,')
            birday = re.findall("birday :.+",
                                self.message)[0].split(':')[1].strip()

            # Update thông tin giáo viên
            self.update_info_teacher(sender_id, name, birday)
            return 'Bạn đã cập nhật thông tin thành công'
        else:
            return 'Trước tiên bạn phải đăng ký giáo viên !!!'
Esempio n. 2
0
 def RegisterTeacher(self, sender_id: str) -> str:
     teacher = TeacherEntry()
     if teacher.find_one('teacher_id', sender_id).__len__() == 0:
         code = self.message.split(':')[1].strip()
         #Kiem tra code co trong bang TeacherCode khong
         teacher_code = TeacherCodeEntry()
         if teacher_code.find_one('teacher_code', code).__len__() == 1:
             self.insert_info(sender_id, code)
             # Yeu cau cap nhat thong tin giao vien
             return 'Bạn hãy nhập theo format: name : [your_name], birday : [yyyy-mm-dd]'
         else:
             return 'Mã code không tồn tại !!!'
     else:
         return 'Tài khoản đã đăng ký!!!'
Esempio n. 3
0
    def TeacherReply(self, sender_id: str):
        teacher = TeacherEntry()
        if teacher.find_one('teacher_id', sender_id).__len__() == 1:
            # Lưu câu trả lời xuống csdl
            content = self.message.split(':')
            idQuestion = content[1].strip()
            idHocSinh = content[2].strip()
            anwser = content[3].strip()
            self.update_message_not_respond(idQuestion, anwser)

            # Gửi câu trả lời cho sinh viên
            Facebook("").send_text(idHocSinh, anwser)
        else:
            return 'Trước tiên bạn phải đăng ký giáo viên !!!'
Esempio n. 4
0
from Entities.TeacherEntry import TeacherEntry

field_name = ['teacher_name', 'teacher_birday']
field_value = ['quang vu', '2000-11-30']

teacher = TeacherEntry()
print(tuple(teacher.find_one('teacher_id', '2086508114793671')))
# set_value = ""
# leng = field_name.__len__()
# for i in range(0, leng):
#     if i < leng - 1:
#         set_value += "{} = '{}',".format(field_name[i], field_value[i])
#     else:
#         set_value += "{} = '{}'".format(field_name[i], field_value[i])

# print(set_value)
Esempio n. 5
0
    async def run(
        self,
        dispatcher: CollectingDispatcher,
        tracker: Tracker,
        domain: Dict[Text, Any],
    ) -> List[Dict[Text, Any]]:

        try:
            logger.debug("-------------------------Action action_default_fallback--------------")
            logger.debug(tracker.sender_id)
            # lấy câu hỏi mới nhất của sinh viên
            message = tracker.latest_message['text']
            service = AnalysisService(message)

            # Kiem tra user dang ky giao vien
            if re.findall("\Acode", message):
                dispatcher.utter_message(service.RegisterTeacher(tracker.sender_id))
                return []
            # Kiem tra user cap nhat thong tin 
            if re.findall("\Aname .+birday :", message):
                dispatcher.utter_message(service.UpdateInforTeacher(tracker.sender_id))
                return []

            # Kiểm tra user có muốn trả lời câu hỏi của sinh viên không 
            if re.findall("\Areply", message):
                dispatcher.utter_message(service.TeacherReply(tracker.sender_id))
                return []

            # Neu khong phai 
            # Thi chuyen cau hoi cho giao vien

            # Nếu là user bình thường sẽ chuyển câu hỏi cho giáo viên còn không thì dừng
            teacher = TeacherEntry()
            if teacher.find_one('teacher_id', tracker.sender_id).__len__() == 0:
                # Xác định câu hỏi thuộc khoa nào
                #analysisService = AnalysisService(message)
                #facultyId = analysisService.analysisFaculty()
                facultyId = "CNTT"

                # tim id giao vien trong bang giao vien
                teacher_id = teacher.find_id_by_faculty(facultyId)

                # Gửi câu hỏi cho giáo viên của khoa đó
                for id in teacher_id:
                    idteacher = tuple(id)[0]
                    logger.debug("id giáo vien : " + idteacher)
                    fb = Facebook("EAALDNVOTxYEBAIQTOhRKl7ZA7EM7mTz4k2UFMSHomhZAZBp7uL5NIQmyUhjwKtKcC1pM0KacxpQsiJ8ASQIDZC7XQZAyy9p9rCxZAUBkXZA8JaCnqRzFzFbbCGu8mRl5XCAF3pU91cwuECZBfwhYwGVXPBi3xJzWqDgY37inltG3xwZDZD")
                    text =  "{} : {} : {}".format([id cau hoi] , tracker.sender_id, message)
                    await fb.send_text(idteacher, text)

                    dispatcher.utter_message('Tôi đã chuyển câu hỏi này cho giáo viên. Tôi sẽ phản hồi khi có thông tin cho bạn !')
            else:
                dispatcher.utter_message(text="Xin lỗi nhưng câu hỏi của không có trong dữ liệu. Tôi sẽ phản hồi nó khi có thông tin về câu hỏi của bạn")
        except Exception as e:
            logger.debug(e)
            dispatcher.utter_message(text="Xin lỗi nhưng câu hỏi của không có trong dữ liệu. Tôi sẽ phản hồi nó khi có thông tin về câu hỏi của bạn")
            pass

        logger.debug("Done analysis")
        
        # Revert user message which led to fallback.
        return []
Esempio n. 6
0
 def update_info_teacher(self, id: str, name: str, birday: str):
     teacher = TeacherEntry()
     teacher.update(['teacher_name', 'teacher_birday'], [name, birday],
                    'teacher_id', id)
Esempio n. 7
0
    def insert_info(self, id: str, code: str):
        teacher_code = TeacherCodeEntry()
        MaKhoa = teacher_code.find_one('teacher_code', code)[0][1]

        teacher = TeacherEntry()
        teacher.insert([(id, code, '', '', MaKhoa)])