Spaces:
Runtime error
Runtime error
File size: 1,544 Bytes
e39541b 5041c3f |
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 |
from flask import Flask, request
import requests
import config
from gemini_ai import get_gemini_response
app = Flask(__name__)
@app.route("/webhook", methods=["GET"])
def verify():
""" تحقق من Facebook Webhook """
if request.args.get("hub.verify_token") == config.VERIFY_TOKEN:
return request.args.get("hub.challenge")
return "خطأ في التحقق", 403
@app.route("/webhook", methods=["POST"])
def webhook():
""" استقبال الرسائل من Facebook Messenger """
data = request.get_json()
if data.get("object") == "page":
for entry in data["entry"]:
for messaging_event in entry.get("messaging", []):
if messaging_event.get("message"):
sender_id = messaging_event["sender"]["id"]
message_text = messaging_event["message"].get("text", "")
if message_text:
response = get_gemini_response(message_text)
send_message(sender_id, response)
return "ok", 200
def send_message(recipient_id, text):
""" إرسال رسالة إلى المستخدم عبر Facebook Messenger """
url = f"https://graph.facebook.com/v13.0/me/messages?access_token={config.PAGE_ACCESS_TOKEN}"
headers = {"Content-Type": "application/json"}
data = {"recipient": {"id": recipient_id}, "message": {"text": text}}
requests.post(url, headers=headers, json=data)
if __name__ == "__main__":
app.run(port=7860, debug=True) |