Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| import requests | |
| import json | |
| from flask import Flask, request | |
| app = Flask(__name__) | |
| # إعدادات فايسبوك ميسنجر | |
| VERIFY_TOKEN = "page1234" | |
| PAGE_ACCESS_TOKEN = "EAARpz9gI6P4BO9oMZAItKd5JUppPQtnDJWqy2JlFz0tZC0nNZANAAbAonQaH5a8fakEuMU7m3Xg5WVyx540boA4c4HvWtAX0eBDgZCDz4Agtf2Sk9MVR32NWFDo5nZArKNrE0IEqlE0QLwNB79iuBtke7o3lHH4yw6ZCrcY56v3ZBMEXoMEdlExXAowZCXZAB9I0l" | |
| # إعداد Gemini API | |
| GEMINI_API_KEY = "AIzaSyBQUhaasVCO9BN0Z6p20IRAE-EQC8QLDTQ" | |
| def chat_with_gemini(message): | |
| url = "https://api.google.com/gemini/v1/chat" # تحقق من URL الرسمي لواجهة Gemini API | |
| headers = {"Authorization": f"Bearer {GEMINI_API_KEY}"} | |
| data = {"message": message} | |
| response = requests.post(url, headers=headers, json=data) | |
| if response.status_code == 200: | |
| return response.json().get("reply", "عذرًا، لم أفهم ذلك!") | |
| else: | |
| return "حدث خطأ أثناء الاتصال بالذكاء الاصطناعي." | |
| def send_message(recipient_id, message): | |
| """إرسال رسالة إلى فايسبوك ميسنجر""" | |
| url = f"https://graph.facebook.com/v12.0/me/messages?access_token={PAGE_ACCESS_TOKEN}" | |
| headers = {"Content-Type": "application/json"} | |
| data = { | |
| "recipient": {"id": recipient_id}, | |
| "message": {"text": message} | |
| } | |
| requests.post(url, headers=headers, json=data) | |
| def verify(): | |
| """التحقق من Webhook""" | |
| token = request.args.get("hub.verify_token") | |
| challenge = request.args.get("hub.challenge") | |
| if token == VERIFY_TOKEN: | |
| return challenge | |
| return "خطأ في التحقق", 403 | |
| def webhook(): | |
| """استقبال الرسائل من ميسنجر""" | |
| data = request.get_json() | |
| for entry in data.get("entry", []): | |
| for messaging_event in entry.get("messaging", []): | |
| if "message" in messaging_event: | |
| sender_id = messaging_event["sender"]["id"] | |
| message_text = messaging_event["message"]["text"] | |
| reply = chat_with_gemini(message_text) | |
| send_message(sender_id, reply) | |
| return "OK", 200 | |
| if __name__ == "__main__": | |
| app.run(host="0.0.0.0", port=8080) |