File size: 1,542 Bytes
5c7666d
6bb3a45
 
 
5c7666d
6bb3a45
 
 
 
 
 
 
dcea9ef
5c7666d
 
0191be6
 
5c7666d
dcea9ef
0191be6
dcea9ef
5c7666d
 
 
 
6bb3a45
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
d903658
 
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
from flask import Flask, jsonify
from flask_socketio import SocketIO, emit, join_room, leave_room
from flask_cors import CORS
import os
import requests # Tambahan untuk nembak API KBBI

app = Flask(__name__)
app.config['SECRET_KEY'] = 'ypedz_private_key'
CORS(app, resources={r"/*": {"origins": "*"}})

socketio = SocketIO(app, cors_allowed_origins="*", async_mode='eventlet', max_http_buffer_size=110 * 1024 * 1024)

@app.route('/api-kbbi/api/v1/entry/<word>', methods=['GET'])
def get_kbbi(word):
    try:
        # Gunakan link asli yang kamu pakai di localhost (SUDAH TERBUKTI HIDUP)
        target_url = f"https://kbbi.raf555.dev/api/v1/entry/{word}"
        response = requests.get(target_url, timeout=5)
        
        # Kirim balik datanya ke game Sekata
        return response.text, response.status_code, {'Content-Type': 'application/json'}
    except Exception as e:
        return jsonify({"error": str(e)}), 500

# --- BAGIAN CHAT (SOCKET.IO) ---
@socketio.on('join_room')
def handle_join(data):
    room = str(data.get('room', 'PUBLIC')).upper()
    join_room(room)

@socketio.on('leave_room')
def handle_leave(data):
    room = str(data.get('room', 'PUBLIC')).upper()
    leave_room(room)

@socketio.on('broadcast_message')
def handle_message(data):
    target_room = str(data.get('room', 'PUBLIC')).upper()
    socketio.emit('receive_message', data, to=target_room)

if __name__ == '__main__':
    # Paksa port 7860 dan hapus parameter unsafe yang tidak perlu untuk eventlet
    socketio.run(app, host='0.0.0.0', port=7860)