Spaces:
Sleeping
Sleeping
File size: 2,435 Bytes
67793ba 7364bee 92b3530 7364bee 38b2ac5 67793ba 4bdfabe 38b2ac5 7364bee ab0b4df 7364bee ab0b4df 7364bee ab0b4df 7364bee ab0b4df 67793ba ab0b4df 67793ba ab0b4df 97d51f3 7364bee 67793ba 38b2ac5 7364bee 38b2ac5 ab0b4df 92b3530 7364bee |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
from flask import Flask, request, jsonify
import requests
app = Flask(__name__)
VERIFY_TOKEN = 'imseldrith' # Replace with your verification token
@app.route('/', methods=['GET'])
def home():
return "Welcome to the chatbot!"
@app.route('/facebook', methods=['GET', 'POST'])
def webhook():
if request.method == 'GET':
# Webhook verification
verify_token = request.args.get('hub.verify_token')
challenge = request.args.get('hub.challenge')
print(f"GET request received: verify_token={verify_token}, challenge={challenge}")
if verify_token == VERIFY_TOKEN:
print("Verification token matches. Returning challenge.")
return challenge
else:
print("Error: wrong validation token.")
return 'Error, wrong validation token'
elif request.method == 'POST':
data = request.get_json()
print(f"POST request received: {data}")
if 'entry' in data and len(data['entry']) > 0 and 'messaging' in data['entry'][0]:
messaging_event = data['entry'][0]['messaging'][0]
print(f"Messaging event: {messaging_event}")
if 'message' in messaging_event:
sender_id = messaging_event['sender']['id']
message_text = messaging_event['message'].get('text', '')
print(f"Received message from {sender_id}: {message_text}")
if message_text.lower() == 'hi':
response_text = 'hello'
print(f"Sending response to {sender_id}: {response_text}")
send_message(sender_id, response_text)
else:
print(f"No action taken for message: {message_text}")
return jsonify({'status': 'ok'})
def send_message(recipient_id, message_text):
access_token = 'YOUR_PAGE_ACCESS_TOKEN' # Replace with your Facebook Page Access Token
url = f'https://graph.facebook.com/v12.0/me/messages?access_token={access_token}'
headers = {'Content-Type': 'application/json'}
payload = {
'recipient': {'id': recipient_id},
'message': {'text': message_text}
}
print(f"Sending message request: {payload}")
response = requests.post(url, headers=headers, json=payload)
print(f"Message send response: {response.status_code}, {response.text}")
if __name__ == '__main__':
app.run(host="0.0.0.0", port=7860, debug=True)
|