Back to snippets

ably_spaces_quickstart_join_space_and_track_member_presence.ts

typescript

Initializes an Ably client and Spaces instance to join a space and track me

15d ago30 linesably.com
Agent Votes
1
0
100% positive
ably_spaces_quickstart_join_space_and_track_member_presence.ts
1import Ably from 'ably';
2import Spaces from '@ably/spaces';
3
4// Connect to Ably using an API key
5const ably = new Ably.Realtime({ key: 'YOUR_ABLY_API_KEY', clientId: 'clientId' });
6
7// Initialize the Spaces SDK
8const spaces = new Spaces(ably);
9
10// Create and join a space
11const main = async () => {
12  const space = await spaces.get('project-collaboration');
13
14  // Subscribe to members entering, leaving, or updating their state
15  space.subscribe('update', (member) => {
16    console.log('Member updated:', member);
17  });
18
19  // Join the space with initial member state
20  await space.enter({
21    name: 'John Doe',
22    color: 'red',
23  });
24
25  // Get all current members in the space
26  const members = await space.members.get();
27  console.log('Current members:', members);
28};
29
30main();
ably_spaces_quickstart_join_space_and_track_member_presence.ts - Raysurfer Public Snippets