@nerimity/nerimity.js 1.2.0 → 1.4.0

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.
package/build/Client.d.ts CHANGED
@@ -1,19 +1,59 @@
1
1
  import EventEmitter from 'eventemitter3';
2
2
  import { Socket } from 'socket.io-client';
3
3
  import { ClientEventMap } from './EventNames';
4
- import { ChannelType, MessageType, RawChannel, RawMessage, RawUser } from './RawData';
4
+ import { ChannelType, MessageType, RawChannel, RawMessage, RawServer, RawServerMember, RawUser } from './RawData';
5
5
  export declare const Events: {
6
6
  readonly Ready: "ready";
7
7
  readonly MessageCreate: "messageCreate";
8
+ readonly ServerMemberLeft: "serverMemberLeft";
9
+ readonly ServerMemberJoined: "serverMemberJoined";
10
+ readonly ServerJoined: "serverJoined";
11
+ readonly ServerLeft: "serverLeft";
8
12
  };
9
13
  export declare class Client extends EventEmitter<ClientEventMap> {
10
14
  socket: Socket;
11
15
  token: string | undefined;
12
16
  user: ClientUser | undefined;
17
+ users: Users;
13
18
  channels: Channels;
19
+ servers: Servers;
14
20
  constructor();
15
21
  login(token: string): void;
16
22
  }
