-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
27 lines (27 loc) · 992 Bytes
/
index.js
File metadata and controls
27 lines (27 loc) · 992 Bytes
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
var WebSocket=require('ws');
var Events={},Ws;
exports.StartNeutron=function(callback){
Ws=new WebSocket("ws://localhost:16384");
Ws.on("open",()=>{
var Listener=function(Event,ListenCallback){
Events[Event]=ListenCallback;
Ws.send(`{"Event":"sub","EventName":"${Event}"}`);
}
var cancelListener=function(Event){
if(Events[Event]!=undefined){
delete Events[Event];
Ws.send(`{"Event":"can","EventName":"${Event}"}`);
}else throw new Error("Cancel unsub event.");
}
var Game={
ExecCommand:function(Command){
Ws.send(`{"Event":"Game","EventName":"ExecCommand","Command":"${Command}"}`);
}
}
callback(Listener,cancelListener,Game);
});
Ws.on("message",(message)=>{
let Message=JSON.parse(message.toString());
Events[Message["Type"]](Message["Data"]);
});
};