def webhook()

in src/services/messenger.py [0:0]


def webhook():

    if request.method == "GET":
        mode = request.args.get("hub.mode")
        token = request.args.get("hub.verify_token")
        challenge = request.args.get("hub.challenge")
        init_bot = request.args.get("init_bot", False)

        # Checks if a token and mode is in the query string of the request
        if mode and token:
            if (
                mode == 'subscribe' and
                token == os.environ.get('FB_VERIFY_TOKEN')
            ):
                logger.debug("CHALLENGE_ACCEPTED")

                if init_bot:
                    logger.debug('BOT INITIALISATION')
                    messenger.init_bot()

                return Response(
                    challenge,
                    status=202,
                    mimetype="application/json"
                )
            return challenge
        raise ValueError("FB_VERIFY_TOKEN does not match.")
    elif request.method == "POST":
        message = request.get_json(force=True)
        logger.debug("Message : {}".format(message))
        messenger.handle(message)
    return ""