Skip to content

Instantly share code, notes, and snippets.

@enginebai
Created June 18, 2017 18:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save enginebai/f8138720179613a75ebaee39963f591b to your computer and use it in GitHub Desktop.
Save enginebai/f8138720179613a75ebaee39963f591b to your computer and use it in GitHub Desktop.
Facebook messager receive message
@app.route(config.web_hook_url, methods=["POST"])
def receive_message():
message_entries = json.loads(request.data.decode("utf-8"))
print("message_entries:", message_entries)
for entry in message_entries["entry"]:
for message in entry["messaging"]:
sender = message["sender"]["id"]
# print("sender:", sender)
if chat_thread.get(sender, None) is None:
bot = Bot(sender)
# detect language
user_req = requests.get("https://graph.facebook.com/v2.6/{user_id}?access_token={token}"
.format(user_id=sender, token=config.access_token))
if user_req.status_code == 200:
bot.locale = user_req.json()["locale"]
chat_thread[sender] = bot
else:
bot = chat_thread[sender]
if message.get("message"):
print("\tmessage:", message["message"])
bot.receive_message(message)
elif message.get("postback"):
print("\tpostback:", message["postback"])
bot.receive_postback(message)
return Response(status=200)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment