import gradio as gr import pusher import json # تهيئة Pusher مرة واحدة pusher_client = pusher.Pusher( app_id='1853840', key= 'a1a5cbeadb52b107ea69' , secret='29b058c83b90d893cfbb', cluster='eu', ssl=True ) # # الدالة التي تستقبل الرسالة وترسلها إلى Pusher # def predict(message_json): # # تحويل المدخلات إلى JSON # try: # message = json.loads(message_json) # # استخدام Pusher لإرسال الرسالة # pusher_client.trigger(f'conversation-{message["conversation_id"]}', 'new-message', { # 'message': message # }) # return "تم إرسال الرسالة بنجاح إلى Pusher!" # except Exception as e: # return f"{message_json}" def predict(message_json): try: # استخراج الرسالة كـ string من القائمة message_str = message_json.decode('utf-8') # الحصول على العنصر الأول من القائمة # تحويل الـ string إلى كائن JSON message = json.loads(message_str[0]) # استبدال ' بـ " لجعل JSON صالحًا # استخدام Pusher لإرسال الرسالة pusher_client.trigger(f'conversation-{message["conversation_id"]}', 'new-message', { 'message': message }) return "تم إرسال الرسالة بنجاح إلى Pusher!" except Exception as e: return f"{message_str} \n {message}" # إعداد واجهة Gradio iface = gr.Interface( fn=predict, inputs=gr.Textbox(lines=10, placeholder="أدخل رسالة JSON هنا...", label="Message JSON"), outputs="text", title="Real-time Message Sender", description="واجهة لاستقبال رسالة JSON وإرسالها عبر Pusher" ) # تشغيل الواجهة iface.launch(share=True)