@nerimity/nerimity.js 1.15.2 → 1.16.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.
Files changed (121) hide show
  1. package/.vscode/settings.json +2 -1
  2. package/build/Attachment.d.ts +6 -6
  3. package/build/Client.d.ts +222 -202
  4. package/build/EventNames.d.ts +7 -2
  5. package/build/EventNames.d.ts.map +1 -1
  6. package/build/EventNames.js.map +1 -1
  7. package/build/bitwise.d.ts.map +1 -1
  8. package/build/classes/Attachment.d.ts +8 -0
  9. package/build/classes/Attachment.d.ts.map +1 -0
  10. package/{src/Attachment.ts → build/classes/Attachment.js} +41 -50
  11. package/build/classes/Attachment.js.map +1 -0
  12. package/build/classes/Button.d.ts +19 -0
  13. package/build/classes/Button.d.ts.map +1 -0
  14. package/build/classes/Button.js +29 -0
  15. package/build/classes/Button.js.map +1 -0
  16. package/build/classes/Channel.d.ts +30 -0
  17. package/build/classes/Channel.d.ts.map +1 -0
  18. package/build/classes/Channel.js +61 -0
  19. package/build/classes/Channel.js.map +1 -0
  20. package/build/classes/Client.d.ts +42 -0
  21. package/build/classes/Client.d.ts.map +1 -0
  22. package/build/classes/Client.js +220 -0
  23. package/build/classes/Client.js.map +1 -0
  24. package/build/classes/ClientUser.d.ts +18 -0
  25. package/build/classes/ClientUser.d.ts.map +1 -0
  26. package/build/classes/ClientUser.js +15 -0
  27. package/build/classes/ClientUser.js.map +1 -0
  28. package/build/classes/Collection.d.ts +4 -0
  29. package/build/classes/Collection.d.ts.map +1 -0
  30. package/build/classes/Collection.js +10 -0
  31. package/build/classes/Collection.js.map +1 -0
  32. package/build/classes/Message.d.ts +36 -0
  33. package/build/classes/Message.d.ts.map +1 -0
  34. package/build/classes/Message.js +72 -0
  35. package/build/classes/Message.js.map +1 -0
  36. package/build/classes/MessageButton.d.ts +19 -0
  37. package/build/classes/MessageButton.d.ts.map +1 -0
  38. package/build/classes/MessageButton.js +29 -0
  39. package/build/classes/MessageButton.js.map +1 -0
  40. package/build/classes/Post.d.ts +50 -0
  41. package/build/classes/Post.d.ts.map +1 -0
  42. package/build/classes/Post.js +64 -0
  43. package/build/classes/Post.js.map +1 -0
  44. package/build/classes/RPCClient.d.ts +24 -0
  45. package/build/classes/RPCClient.d.ts.map +1 -0
  46. package/build/classes/RPCClient.js +72 -0
  47. package/build/classes/RPCClient.js.map +1 -0
  48. package/build/classes/Server.d.ts +26 -0
  49. package/build/classes/Server.d.ts.map +1 -0
  50. package/build/classes/Server.js +42 -0
  51. package/build/classes/Server.js.map +1 -0
  52. package/build/classes/ServerChannel.d.ts +14 -0
  53. package/build/classes/ServerChannel.d.ts.map +1 -0
  54. package/build/classes/ServerChannel.js +17 -0
  55. package/build/classes/ServerChannel.js.map +1 -0
  56. package/build/classes/ServerMember.d.ts +29 -0
  57. package/build/classes/ServerMember.d.ts.map +1 -0
  58. package/build/classes/ServerMember.js +69 -0
  59. package/build/classes/ServerMember.js.map +1 -0
  60. package/build/classes/ServerRole.d.ts +22 -0
  61. package/build/classes/ServerRole.d.ts.map +1 -0
  62. package/build/classes/ServerRole.js +30 -0
  63. package/build/classes/ServerRole.js.map +1 -0
  64. package/build/classes/User.d.ts +24 -0
  65. package/build/classes/User.d.ts.map +1 -0
  66. package/build/classes/User.js +35 -0
  67. package/build/classes/User.js.map +1 -0
  68. package/build/classes/Webhooks.d.ts +73 -0
  69. package/build/classes/Webhooks.d.ts.map +1 -0
  70. package/{src/Webhooks.ts → build/classes/Webhooks.js} +122 -148
  71. package/build/classes/Webhooks.js.map +1 -0
  72. package/build/example.js +9 -9
  73. package/build/example.js.map +1 -1
  74. package/build/index.d.ts +4 -4
  75. package/build/index.d.ts.map +1 -1
  76. package/build/index.js +4 -4
  77. package/build/index.js.map +1 -1
  78. package/build/services/ApplicationService.js +1 -2
  79. package/build/services/ApplicationService.js.map +1 -1
  80. package/build/services/MessageService.d.ts +1 -1
  81. package/build/services/MessageService.d.ts.map +1 -1
  82. package/build/services/MessageService.js +6 -7
  83. package/build/services/MessageService.js.map +1 -1
  84. package/build/services/PostsService.d.ts +2 -2
  85. package/build/services/PostsService.d.ts.map +1 -1
  86. package/build/services/PostsService.js +17 -14
  87. package/build/services/PostsService.js.map +1 -1
  88. package/build/services/ServerService.d.ts +3 -1
  89. package/build/services/ServerService.d.ts.map +1 -1
  90. package/build/services/ServerService.js +23 -2
  91. package/build/services/ServerService.js.map +1 -1
  92. package/build/services/serviceEndpoints.d.ts +1 -0
  93. package/build/services/serviceEndpoints.d.ts.map +1 -1
  94. package/build/services/serviceEndpoints.js +2 -0
  95. package/build/services/serviceEndpoints.js.map +1 -1
  96. package/eslint.config.mjs +37 -0
  97. package/package.json +11 -10
  98. package/src/EventNames.ts +7 -10
  99. package/src/classes/Attachment.ts +50 -0
  100. package/src/classes/Channel.ts +74 -0
  101. package/src/classes/Client.ts +338 -0
  102. package/src/classes/ClientUser.ts +26 -0
  103. package/src/classes/Collection.ts +5 -0
  104. package/src/classes/Message.ts +102 -0
  105. package/src/classes/MessageButton.ts +48 -0
  106. package/src/classes/Post.ts +100 -0
  107. package/src/{RPCClient.ts → classes/RPCClient.ts} +4 -4
  108. package/src/classes/Server.ts +57 -0
  109. package/src/classes/ServerChannel.ts +24 -0
  110. package/src/classes/ServerMember.ts +95 -0
  111. package/src/classes/ServerRole.ts +40 -0
  112. package/src/classes/User.ts +46 -0
  113. package/src/classes/Webhooks.ts +144 -0
  114. package/src/example.ts +15 -17
  115. package/src/index.ts +4 -4
  116. package/src/services/MessageService.ts +2 -2
  117. package/src/services/PostsService.ts +55 -51
  118. package/src/services/ServerService.ts +30 -1
  119. package/src/services/serviceEndpoints.ts +4 -0
  120. package/.eslintrc.js +0 -21
  121. package/src/Client.ts +0 -875