23
+ export declare class Users {
24
+ client: Client;
25
+ cache: Collection<string, User>;
26
+ constructor(client: Client);
27
+ setCache(rawUser: RawUser): void;
28
+ }
29
+ export declare class Servers {
30
+ client: Client;
31
+ cache: Collection<string, Server>;
32
+ constructor(client: Client);
33
+ setCache(rawServer: RawServer): Server;
34
+ }
35
+ export declare class Server {
36
+ client: Client;
37
+ id: string;
38
+ name: string;
39
+ avatar?: string;
40
+ members: ServerMembers;
41
+ constructor(client: Client, server: RawServer);
42
+ }
43
+ export declare class ServerMembers {
44
+ client: Client;
45
+ cache: Collection<string, ServerMember>;
46
+ constructor(client: Client);
47
+ setCache(rawMember: RawServerMember): ServerMember;
48
+ }
49
+ export declare class ServerMember {
50
+ client: Client;
51
+ id: string;
52
+ user: User;
53
+ server: Server;
54
+ constructor(client: Client, member: RawServerMember);
55
+ toString(): string;
56
+ }
17
57
  export declare class Channels {
18
58
  client: Client;
19
59
  cache: Collection<string, AllChannel>;
@@ -40,6 +80,7 @@ export declare class ServerChannel extends Channel {
40
80
  serverId: string;
41
81
  permissions: number;
42
82
  categoryId?: string;
83
+ server: Server;
43
84
  constructor(client: Client, channel: RawChannel);
44
85
  }
45
86
  export declare class Message {
@@ -54,6 +95,7 @@ export declare class Message {
54
95
  constructor(client: Client, message: RawMessage);
55
96
  reply(content: string, opts?: MessageOpts): Promise<Message>;
56
97
  edit(content: string): Promise<Message>;
98
+ toString(): string;
57
99
  }
58
100
  declare class User {
59
101
  client: Client;
@@ -1 +1 @@
1
- {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../src/Client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../src/Client.ts"],"names":[],"mappings":"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"}
package/build/Client.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Message = exports.ServerChannel = exports.Channel = exports.Channels = exports.Client = exports.Events = void 0;
6
+ exports.Message = exports.ServerChannel = exports.Channel = exports.Channels = exports.ServerMember = exports.ServerMembers = exports.Server = exports.Servers = exports.Users = exports.Client = exports.Events = void 0;
7
7
  const eventemitter3_1 = __importDefault(require("eventemitter3"));
8
8
  const socket_io_client_1 = require("socket.io-client");
9
9
  const EventNames_1 = require("./EventNames");
@@ -18,6 +18,8 @@ class Client extends eventemitter3_1.default {
18
18
  autoConnect: false,
19
19
  });
20
20
  this.channels = new Channels(this);
21
+ this.users = new Users(this);
22
+ this.servers = new Servers(this);
21
23
  new EventHandlers(this);
22
24
  }
23
25
  login(token) {
@@ -32,6 +34,10 @@ class EventHandlers {
32
34
  this.socket = client.socket;
33
35
  client.socket.on(EventNames_1.SocketServerEvents.CONNECT, this.onConnect.bind(this));
34
36
  client.socket.on(EventNames_1.SocketServerEvents.USER_AUTHENTICATED, this.onAuthenticated.bind(this));
37
+ client.socket.on(EventNames_1.SocketServerEvents.SERVER_MEMBER_JOINED, this.onServerMemberJoined.bind(this));
38
+ client.socket.on(EventNames_1.SocketServerEvents.SERVER_MEMBER_LEFT, this.onServerMemberLeft.bind(this));
39
+ client.socket.on(EventNames_1.SocketServerEvents.SERVER_JOINED, this.onServerJoined.bind(this));
40
+ client.socket.on(EventNames_1.SocketServerEvents.SERVER_LEFT, this.onServerLeft.bind(this));
35
41
  client.socket.on(EventNames_1.SocketServerEvents.MESSAGE_CREATED, this.onMessageCreated.bind(this));
36
42
  }
37
43
  onConnect() {
@@ -39,17 +45,126 @@ class EventHandlers {
39
45
  }
40
46
  onAuthenticated(payload) {
41
47
  this.client.user = new ClientUser(this.client, payload.user);
48
+ for (let i = 0; i < payload.servers.length; i++) {
49
+ const server = payload.servers[i];
50
+ this.client.servers.setCache(server);
51
+ }
42
52
  for (let i = 0; i < payload.channels.length; i++) {
43
53
  const rawChannel = payload.channels[i];
44
54
  this.client.channels.setCache(rawChannel);
45
55
  }
56
+ for (let i = 0; i < payload.serverMembers.length; i++) {
57
+ const member = payload.serverMembers[i];
58
+ this.client.users.setCache(member.user);
59
+ const server = this.client.servers.cache.get(member.serverId);
60
+ server?.members.setCache(member);
61
+ }
46
62
  this.client.emit(EventNames_1.ClientEvents.Ready);
47
63
  }
64
+ onServerMemberJoined(payload) {
65
+ const server = this.client.servers.cache.get(payload.serverId);
66
+ this.client.users.setCache(payload.member.user);
67
+ const member = server?.members.setCache(payload.member);
68
+ if (!member)
69
+ return;
70
+ this.client.emit('serverMemberJoined', member);
71
+ }
72
+ onServerJoined(payload) {
73
+ const server = this.client.servers.setCache(payload.server);
74
+ for (let i = 0; i < payload.members.length; i++) {
75
+ const member = payload.members[i];
76
+ this.client.users.setCache(member.user);
77
+ server?.members.setCache(member);
78
+ }
79
+ for (let i = 0; i < payload.channels.length; i++) {
80
+ const channel = payload.channels[i];
81
+ this.client.channels.setCache(channel);
82
+ }
83
+ this.client.emit(EventNames_1.ClientEvents.ServerJoined, server);
84
+ }
85
+ onServerLeft(payload) {
86
+ const server = this.client.servers.cache.get(payload.serverId);
87
+ if (!server)
88
+ return;
89
+ this.client.emit(EventNames_1.ClientEvents.ServerLeft, server);
90
+ this.client.servers.cache.delete(payload.serverId);
91
+ this.client.channels.cache.forEach((channel) => {
92
+ if (channel instanceof ServerChannel && channel.serverId === payload.serverId) {
93
+ this.client.channels.cache.delete(channel.id);
94
+ }
95
+ });
96
+ server.members.cache.clear();
97
+ }
98
+ onServerMemberLeft(payload) {
99
+ const server = this.client.servers.cache.get(payload.serverId);
100
+ const member = server?.members.cache.get(payload.userId);
101
+ if (!member)
102
+ return;
103
+ this.client.emit('serverMemberLeft', member);
104
+ server?.members.cache.delete(payload.userId);
105
+ }
48
106
  onMessageCreated(payload) {
49
107
  const message = new Message(this.client, payload.message);
50
108
  this.client.emit(EventNames_1.ClientEvents.MessageCreate, message);
51
109
  }
52
110
  }
111
+ class Users {
112
+ constructor(client) {
113
+ this.client = client;
114
+ this.cache = new Collection();
115
+ }
116
+ setCache(rawUser) {
117
+ const user = new User(this.client, rawUser);
118
+ this.cache.set(rawUser.id, user);
119
+ }
120
+ }
121
+ exports.Users = Users;
122
+ class Servers {
123
+ constructor(client) {
124
+ this.client = client;
125
+ this.cache = new Collection();
126
+ }
127
+ setCache(rawServer) {
128
+ const server = new Server(this.client, rawServer);
129
+ this.cache.set(server.id, server);
130
+ return server;
131
+ }
132
+ }
133
+ exports.Servers = Servers;
134
+ class Server {
135
+ constructor(client, server) {
136
+ this.client = client;
137
+ this.id = server.id;
138
+ this.name = server.name;
139
+ this.avatar = server.avatar;
140
+ this.members = new ServerMembers(this.client);
141
+ }
142
+ }
143
+ exports.Server = Server;
144
+ class ServerMembers {
145
+ constructor(client) {
146
+ this.client = client;
147
+ this.cache = new Collection();
148
+ }
149
+ setCache(rawMember) {
150
+ const member = new ServerMember(this.client, rawMember);
151
+ this.cache.set(member.user.id, member);
152
+ return member;
153
+ }
154
+ }
155
+ exports.ServerMembers = ServerMembers;
156
+ class ServerMember {
157
+ constructor(client, member) {
158
+ this.client = client;
159
+ this.id = member.user.id;
160
+ this.user = this.client.users.cache.get(member.user.id);
161
+ this.server = this.client.servers.cache.get(member.serverId);
162
+ }
163
+ toString() {
164
+ return `[@:${this.id}]`;
165
+ }
166
+ }
167
+ exports.ServerMember = ServerMember;
53
168
  class Channels {
54
169
  constructor(client) {
55
170
  this.client = client;
@@ -96,6 +211,7 @@ class ServerChannel extends Channel {
96
211
  this.createdById = channel.createdById;
97
212
  this.serverId = channel.serverId;
98
213
  this.categoryId = channel.categoryId;
214
+ this.server = this.client.servers.cache.get(this.serverId);
99
215
  }
100
216
  }
101
217
  exports.ServerChannel = ServerChannel;
@@ -108,7 +224,7 @@ class Message {
108
224
  this.content = message.content;
109
225
  this.type = message.type;
110
226
  this.createdAt = message.createdAt;
111
- this.user = new User(client, message.createdBy);
227
+ this.user = this.client.users.cache.get(message.createdBy.id);
112
228
  }
113
229
  reply(content, opts) {
114
230
  return this.channel.send(`${this.user} ${content}`, opts);
@@ -123,6 +239,9 @@ class Message {
123
239
  const message = new Message(this.client, RawMessage);
124
240
  return message;
125
241
  }
242
+ toString() {
243
+ return `[q:${this.id}]`;
244
+ }
126
245
  }
127
246
  exports.Message = Message;
128
247
  class User {
@@ -1 +1 @@
1
- {"version":3,"file":"Client.js","sourceRoot":"","sources":["../src/Client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Client.js","sourceRoot":"","sources":["../src/Client.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,19 @@
1
- import { Message } from './Client';
1
+ import { Message, Server, ServerMember } from './Client';
2
2
  export declare const ClientEvents: {
3
3
  readonly Ready: "ready";
4
4
  readonly MessageCreate: "messageCreate";
5
+ readonly ServerMemberLeft: "serverMemberLeft";
6
+ readonly ServerMemberJoined: "serverMemberJoined";
7
+ readonly ServerJoined: "serverJoined";
8
+ readonly ServerLeft: "serverLeft";
5
9
  };
6
10
  export type ClientEventMap = {
7
11
  'ready': () => void;
8
12
  'messageCreate': (message: Message) => void;
13
+ 'serverMemberLeft': (member: ServerMember) => void;
14
+ 'serverMemberJoined': (member: ServerMember) => void;
15
+ 'serverJoined': (server: Server) => void;
16
+ 'serverLeft': (server: Server) => void;
9
17
  };
10
18
  export declare const SocketClientEvents: {
11
19
  AUTHENTICATE: string;
@@ -1 +1 @@
1
- {"version":3,"file":"EventNames.d.ts","sourceRoot":"","sources":["../src/EventNames.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC,eAAO,MAAM,YAAY;;;CAGf,CAAC;AAGX,MAAM,MAAM,cAAc,GAAG;IACzB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,eAAe,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CAC/C,CAAA;AAID,eAAO,MAAM,kBAAkB;;;;CAI9B,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCrB,CAAC"}
1
+ {"version":3,"file":"EventNames.d.ts","sourceRoot":"","sources":["../src/EventNames.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAEzD,eAAO,MAAM,YAAY;;;;;;;CAOf,CAAC;AAGX,MAAM,MAAM,cAAc,GAAG;IACzB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,eAAe,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,kBAAkB,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IACnD,oBAAoB,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IACrD,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C,CAAA;AAID,eAAO,MAAM,kBAAkB;;;;CAI9B,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCrB,CAAC"}
@@ -3,7 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SocketServerEvents = exports.SocketClientEvents = exports.ClientEvents = void 0;
4
4
  exports.ClientEvents = {
5
5
  Ready: 'ready',
6
- MessageCreate: 'messageCreate'
6
+ MessageCreate: 'messageCreate',
7
+ ServerMemberLeft: 'serverMemberLeft',
8
+ ServerMemberJoined: 'serverMemberJoined',
9
+ ServerJoined: 'serverJoined',
10
+ ServerLeft: 'serverLeft',
7
11
  };
8
12
  exports.SocketClientEvents = {
9
13
  AUTHENTICATE: 'user:authenticate',
@@ -1 +1 @@
1
- {"version":3,"file":"EventNames.js","sourceRoot":"","sources":["../src/EventNames.ts"],"names":[],"mappings":";;;AAEa,QAAA,YAAY,GAAG;IACxB,KAAK,EAAE,OAAO;IACd,aAAa,EAAE,eAAe;CACxB,CAAC;AAUE,QAAA,kBAAkB,GAAG;IAC9B,YAAY,EAAE,mBAAmB;IACjC,oBAAoB,EAAE,sBAAsB;IAC5C,eAAe,EAAE,sBAAsB;CAC1C,CAAC;AAEW,QAAA,kBAAkB,GAAG;IAC9B,OAAO,EAAE,SAAS;IAClB,kBAAkB,EAAC,yBAAyB;IAC5C,YAAY,EAAE,cAAc;IAE5B,kBAAkB,EAAE,oBAAoB;IAExC,oBAAoB,EAAE,sBAAsB;IAE5C,mBAAmB,EAAE,qBAAqB;IAC1C,sBAAsB,EAAE,wBAAwB;IAChD,uBAAuB,EAAE,yBAAyB;IAClD,cAAc,EAAE,gBAAgB;IAChC,YAAY,EAAE,cAAc;IAC5B,sBAAsB,EAAE,wBAAwB;IAEhD,aAAa,EAAE,eAAe;IAC9B,WAAW,EAAE,aAAa;IAC1B,cAAc,EAAE,gBAAgB;IAChC,mBAAmB,EAAE,qBAAqB;IAC1C,mBAAmB,EAAE,qBAAqB;IAC1C,yBAAyB,EAAE,2BAA2B;IACtD,4BAA4B,EAAE,8BAA8B;IAE5D,mBAAmB,EAAE,qBAAqB;IAG1C,oBAAoB,EAAE,sBAAsB;IAC5C,kBAAkB,EAAE,oBAAoB;IACxC,qBAAqB,EAAE,uBAAuB;IAC9C,sBAAsB,EAAE,wBAAwB;IAChD,sBAAsB,EAAE,wBAAwB;IAChD,sBAAsB,EAAE,wBAAwB;IAChD,oBAAoB,EAAE,sBAAsB;IAI5C,cAAc,EAAE,gBAAgB;IAChC,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,iBAAiB;CAC5B,CAAC"}
1
+ {"version":3,"file":"EventNames.js","sourceRoot":"","sources":["../src/EventNames.ts"],"names":[],"mappings":";;;AAEa,QAAA,YAAY,GAAG;IACxB,KAAK,EAAE,OAAO;IACd,aAAa,EAAE,eAAe;IAC9B,gBAAgB,EAAE,kBAAkB;IACpC,kBAAkB,EAAE,oBAAoB;IACxC,YAAY,EAAE,cAAc;IAC5B,UAAU,EAAE,YAAY;CAClB,CAAC;AAcE,QAAA,kBAAkB,GAAG;IAC9B,YAAY,EAAE,mBAAmB;IACjC,oBAAoB,EAAE,sBAAsB;IAC5C,eAAe,EAAE,sBAAsB;CAC1C,CAAC;AAEW,QAAA,kBAAkB,GAAG;IAC9B,OAAO,EAAE,SAAS;IAClB,kBAAkB,EAAC,yBAAyB;IAC5C,YAAY,EAAE,cAAc;IAE5B,kBAAkB,EAAE,oBAAoB;IAExC,oBAAoB,EAAE,sBAAsB;IAE5C,mBAAmB,EAAE,qBAAqB;IAC1C,sBAAsB,EAAE,wBAAwB;IAChD,uBAAuB,EAAE,yBAAyB;IAClD,cAAc,EAAE,gBAAgB;IAChC,YAAY,EAAE,cAAc;IAC5B,sBAAsB,EAAE,wBAAwB;IAEhD,aAAa,EAAE,eAAe;IAC9B,WAAW,EAAE,aAAa;IAC1B,cAAc,EAAE,gBAAgB;IAChC,mBAAmB,EAAE,qBAAqB;IAC1C,mBAAmB,EAAE,qBAAqB;IAC1C,yBAAyB,EAAE,2BAA2B;IACtD,4BAA4B,EAAE,8BAA8B;IAE5D,mBAAmB,EAAE,qBAAqB;IAG1C,oBAAoB,EAAE,sBAAsB;IAC5C,kBAAkB,EAAE,oBAAoB;IACxC,qBAAqB,EAAE,uBAAuB;IAC9C,sBAAsB,EAAE,wBAAwB;IAChD,sBAAsB,EAAE,wBAAwB;IAChD,sBAAsB,EAAE,wBAAwB;IAChD,oBAAoB,EAAE,sBAAsB;IAI5C,cAAc,EAAE,gBAAgB;IAChC,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,iBAAiB;CAC5B,CAAC"}
@@ -1,15 +1,32 @@
1
1
  export interface AuthenticatedPayload {
2
2
  user: RawUser;
3
- servers: any[];
4
- serverMembers: any[];
3
+ servers: RawServer[];
4
+ serverMembers: RawServerMember[];
5
5
  messageMentions: any[];
6
- channels: any[];
6
+ channels: RawChannel[];
7
7
  serverRoles: any[];
8
8
  presences: any[];
9
9
  friends: any[];
10
10
  inbox: any[];
11
11
  lastSeenServerChannelIds: Record<string, number>;
12
12
  }
13
+ export interface RawServer {
14
+ id: string;
15
+ name: string;
16
+ hexColor: string;
17
+ defaultChannelId: string;
18
+ systemChannelId?: string;
19
+ avatar?: string;
20
+ banner?: string;
21
+ defaultRoleId: string;
22
+ createdById: string;
23
+ createdAt: number;
24
+ verified: boolean;
25
+ customEmojis: any[];
26
+ _count?: {
27
+ welcomeQuestions: number;
28
+ };
29
+ }
13
30
  export interface RawUser {
14
31
  id: string;
15
32
  avatar?: string;
@@ -39,6 +56,12 @@ export interface RawMessage {
39
56
  mentions?: Array<RawUser>;
40
57
  attachments?: Array<any>;
41
58
  }
59
+ export interface RawServerMember {
60
+ serverId: string;
61
+ user: RawUser;
62
+ joinedAt: number;
63
+ roleIds: string[];
64
+ }
42
65
  export declare enum ChannelType {
43
66
  DM_TEXT = 0,
44
67
  SERVER_TEXT = 1,
@@ -1 +1 @@
1
- {"version":3,"file":"RawData.d.ts","sourceRoot":"","sources":["../src/RawData.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,aAAa,EAAE,GAAG,EAAE,CAAC;IACrB,eAAe,EAAE,GAAG,EAAE,CAAA;IACtB,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,WAAW,EAAE,GAAG,EAAE,CAAC;IACnB,SAAS,EAAE,GAAG,EAAE,CAAC;IACjB,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpD;AACD,MAAM,WAAW,OAAO;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,oBAAY,WAAW;IACnB,OAAO,IAAI;IACX,WAAW,IAAI;IACf,YAAY,IAAI;IAChB,SAAS,IAAI;IACb,QAAQ,IAAI;CACf;AAED,MAAM,WAAW,UAAU;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1B,WAAW,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;CAC3B;AAED,oBAAY,WAAW;IACnB,OAAO,IAAI;IACX,WAAW,IAAI;IACf,QAAQ,IAAI;CACb;AAEH,MAAM,WAAW,UAAU;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE;QAAC,WAAW,EAAE,MAAM,CAAA;KAAC,CAAA;CACjC"}
1
+ {"version":3,"file":"RawData.d.ts","sourceRoot":"","sources":["../src/RawData.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RawData.js","sourceRoot":"","sources":["../src/RawData.ts"],"names":[],"mappings":";;;AAyBA,IAAY,WAMX;AAND,WAAY,WAAW;IACnB,mDAAW,CAAA;IACX,2DAAe,CAAA;IACf,6DAAgB,CAAA;IAChB,uDAAa,CAAA;IACb,qDAAY,CAAA;AAChB,CAAC,EANW,WAAW,2BAAX,WAAW,QAMtB;AAcD,IAAY,WAIT;AAJH,WAAY,WAAW;IACnB,mDAAW,CAAA;IACX,2DAAe,CAAA;IACf,qDAAY,CAAA;AACd,CAAC,EAJS,WAAW,2BAAX,WAAW,QAIpB"}
1
+ {"version":3,"file":"RawData.js","sourceRoot":"","sources":["../src/RawData.ts"],"names":[],"mappings":";;;AA4CA,IAAY,WAMX;AAND,WAAY,WAAW;IACnB,mDAAW,CAAA;IACX,2DAAe,CAAA;IACf,6DAAgB,CAAA;IAChB,uDAAa,CAAA;IACb,qDAAY,CAAA;AAChB,CAAC,EANW,WAAW,2BAAX,WAAW,QAMtB;AAsBD,IAAY,WAIT;AAJH,WAAY,WAAW;IACnB,mDAAW,CAAA;IACX,2DAAe,CAAA;IACf,qDAAY,CAAA;AACd,CAAC,EAJS,WAAW,2BAAX,WAAW,QAIpB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nerimity/nerimity.js",
3
- "version": "1.2.0",
3
+ "version": "1.4.0",
4
4
  "description": "",
5
5
  "main": "build/index.js",
6
6
  "scripts": {
package/src/Client.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import EventEmitter from 'eventemitter3';
2
2
  import {Socket, io} from 'socket.io-client';
3
3
  import { ClientEventMap, ClientEvents, SocketClientEvents, SocketServerEvents } from './EventNames';
4
- import { AuthenticatedPayload, ChannelType, MessageType, RawChannel, RawMessage, RawUser } from './RawData';
4
+ import { AuthenticatedPayload, ChannelType, MessageType, RawChannel, RawMessage, RawServer, RawServerMember, RawUser } from './RawData';
5
5
  import { editMessage, postMessage } from './services/MessageService';
6
6
  import { path } from './services/serviceEndpoints';
7
7
 
@@ -12,7 +12,9 @@ export class Client extends EventEmitter<ClientEventMap> {
12
12
  socket: Socket;
13
13
  token: string | undefined;
14
14
  user: ClientUser | undefined;
15
+ users: Users;
15
16
  channels: Channels;
17
+ servers: Servers;
16
18
  constructor() {
17
19
  super();
18
20
  this.socket = io(path, {
@@ -20,6 +22,8 @@ export class Client extends EventEmitter<ClientEventMap> {
20
22
  autoConnect: false,
21
23
  });
22
24
  this.channels = new Channels(this);
25
+ this.users = new Users(this);
26
+ this.servers = new Servers(this);
23
27
  new EventHandlers(this);
24
28
  }
25
29
 
@@ -39,6 +43,14 @@ class EventHandlers {
39
43
 
40
44
  client.socket.on(SocketServerEvents.CONNECT, this.onConnect.bind(this));
41
45
  client.socket.on(SocketServerEvents.USER_AUTHENTICATED, this.onAuthenticated.bind(this));
46
+
47
+ client.socket.on(SocketServerEvents.SERVER_MEMBER_JOINED, this.onServerMemberJoined.bind(this));
48
+ client.socket.on(SocketServerEvents.SERVER_MEMBER_LEFT, this.onServerMemberLeft.bind(this));
49
+
50
+ client.socket.on(SocketServerEvents.SERVER_JOINED, this.onServerJoined.bind(this));
51
+
52
+ client.socket.on(SocketServerEvents.SERVER_LEFT, this.onServerLeft.bind(this));
53
+
42
54
  client.socket.on(SocketServerEvents.MESSAGE_CREATED, this.onMessageCreated.bind(this));
43
55
  }
44
56
  onConnect() {
@@ -47,20 +59,165 @@ class EventHandlers {
47
59
  onAuthenticated(payload: AuthenticatedPayload) {
48
60
  this.client.user = new ClientUser(this.client, payload.user);
49
61
 
62
+ for (let i = 0; i < payload.servers.length; i++) {
63
+ const server = payload.servers[i];
64
+ this.client.servers.setCache(server);
65
+ }
66
+
50
67
  for (let i = 0; i < payload.channels.length; i++) {
51
68
  const rawChannel = payload.channels[i];
52
69
  this.client.channels.setCache(rawChannel);
53
70
  }
71
+ for (let i = 0; i < payload.serverMembers.length; i++) {
72
+ const member = payload.serverMembers[i];
73
+ this.client.users.setCache(member.user);
74
+ const server = this.client.servers.cache.get(member.serverId);
75
+ server?.members.setCache(member);
76
+ }
54
77
 
55
78
  this.client.emit(ClientEvents.Ready);
56
79
  }
80
+
81
+ onServerMemberJoined(payload: {serverId: string; member: RawServerMember}) {
82
+ const server = this.client.servers.cache.get(payload.serverId);
83
+ this.client.users.setCache(payload.member.user);
84
+ const member = server?.members.setCache(payload.member);
85
+ if (!member) return;
86
+ this.client.emit('serverMemberJoined', member);
87
+ }
88
+
89
+ onServerJoined(payload: {
90
+ server: RawServer,
91
+ members: RawServerMember[],
92
+ channels: RawChannel[],
93
+ // roles: any[];
94
+ // memberPresences: any[]
95
+ // voiceChannelUsers: any[];
96
+ }) {
97
+
98
+ const server = this.client.servers.setCache(payload.server);
99
+
100
+ for (let i = 0; i < payload.members.length; i++) {
101
+ const member = payload.members[i];
102
+ this.client.users.setCache(member.user);
103
+ server?.members.setCache(member);
104
+ }
105
+
106
+ for (let i = 0; i < payload.channels.length; i++) {
107
+ const channel = payload.channels[i];
108
+ this.client.channels.setCache(channel);
109
+ }
110
+ this.client.emit(ClientEvents.ServerJoined, server);
111
+ }
112
+ onServerLeft(payload: { serverId: string }) {
113
+
114
+ const server = this.client.servers.cache.get(payload.serverId);
115
+ if (!server) return;
116
+ this.client.emit(ClientEvents.ServerLeft, server);
117
+ this.client.servers.cache.delete(payload.serverId);
118
+
119
+ this.client.channels.cache.forEach((channel) => {
120
+ if (channel instanceof ServerChannel && channel.serverId === payload.serverId) {
121
+ this.client.channels.cache.delete(channel.id);
122
+ }
123
+ });
124
+ server.members.cache.clear();
125
+ }
126
+ onServerMemberLeft(payload: { userId: string, serverId: string }) {
127
+ const server = this.client.servers.cache.get(payload.serverId);
128
+ const member = server?.members.cache.get(payload.userId);
129
+ if (!member) return;
130
+ this.client.emit('serverMemberLeft', member);
131
+ server?.members.cache.delete(payload.userId);
132
+ }
57
133
  onMessageCreated(payload: {message: RawMessage}) {
58
134
  const message = new Message(this.client, payload.message);
59
135
  this.client.emit(ClientEvents.MessageCreate, message);
136
+ }
137
+ }
138
+
139
+
140
+
141
+ export class Users {
142
+ client: Client;
143
+ cache: Collection<string, User>;
144
+ constructor(client: Client) {
145
+ this.client = client;
146
+ this.cache = new Collection();
147
+ }
148
+ setCache(rawUser: RawUser) {
149
+ const user = new User(this.client, rawUser);
150
+ this.cache.set(rawUser.id, user);
151
+ }
152
+ }
153
+
154
+
155
+ export class Servers {
156
+ client: Client;
157
+ cache: Collection<string, Server>;
158
+ constructor(client: Client) {
159
+ this.client = client;
160
+ this.cache = new Collection();
161
+ }
162
+ setCache(rawServer: RawServer) {
163
+ const server = new Server(this.client, rawServer);
164
+ this.cache.set(server.id, server);
165
+ return server;
166
+ }
167
+ }
168
+
169
+
170
+
171
+ export class Server {
172
+ client: Client;
173
+ id: string;
174
+ name: string;
175
+ avatar?: string;
176
+
177
+ members: ServerMembers;
178
+ constructor(client: Client, server: RawServer) {
179
+ this.client = client;
60
180
 
181
+ this.id = server.id;
182
+ this.name = server.name;
183
+ this.avatar = server.avatar;
184
+ this.members = new ServerMembers(this.client);
61
185
  }
62
186
  }
63
187
 
188
+ export class ServerMembers {
189
+ client: Client;
190
+ cache: Collection<string, ServerMember>;
191
+ constructor(client: Client) {
192
+ this.client = client;
193
+ this.cache = new Collection();
194
+ }
195
+ setCache(rawMember: RawServerMember) {
196
+ const member = new ServerMember(this.client, rawMember);
197
+ this.cache.set(member.user.id, member);
198
+ return member;
199
+ }
200
+ }
201
+ export class ServerMember {
202
+ client: Client;
203
+ id: string;
204
+ user: User;
205
+ server: Server;
206
+
207
+ constructor(client: Client, member: RawServerMember) {
208
+ this.client = client;
209
+ this.id = member.user.id;
210
+
211
+ this.user = this.client.users.cache.get(member.user.id)!;
212
+ this.server = this.client.servers.cache.get(member.serverId)!;
213
+ }
214
+ toString() {
215
+ return `[@:${this.id}]`;
216
+ }
217
+ }
218
+
219
+
220
+
64
221
 
65
222
 
66
223
  export class Channels {
@@ -120,6 +277,7 @@ export class ServerChannel extends Channel {
120
277
  serverId: string;
121
278
  permissions: number;
122
279
  categoryId?: string;
280
+ server: Server;
123
281
 
124
282
  constructor(client: Client, channel: RawChannel) {
125
283
  super(client, channel);
@@ -128,6 +286,8 @@ export class ServerChannel extends Channel {
128
286
  this.createdById = channel.createdById!;
129
287
  this.serverId = channel.serverId!;
130
288
  this.categoryId = channel.categoryId!;
289
+
290
+ this.server = this.client.servers.cache.get(this.serverId)!;
131
291
  }
132
292
  }
133
293
 
@@ -150,7 +310,7 @@ export class Message {
150
310
  this.content = message.content;
151
311
  this.type = message.type;
152
312
  this.createdAt = message.createdAt;
153
- this.user = new User(client, message.createdBy);
313
+ this.user = this.client.users.cache.get(message.createdBy.id)!;
154
314
  }
155
315
  reply(content: string, opts?: MessageOpts) {
156
316
  return this.channel.send(`${this.user} ${content}`, opts);
@@ -165,8 +325,11 @@ export class Message {
165
325
  const message = new Message(this.client, RawMessage);
166
326
  return message;
167
327
  }
168
- }
169
328
 
329
+ toString() {
330
+ return `[q:${this.id}]`;
331
+ }
332
+ }
170
333
 
171
334
 
172
335
  class User {
package/src/EventNames.ts CHANGED
@@ -1,14 +1,22 @@
1
- import { Message } from './Client';
1
+ import { Message, Server, ServerMember } from './Client';
2
2
 
3
3
  export const ClientEvents = {
4
4
  Ready: 'ready',
5
- MessageCreate: 'messageCreate'
5
+ MessageCreate: 'messageCreate',
6
+ ServerMemberLeft: 'serverMemberLeft',
7
+ ServerMemberJoined: 'serverMemberJoined',
8
+ ServerJoined: 'serverJoined',
9
+ ServerLeft: 'serverLeft',
6
10
  } as const;
7
11
 
8
12
 
9
13
  export type ClientEventMap = {
10
14
  'ready': () => void;
11
15
  'messageCreate': (message: Message) => void;
16
+ 'serverMemberLeft': (member: ServerMember) => void;
17
+ 'serverMemberJoined': (member: ServerMember) => void;
18
+ 'serverJoined': (server: Server) => void;
19
+ 'serverLeft': (server: Server) => void;
12
20
  }
13
21
 
14
22
 
package/src/RawData.ts CHANGED
@@ -1,16 +1,35 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
2
  export interface AuthenticatedPayload {
3
3
  user: RawUser;
4
- servers: any[];
5
- serverMembers: any[];
4
+ servers: RawServer[];
5
+ serverMembers: RawServerMember[];
6
6
  messageMentions: any[]
7
- channels: any[];
7
+ channels: RawChannel[];
8
8
  serverRoles: any[];
9
9
  presences: any[];
10
10
  friends: any[];
11
11
  inbox: any[];
12
12
  lastSeenServerChannelIds: Record<string, number>; // { [channelId]: timestamp }
13
13
  }
14
+
15
+ export interface RawServer {
16
+ id: string;
17
+ name: string;
18
+ hexColor: string;
19
+ defaultChannelId: string;
20
+ systemChannelId?: string;
21
+ avatar?: string;
22
+ banner?: string;
23
+ defaultRoleId: string;
24
+ createdById: string;
25
+ createdAt: number;
26
+ verified: boolean;
27
+ customEmojis: any[];
28
+ _count?: {
29
+ welcomeQuestions: number;
30
+ }
31
+ }
32
+
14
33
  export interface RawUser {
15
34
  id: string;
16
35
  avatar?: string;
@@ -43,6 +62,14 @@ export interface RawMessage {
43
62
  attachments?: Array<any>
44
63
  }
45
64
 
65
+ export interface RawServerMember {
66
+ serverId: string;
67
+ user: RawUser;
68
+ joinedAt: number;
69
+ roleIds: string[];
70
+ }
71
+
72
+
46
73
  export enum ChannelType {
47
74
  DM_TEXT = 0,
48
75
  SERVER_TEXT = 1,