def products_handler(request, conn, match=True, data={}): resp = """\ HTTP/1.1 200 OK This is product page """ send_response(resp, conn, match)
def contact_handler(request, conn, match=True): template = "contacts.html" content = render(template) resp = """\ HTTP/1.1 200 OK {0} """.format(content) send_response(resp, conn, match)
def about_handler(request, conn, match=True, data={}): template = "about.html" abc = render(template, {'this_is_variable': 'Бул өзгөрмөнүн ордуна барат'}) resp = """\ HTTP/1.1 200 OK {0} """.format(abc) send_response(resp, conn, match)
def about_handler(request, conn, match=True, data={}): template = "about.html" abc = render(template) resp = """\ HTTP/1.1 200 OK {0} """.format(abc) # write_to_db(match,data) send_response(resp, conn, match)
def translate_handler(request, conn, match=True, data={}): template = "translate.html" cont = render(template) resp = """\ HTTP/1.1 200 OK {0} """.format(cont) # write_to_db(match, data) send_response(resp, conn, match)
def about_handler(request, conn, match=True, method=None): template = 'about.html' content = render(template) resp = """\ HTTP/1.1 200 OK {} """.format(content) send_response(resp, conn, match)
def translit_handler(request, conn, match=True, data={}): template = "translit.html" abc = render(template) resp = """\ HTTP/1.1 200 OK {0} """.format(abc) send_response(resp, conn, match)
def contact_handler(request, conn, match=True, data={}): template = "contacts.html" content = render(template) resp = """\ HTTP/1.1 200 OK {0} """.format(content) write_to_db(match, data) # translit(data,) send_response(resp, conn, match)
def response_handler(request): try: # Receive request receiver = Receiver(request) # Get user user = get_user(receiver.get_sender_messenger_id()) # Check postbacks if receiver.get_request_type() == 'postback': payload = receiver.get_payload() return payload_parser(payload, user) elif receiver.get_request_type( ) == 'message' and receiver.get_message_type() == 'quick_reply': qr_payload = receiver.get_quick_reply_payload() return qr_payload_parser(qr_payload, receiver, user) # Check states for message requests if user.new_user: return bot_new_user_flow.request_handler(receiver, user) elif user.state == 'open': return parser(receiver, user) elif user.state == 'team_code_waiting': return bot_team_flow.request_handler(receiver, user) elif user.state == 'submission_waiting': return bot_project_flow.request_handler(receiver, user) return bot_messages.generic_error_message(user) except: return send_response()
def anything_else_message(user): text = 'Would you like to do anything else, ' + user.first_name + '?' menu_state = get_menu_state(user) quick_replies = [] # Variable: Join Team and View Team if user.team_id is None and user.project_id: pass elif 'vteam' in menu_state: vteam_qr = QuickReply('text', title='View Team', payload='view_team') quick_replies.append(vteam_qr) else: jteam_qr = QuickReply('text', title='Join a Team', payload='join_team') quick_replies.append(jteam_qr) # Constants: View Schedule and View Map schedule_qr = QuickReply('text', title='View Schedule', payload='view_schedule') map_qr = QuickReply('text', title='View Map', payload='view_map') quick_replies.append(schedule_qr) quick_replies.append(map_qr) # Variable: Submit and View Team if 'osubmission' in menu_state: osubmission_qr = QuickReply('text', title='Submit Project', payload='submit_project') quick_replies.append(osubmission_qr) else: csubmission_qr = QuickReply('text', title='Check Project Status', payload='check_project') quick_replies.append(csubmission_qr) m = QuickReplyMessage(text, user.messenger_id, quick_replies) m.send() if m.get_status_code() == 200: user.state = 'open' user.save() return send_response()
def wrapped(request, *args, **kwargs): if request.headers.get("Cache-Control", "") == "no-cache": return f(request, *args, **kwargs) cache_obj = CacheDriver() cache_key = { "path": request.path, "method": request.method, "body": request.body, "params": request.params, "user_id": request.user['user_id'] } response = cache_obj.get_cached_data(cache_key) if response: return send_response( (json.loads(response), 200, [("Cache", "HIT")])) else: response = f(request, *args, **kwargs) if response.status_code == 200: cache_obj.cache_data(key=cache_key, value=response.json_body, expiry_time=expiry_time, user_id=request.user['user_id']) response.headers.extend({"Cache": "MISS"}) return response
def request_handler(receiver, user): if receiver.get_request_type() == 'message': return message_handler(receiver, user) elif receiver.get_request_type() == 'postback': return postback_handler(receiver, user) return send_response()
def message_handler(receiver, user): text = receiver.get_text().lower() state = user.state if state == 'sign_up': return bot_messages.welcome_message(user) if state == 'sign_up_email_waiting': return email_handler(text, user) return send_response()
def welcome_message(user): text = 'Hi, I\'m Haley, the HackATL bot! Can you tell me the email you applied to HackATL with? That way I can set up your HackATL experience!' m = Message(text, user.messenger_id) m.send() print(str(m.get_response()) + user.messenger_id, file=sys.stderr) if m.get_status_code() == 200: user.state = 'sign_up_email_waiting' user.save() return send_response()
def team_ask_message(user): text = 'Do you want to create or join a team?' create_qr = QuickReply('text', title='Create', payload='create_team') join_qr = QuickReply('text', title='Join', payload='join_join_team') neither_qr = QuickReply('text', title='Neither', payload='menu') quick_replies = [create_qr, join_qr, neither_qr] m = QuickReplyMessage(text, user.messenger_id, quick_replies) m.send() return send_response()
def team_code_ask_success_message(team_id, user): text = 'You\'ve been added to Team ' + str(team_id) +'! Have a great time at HackATL!' ok_qr = QuickReply('text', title='Will Do!', payload='menu') quick_replies = [ok_qr] m = QuickReplyMessage(text, user.messenger_id, quick_replies) m.send() if m.get_status_code() == 200: user.state = 'open' user.save() return send_response()
def team_code_ask_message(user): text = 'What\'s the code for the team you want to join?' never_mind_qr = QuickReply('text', title='Never Mind', payload='menu') quick_replies = [never_mind_qr] m = QuickReplyMessage(text, user.messenger_id, quick_replies) m.send() if m.get_status_code() == 200: user.state = 'team_code_waiting' user.save() return send_response()
def project_file_success_message(user): text = 'Your project has been submitted! I will let you know about the first round later!' ok_ar = QuickReply('text', title='Ok', payload='menu') quick_replies = [ok_ar] m = QuickReplyMessage(text, user.messenger_id, quick_replies) m.send() if m.get_status_code() == 200: user.state = 'open' user.save() return send_response()
def project_file_ask_message(user): text = 'Send me a link to your project. I recommend you put your project on Google Drive or Dropbox! Don\'t forget to make it public!' never_mind_qr = QuickReply('text', title='I\'m Not Ready', payload='menu') quick_replies = [never_mind_qr] m = QuickReplyMessage(text, user.messenger_id, quick_replies) m.send() if m.get_status_code() == 200: user.state = 'submission_waiting' user.save() return send_response()
def request_handler(receiver, user): if receiver.get_request_type() == 'message': if receiver.get_message_type() == 'quick_reply': return quick_reply_handler(receiver, user) elif receiver.get_message_type() == 'file': return attachment_handler(receiver, user) return message_handler(receiver, user) elif receiver.get_request_type() == 'postback': return postback_handler(receiver, user) return send_response()
def quick_reply_handler(receiver, user): payload = receiver.get_quick_reply_payload() if user.project_id: return check_project_handler(user) elif payload == 'submit_project': return bot_messages.project_file_ask_message(user) elif payload == 'check_project': return check_project_handler(user) return send_response()
def contact_handler(request, conn, match=True, method=None): template = 'contacts.html' if method == 'post': firstname = re.search(r'firstname=(\w+)', request).groups()[0] lastname = re.search(r'lastname=(\w+)', request).groups()[0] data = { 'firstname': firstname, 'lastname': lastname, } print(data) results = db_mng(firstname, lastname) print(results) content = render(template) resp = """\ HTTP/1.1 200 OK {} """.format(content) send_response(resp, conn, match)
def project_file_failure_message(user): text = 'I\'m sorry, something went wrong with your submission. You must send me a link!' never_mind_qr = QuickReply('text', title='Never Mind', payload='menu') try_again_qr = QuickReply('text', title='Try Again', payload='submit_project') quick_replies = [try_again_qr, never_mind_qr] m = QuickReplyMessage(text, user.messenger_id, quick_replies) m.send() if m.get_status_code() == 200: user.state = 'open' user.save() return send_response()
def team_full_message(user): text = 'I\'m sorry, but that is not a valid code!' ok_qr = QuickReply('text', title='Ok', payload='menu') try_again_qr = QuickReply('text', title='Try Again', payload='join_join_team') quick_replies = [try_again_qr, ok_qr] m = QuickReplyMessage(text, user.messenger_id, quick_replies) m.send() if m.get_status_code() == 200: user.state = 'open' user.save() return send_response()
def quick_reply_handler(receiver, user): payload = receiver.get_quick_reply_payload() if payload == 'join_team': return bot_messages.team_ask_message(user) elif payload == 'view_team': return view_team_handler(user) elif payload == 'join_join_team': return bot_messages.team_code_ask_message(user) elif payload == 'create_team': return create_team_handler(user) return send_response()
def parser(receiver, user): if receiver.get_request_type() == 'message' and receiver.get_message_type( ) == 'message': text = receiver.get_text().lower() if 'help' in text or 'menu' in text: return bot_messages.menu_message(user) elif 'when' in text or 'schedule' in text: return bot_messages.schedule_message(user) elif 'where' in text or 'map' in text: return bot_messages.map_message(user) elif 'project' in text or 'submit' in text or 'results' in text: return bot_project_flow.request_handler(receiver, user) elif 'team' in text: return bot_team_flow.request_handler(receiver, user) elif 'hi' in text or 'hey' in text or 'hello' in text or 'yo' in text: return bot_messages.greeting_message(user) else: bot_messages.generic_error_message(user, False) return bot_messages.menu_message(user) else: return send_response()
def postback_handler(receiver, user): return send_response()
def generic_error_message(user, response=True): text = 'I\'m sorry ' + user.first_name + ', I didn\'t quite understand that.' m = Message(text, user.messenger_id) m.send() if response: return send_response()
def email_failure_message(user): text = 'The email you gave me does\'t match our records. Please send me the email you applied to HackATL with!' m = Message(text, user.messenger_id) m.send() return send_response()
def project_status_message(user, text): ok_qr = QuickReply('text', title='Ok', payload='menu') quick_replies = [ok_qr] m = QuickReplyMessage(text, user.messenger_id, quick_replies) m.send() return send_response()