@@ -1,52 +1,55 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deletePost = exports.editPost = exports.postPost = exports.getPosts = void 0;
3
+ exports.getPosts = getPosts;
4
+ exports.postPost = postPost;
5
+ exports.editPost = editPost;
6
+ exports.deletePost = deletePost;
4
7
  const MessageService_1 = require("./MessageService");
5
8
  const serviceEndpoints_1 = require("./serviceEndpoints");
6
9
  async function getPosts(client) {
7
10
  return await (0, MessageService_1.request)({
8
11
  client: client,
9
12
  url: serviceEndpoints_1.ServiceEndpoints.GetPosts(),
10
- method: 'GET',
13
+ method: "GET",
11
14
  useToken: true,
12
- }).catch(err => {
15
+ }).catch((err) => {
13
16
  throw new Error(`Failed to get posts. ${err.message}`);
14
17
  });
15
18
  }
16
- exports.getPosts = getPosts;
17
19
  async function postPost(opts) {
18
20
  return await (0, MessageService_1.request)({
19
21
  client: opts.client,
20
22
  url: serviceEndpoints_1.ServiceEndpoints.PostPost(),
21
- method: 'POST',
22
- body: { content: opts.content, nerimityCdnFileId: opts.nerimityCdnFileId, poll: opts.poll },
23
+ method: "POST",
24
+ body: {
25
+ content: opts.content,
26
+ nerimityCdnFileId: opts.nerimityCdnFileId,
27
+ poll: opts.poll,
28
+ },
23
29
  useToken: true,
24
- }).catch(err => {
30
+ }).catch((err) => {
25
31
  throw new Error(`Failed to send post. ${err.message}`);
26
32
  });
27
33
  }
