@caspertech/node-metaverse 0.5.28 → 0.5.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist/examples/Grid/Name2Key.d.ts +1 -0
  2. package/dist/examples/Grid/Name2Key.js +47 -0
  3. package/dist/examples/Grid/Name2Key.js.map +1 -0
  4. package/dist/examples/Groups/GroupChat.js +27 -7
  5. package/dist/examples/Groups/GroupChat.js.map +1 -1
  6. package/dist/lib/LoginHandler.d.ts +0 -1
  7. package/dist/lib/LoginHandler.js +9 -15
  8. package/dist/lib/LoginHandler.js.map +1 -1
  9. package/dist/lib/classes/Agent.d.ts +12 -9
  10. package/dist/lib/classes/Agent.js +46 -13
  11. package/dist/lib/classes/Agent.js.map +1 -1
  12. package/dist/lib/classes/Circuit.js +0 -6
  13. package/dist/lib/classes/Circuit.js.map +1 -1
  14. package/dist/lib/classes/ClientEvents.d.ts +2 -0
  15. package/dist/lib/classes/ClientEvents.js +1 -0
  16. package/dist/lib/classes/ClientEvents.js.map +1 -1
  17. package/dist/lib/classes/Comms.d.ts +7 -3
  18. package/dist/lib/classes/Comms.js +37 -2
  19. package/dist/lib/classes/Comms.js.map +1 -1
  20. package/dist/lib/classes/EventQueueClient.js +6 -2
  21. package/dist/lib/classes/EventQueueClient.js.map +1 -1
  22. package/dist/lib/classes/LoginResponse.js +12 -5
  23. package/dist/lib/classes/LoginResponse.js.map +1 -1
  24. package/dist/lib/classes/Region.js +1 -1
  25. package/dist/lib/classes/Region.js.map +1 -1
  26. package/dist/lib/classes/Utils.d.ts +1 -0
  27. package/dist/lib/classes/Utils.js +4 -0
  28. package/dist/lib/classes/Utils.js.map +1 -1
  29. package/dist/lib/classes/commands/CommunicationsCommands.d.ts +4 -3
  30. package/dist/lib/classes/commands/CommunicationsCommands.js +85 -52
  31. package/dist/lib/classes/commands/CommunicationsCommands.js.map +1 -1
  32. package/dist/lib/classes/commands/GridCommands.d.ts +2 -2
  33. package/dist/lib/classes/commands/GridCommands.js +50 -74
  34. package/dist/lib/classes/commands/GridCommands.js.map +1 -1
  35. package/dist/lib/events/GroupChatClosedEvent.d.ts +4 -0
  36. package/dist/lib/events/GroupChatClosedEvent.js +7 -0
  37. package/dist/lib/events/GroupChatClosedEvent.js.map +1 -0
  38. package/examples/Grid/Name2Key.ts +50 -0
  39. package/examples/Groups/GroupChat.ts +38 -7
  40. package/package.json +1 -1
@@ -0,0 +1,50 @@
1
+ import { ExampleBot } from '../ExampleBot';
2
+
3
+ class Name2Key extends ExampleBot
4
+ {
5
+ async onConnected(): Promise<void>
6
+ {
7
+ const test1 = await this.bot.clientCommands.grid.avatarName2KeyAndName('casperhelp');
8
+ if (test1.avatarKey.toString() === '828f7198-42e5-41b4-bd60-926a33ea067b' && test1.avatarName === 'CasperHelp Resident')
9
+ {
10
+ console.log('Test 1 passed');
11
+ }
12
+ const test2 = await this.bot.clientCommands.grid.avatarName2KeyAndName('casperhelp resident');
13
+ if (test2.avatarKey.toString() === '828f7198-42e5-41b4-bd60-926a33ea067b' && test2.avatarName === 'CasperHelp Resident')
14
+ {
15
+ console.log('Test 2 passed');
16
+ }
17
+
18
+ const test3 = await this.bot.clientCommands.grid.avatarName2KeyAndName('casperhelp.resident');
19
+ if (test3.avatarKey.toString() === '828f7198-42e5-41b4-bd60-926a33ea067b' && test3.avatarName === 'CasperHelp Resident')
20
+ {
21
+ console.log('Test 3 passed');
22
+ }
23
+
24
+ const test4 = await this.bot.clientCommands.grid.avatarName2KeyAndName('casperhelp', false);
25
+ if (test4.avatarKey.toString() === '828f7198-42e5-41b4-bd60-926a33ea067b' && test4.avatarName === 'CasperHelp Resident')
26
+ {
27
+ console.log('Test 4 passed');
28
+ }
29
+
30
+ const test5 = await this.bot.clientCommands.grid.avatarName2KeyAndName('casperhelp resident', false);
31
+ if (test5.avatarKey.toString() === '828f7198-42e5-41b4-bd60-926a33ea067b' && test5.avatarName === 'CasperHelp Resident')
32
+ {
33
+ console.log('Test 5 passed');
34
+ }
35
+
36
+ const test6 = await this.bot.clientCommands.grid.avatarName2KeyAndName('casperhelp.resident', false);
37
+ if (test6.avatarKey.toString() === '828f7198-42e5-41b4-bd60-926a33ea067b' && test6.avatarName === 'CasperHelp Resident')
38
+ {
39
+ console.log('Test 6 passed');
40
+ }
41
+ }
42
+ }
43
+
44
+ new Name2Key().run().then(() =>
45
+ {
46
+
47
+ }).catch((err) =>
48
+ {
49
+ console.error(err);
50
+ });
@@ -1,10 +1,12 @@
1
+ import { GroupChatSessionJoinEvent, GroupChatEvent, UUID } from '../../lib';
2
+ import { GroupChatClosedEvent } from '../../lib/events/GroupChatClosedEvent';
1
3
  import { ExampleBot } from '../ExampleBot';
