Ejemplo n.º 1
0
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()
Ejemplo n.º 2
0
    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)
Ejemplo n.º 3
0
    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)
Ejemplo n.º 4
0
    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)
Ejemplo n.º 5
0
    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)