28
- exports.postPost = postPost;
29
34
  async function editPost(opts) {
30
35
  return await (0, MessageService_1.request)({
31
36
  client: opts.client,
32
37
  url: serviceEndpoints_1.ServiceEndpoints.EditPost(opts.postId),
33
- method: 'PATCH',
38
+ method: "PATCH",
34
39
  body: { content: opts.content },
35
40
  useToken: true,
36
- }).catch(err => {
41
+ }).catch((err) => {
37
42
  throw new Error(`Failed to edit post. ${err.message}`);
38
43
  });
39
44
  }
40
- exports.editPost = editPost;
41
45
  async function deletePost(opts) {
42
46
  return await (0, MessageService_1.request)({
43
47
  client: opts.client,
44
48
  url: serviceEndpoints_1.ServiceEndpoints.DeletePost(opts.postId),
45
- method: 'DELETE',
49
+ method: "DELETE",
46
50
  useToken: true,
47
- }).catch(err => {
51
+ }).catch((err) => {
48
52
  throw new Error(`Failed to delete post. ${err.message}`);
49
53
  });
50
54
  }
51
- exports.deletePost = deletePost;
52
55
  //# sourceMappingURL=PostsService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PostsService.js","sourceRoot":"","sources":["../../src/services/PostsService.ts"],"names":[],"mappings":";;;AAEA,qDAA0C;AAC1C,yDAAsD;AAuB/C,KAAK,UAAU,QAAQ,CAAC,MAAc;IACzC,OAAO,MAAM,IAAA,wBAAO,EAAY;QAC5B,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,mCAAgB,CAAC,QAAQ,EAAE;QAChC,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,IAAI;KACjB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;QACX,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACP,CAAC;AATD,4BASC;AAEM,KAAK,UAAU,QAAQ,CAAC,IAAkB;IAC7C,OAAO,MAAM,IAAA,wBAAO,EAAU;QAC1B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,EAAE,mCAAgB,CAAC,QAAQ,EAAE;QAChC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,EAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAC;QACzF,QAAQ,EAAE,IAAI;KACjB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;QACX,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACP,CAAC;AAVD,4BAUC;AAEM,KAAK,UAAU,QAAQ,CAAC,IAAkB;IAC7C,OAAO,MAAM,IAAA,wBAAO,EAAU;QAC1B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,EAAE,mCAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;QAC3C,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,EAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAC;QAC7B,QAAQ,EAAE,IAAI;KACjB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;QACX,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAA;AACN,CAAC;AAVD,4BAUC;AAEM,KAAK,UAAU,UAAU,CAAC,IAAoB;IACjD,OAAO,MAAM,IAAA,wBAAO,EAAC;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,EAAE,mCAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;QAC7C,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,IAAI;KACjB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;QACX,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;AACP,CAAC;AATD,gCASC"}
