├── messaging
│ ├── __init__.py
│ ├── fb_messenger.py
│ └── slack.py
└── server.py
inside __init__.py
I defined an export for the messaging
package:
from messaging.fb_messenger import *
from messaging.fb_messenger import fb_messenger_router
__all__ = ['fb_messenger', 'slack']
# from fb_messenger import fb_messenger_router
inside fb_messenger.py
I define the blueprint in this way :
# set up blueprint for fb_messenger
fb_messenger_router = Blueprint('fb_messenger', __name__)
@fb_messenger_router.route('/', methods=['GET'])
def messenger_webhook_verify():
# when the server side endpoint is registered as a webhook, it must echo back
# the 'hub.challenge' value it receives in the query arguments
if request.args.get("hub.mode") == "subscribe" and request.args.get("hub.challenge"):
if not request.args.get("hub.verify_token") == FB_VERIFY_TOKEN:
return "Verification token mismatch", 403
return request.args["hub.challenge"], 200
return "Hello world", 200
I import it in server.py
here:
from messaging import fb_messenger_router
application = Flask(__name__)
application.register_blueprint(fb_messenger_router,
url_prefix=FB_ROUTE)