Fb-chatbot / app.py
imseldrith's picture
Update app.py
adf4e97 verified
raw
history blame
1.68 kB
from flask import Flask, request
import requests
from dotenv import load_dotenv
import os
load_dotenv()
app = Flask(__name__)
# Retrieve environment variables
VERIFY_TOKEN = os.getenv('VERIFY_TOKEN')
PAGE_ACCESS_TOKEN = os.getenv('PAGE_ACCESS_TOKEN')
OPENAI_API_KEY = os.getenv('OPENAI_API_KEY')
# Debugging: Print the loaded environment variables
print(f"VERIFY_TOKEN: {VERIFY_TOKEN}")
print(f"PAGE_ACCESS_TOKEN: {PAGE_ACCESS_TOKEN}")
print(f"OPENAI_API_KEY: {OPENAI_API_KEY}")
# This is API key for facebook messenger.
API = "https://graph.facebook.com/LATEST-API-VERSION/me/messages?access_token="+PAGE_ACCESS_TOKEN
@app.route("/", methods=['GET'])
def fbverify():
if request.args.get("hub.mode") == "subscribe" and request.args.get("hub.challenge"):
if not request.args.get("hub.verify_token")== "imseldrith":
return "Verification token missmatch", 403
return request.args['hub.challenge'], 200
return "Hello world", 200
@app.route("/", methods=['POST'])
def fbwebhook():
data = request.get_json()
print(data)
try:
# Read messages from facebook messanger.
message = data['entry'][0]['messaging'][0]['message']
sender_id = data['entry'][0]['messaging'][0]['sender']['id']
if message['text'] == "hi":
request_body = {
"recipient": {
"id": sender_id
},
"message": {
"text": "hello, world!"
}
}
response = requests.post(API, json=request_body).json()
return response
if __name__ == '__main__':
app.run(host="0.0.0.0", port=7860, debug=True)