1
+ {"version":3,"file":"PostsService.js","sourceRoot":"","sources":["../../src/services/PostsService.ts"],"names":[],"mappings":";;AA0BA,4BASC;AAED,4BAcC;AAED,4BAUC;AAED,gCASC;AAxED,qDAA2C;AAC3C,yDAAsD;AAuB/C,KAAK,UAAU,QAAQ,CAAC,MAAc;IAC3C,OAAO,MAAM,IAAA,wBAAO,EAAY;QAC9B,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,mCAAgB,CAAC,QAAQ,EAAE;QAChC,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,QAAQ,CAAC,IAAkB;IAC/C,OAAO,MAAM,IAAA,wBAAO,EAAU;QAC5B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,EAAE,mCAAgB,CAAC,QAAQ,EAAE;QAChC,MAAM,EAAE,MAAM;QACd,IAAI,EAAE;YACJ,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB;QACD,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,QAAQ,CAAC,IAAkB;IAC/C,OAAO,MAAM,IAAA,wBAAO,EAAU;QAC5B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,EAAE,mCAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;QAC3C,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;QAC/B,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,UAAU,CAAC,IAAoB;IACnD,OAAO,MAAM,IAAA,wBAAO,EAAC;QACnB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,EAAE,mCAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;QAC7C,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,3 +1,5 @@
1
- import { Client } from "../Client";
1
+ import { Client } from "../classes/Client";
2
2
  export declare function banServerMember(client: Client, serverId: string, userId: string): Promise<any>;
3
+ export declare function unbanServerMember(client: Client, serverId: string, userId: string): Promise<any>;
4
+ export declare function kickServerMember(client: Client, serverId: string, userId: string): Promise<any>;
3
5
  //# sourceMappingURL=ServerService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ServerService.d.ts","sourceRoot":"","sources":["../../src/services/ServerService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAInC,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,gBAUf"}
1
+ {"version":3,"file":"ServerService.d.ts","sourceRoot":"","sources":["../../src/services/ServerService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAI3C,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,gBAUf;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,gBAUf;AACD,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,gBAUf"}
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.banServerMember = void 0;
3
+ exports.banServerMember = banServerMember;
4
+ exports.unbanServerMember = unbanServerMember;
5
+ exports.kickServerMember = kickServerMember;
4
6
  const MessageService_1 = require("./MessageService");
5
7
  const serviceEndpoints_1 = require("./serviceEndpoints");
6
8
  async function banServerMember(client, serverId, userId) {
@@ -13,5 +15,24 @@ async function banServerMember(client, serverId, userId) {
13
15
  throw new Error(`Failed to ban server member. ${err.message}`);
14
16
  });
15
17
  }
16
- exports.banServerMember = banServerMember;
18
+ async function unbanServerMember(client, serverId, userId) {
19
+ return await (0, MessageService_1.request)({
20
+ client: client,
21
+ url: serviceEndpoints_1.ServiceEndpoints.serverMemberBan(serverId, userId),
22
+ method: "DELETE",
23
+ useToken: true,
24
+ }).catch((err) => {
25
+ throw new Error(`Failed to unban server member. ${err.message}`);
26
+ });
27
+ }
28
+ async function kickServerMember(client, serverId, userId) {
29
+ return await (0, MessageService_1.request)({
30
+ client: client,
31
+ url: serviceEndpoints_1.ServiceEndpoints.serverMemberKick(serverId, userId),
32
+ method: "DELETE",
33
+ useToken: true,
34
+ }).catch((err) => {
35
+ throw new Error(`Failed to kick server member. ${err.message}`);
36
+ });
37
+ }
17
38
  //# sourceMappingURL=ServerService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ServerService.js","sourceRoot":"","sources":["../../src/services/ServerService.ts"],"names":[],"mappings":";;;AACA,qDAA2C;AAC3C,yDAAsD;AAE/C,KAAK,UAAU,eAAe,CACnC,MAAc,EACd,QAAgB,EAChB,MAAc;IAEd,OAAO,MAAM,IAAA,wBAAO,EAAM;QACxB,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,mCAAgB,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC;QACvD,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,gCAAgC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;AACL,CAAC;AAbD,0CAaC"}
1
+ {"version":3,"file":"ServerService.js","sourceRoot":"","sources":["../../src/services/ServerService.ts"],"names":[],"mappings":";;AAIA,0CAaC;AAED,8CAaC;AACD,4CAaC;AA7CD,qDAA2C;AAC3C,yDAAsD;AAE/C,KAAK,UAAU,eAAe,CACnC,MAAc,EACd,QAAgB,EAChB,MAAc;IAEd,OAAO,MAAM,IAAA,wBAAO,EAAM;QACxB,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,mCAAgB,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC;QACvD,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,gCAAgC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,iBAAiB,CACrC,MAAc,EACd,QAAgB,EAChB,MAAc;IAEd,OAAO,MAAM,IAAA,wBAAO,EAAM;QACxB,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,mCAAgB,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC;QACvD,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;AACL,CAAC;AACM,KAAK,UAAU,gBAAgB,CACpC,MAAc,EACd,QAAgB,EAChB,MAAc;IAEd,OAAO,MAAM,IAAA,wBAAO,EAAM;QACxB,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,mCAAgB,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC;QACxD,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -11,5 +11,6 @@ export declare const ServiceEndpoints: {
11
11
  BotCommands: () => string;
12
12
  ButtonClickCallback: (channelId: string, messageId: string, buttonId: string) => string;
13
13
  serverMemberBan: (serverId: string, userId: string) => string;
14
+ serverMemberKick: (serverId: string, userId: string) => string;
14
15
  };
15
16
  //# sourceMappingURL=serviceEndpoints.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"serviceEndpoints.d.ts","sourceRoot":"","sources":["../../src/services/serviceEndpoints.ts"],"names":[],"mappings":"AACA,eAAO,IAAI,IAAI,QAAyB,CAAC;AAGzC,eAAO,MAAM,UAAU,YAAa,MAAM,SAGzC,CAAC;AA0BF,eAAO,MAAM,gBAAgB;6BAzBG,MAAM;6BAEN,MAAM;6BAEN,MAAM,aAAa,MAAM;;;uBAM/B,MAAM;yBACJ,MAAM;;qCAKrB,MAAM,aACN,MAAM,YACP,MAAM;gCAIiB,MAAM,UAAU,MAAM;CAcxD,CAAC"}
1
+ {"version":3,"file":"serviceEndpoints.d.ts","sourceRoot":"","sources":["../../src/services/serviceEndpoints.ts"],"names":[],"mappings":"AACA,eAAO,IAAI,IAAI,QAAyB,CAAC;AAGzC,eAAO,MAAM,UAAU,GAAI,SAAS,MAAM,SAGzC,CAAC;AA6BF,eAAO,MAAM,gBAAgB;6BA5BG,MAAM;6BAEN,MAAM;6BAEN,MAAM,aAAa,MAAM;;;uBAM/B,MAAM;yBACJ,MAAM;;qCAKrB,MAAM,aACN,MAAM,YACP,MAAM;gCAIiB,MAAM,UAAU,MAAM;iCAGrB,MAAM,UAAU,MAAM;CAezD,CAAC"}
@@ -20,6 +20,7 @@ const DeletePost = (postId) => `${BaseUrl}/posts/${postId}`;
20
20
  const BotCommands = () => `${BaseUrl}/applications/bot/commands`;
21
21
  const ButtonClickCallback = (channelId, messageId, buttonId) => `${BaseUrl}/channels/${channelId}/messages/${messageId}/buttons/${buttonId}/callback`;
22
22
  const serverMemberBan = (serverId, userId) => `${BaseUrl}/servers/${serverId}/bans/${userId}`;
23
+ const serverMemberKick = (serverId, userId) => `${BaseUrl}/servers/${serverId}/members/${userId}/kick`;
23
24
  exports.ServiceEndpoints = {
24
25
  GetMessages,
25
26
  PostMessage,
@@ -31,5 +32,6 @@ exports.ServiceEndpoints = {
31
32
  BotCommands,
32
33
  ButtonClickCallback,
33
34
  serverMemberBan,
35
+ serverMemberKick,
34
36
  };
35
37
  //# sourceMappingURL=serviceEndpoints.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"serviceEndpoints.js","sourceRoot":"","sources":["../../src/services/serviceEndpoints.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AACpC,QAAA,IAAI,GAAG,sBAAsB,CAAC;AACzC,IAAI,OAAO,GAAG,YAAI,GAAG,MAAM,CAAC;AAErB,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,EAAE;IAC5C,YAAI,GAAG,OAAO,CAAC;IACf,OAAO,GAAG,YAAI,GAAG,MAAM,CAAC;AAC1B,CAAC,CAAC;AAHW,QAAA,UAAU,cAGrB;AACF,MAAM,WAAW,GAAG,CAAC,SAAiB,EAAE,EAAE,CACxC,GAAG,OAAO,aAAa,SAAS,WAAW,CAAC;AAC9C,MAAM,WAAW,GAAG,CAAC,SAAiB,EAAE,EAAE,CACxC,GAAG,OAAO,aAAa,SAAS,WAAW,CAAC;AAC9C,MAAM,WAAW,GAAG,CAAC,SAAiB,EAAE,SAAiB,EAAE,EAAE,CAC3D,GAAG,OAAO,aAAa,SAAS,aAAa,SAAS,EAAE,CAAC;AAE3D,QAAQ;AACR,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,GAAG,OAAO,QAAQ,CAAC;AAC1C,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,GAAG,OAAO,QAAQ,CAAC;AAC1C,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,GAAG,OAAO,UAAU,MAAM,EAAE,CAAC;AAClE,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,GAAG,OAAO,UAAU,MAAM,EAAE,CAAC;AAEpE,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,GAAG,OAAO,4BAA4B,CAAC;AAEjE,MAAM,mBAAmB,GAAG,CAC1B,SAAiB,EACjB,SAAiB,EACjB,QAAgB,EAChB,EAAE,CACF,GAAG,OAAO,aAAa,SAAS,aAAa,SAAS,YAAY,QAAQ,WAAW,CAAC;AAExF,MAAM,eAAe,GAAG,CAAC,QAAgB,EAAE,MAAc,EAAE,EAAE,CAC3D,GAAG,OAAO,YAAY,QAAQ,SAAS,MAAM,EAAE,CAAC;AAErC,QAAA,gBAAgB,GAAG;IAC9B,WAAW;IACX,WAAW;IACX,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,WAAW;IACX,mBAAmB;IACnB,eAAe;CAChB,CAAC"}
1
+ {"version":3,"file":"serviceEndpoints.js","sourceRoot":"","sources":["../../src/services/serviceEndpoints.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AACpC,QAAA,IAAI,GAAG,sBAAsB,CAAC;AACzC,IAAI,OAAO,GAAG,YAAI,GAAG,MAAM,CAAC;AAErB,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,EAAE;IAC5C,YAAI,GAAG,OAAO,CAAC;IACf,OAAO,GAAG,YAAI,GAAG,MAAM,CAAC;AAC1B,CAAC,CAAC;AAHW,QAAA,UAAU,cAGrB;AACF,MAAM,WAAW,GAAG,CAAC,SAAiB,EAAE,EAAE,CACxC,GAAG,OAAO,aAAa,SAAS,WAAW,CAAC;AAC9C,MAAM,WAAW,GAAG,CAAC,SAAiB,EAAE,EAAE,CACxC,GAAG,OAAO,aAAa,SAAS,WAAW,CAAC;AAC9C,MAAM,WAAW,GAAG,CAAC,SAAiB,EAAE,SAAiB,EAAE,EAAE,CAC3D,GAAG,OAAO,aAAa,SAAS,aAAa,SAAS,EAAE,CAAC;AAE3D,QAAQ;AACR,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,GAAG,OAAO,QAAQ,CAAC;AAC1C,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,GAAG,OAAO,QAAQ,CAAC;AAC1C,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,GAAG,OAAO,UAAU,MAAM,EAAE,CAAC;AAClE,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,GAAG,OAAO,UAAU,MAAM,EAAE,CAAC;AAEpE,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,GAAG,OAAO,4BAA4B,CAAC;AAEjE,MAAM,mBAAmB,GAAG,CAC1B,SAAiB,EACjB,SAAiB,EACjB,QAAgB,EAChB,EAAE,CACF,GAAG,OAAO,aAAa,SAAS,aAAa,SAAS,YAAY,QAAQ,WAAW,CAAC;AAExF,MAAM,eAAe,GAAG,CAAC,QAAgB,EAAE,MAAc,EAAE,EAAE,CAC3D,GAAG,OAAO,YAAY,QAAQ,SAAS,MAAM,EAAE,CAAC;AAElD,MAAM,gBAAgB,GAAG,CAAC,QAAgB,EAAE,MAAc,EAAE,EAAE,CAC5D,GAAG,OAAO,YAAY,QAAQ,YAAY,MAAM,OAAO,CAAC;AAE7C,QAAA,gBAAgB,GAAG;IAC9B,WAAW;IACX,WAAW;IACX,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,WAAW;IACX,mBAAmB;IACnB,eAAe;IACf,gBAAgB;CACjB,CAAC"}
@@ -0,0 +1,37 @@
1
+ import globals from "globals";
2
+ import pluginJs from "@eslint/js";
3
+ import tseslint from "typescript-eslint";
4
+
5
+ /** @type {import('eslint').Linter.Config[]} */
6
+ export default [
7
+ { files: ["**/*.{js,mjs,cjs,ts}"] },
8
+
9
+ {
10
+ languageOptions: {
11
+ globals: {
12
+ ...globals.browser,
13
+ ...globals.node,
14
+ ...globals.es2021,
15
+ },
16
+ parserOptions: {
17
+ ecmaVersion: "latest",
18
+ sourceType: "module",
19
+ },
20
+ },
21
+ },
22
+
23
+ pluginJs.configs.recommended,
24
+ ...tseslint.configs.recommended,
25
+
26
+ {
27
+ rules: {
28
+ "@typescript-eslint/no-explicit-any": "off",
29
+ "@typescript-eslint/no-non-null-asserted-optional-chain": "off",
30
+ indent: ["error", 2],
31
+ "linebreak-style": ["error", "windows"],
32
+ semi: ["error", "always"],
33
+
34
+ quotes: ["error", "double"],
35
+ },
36
+ },
37
+ ];
package/package.json CHANGED
@@ -1,26 +1,27 @@
1
1
  {
2
2
  "name": "@nerimity/nerimity.js",
3
- "version": "1.15.2",
3
+ "version": "1.16.0",
4
4
  "description": "",
5
5
  "main": "build/index.js",
6
6
  "keywords": [],
7
7
  "author": "SupertigerDev",
8
8
  "license": "ISC",
9
9
  "devDependencies": {
10
- "@types/node-fetch": "^2.6.12",
11
- "@types/ws": "^8.5.12",
12
- "@typescript-eslint/eslint-plugin": "^7.0.1",
13
- "@typescript-eslint/parser": "^7.0.1",
14
- "eslint": "^8.56.0",
15
- "nodemon": "^3.0.3",
10
+ "@eslint/js": "^9.39.1",
11
+ "@types/node-fetch": "^2.6.13",
12
+ "@types/ws": "^8.18.1",
13
+ "eslint": "^9.39.1",
14
+ "globals": "^16.5.0",
15
+ "nodemon": "^3.1.11",
16
16
  "ts-node": "^10.9.2",
17
- "typescript": "^5.3.3"
17
+ "typescript": "^5.9.3",
18
+ "typescript-eslint": "^8.48.1"
18
19
  },
19
20
  "dependencies": {
20
21
  "eventemitter3": "^5.0.1",
21
22
  "node-fetch": "^2.7.0",
22
- "socket.io-client": "^4.7.4",
23
- "ws": "^8.18.0"
23
+ "socket.io-client": "^4.8.1",
24
+ "ws": "^8.18.3"
24
25
  },
25
26
  "repository": {
26
27
  "type": "git",
package/src/EventNames.ts CHANGED
@@ -1,12 +1,9 @@
1
- import {
2
- Button,
3
- Message,
4
- Server,
5
- ServerChannel,
6
- ServerMember,
7
- ServerRole,
8
- ServerRoles,
9
- } from "./Client";
1
+ import { MessageButton } from "./classes/MessageButton";
2
+ import { Message } from "./classes/Message";
3
+ import { Server } from "./classes/Server";
4
+ import { ServerChannel } from "./classes/ServerChannel";
5
+ import { ServerMember } from "./classes/ServerMember";
6
+ import { ServerRole, ServerRoles } from "./classes/ServerRole";
10
7
 
11
8
  export const ClientEvents = {
12
9
  Ready: "ready",
@@ -36,7 +33,7 @@ export type ClientEventMap = {
36
33
  serverMemberUpdated: (member: ServerMember) => void;
37
34
  serverJoined: (server: Server) => void;
38
35
  serverLeft: (server: Server) => void;
39
- messageButtonClick: (button: Button) => void;
36
+ messageButtonClick: (button: MessageButton) => void;
40
37
  serverChannelCreated: (channel: ServerChannel) => void;
41
38
  serverChannelUpdated: (channel: ServerChannel) => void;
42
39
  serverChannelDeleted: (data: { serverId: string; channelId: string }) => void;
@@ -0,0 +1,50 @@
1
+ import { RawCDNUpload } from "../RawData";
2
+ import { Channel } from "./Channel";
3
+
4
+ const url = "https://cdn.nerimity.com";
5
+ const uploadUrl = `${url}/upload`;
6
+ const saveUrl = `${url}/attachments`;
7
+
8
+ export class AttachmentBuilder {
9
+ private file: Blob;
10
+ private name: string;
11
+
12
+ constructor(file: Blob, name: string) {
13
+ this.file = file;
14
+ this.name = name;
15
+ }
16
+
17
+ public async build(channel: Channel): Promise<string> {
18
+ const formData = new FormData();
19
+ formData.set("file", this.file, this.name);
20
+ const response = await upload(formData);
21
+ await sendUploadChannel(channel.id, response);
22
+ return response.fileId;
23
+ }
24
+ }
25
+
26
+ async function sendUploadChannel(id: string, cdn: RawCDNUpload) {
27
+ const response = await fetch(`${saveUrl}/${id}/${cdn.fileId}`, {
28
+ method: "POST",
29
+ body: JSON.stringify(cdn),
30
+ });
31
+
32
+ if (!response.ok) {
33
+ throw new Error(`Failed to send attachment: ${response.statusText}`);
34
+ }
35
+
36
+ return await response.json();
37
+ }
38
+
39
+ async function upload(dat: FormData) {
40
+ const response = await fetch(uploadUrl, {
41
+ method: "POST",
42
+ body: dat,
43
+ });
44
+
45
+ if (!response.ok) {
46
+ throw new Error(`Failed to upload attachment: ${response.statusText}`);
47
+ }
48
+
49
+ return await response.json();
50
+ }
@@ -0,0 +1,74 @@
1
+ import { ChannelType, RawChannel } from "../RawData";
2
+ import {
3
+ deleteMessage as requestMessageDelete,
4
+ postMessage,
5
+ } from "../services/MessageService";
6
+ import { Client } from "./Client";
7
+ import { Collection } from "./Collection";
8
+ import { Message, MessageOpts } from "./Message";
9
+ import { Server } from "./Server";
10
+ import { ServerChannel } from "./ServerChannel";
11
+
12
+ export class Channels {
13
+ client: Client;
14
+ cache: Collection<string, AllChannel>;
15
+ constructor(client: Client) {
16
+ this.client = client;
17
+ this.cache = new Collection();
18
+ }
19
+ setCache(rawChannel: { id: string } & Omit<Partial<RawChannel>, "id">) {
20
+ let channel: AllChannel;
21
+ if (rawChannel.serverId)
22
+ channel = new ServerChannel(this.client, rawChannel as RawChannel);
23
+ else channel = new Channel(this.client, rawChannel as RawChannel);
24
+ this.cache.set(channel.id, channel);
25
+ return channel;
26
+ }
27
+ }
28
+
29
+ export class Channel {
30
+ client: Client;
31
+ id: string;
32
+
33
+ type: ChannelType;
34
+ createdAt?: number;
35
+ lastMessagedAt?: number;
36
+ server?: Server;
37
+ constructor(client: Client, channel: RawChannel) {
38
+ this.client = client;
39
+ this.id = channel.id;
40
+ this.type = channel.type;
41
+ this.createdAt = channel.createdAt;
42
+ this.lastMessagedAt = channel.lastMessagedAt;
43
+ if (channel.serverId)
44
+ this.server = this.client.servers.cache.get(channel.serverId)!;
45
+ }
46
+
47
+ async send(content: string, opts?: MessageOpts) {
48
+ const RawMessage = await postMessage({
49
+ client: this.client,
50
+ channelId: this.id,
51
+ content: content,
52
+ silent: opts?.silent,
53
+ nerimityCdnFileId: opts?.nerimityCdnFileId,
54
+ htmlEmbed: opts?.htmlEmbed,
55
+ buttons: opts?.buttons,
56
+ replyToMessageIds: opts?.replyToMessageIds,
57
+ mentionReplies: opts?.mentionReplies,
58
+ });
59
+ const message = new Message(this.client, RawMessage);
60
+ return message;
61
+ }
62
+ toString() {
63
+ return `[#:${this.id}]`;
64
+ }
65
+ async deleteMessage(messageId: string) {
66
+ return requestMessageDelete({
67
+ channelId: this.id,
68
+ client: this.client,
69
+ messageId: messageId,
70
+ });
71
+ }
72
+ }
73
+
74
+ export type AllChannel = ServerChannel | Channel;