2
- import { UUID } from '../../lib/classes/UUID';
3
- import { GroupChatEvent } from '../../lib/events/GroupChatEvent';
4
4
 
5
5
  class GroupChat extends ExampleBot
6
6
  {
7
- private pings: {[key: string]: number} = {};
7
+ private pings: {
8
+ [key: string]: number
9
+ } = {};
8
10
 
9
11
  async onConnected(): Promise<void>
10
12
  {
@@ -15,9 +17,6 @@ class GroupChat extends ExampleBot
15
17
  // Start a group chat session - equivalent to opening a group chat but not sending a message
16
18
  await this.bot.clientCommands.comms.startGroupChatSession(groupID, '');
17
19
 
18
- // Send a group message
19
- await this.bot.clientCommands.comms.sendGroupMessage(groupID, 'Test');
20
-
21
20
  const badGuyID = new UUID('1481561a-9113-46f8-9c02-9ac1bf005de7');
22
21
  await this.bot.clientCommands.comms.moderateGroupChat(groupID, badGuyID, true, true);
23
22
 
@@ -38,6 +37,23 @@ class GroupChat extends ExampleBot
38
37
  }
39
38
  });
40
39
 
40
+ this.bot.clientEvents.onGroupChatSessionJoin.subscribe((event: GroupChatSessionJoinEvent) =>
41
+ {
42
+ if (event.success)
43
+ {
44
+ console.log('We have joined a chat session! Group ID: ' + event.sessionID);
45
+ }
46
+ else
47
+ {
48
+ console.log('We have FAILED to join a chat session! Group ID: ' + event.sessionID);
49
+ }
50
+ });
51
+
52
+ this.bot.clientEvents.onGroupChatClosed.subscribe((event: GroupChatClosedEvent) =>
53
+ {
54
+ console.log('Group chat session closed! Group ID: ' + event.groupID.toString());
55
+ });
56
+
41
57
  // Actually, maybe we want to ban the chump.
42
58
  await this.bot.clientCommands.group.banMembers(groupID, [badGuyID]);
43
59
  await this.bot.clientCommands.group.ejectFromGroup(groupID, badGuyID);
@@ -61,6 +77,15 @@ class GroupChat extends ExampleBot
61
77
  console.error(error);
62
78
  }
63
79
  }
80
+ else if (event.message === '!rejoin')
81
+ {
82
+ console.log('Leaving the session..');
83
+ await this.bot.clientCommands.comms.endGroupChatSession(event.groupID);
84
+ console.log('Session terminated');
85
+ console.log('Rejoining session');
86
+ await this.bot.clientCommands.comms.startGroupChatSession(event.groupID, '');
87
+ await this.bot.clientCommands.comms.sendGroupMessage(event.groupID, 'I am back!');
88
+ }
64
89
  else if (event.from.toString() === this.bot.agentID().toString())
65
90
  {
66
91
  if (event.message.substr(0, 5) === 'ping ')
@@ -78,4 +103,10 @@ class GroupChat extends ExampleBot
78
103
  }
79
104
  }
80
105
 
81
- new GroupChat().run().then(() => {}).catch((err: Error) => { console.error(err) });
106
+ new GroupChat().run().then(() =>
107
+ {
108
+
109
+ }).catch((err: Error) =>
110
+ {
111
+ console.error(err)
112
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@caspertech/node-metaverse",
3
- "version": "0.5.28",
3
+ "version": "0.5.33",
4
4
  "description": "A node.js interface for Second Life.",
5
5
  "main": "dist/lib/index.js",
6
6
  "types": "dist/lib/index.d.ts",