diff --git a/dist/Bot.d.ts b/dist/Bot.d.ts index e85ccbf..0be541a 100644 --- a/dist/Bot.d.ts +++ b/dist/Bot.d.ts @@ -13,11 +13,14 @@ export declare class Bot { private lastSuccessfulPing; private circuitSubscription; private options; + private eventQueueRunning; clientEvents: ClientEvents; clientCommands: ClientCommands; + private eventQueueWaits; constructor(login: LoginParameters, options: BotOptionFlags); login(): Promise; changeRegion(region: Region): Promise; + waitForEventQueue(timeout?: number): Promise; private closeCircuit; private kicked; private disconnected; diff --git a/dist/Bot.js b/dist/Bot.js index a75ac14..f191826 100644 --- a/dist/Bot.js +++ b/dist/Bot.js @@ -25,15 +25,29 @@ const ClientCommands_1 = require("./classes/ClientCommands"); const DisconnectEvent_1 = require("./events/DisconnectEvent"); const StartPingCheck_1 = require("./classes/messages/StartPingCheck"); const FilterResponse_1 = require("./enums/FilterResponse"); +const UUID_1 = require("./classes/UUID"); class Bot { constructor(login, options) { this.ping = null; this.pingNumber = 0; this.lastSuccessfulPing = 0; this.circuitSubscription = null; + this.eventQueueRunning = false; + this.eventQueueWaits = {}; this.clientEvents = new ClientEvents_1.ClientEvents(); this.loginParams = login; this.options = options; + this.clientEvents.onEventQueueStateChange.subscribe((evt) => { + this.eventQueueRunning = evt.active; + for (const waitID of Object.keys(this.eventQueueWaits)) { + try { + clearTimeout(this.eventQueueWaits[waitID].timer); + this.eventQueueWaits[waitID].resolve(); + delete this.eventQueueWaits[waitID]; + } + catch (ignore) { } + } + }); } login() { return __awaiter(this, void 0, void 0, function* () { @@ -56,6 +70,24 @@ class Bot { yield this.connectToSim(); }); } + waitForEventQueue(timeout = 1000) { + return new Promise((resolve, reject) => { + if (this.eventQueueRunning) { + resolve(); + } + else { + const waitID = UUID_1.UUID.random().toString(); + const newWait = { + 'resolve': resolve + }; + newWait.timer = setTimeout(() => { + delete this.eventQueueWaits[waitID]; + reject(new Error('Timeout')); + }, timeout); + this.eventQueueWaits[waitID] = newWait; + } + }); + } closeCircuit() { this.agent.shutdown(); this.currentRegion.shutdown(); diff --git a/dist/Bot.js.map b/dist/Bot.js.map index 5345d15..db5b7c5 100644 --- a/dist/Bot.js.map +++ b/dist/Bot.js.map @@ -1 +1 @@ -{"version":3,"file":"Bot.js","sourceRoot":"","sources":["../lib/Bot.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Bot.js","sourceRoot":"","sources":["../lib/Bot.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/classes/ClientEvents.d.ts b/dist/classes/ClientEvents.d.ts index 8208d92..915daaf 100644 --- a/dist/classes/ClientEvents.d.ts +++ b/dist/classes/ClientEvents.d.ts @@ -1,5 +1,5 @@ import { Subject } from 'rxjs/Subject'; -import { ChatEvent, DisconnectEvent, FriendRequestEvent, FriendResponseEvent, GroupChatEvent, GroupChatSessionAgentListEvent, GroupChatSessionJoinEvent, GroupInviteEvent, InstantMessageEvent, InventoryOfferedEvent, LureEvent, TeleportEvent, ScriptDialogEvent } from '..'; +import { ChatEvent, DisconnectEvent, FriendRequestEvent, FriendResponseEvent, GroupChatEvent, GroupChatSessionAgentListEvent, GroupChatSessionJoinEvent, GroupInviteEvent, InstantMessageEvent, InventoryOfferedEvent, LureEvent, TeleportEvent, ScriptDialogEvent, EventQueueStateChangeEvent } from '..'; export declare class ClientEvents { onNearbyChat: Subject; onInstantMessage: Subject; @@ -15,4 +15,5 @@ export declare class ClientEvents { onGroupChatAgentListUpdate: Subject; onFriendResponse: Subject; onScriptDialog: Subject; + onEventQueueStateChange: Subject; } diff --git a/dist/classes/ClientEvents.js b/dist/classes/ClientEvents.js index 32e92ba..76f39d4 100644 --- a/dist/classes/ClientEvents.js +++ b/dist/classes/ClientEvents.js @@ -17,6 +17,7 @@ class ClientEvents { this.onGroupChatAgentListUpdate = new Subject_1.Subject(); this.onFriendResponse = new Subject_1.Subject(); this.onScriptDialog = new Subject_1.Subject(); + this.onEventQueueStateChange = new Subject_1.Subject(); } } exports.ClientEvents = ClientEvents; diff --git a/dist/classes/ClientEvents.js.map b/dist/classes/ClientEvents.js.map index 2cfb9a7..0d3e619 100644 --- a/dist/classes/ClientEvents.js.map +++ b/dist/classes/ClientEvents.js.map @@ -1 +1 @@ -{"version":3,"file":"ClientEvents.js","sourceRoot":"","sources":["../../lib/classes/ClientEvents.ts"],"names":[],"mappings":";;AAAA,0CAAqC;AAcrC;IAAA;QAEI,iBAAY,GAAuB,IAAI,iBAAO,EAAa,CAAC;QAC5D,qBAAgB,GAAiC,IAAI,iBAAO,EAAuB,CAAC;QACpF,kBAAa,GAA8B,IAAI,iBAAO,EAAoB,CAAC;QAC3E,oBAAe,GAAgC,IAAI,iBAAO,EAAsB,CAAC;QACjF,uBAAkB,GAAmC,IAAI,iBAAO,EAAyB,CAAC;QAC1F,WAAM,GAAuB,IAAI,iBAAO,EAAa,CAAC;QACtD,oBAAe,GAA2B,IAAI,iBAAO,EAAiB,CAAC;QACvE,mBAAc,GAA8B,IAAI,iBAAO,EAAmB,CAAC;QAC3E,qBAAgB,GAAoB,IAAI,iBAAO,EAAU,CAAC;QAC1D,gBAAW,GAA4B,IAAI,iBAAO,EAAkB,CAAC;QACrE,2BAAsB,GAAuC,IAAI,iBAAO,EAA6B,CAAC;QACtG,+BAA0B,GAA4C,IAAI,iBAAO,EAAkC,CAAC;QACpH,qBAAgB,GAAiC,IAAI,iBAAO,EAAuB,CAAC;QACpF,mBAAc,GAA+B,IAAI,iBAAO,EAAqB,CAAC;IAClF,CAAC;CAAA;AAhBD,oCAgBC"} \ No newline at end of file +{"version":3,"file":"ClientEvents.js","sourceRoot":"","sources":["../../lib/classes/ClientEvents.ts"],"names":[],"mappings":";;AAAA,0CAAqC;AAmBrC;IAAA;QAEI,iBAAY,GAAuB,IAAI,iBAAO,EAAa,CAAC;QAC5D,qBAAgB,GAAiC,IAAI,iBAAO,EAAuB,CAAC;QACpF,kBAAa,GAA8B,IAAI,iBAAO,EAAoB,CAAC;QAC3E,oBAAe,GAAgC,IAAI,iBAAO,EAAsB,CAAC;QACjF,uBAAkB,GAAmC,IAAI,iBAAO,EAAyB,CAAC;QAC1F,WAAM,GAAuB,IAAI,iBAAO,EAAa,CAAC;QACtD,oBAAe,GAA2B,IAAI,iBAAO,EAAiB,CAAC;QACvE,mBAAc,GAA8B,IAAI,iBAAO,EAAmB,CAAC;QAC3E,qBAAgB,GAAoB,IAAI,iBAAO,EAAU,CAAC;QAC1D,gBAAW,GAA4B,IAAI,iBAAO,EAAkB,CAAC;QACrE,2BAAsB,GAAuC,IAAI,iBAAO,EAA6B,CAAC;QACtG,+BAA0B,GAA4C,IAAI,iBAAO,EAAkC,CAAC;QACpH,qBAAgB,GAAiC,IAAI,iBAAO,EAAuB,CAAC;QACpF,mBAAc,GAA+B,IAAI,iBAAO,EAAqB,CAAC;QAC9E,4BAAuB,GAAwC,IAAI,iBAAO,EAA8B,CAAC;IAC7G,CAAC;CAAA;AAjBD,oCAiBC"} \ No newline at end of file diff --git a/dist/classes/Comms.js b/dist/classes/Comms.js index 060ea6b..b0c793e 100644 --- a/dist/classes/Comms.js +++ b/dist/classes/Comms.js @@ -12,7 +12,8 @@ class Comms { this.circuit.subscribeToMessages([ Message_1.Message.ImprovedInstantMessage, Message_1.Message.ChatFromSimulator, - Message_1.Message.AlertMessage + Message_1.Message.AlertMessage, + Message_1.Message.ScriptDialog ], (packet) => { switch (packet.message.id) { case Message_1.Message.ImprovedInstantMessage: @@ -211,27 +212,53 @@ class Comms { } break; case Message_1.Message.ChatFromSimulator: - const chat = packet.message; - const event = new __1.ChatEvent(); - event.fromName = Utils_1.Utils.BufferToStringSimple(chat.ChatData.FromName); - event.message = Utils_1.Utils.BufferToStringSimple(chat.ChatData.Message); - event.from = chat.ChatData.SourceID; - event.ownerID = chat.ChatData.OwnerID; - event.chatType = chat.ChatData.ChatType; - event.sourceType = chat.ChatData.SourceType; - event.audible = chat.ChatData.Audible; - event.position = chat.ChatData.Position; - this.clientEvents.onNearbyChat.next(event); - break; + { + const chat = packet.message; + const event = new __1.ChatEvent(); + event.fromName = Utils_1.Utils.BufferToStringSimple(chat.ChatData.FromName); + event.message = Utils_1.Utils.BufferToStringSimple(chat.ChatData.Message); + event.from = chat.ChatData.SourceID; + event.ownerID = chat.ChatData.OwnerID; + event.chatType = chat.ChatData.ChatType; + event.sourceType = chat.ChatData.SourceType; + event.audible = chat.ChatData.Audible; + event.position = chat.ChatData.Position; + this.clientEvents.onNearbyChat.next(event); + break; + } case Message_1.Message.AlertMessage: - const alertm = packet.message; - const alertMessage = Utils_1.Utils.BufferToStringSimple(alertm.AlertData.Message); - console.log('Alert message: ' + alertMessage); - alertm.AlertInfo.forEach((info) => { - const alertInfoMessage = Utils_1.Utils.BufferToStringSimple(info.Message); - console.log('Alert info message: ' + alertInfoMessage); - }); - break; + { + const alertm = packet.message; + const alertMessage = Utils_1.Utils.BufferToStringSimple(alertm.AlertData.Message); + console.log('Alert message: ' + alertMessage); + alertm.AlertInfo.forEach((info) => { + const alertInfoMessage = Utils_1.Utils.BufferToStringSimple(info.Message); + console.log('Alert info message: ' + alertInfoMessage); + }); + break; + } + case Message_1.Message.ScriptDialog: + { + const scriptd = packet.message; + const event = new __1.ScriptDialogEvent(); + event.ObjectID = scriptd.Data.ObjectID; + event.FirstName = Utils_1.Utils.BufferToStringSimple(scriptd.Data.FirstName); + event.LastName = Utils_1.Utils.BufferToStringSimple(scriptd.Data.LastName); + event.ObjectName = Utils_1.Utils.BufferToStringSimple(scriptd.Data.ObjectName); + event.Message = Utils_1.Utils.BufferToStringSimple(scriptd.Data.Message); + event.ChatChannel = scriptd.Data.ChatChannel; + event.ImageID = scriptd.Data.ImageID; + event.Buttons = []; + event.Owners = []; + for (const button of scriptd.Buttons) { + event.Buttons.push(Utils_1.Utils.BufferToStringSimple(button.ButtonLabel)); + } + for (const owner of scriptd.OwnerData) { + event.Owners.push(owner.OwnerID); + } + this.clientEvents.onScriptDialog.next(event); + break; + } } }); } diff --git a/dist/classes/Comms.js.map b/dist/classes/Comms.js.map index 612f77f..3a8d6f1 100644 --- a/dist/classes/Comms.js.map +++ b/dist/classes/Comms.js.map @@ -1 +1 @@ -{"version":3,"file":"Comms.js","sourceRoot":"","sources":["../../lib/classes/Comms.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Comms.js","sourceRoot":"","sources":["../../lib/classes/Comms.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/classes/EventQueueClient.d.ts b/dist/classes/EventQueueClient.d.ts index 7ee2710..ced680a 100644 --- a/dist/classes/EventQueueClient.d.ts +++ b/dist/classes/EventQueueClient.d.ts @@ -13,5 +13,5 @@ export declare class EventQueueClient { shutdown(): void; Get(): void; request(url: string, data: string, contentType: string): Promise; - capsRequestXML(capability: string, data: any): Promise; + capsRequestXML(capability: string, data: any, attempt?: number): Promise; } diff --git a/dist/classes/EventQueueClient.js b/dist/classes/EventQueueClient.js index dd65aac..0108528 100644 --- a/dist/classes/EventQueueClient.js +++ b/dist/classes/EventQueueClient.js @@ -4,12 +4,9 @@ const LLSD = require("@caspertech/llsd"); const request = require("request"); const Long = require("long"); const IPAddress_1 = require("./IPAddress"); -const TeleportEvent_1 = require("../events/TeleportEvent"); const TeleportEventType_1 = require("../enums/TeleportEventType"); -const GroupChatEvent_1 = require("../events/GroupChatEvent"); const UUID_1 = require("./UUID"); -const GroupChatSessionJoinEvent_1 = require("../events/GroupChatSessionJoinEvent"); -const GroupChatSessionAgentListEvent_1 = require("../events/GroupChatSessionAgentListEvent"); +const __1 = require(".."); class EventQueueClient { constructor(agent, caps, clientEvents) { this.done = false; @@ -18,8 +15,14 @@ class EventQueueClient { this.clientEvents = clientEvents; this.caps = caps; this.Get(); + const state = new __1.EventQueueStateChangeEvent(); + state.active = true; + this.clientEvents.onEventQueueStateChange.next(state); } shutdown() { + const state = new __1.EventQueueStateChangeEvent(); + state.active = false; + this.clientEvents.onEventQueueStateChange.next(state); if (this.currentRequest !== null) { this.currentRequest.abort(); } @@ -30,6 +33,7 @@ class EventQueueClient { 'ack': this.ack, 'done': this.done }; + const startTime = new Date().getTime(); this.capsRequestXML('EventQueueGet', req).then((data) => { if (data['events']) { data['events'].forEach((event) => { @@ -46,7 +50,7 @@ class EventQueueClient { break; case 'TeleportFailed': { - const tpEvent = new TeleportEvent_1.TeleportEvent(); + const tpEvent = new __1.TeleportEvent(); tpEvent.message = event['body']['Info'][0]['Reason']; tpEvent.eventType = TeleportEventType_1.TeleportEventType.TeleportFailed; tpEvent.simIP = ''; @@ -58,7 +62,7 @@ class EventQueueClient { case "ChatterBoxSessionStartReply": { if (event['body']) { - const gcsje = new GroupChatSessionJoinEvent_1.GroupChatSessionJoinEvent(); + const gcsje = new __1.GroupChatSessionJoinEvent(); gcsje.sessionID = new UUID_1.UUID(event['body']['session_id'].toString()); gcsje.success = event['body']['success']; if (gcsje.success) { @@ -73,7 +77,7 @@ class EventQueueClient { if (event['body'] && event['body']['instantmessage'] && event['body']['instantmessage']['message_params'] && event['body']['instantmessage']['message_params']['id']) { const messageParams = event['body']['instantmessage']['message_params']; const imSessionID = messageParams['id']; - const groupChatEvent = new GroupChatEvent_1.GroupChatEvent(); + const groupChatEvent = new __1.GroupChatEvent(); groupChatEvent.from = new UUID_1.UUID(messageParams['from_id'].toString()); groupChatEvent.fromName = messageParams['from_name']; groupChatEvent.groupID = new UUID_1.UUID(messageParams['id'].toString()); @@ -82,9 +86,9 @@ class EventQueueClient { 'method': 'accept invitation', 'session-id': imSessionID }; - this.caps.capsRequestXML('ChatSessionRequest', requestedFolders).then((result) => { + this.caps.capsRequestXML('ChatSessionRequest', requestedFolders).then((ignore) => { this.agent.addChatSession(groupChatEvent.groupID); - const gcsje = new GroupChatSessionJoinEvent_1.GroupChatSessionJoinEvent(); + const gcsje = new __1.GroupChatSessionJoinEvent(); gcsje.sessionID = groupChatEvent.groupID; gcsje.success = true; this.clientEvents.onGroupChatSessionJoin.next(gcsje); @@ -101,7 +105,7 @@ class EventQueueClient { if (event['body']['agent_updates']) { Object.keys(event['body']['agent_updates']).forEach((agentUpdate) => { const updObj = event['body']['agent_updates'][agentUpdate]; - const gcsale = new GroupChatSessionAgentListEvent_1.GroupChatSessionAgentListEvent(); + const gcsale = new __1.GroupChatSessionAgentListEvent(); gcsale.agentID = new UUID_1.UUID(agentUpdate); gcsale.groupID = new UUID_1.UUID(event['body']['session_id'].toString()); gcsale.canVoiceChat = false; @@ -128,7 +132,7 @@ class EventQueueClient { info['RegionHandle'] = new Long(regionHandleBuf.readUInt32LE(0), regionHandleBuf.readUInt32LE(4), true); info['SimIP'] = new IPAddress_1.IPAddress(Buffer.from(info['SimIP'].toArray()), 0).toString(); info['TeleportFlags'] = Buffer.from(info['TeleportFlags'].toArray()).readUInt32LE(0); - const tpEvent = new TeleportEvent_1.TeleportEvent(); + const tpEvent = new __1.TeleportEvent(); tpEvent.message = ''; tpEvent.eventType = TeleportEventType_1.TeleportEventType.TeleportCompleted; tpEvent.simIP = info['SimIP']; @@ -160,11 +164,20 @@ class EventQueueClient { this.Get(); } }).catch((err) => { - setTimeout(() => { + const time = (new Date().getTime()) - startTime; + if (time > 30000) { if (!this.done) { this.Get(); } - }, 5000); + } + else { + console.error('Event queue aborted after ' + time + 'ms. Reconnecting in 5 seconds'); + setTimeout(() => { + if (!this.done) { + this.Get(); + } + }, 5000); + } }); } request(url, data, contentType) { @@ -190,7 +203,7 @@ class EventQueueClient { }); }); } - capsRequestXML(capability, data) { + capsRequestXML(capability, data, attempt = 0) { return new Promise((resolve, reject) => { this.caps.getCapability(capability).then((url) => { const serializedData = LLSD.LLSD.formatXML(data); @@ -201,7 +214,12 @@ class EventQueueClient { resolve(parsed); } else { - throw new Error('Not an LLSD response'); + if (attempt < 3) { + return this.capsRequestXML(capability, data, ++attempt); + } + else { + reject(new Error('Not an LLSD response, capability: ' + capability)); + } } } catch (error) { diff --git a/dist/classes/EventQueueClient.js.map b/dist/classes/EventQueueClient.js.map index b85abc8..499f401 100644 --- a/dist/classes/EventQueueClient.js.map +++ b/dist/classes/EventQueueClient.js.map @@ -1 +1 @@ -{"version":3,"file":"EventQueueClient.js","sourceRoot":"","sources":["../../lib/classes/EventQueueClient.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"EventQueueClient.js","sourceRoot":"","sources":["../../lib/classes/EventQueueClient.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/classes/Region.d.ts b/dist/classes/Region.d.ts index b47222e..9f15831 100644 --- a/dist/classes/Region.d.ts +++ b/dist/classes/Region.d.ts @@ -4,7 +4,7 @@ import { Caps } from './Caps'; import { Comms } from './Comms'; import { ClientEvents } from './ClientEvents'; import { IObjectStore } from './interfaces/IObjectStore'; -import { BotOptionFlags } from '../enums/BotOptionFlags'; +import { BotOptionFlags } from '..'; export declare class Region { xCoordinate: number; yCoordinate: number; diff --git a/dist/classes/Region.js b/dist/classes/Region.js index f56a7a1..7ab11df 100644 --- a/dist/classes/Region.js +++ b/dist/classes/Region.js @@ -4,15 +4,15 @@ const Circuit_1 = require("./Circuit"); const Caps_1 = require("./Caps"); const Comms_1 = require("./Comms"); const ObjectStoreFull_1 = require("./ObjectStoreFull"); -const BotOptionFlags_1 = require("../enums/BotOptionFlags"); const ObjectStoreLite_1 = require("./ObjectStoreLite"); +const __1 = require(".."); class Region { constructor(agent, clientEvents, options) { this.agent = agent; this.options = options; this.clientEvents = clientEvents; this.circuit = new Circuit_1.Circuit(clientEvents); - if (options & BotOptionFlags_1.BotOptionFlags.LiteObjectStore) { + if (options & __1.BotOptionFlags.LiteObjectStore) { this.objects = new ObjectStoreLite_1.ObjectStoreLite(this.circuit, agent, clientEvents, options); } else { diff --git a/dist/classes/Region.js.map b/dist/classes/Region.js.map index 1eb59b2..5183a0d 100644 --- a/dist/classes/Region.js.map +++ b/dist/classes/Region.js.map @@ -1 +1 @@ -{"version":3,"file":"Region.js","sourceRoot":"","sources":["../../lib/classes/Region.ts"],"names":[],"mappings":";;AAAA,uCAAkC;AAElC,iCAA4B;AAC5B,mCAA8B;AAG9B,uDAAkD;AAClD,4DAAuD;AACvD,uDAAkD;AAElD;IAYI,YAAY,KAAY,EAAE,YAA0B,EAAE,OAAuB;QAEzE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC,YAAY,CAAC,CAAC;QACzC,IAAI,OAAO,GAAG,+BAAc,CAAC,eAAe,EAC5C;YACI,IAAI,CAAC,OAAO,GAAG,IAAI,iCAAe,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;SAClF;aAED;YACI,IAAI,CAAC,OAAO,GAAG,IAAI,iCAAe,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;SAClF;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAC9D,CAAC;IACD,YAAY,CAAC,OAAe;QAExB,IAAI,CAAC,IAAI,GAAG,IAAI,WAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACvE,CAAC;IACD,QAAQ;QAEJ,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IAE5B,CAAC;CACJ;AAxCD,wBAwCC"} \ No newline at end of file +{"version":3,"file":"Region.js","sourceRoot":"","sources":["../../lib/classes/Region.ts"],"names":[],"mappings":";;AAAA,uCAAkC;AAElC,iCAA4B;AAC5B,mCAA8B;AAG9B,uDAAkD;AAClD,uDAAkD;AAClD,0BAAkC;AAElC;IAYI,YAAY,KAAY,EAAE,YAA0B,EAAE,OAAuB;QAEzE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC,YAAY,CAAC,CAAC;QACzC,IAAI,OAAO,GAAG,kBAAc,CAAC,eAAe,EAC5C;YACI,IAAI,CAAC,OAAO,GAAG,IAAI,iCAAe,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;SAClF;aAED;YACI,IAAI,CAAC,OAAO,GAAG,IAAI,iCAAe,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;SAClF;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAC9D,CAAC;IACD,YAAY,CAAC,OAAe;QAExB,IAAI,CAAC,IAAI,GAAG,IAAI,WAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACvE,CAAC;IACD,QAAQ;QAEJ,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IAE5B,CAAC;CACJ;AAxCD,wBAwCC"} \ No newline at end of file diff --git a/dist/events/EventQueueStateChangeEvent.d.ts b/dist/events/EventQueueStateChangeEvent.d.ts new file mode 100644 index 0000000..3a4030e --- /dev/null +++ b/dist/events/EventQueueStateChangeEvent.d.ts @@ -0,0 +1,3 @@ +export declare class EventQueueStateChangeEvent { + active: boolean; +} diff --git a/dist/events/EventQueueStateChangeEvent.js b/dist/events/EventQueueStateChangeEvent.js new file mode 100644 index 0000000..aed408d --- /dev/null +++ b/dist/events/EventQueueStateChangeEvent.js @@ -0,0 +1,6 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class EventQueueStateChangeEvent { +} +exports.EventQueueStateChangeEvent = EventQueueStateChangeEvent; +//# sourceMappingURL=EventQueueStateChangeEvent.js.map \ No newline at end of file diff --git a/dist/events/EventQueueStateChangeEvent.js.map b/dist/events/EventQueueStateChangeEvent.js.map new file mode 100644 index 0000000..24af6e8 --- /dev/null +++ b/dist/events/EventQueueStateChangeEvent.js.map @@ -0,0 +1 @@ +{"version":3,"file":"EventQueueStateChangeEvent.js","sourceRoot":"","sources":["../../lib/events/EventQueueStateChangeEvent.ts"],"names":[],"mappings":";;AAAA;CAGC;AAHD,gEAGC"} \ No newline at end of file diff --git a/dist/events/ScriptDialogEvent.d.ts b/dist/events/ScriptDialogEvent.d.ts index 5fad3e4..8271d61 100644 --- a/dist/events/ScriptDialogEvent.d.ts +++ b/dist/events/ScriptDialogEvent.d.ts @@ -1,12 +1,12 @@ -import { UUID, Vector3 } from '..'; -export declare class ScriptDialogEvent { - ObjectID: UUID; - FirstName: string; - LastName: string; - ObjectName: Vector3; - Message: string; - ChatChannel: number; - ImageID: UUID; - Buttons: string; - OwnerID: UUID; -} +import { UUID } from '..'; +export declare class ScriptDialogEvent { + ObjectID: UUID; + FirstName: string; + LastName: string; + ObjectName: string; + Message: string; + ChatChannel: number; + ImageID: UUID; + Buttons: string[]; + Owners: UUID[]; +} diff --git a/dist/events/ScriptDialogEvent.js b/dist/events/ScriptDialogEvent.js index 7a4a810..0ca9229 100644 --- a/dist/events/ScriptDialogEvent.js +++ b/dist/events/ScriptDialogEvent.js @@ -1,6 +1,6 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -class ScriptDialogEvent { -} -exports.ScriptDialogEvent = ScriptDialogEvent; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +class ScriptDialogEvent { +} +exports.ScriptDialogEvent = ScriptDialogEvent; //# sourceMappingURL=ScriptDialogEvent.js.map \ No newline at end of file diff --git a/dist/index.d.ts b/dist/index.d.ts index 46d0f68..250b9cb 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -38,4 +38,5 @@ import { DecodeFlags } from './enums/DecodeFlags'; import { ParcelInfoFlags } from './enums/ParcelInfoFlags'; import { ParcelInfoReplyEvent } from './events/ParcelInfoReplyEvent'; import { ScriptDialogEvent } from './events/ScriptDialogEvent'; -export { Bot, LoginParameters, AssetType, HTTPAssets, ClientEvents, BVH, ChatSourceType, BotOptionFlags, UUID, Vector3, AgentFlags, CompressedFlags, ControlFlags, DecodeFlags, InstantMessageEventFlags, InventoryItemFlags, LoginFlags, MessageFlags, ParcelInfoFlags, PacketFlags, RegionProtocolFlags, SoundFlags, TeleportFlags, ChatEvent, DisconnectEvent, FriendRequestEvent, FriendResponseEvent, GroupChatEvent, GroupChatSessionAgentListEvent, GroupChatSessionJoinEvent, GroupInviteEvent, InstantMessageEvent, InventoryOfferedEvent, LureEvent, MapInfoRangeReplyEvent, MapInfoReplyEvent, ParcelInfoReplyEvent, RegionInfoReplyEvent, TeleportEvent, ScriptDialogEvent }; +import { EventQueueStateChangeEvent } from './events/EventQueueStateChangeEvent'; +export { Bot, LoginParameters, AssetType, HTTPAssets, ClientEvents, BVH, ChatSourceType, BotOptionFlags, UUID, Vector3, AgentFlags, CompressedFlags, ControlFlags, DecodeFlags, InstantMessageEventFlags, InventoryItemFlags, LoginFlags, MessageFlags, ParcelInfoFlags, PacketFlags, RegionProtocolFlags, SoundFlags, TeleportFlags, ChatEvent, DisconnectEvent, FriendRequestEvent, FriendResponseEvent, GroupChatEvent, GroupChatSessionAgentListEvent, GroupChatSessionJoinEvent, GroupInviteEvent, InstantMessageEvent, InventoryOfferedEvent, LureEvent, MapInfoRangeReplyEvent, MapInfoReplyEvent, ParcelInfoReplyEvent, RegionInfoReplyEvent, TeleportEvent, ScriptDialogEvent, EventQueueStateChangeEvent }; diff --git a/dist/index.js b/dist/index.js index 2791431..8932389 100644 --- a/dist/index.js +++ b/dist/index.js @@ -80,4 +80,6 @@ const ParcelInfoReplyEvent_1 = require("./events/ParcelInfoReplyEvent"); exports.ParcelInfoReplyEvent = ParcelInfoReplyEvent_1.ParcelInfoReplyEvent; const ScriptDialogEvent_1 = require("./events/ScriptDialogEvent"); exports.ScriptDialogEvent = ScriptDialogEvent_1.ScriptDialogEvent; +const EventQueueStateChangeEvent_1 = require("./events/EventQueueStateChangeEvent"); +exports.EventQueueStateChangeEvent = EventQueueStateChangeEvent_1.EventQueueStateChangeEvent; //# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/index.js.map b/dist/index.js.map index ba4b2a1..ae8333d 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;AAAA,+BAA0B;AA8CtB,cA9CI,SAAG,CA8CJ;AA7CP,+DAA0D;AA8CtD,0BA9CI,iCAAe,CA8CJ;AA7CnB,yDAAoD;AAgDhD,uBAhDI,2BAAY,CAgDJ;AA/ChB,uCAAkC;AAgD9B,cAhDI,SAAG,CAgDJ;AA3CP,iDAA4C;AAwCxC,oBAxCI,qBAAS,CAwCJ;AAvCb,mDAA8C;AAwC1C,qBAxCI,uBAAU,CAwCJ;AAvCd,+EAA0E;AAoDtE,mCApDI,mDAAwB,CAoDJ;AAnD5B,sEAAiE;AAsE7D,8BAtEI,yCAAmB,CAsEJ;AArEvB,2DAAsD;AAwClD,yBAxCI,+BAAc,CAwCJ;AAvClB,2DAAsD;AAwClD,yBAxCI,+BAAc,CAwCJ;AAvClB,yCAAoC;AAwChC,eAxCI,WAAI,CAwCJ;AAvCR,+CAA0C;AAwCtC,kBAxCI,iBAAO,CAwCJ;AAvCX,kDAA6C;AAyDzC,oBAzDI,qBAAS,CAyDJ;AAxDb,gEAA2D;AA+DvD,2BA/DI,mCAAgB,CA+DJ;AA9DpB,oEAA+D;AAyD3D,6BAzDI,uCAAkB,CAyDJ;AAxDtB,sEAAiE;AAyD7D,8BAzDI,yCAAmB,CAyDJ;AAxDvB,kDAA6C;AA+DzC,oBA/DI,qBAAS,CA+DJ;AA9Db,0DAAqD;AAmEjD,wBAnEI,6BAAa,CAmEJ;AAlEjB,8DAAyD;AAoDrD,0BApDI,iCAAe,CAoDJ;AAnDnB,4DAAuD;AAsDnD,yBAtDI,+BAAc,CAsDJ;AArDlB,kFAA6E;AAuDzE,oCAvDI,qDAAyB,CAuDJ;AAtD7B,4FAAuF;AAqDnF,yCArDI,+DAA8B,CAqDJ;AApDlC,wEAAmE;AA6D/D,+BA7DI,2CAAoB,CA6DJ;AA5DxB,kEAA6D;AA0DzD,4BA1DI,qCAAiB,CA0DJ;AAzDrB,4EAAuE;AAwDnE,iCAxDI,+CAAsB,CAwDJ;AAvD1B,0EAAqE;AAqDjE,gCArDI,6CAAqB,CAqDJ;AApDzB,mDAA8C;AA4B1C,qBA5BI,uBAAU,CA4BJ;AA3Bd,uDAAkD;AA6B9C,uBA7BI,2BAAY,CA6BJ;AA5BhB,mEAA8D;AA+B1D,6BA/BI,uCAAkB,CA+BJ;AA9BtB,mDAA8C;AA+B1C,qBA/BI,uBAAU,CA+BJ;AA9Bd,uDAAkD;AA+B9C,uBA/BI,2BAAY,CA+BJ;AA9BhB,qDAAgD;AAgC5C,sBAhCI,yBAAW,CAgCJ;AA/Bf,qEAAgE;AAgC5D,8BAhCI,yCAAmB,CAgCJ;AA/BvB,mDAA8C;AAgC1C,qBAhCI,uBAAU,CAgCJ;AA/Bd,yDAAoD;AAgChD,wBAhCI,6BAAa,CAgCJ;AA/BjB,6DAAwD;AAoBpD,0BApBI,iCAAe,CAoBJ;AAnBnB,qDAAgD;AAqB5C,sBArBI,yBAAW,CAqBJ;AApBf,6DAAwD;AAyBpD,0BAzBI,iCAAe,CAyBJ;AAxBnB,wEAAmE;AA4C/D,+BA5CI,2CAAoB,CA4CJ;AA3CxB,kEAA6D;AA8CzD,4BA9CI,qCAAiB,CA8CJ"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";;AAAA,+BAA0B;AA4CtB,cA5CI,SAAG,CA4CJ;AA3CP,+DAA0D;AA4CtD,0BA5CI,iCAAe,CA4CJ;AA3CnB,yDAAoD;AA8ChD,uBA9CI,2BAAY,CA8CJ;AA7ChB,uCAAkC;AA8C9B,cA9CI,SAAG,CA8CJ;AA5CP,iDAA4C;AAyCxC,oBAzCI,qBAAS,CAyCJ;AAxCb,mDAA8C;AAyC1C,qBAzCI,uBAAU,CAyCJ;AAxCd,+EAA0E;AAqDtE,mCArDI,mDAAwB,CAqDJ;AApD5B,sEAAiE;AAuE7D,8BAvEI,yCAAmB,CAuEJ;AAtEvB,2DAAsD;AAyClD,yBAzCI,+BAAc,CAyCJ;AAxClB,2DAAsD;AAyClD,yBAzCI,+BAAc,CAyCJ;AAxClB,yCAAoC;AAyChC,eAzCI,WAAI,CAyCJ;AAxCR,+CAA0C;AAyCtC,kBAzCI,iBAAO,CAyCJ;AAxCX,kDAA6C;AA0DzC,oBA1DI,qBAAS,CA0DJ;AAzDb,gEAA2D;AAgEvD,2BAhEI,mCAAgB,CAgEJ;AA/DpB,oEAA+D;AA0D3D,6BA1DI,uCAAkB,CA0DJ;AAzDtB,sEAAiE;AA0D7D,8BA1DI,yCAAmB,CA0DJ;AAzDvB,kDAA6C;AAgEzC,oBAhEI,qBAAS,CAgEJ;AA/Db,0DAAqD;AAoEjD,wBApEI,6BAAa,CAoEJ;AAnEjB,8DAAyD;AAqDrD,0BArDI,iCAAe,CAqDJ;AApDnB,4DAAuD;AAuDnD,yBAvDI,+BAAc,CAuDJ;AAtDlB,kFAA6E;AAwDzE,oCAxDI,qDAAyB,CAwDJ;AAvD7B,4FAAuF;AAsDnF,yCAtDI,+DAA8B,CAsDJ;AArDlC,wEAAmE;AA8D/D,+BA9DI,2CAAoB,CA8DJ;AA7DxB,kEAA6D;AA2DzD,4BA3DI,qCAAiB,CA2DJ;AA1DrB,4EAAuE;AAyDnE,iCAzDI,+CAAsB,CAyDJ;AAxD1B,0EAAqE;AAsDjE,gCAtDI,6CAAqB,CAsDJ;AArDzB,mDAA8C;AA6B1C,qBA7BI,uBAAU,CA6BJ;AA5Bd,uDAAkD;AA8B9C,uBA9BI,2BAAY,CA8BJ;AA7BhB,mEAA8D;AAgC1D,6BAhCI,uCAAkB,CAgCJ;AA/BtB,mDAA8C;AAgC1C,qBAhCI,uBAAU,CAgCJ;AA/Bd,uDAAkD;AAgC9C,uBAhCI,2BAAY,CAgCJ;AA/BhB,qDAAgD;AAiC5C,sBAjCI,yBAAW,CAiCJ;AAhCf,qEAAgE;AAiC5D,8BAjCI,yCAAmB,CAiCJ;AAhCvB,mDAA8C;AAiC1C,qBAjCI,uBAAU,CAiCJ;AAhCd,yDAAoD;AAiChD,wBAjCI,6BAAa,CAiCJ;AAhCjB,6DAAwD;AAqBpD,0BArBI,iCAAe,CAqBJ;AApBnB,qDAAgD;AAsB5C,sBAtBI,yBAAW,CAsBJ;AArBf,6DAAwD;AA0BpD,0BA1BI,iCAAe,CA0BJ;AAzBnB,wEAAmE;AA6C/D,+BA7CI,2CAAoB,CA6CJ;AA5CxB,kEAA6D;AA+CzD,4BA/CI,qCAAiB,CA+CJ;AA9CrB,oFAA+E;AA+C3E,qCA/CI,uDAA0B,CA+CJ"} \ No newline at end of file diff --git a/example/testBot.js b/example/testBot.js index 875d991..a2973fc 100644 --- a/example/testBot.js +++ b/example/testBot.js @@ -1,3 +1,8 @@ +// Here's a more modern example of how to use node-metaverse with async/await. +// Modern node.js required + +require('source-map-support').install(); + const nmv = require('../dist/index'); const loginParameters = new nmv.LoginParameters(); @@ -12,7 +17,7 @@ loginParameters.start = "last"; //const options = nmv.BotOptionFlags.None; // If you don't intend to use the object store (i.e you have no interest in inworld objects, textures, etc, -// using ObjectStoreLite will drastically reduce the footprint +// using None or LiteObjectStore will drastically reduce the footprint // const options = nmv.BotOptionFlags.LiteObjectStore | nmv.BotOptionFlags.StoreMyAttachmentsOnly; @@ -24,20 +29,26 @@ const master = 'd1cd5b71-6209-4595-9bf0-771bf689ce00'; let loginResponse = null; -bot.clientEvents.onLure.subscribe((lureEvent) => +bot.clientEvents.onLure.subscribe(async (lureEvent) => { - bot.clientCommands.grid.getRegionMapInfo(lureEvent.gridX / 256, lureEvent.gridY / 256).then((regionInfo) => + try { + const regionInfo = await bot.clientCommands.grid.getRegionMapInfo(lureEvent.gridX / 256, lureEvent.gridY / 256); if (lureEvent.from.toString() === master) { console.log('Accepting teleport lure to ' + regionInfo.block.name + ' (' + regionInfo.avatars.length + ' avatar' + ((regionInfo.avatars.length === 1)?'':'s') + ' present) from ' + lureEvent.fromName + ' with message: ' + lureEvent.lureMessage); - bot.clientCommands.teleport.acceptTeleport(lureEvent); + bot.clientCommands.teleport.acceptTeleport(lureEvent).then(() => {}); } else { console.log('Ignoring teleport lure to ' + regionInfo.block.name + ' (' + regionInfo.avatars.length + ' avatar' + ((regionInfo.avatars.length === 1)?'':'s') + ' present) from ' + lureEvent.fromName + ' with message: ' + lureEvent.lureMessage); } - }); + } + catch(error) + { + console.error("Failed to get region map info:"); + console.error(error); + } }); bot.clientEvents.onInstantMessage.subscribe((IMEvent) => @@ -46,7 +57,7 @@ bot.clientEvents.onInstantMessage.subscribe((IMEvent) => { if (!(IMEvent.flags & nmv.InstantMessageEventFlags.startTyping || IMEvent.flags & nmv.InstantMessageEventFlags.finishTyping)) { - bot.clientCommands.comms.typeInstantMessage(IMEvent.from, 'Thanks for the message! This account is a scripted agent (bot), so cannot reply to your query. Sorry!'); + bot.clientCommands.comms.typeInstantMessage(IMEvent.from, 'Thanks for the message! This account is a scripted agent (bot), so cannot reply to your query. Sorry!').then(() => {}); } } }); @@ -56,12 +67,12 @@ bot.clientEvents.onFriendRequest.subscribe((event) => if (event.from.toString() === master) { console.log("Accepting friend request from " + event.fromName); - bot.clientCommands.comms.acceptFriendRequest(event); + bot.clientCommands.comms.acceptFriendRequest(event).then(() => {}); } else { console.log("Rejecting friend request from " + event.fromName); - bot.clientCommands.comms.rejectFriendRequest(event); + bot.clientCommands.comms.rejectFriendRequest(event).then(() => {}); } }); @@ -70,12 +81,12 @@ bot.clientEvents.onInventoryOffered.subscribe((event) => if (event.from.toString() === master) { console.log("Accepting inventory offer from " + event.fromName); - bot.clientCommands.comms.acceptInventoryOffer(event); + bot.clientCommands.comms.acceptInventoryOffer(event).then(() => {}); } else { console.log("Rejecting inventory offer from " + event.fromName); - bot.clientCommands.comms.rejectInventoryOffer(event); + bot.clientCommands.comms.rejectInventoryOffer(event).then(() => {}); } }); @@ -88,70 +99,77 @@ bot.clientEvents.onDisconnected.subscribe((DisconnectEvent) => setTimeout(() => { console.log("Reconnecting"); - connect(); + connect().then(() => {}); }, 5000) } }); let pings = {}; -bot.clientEvents.onGroupChat.subscribe((GroupChatEvent) => +bot.clientEvents.onGroupChat.subscribe(async (GroupChatEvent) => { - console.log("Group chat: " + GroupChatEvent.fromName + ': ' + GroupChatEvent.message); - if (GroupChatEvent.message === '!ping') - { - let ping = uuid.v4(); - pings[ping] = Math.floor(new Date().getTime()); - bot.clientCommands.comms.sendGroupMessage(GroupChatEvent.groupID, 'ping '+ping).then((memberCount) => - { - console.log('Group message sent to ' + memberCount + ' members'); - }); - } - else if (GroupChatEvent.from.toString() === loginResponse.agent.agentID.toString()) - { - if (GroupChatEvent.message.substr(0, 5) === 'ping ') - { - const pingID = GroupChatEvent.message.substr(5); - if (pings[pingID]) - { - console.log("found ping"); - const time = (new Date().getTime()) - pings[pingID]; - delete pings[pingID]; - bot.clientCommands.comms.sendGroupMessage(GroupChatEvent.groupID, 'Chat lag: ' + time + 'ms'); - } - else - { - console.log("ping not found |"+pingID+"|"); - } - } + console.log("Group chat: " + GroupChatEvent.fromName + ': ' + GroupChatEvent.message); + if (GroupChatEvent.message === '!ping') + { + let ping = uuid.v4(); + pings[ping] = Math.floor(new Date().getTime()); + try + { + const memberCount = await bot.clientCommands.comms.sendGroupMessage(GroupChatEvent.groupID, 'ping '+ping); + console.log('Group message sent to ' + memberCount + ' members'); + } + catch(error) + { + console.error('Failed to send group message:'); + console.error(error); + } + } + else if (GroupChatEvent.from.toString() === loginResponse.agent.agentID.toString()) + { + if (GroupChatEvent.message.substr(0, 5) === 'ping ') + { + const pingID = GroupChatEvent.message.substr(5); + if (pings[pingID]) + { + console.log("found ping"); + const time = (new Date().getTime()) - pings[pingID]; + delete pings[pingID]; + bot.clientCommands.comms.sendGroupMessage(GroupChatEvent.groupID, 'Chat lag: ' + time + 'ms').then(() => {}); + } + else + { + console.log("ping not found |"+pingID+"|"); + } + } - } + } }); -bot.clientEvents.onGroupInvite.subscribe((GroupInviteEvent) => +bot.clientEvents.onGroupInvite.subscribe(async (GroupInviteEvent) => { console.log('Group invite from ' + GroupInviteEvent.fromName + ': '+GroupInviteEvent.message); //Resolve avatar key - bot.clientCommands.grid.name2Key(GroupInviteEvent.fromName).then((key) => + try { + const key = await bot.clientCommands.grid.name2Key(GroupInviteEvent.fromName); if (key.toString() === master) { console.log('Accepting'); - bot.clientCommands.comms.acceptGroupInvite(GroupInviteEvent); + bot.clientCommands.group.acceptGroupInvite(GroupInviteEvent).then(() => {}); } else { console.log('Unauthorised - rejecting'); - bot.clientCommands.comms.rejectGroupInvite(GroupInviteEvent); + bot.clientCommands.group.rejectGroupInvite(GroupInviteEvent).then(() => {}); } - }).catch((err) => + } + catch(error) { - console.error(err); - console.log('Unknown avatar - rejecting'); - bot.clientCommands.comms.rejectGroupInvite(GroupInviteEvent); - }); + console.error('Failed to respond to group invite:'); + console.error(error); + } }); bot.clientEvents.onFriendResponse.subscribe((response) => @@ -166,18 +184,18 @@ bot.clientEvents.onFriendResponse.subscribe((response) => } }); -function connect() +async function connect() { - console.log("Logging in.."); - bot.login().then((response) => + try { - loginResponse = response; + console.log("Logging in.."); + loginResponse = await bot.login(); + console.log("Login complete"); //Establish circuit with region - return bot.connectToSim(); - }).then(() => - { + await bot.connectToSim(); + console.log("Connected to simulator"); isConnected = true; // Do some stuff @@ -196,76 +214,85 @@ function connect() const userToInvite = new nmv.UUID("d1cd5b71-6209-4595-9bf0-771bf689ce00"); const groupID = new nmv.UUID("c6424e05-6e2c-fb03-220b-ca7904d11e04"); - bot.clientCommands.group.getGroupRoles(groupID).then((roles) => - { - roles.forEach((role) => - { - if (role.Name === 'Officers') - { - // IMPORTANT: IN PRODUCTION, IT IS HIGHLY RECOMMENDED TO CACHE THIS LIST. - // - bot.clientCommands.group.getMemberList(groupID).then((members) => - { - let found = true; - members.forEach((member) => - { - if (member.AgentID.toString() === userToInvite.toString()) - { - found = true; - } - }); - if (found) - { - console.log("User already in group, skipping invite"); - } - else - { - bot.clientCommands.group.sendGroupInvite(groupID, userToInvite, role.RoleID); - } - }); - } - }); - }); - - setTimeout(() => // TODO: This 5 second delay is a fudge. We need to wait for the eventqueue to start properly - { - bot.clientCommands.teleport.teleportTo('Izanagi', new nmv.Vector3([128, 128, 20]), new nmv.Vector3([0, - 1.0, - 0])).then(() => - { - console.log("Teleport completed"); - }).catch((err) => - { - console.error(err); - }); - }, 5000); - - bot.clientCommands.comms.sendFriendRequest(master, 'Be friends with me?'); + // If you want to wait here for the request to be acknowledged, you can add "await" + bot.clientCommands.comms.sendFriendRequest(master, 'Be friends with me?').then(() => {}); const folders = bot.clientCommands.inventory.getInventoryRoot().getChildFolders(); folders.forEach((folder) => { console.log('Top level folder: ' + folder.name); - folder.populate(); + folder.populate().then(() => {}); }); - // When it's time to go home, call bot.close(); - }).catch((error) => + const roles = await bot.clientCommands.group.getGroupRoles(groupID); + roles.forEach(async (role) => + { + if (role.Name === 'Officers') + { + // IMPORTANT: IN PRODUCTION, IT IS HIGHLY RECOMMENDED TO CACHE THIS LIST. + // + try + { + const members = await bot.clientCommands.group.getMemberList(groupID); + let found = true; + members.forEach((member) => + { + if (member.AgentID.toString() === userToInvite.toString()) + { + found = true; + } + }); + if (found) + { + console.log("User already in group, skipping invite"); + } + else + { + bot.clientCommands.group.sendGroupInvite(groupID, userToInvite, role.RoleID).then(() => {}); + } + } + catch(error) + { + console.error('Error retrieving member list for group invite'); + } + } + }); + + await bot.waitForEventQueue(); + try + { + await bot.clientCommands.teleport.teleportTo('Izanagi', new nmv.Vector3([128, 128, 20]), new nmv.Vector3([ 0, 1.0, 0])); + console.log("Teleport completed"); + } + catch(error) + { + console.error(error); + } + } + catch (error) { isConnected = false; console.log("Error:"); console.error(error); setTimeout(() => { - connect(); + connect().then(() => {}); }, 5000) - }); + } } -connect(); +try +{ + connect().then(() => {}); +} +catch(error) +{ + console.error('Connection failure: '); + console.log(error); +} -function exitHandler(options, err) +async function exitHandler(options, err) { if (err) { @@ -274,10 +301,16 @@ function exitHandler(options, err) if (isConnected) { console.log("Disconnecting"); - bot.close().then(() => + try { - process.exit() - }); + await bot.close(); + } + catch(error) + { + console.error('Error when closing client:'); + console.error(error); + } + process.exit(); return; } if (options.exit) @@ -292,7 +325,7 @@ process.on('exit', exitHandler.bind(null,{})); //catches ctrl+c event process.on('SIGINT', exitHandler.bind(null, {exit:true})); -// catches "kill pid" (for example: nodemon restart) +// catches "kill pid" process.on('SIGUSR1', exitHandler.bind(null, {exit:true})); process.on('SIGUSR2', exitHandler.bind(null, {exit:true})); diff --git a/lib/Bot.ts b/lib/Bot.ts index d74cfc1..1ff3816 100644 --- a/lib/Bot.ts +++ b/lib/Bot.ts @@ -28,6 +28,8 @@ import {Subscription} from 'rxjs/Subscription'; import {BotOptionFlags} from './enums/BotOptionFlags'; import {FilterResponse} from './enums/FilterResponse'; import {LogoutReplyMessage} from './classes/messages/LogoutReply'; +import {EventQueueStateChangeEvent} from './events/EventQueueStateChangeEvent'; +import {UUID} from './classes/UUID'; export class Bot { @@ -39,8 +41,11 @@ export class Bot private lastSuccessfulPing = 0; private circuitSubscription: Subscription | null = null; private options: BotOptionFlags; + private eventQueueRunning = false; public clientEvents: ClientEvents; public clientCommands: ClientCommands; + private eventQueueWaits: any = {}; + constructor(login: LoginParameters, options: BotOptionFlags) @@ -48,6 +53,21 @@ export class Bot this.clientEvents = new ClientEvents(); this.loginParams = login; this.options = options; + + this.clientEvents.onEventQueueStateChange.subscribe((evt: EventQueueStateChangeEvent) => + { + this.eventQueueRunning = evt.active; + for (const waitID of Object.keys(this.eventQueueWaits)) + { + try + { + clearTimeout(this.eventQueueWaits[waitID].timer); + this.eventQueueWaits[waitID].resolve(); + delete this.eventQueueWaits[waitID]; + } + catch (ignore){} + } + }); } async login() @@ -73,6 +93,35 @@ export class Bot await this.connectToSim(); } + waitForEventQueue(timeout: number = 1000): Promise + { + return new Promise((resolve, reject) => + { + if (this.eventQueueRunning) + { + resolve(); + } + else + { + const waitID = UUID.random().toString(); + const newWait: { + 'resolve': any, + 'timer'?: Timer + } = { + 'resolve': resolve + }; + + newWait.timer = setTimeout(() => + { + delete this.eventQueueWaits[waitID]; + reject(new Error('Timeout')); + }, timeout); + + this.eventQueueWaits[waitID] = newWait; + } + }); + } + private closeCircuit() { this.agent.shutdown(); diff --git a/lib/classes/ClientEvents.ts b/lib/classes/ClientEvents.ts index 473bd8c..f1282a7 100644 --- a/lib/classes/ClientEvents.ts +++ b/lib/classes/ClientEvents.ts @@ -2,13 +2,18 @@ import {Subject} from 'rxjs/Subject'; import { ChatEvent, DisconnectEvent, - FriendRequestEvent, FriendResponseEvent, GroupChatEvent, GroupChatSessionAgentListEvent, GroupChatSessionJoinEvent, + FriendRequestEvent, + FriendResponseEvent, + GroupChatEvent, + GroupChatSessionAgentListEvent, + GroupChatSessionJoinEvent, GroupInviteEvent, InstantMessageEvent, InventoryOfferedEvent, LureEvent, TeleportEvent, - ScriptDialogEvent + ScriptDialogEvent, + EventQueueStateChangeEvent } from '..'; @@ -28,4 +33,5 @@ export class ClientEvents onGroupChatAgentListUpdate: Subject = new Subject(); onFriendResponse: Subject = new Subject(); onScriptDialog: Subject = new Subject(); + onEventQueueStateChange: Subject = new Subject(); } diff --git a/lib/classes/Comms.ts b/lib/classes/Comms.ts index 1adab6e..c3578fe 100644 --- a/lib/classes/Comms.ts +++ b/lib/classes/Comms.ts @@ -17,8 +17,12 @@ import { GroupInviteEvent, InstantMessageEvent, InstantMessageEventFlags, - InventoryOfferedEvent, LureEvent + InventoryOfferedEvent, + LureEvent, + ScriptDialogEvent, + UUID } from '..'; +import {ScriptDialogMessage} from './messages/ScriptDialog'; export class Comms { @@ -35,7 +39,8 @@ export class Comms this.circuit.subscribeToMessages([ Message.ImprovedInstantMessage, Message.ChatFromSimulator, - Message.AlertMessage + Message.AlertMessage, + Message.ScriptDialog ], (packet: Packet) => { switch (packet.message.id) @@ -243,7 +248,7 @@ export class Comms break; case Message.ChatFromSimulator: - + { const chat = packet.message as ChatFromSimulatorMessage; const event = new ChatEvent(); event.fromName = Utils.BufferToStringSimple(chat.ChatData.FromName); @@ -256,8 +261,10 @@ export class Comms event.position = chat.ChatData.Position; this.clientEvents.onNearbyChat.next(event); break; - + } case Message.AlertMessage: + { + // TODO: this isn't finished const alertm = packet.message as AlertMessageMessage; const alertMessage = Utils.BufferToStringSimple(alertm.AlertData.Message); @@ -269,6 +276,31 @@ export class Comms console.log('Alert info message: ' + alertInfoMessage); }); break; + } + case Message.ScriptDialog: + { + const scriptd = packet.message as ScriptDialogMessage; + const event = new ScriptDialogEvent(); + event.ObjectID = scriptd.Data.ObjectID; + event.FirstName = Utils.BufferToStringSimple(scriptd.Data.FirstName); + event.LastName = Utils.BufferToStringSimple(scriptd.Data.LastName); + event.ObjectName = Utils.BufferToStringSimple(scriptd.Data.ObjectName); + event.Message = Utils.BufferToStringSimple(scriptd.Data.Message); + event.ChatChannel = scriptd.Data.ChatChannel; + event.ImageID = scriptd.Data.ImageID; + event.Buttons = []; + event.Owners = []; + for (const button of scriptd.Buttons) + { + event.Buttons.push(Utils.BufferToStringSimple(button.ButtonLabel)); + } + for (const owner of scriptd.OwnerData) + { + event.Owners.push(owner.OwnerID); + } + this.clientEvents.onScriptDialog.next(event); + break; + } } }); } diff --git a/lib/classes/EventQueueClient.ts b/lib/classes/EventQueueClient.ts index 5f73479..e27b28c 100644 --- a/lib/classes/EventQueueClient.ts +++ b/lib/classes/EventQueueClient.ts @@ -3,15 +3,17 @@ import * as LLSD from '@caspertech/llsd'; import * as request from 'request'; import * as Long from 'long'; import {IPAddress} from './IPAddress'; -import {TeleportEvent} from '../events/TeleportEvent'; import {ClientEvents} from './ClientEvents'; import {TeleportEventType} from '../enums/TeleportEventType'; -import {GroupChatEvent} from '../events/GroupChatEvent'; -import {Utils} from './Utils'; import {UUID} from './UUID'; import {Agent} from './Agent'; -import {GroupChatSessionJoinEvent} from '../events/GroupChatSessionJoinEvent'; -import {GroupChatSessionAgentListEvent} from '../events/GroupChatSessionAgentListEvent'; +import { + EventQueueStateChangeEvent, + GroupChatEvent, + GroupChatSessionAgentListEvent, + GroupChatSessionJoinEvent, + TeleportEvent +} from '..'; export class EventQueueClient { @@ -28,9 +30,15 @@ export class EventQueueClient this.clientEvents = clientEvents; this.caps = caps; this.Get(); + const state = new EventQueueStateChangeEvent(); + state.active = true; + this.clientEvents.onEventQueueStateChange.next(state); } shutdown() { + const state = new EventQueueStateChangeEvent(); + state.active = false; + this.clientEvents.onEventQueueStateChange.next(state); if (this.currentRequest !== null) { this.currentRequest.abort(); @@ -43,6 +51,7 @@ export class EventQueueClient 'ack': this.ack, 'done': this.done }; + const startTime = new Date().getTime(); this.capsRequestXML('EventQueueGet', req).then((data) => { if (data['events']) @@ -293,7 +302,7 @@ export class EventQueueClient 'method': 'accept invitation', 'session-id': imSessionID }; - this.caps.capsRequestXML('ChatSessionRequest', requestedFolders).then((result: any) => + this.caps.capsRequestXML('ChatSessionRequest', requestedFolders).then((ignore: any) => { this.agent.addChatSession(groupChatEvent.groupID); @@ -393,14 +402,28 @@ export class EventQueueClient } }).catch((err) => { - // Wait 5 seconds before retrying - setTimeout(() => + const time = (new Date().getTime()) - startTime; + if (time > 30000) { + // This is the normal request timeout, so reconnect immediately if (!this.done) { this.Get(); } - }, 5000); + } + else + { + console.error('Event queue aborted after ' + time + 'ms. Reconnecting in 5 seconds'); + + // Wait 5 seconds before retrying + setTimeout(() => + { + if (!this.done) + { + this.Get(); + } + }, 5000); + } }); } request(url: string, data: string, contentType: string): Promise @@ -432,7 +455,7 @@ export class EventQueueClient }); } - capsRequestXML(capability: string, data: any): Promise + capsRequestXML(capability: string, data: any, attempt: number = 0): Promise { return new Promise((resolve, reject) => { @@ -450,7 +473,15 @@ export class EventQueueClient } else { - throw new Error('Not an LLSD response'); + // Retry caps request three times before giving up + if (attempt < 3) + { + return this.capsRequestXML(capability, data, ++attempt); + } + else + { + reject(new Error('Not an LLSD response, capability: ' + capability)); + } } } catch (error) @@ -467,4 +498,4 @@ export class EventQueueClient }); }); } -} \ No newline at end of file +} diff --git a/lib/classes/Region.ts b/lib/classes/Region.ts index 1dc0282..058d359 100644 --- a/lib/classes/Region.ts +++ b/lib/classes/Region.ts @@ -5,8 +5,8 @@ import {Comms} from './Comms'; import {ClientEvents} from './ClientEvents'; import {IObjectStore} from './interfaces/IObjectStore'; import {ObjectStoreFull} from './ObjectStoreFull'; -import {BotOptionFlags} from '../enums/BotOptionFlags'; import {ObjectStoreLite} from './ObjectStoreLite'; +import {BotOptionFlags} from '..'; export class Region { diff --git a/lib/events/EventQueueStateChangeEvent.ts b/lib/events/EventQueueStateChangeEvent.ts new file mode 100644 index 0000000..3781d15 --- /dev/null +++ b/lib/events/EventQueueStateChangeEvent.ts @@ -0,0 +1,4 @@ +export class EventQueueStateChangeEvent +{ + active: boolean; +} diff --git a/lib/events/ScriptDialogEvent.ts b/lib/events/ScriptDialogEvent.ts index fafd39e..2d85e65 100644 --- a/lib/events/ScriptDialogEvent.ts +++ b/lib/events/ScriptDialogEvent.ts @@ -5,10 +5,10 @@ export class ScriptDialogEvent ObjectID: UUID; FirstName: string; LastName: string; - ObjectName: Vector3; + ObjectName: string; Message: string; ChatChannel: number; ImageID: UUID; - Buttons: string; - OwnerID: UUID; + Buttons: string[]; + Owners: UUID[]; } diff --git a/lib/index.ts b/lib/index.ts index ec91c94..0280aeb 100644 --- a/lib/index.ts +++ b/lib/index.ts @@ -3,9 +3,6 @@ import {LoginParameters} from './classes/LoginParameters'; import {ClientEvents} from './classes/ClientEvents'; import {BVH} from './classes/BVH'; - -// Enums - import {AssetType} from './enums/AssetType'; import {HTTPAssets} from './enums/HTTPAssets'; import {InstantMessageEventFlags} from './enums/InstantMessageEventFlags'; @@ -42,6 +39,7 @@ import {DecodeFlags} from './enums/DecodeFlags'; import {ParcelInfoFlags} from './enums/ParcelInfoFlags'; import {ParcelInfoReplyEvent} from './events/ParcelInfoReplyEvent'; import {ScriptDialogEvent} from './events/ScriptDialogEvent'; +import {EventQueueStateChangeEvent} from './events/EventQueueStateChangeEvent'; export { Bot, @@ -87,5 +85,6 @@ export { ParcelInfoReplyEvent, RegionInfoReplyEvent, TeleportEvent, - ScriptDialogEvent + ScriptDialogEvent, + EventQueueStateChangeEvent }; diff --git a/package-lock.json b/package-lock.json index be17aa4..758fed1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,6 +4,15 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@caspertech/llsd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@caspertech/llsd/-/llsd-1.0.0.tgz", + "integrity": "sha1-Dyr7xO+JzsXonSAqBAmt0smaml0=", + "requires": { + "abab": "^1.0.4", + "xmldom": "^0.1.27" + } + }, "@types/caseless": { "version": "0.12.1", "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.1.tgz", @@ -17,7 +26,7 @@ "@types/form-data": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-2.2.1.tgz", - "integrity": "sha512-JAMFhOaHIciYVh8fb5/83nmuO/AHwmto+Hq7a9y8FzLDcC1KCU344XDOMEmahnrTFlHjgh4L0WJFczNIX2GxnQ==", + "integrity": "sha1-7is7jqoRwJOCiZU2BrdFtzjFSx4=", "requires": { "@types/node": "*" } @@ -84,6 +93,11 @@ "@types/node": "*" } }, + "abab": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz", + "integrity": "sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4=" + }, "ajv": { "version": "5.5.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", @@ -592,7 +606,7 @@ "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", "dev": true, "requires": { "brace-expansion": "^1.1.7" @@ -851,7 +865,7 @@ "source-map-support": { "version": "0.4.18", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "integrity": "sha1-Aoam3ovkJkEzhZTpfM6nXwosWF8=", "dev": true, "requires": { "source-map": "^0.5.6" @@ -996,6 +1010,11 @@ "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz", "integrity": "sha1-aSSGc0ELS6QuGmE2VR0pIjNap3M=" }, + "xmldom": { + "version": "0.1.27", + "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz", + "integrity": "sha1-1QH5ezvbQDr4757MIFcxh6rawOk=" + }, "xmlrpc": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/xmlrpc/-/xmlrpc-1.3.2.tgz", diff --git a/tslint.json b/tslint.json index 90f362f..0544d26 100644 --- a/tslint.json +++ b/tslint.json @@ -22,7 +22,7 @@ "label-position": true, "max-line-length": [ true, - 140 + 250 ], "member-access": false, "member-ordering": [