def receive_message(): try: if request.method == 'GET': """Before allowing people to message your bot, Facebook has implemented a verify token that confirms all requests that your bot receives came from Facebook.""" token_sent = request.args.get("hub.verify_token") return verify_fb_token(token_sent) else: output = request.get_json() for event in output['entry']: messaging = event['messaging'] for message in messaging: if message.get('message'): recipient_id = message['sender']['id'] if message['message'].get('text'): msg = message['message'].get('text') rollbar.report_message( "message received[{}]: {}".format( recipient_id, msg), "info") opt = Options(MongoCrud(), Chart()) fb_responses = opt.answer_message( recipient_id, msg) for response_sent_text in fb_responses: send_message(opt, recipient_id, response_sent_text) return "Message Processed" except: rollbar.report_exc_info()
def test_new_value(self): fb_id = 1234 request = "50.5" opt = Options(MongoCrud()) response = opt.answer_message(fb_id, request) expected = "OK, you are {} kg today".format(request) self.assertEquals(response[0], expected)
def test_register(self): fb_id = 1234 request = "Register 100 2018-06-01 90" opt = Options(MongoCrud()) response = opt.answer_message(fb_id, request) expected = "Your plan has been registered" self.assertEquals(response[0], expected)
def test_stat(self): fb_id = 1234 request = "Stat" opt = Options(MongoCrud()) response = opt.answer_message(fb_id, request) expected = "your planned weigth for today is: 0 kg" self.assertEquals(response[0], expected)
def test_random_msg(self): fb_id = 1234 request = "?" opt = Options(MongoCrud()) response = opt.answer_message(fb_id, request) expected = "version:" first_line = response[0].split("\n")[1].strip()[:len(expected)] self.assertEquals(first_line, expected)