@nerimity/nerimity.js 1.12.1 → 1.14.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/src/EventNames.ts CHANGED
@@ -1,81 +1,95 @@
1
- import { Button, Message, Server, ServerChannel, ServerMember } from './Client';
1
+ import {
2
+ Button,
3
+ Message,
4
+ Server,
5
+ ServerChannel,
6
+ ServerMember,
7
+ ServerRole,
8
+ ServerRoles,
9
+ } from "./Client";
2
10
 
3
11
  export const ClientEvents = {
4
- Ready: 'ready',
5
- MessageCreate: 'messageCreate',
6
- MessageUpdate: 'messageUpdate',
7
- ServerMemberLeft: 'serverMemberLeft',
8
- ServerMemberJoined: 'serverMemberJoined',
9
- ServerJoined: 'serverJoined',
10
- ServerLeft: 'serverLeft',
11
- MessageButtonClick: 'messageButtonClick',
12
- ServerChannelCreated: 'serverChannelCreated',
13
- ServerChannelUpdated: 'serverChannelUpdated',
14
- ServerChannelDeleted: 'serverChannelDeleted',
12
+ Ready: "ready",
13
+ MessageCreate: "messageCreate",
14
+ MessageUpdate: "messageUpdate",
15
+ ServerMemberLeft: "serverMemberLeft",
16
+ ServerMemberJoined: "serverMemberJoined",
17
+ ServerMemberUpdated: "serverMemberUpdated",
18
+ ServerJoined: "serverJoined",
19
+ ServerLeft: "serverLeft",
20
+ MessageButtonClick: "messageButtonClick",
21
+ ServerChannelCreated: "serverChannelCreated",
22
+ ServerChannelUpdated: "serverChannelUpdated",
23
+ ServerChannelDeleted: "serverChannelDeleted",
24
+ ServerRoleCreated: "serverRoleCreated",
25
+ ServerRoleDeleted: "serverRoleDeleted",
26
+ ServerRoleUpdated: "serverRoleUpdated",
27
+ ServerRoleOrderUpdated: "serverRoleOrderUpdated",
15
28
  } as const;
16
29
 
17
-
18
30
  export type ClientEventMap = {
19
- 'ready': () => void;
20
- 'messageCreate': (message: Message) => void;
21
- 'messageUpdate': (message: Message) => void;
22
- 'serverMemberLeft': (member: ServerMember) => void;
23
- 'serverMemberJoined': (member: ServerMember) => void;
24
- 'serverJoined': (server: Server) => void;
25
- 'serverLeft': (server: Server) => void;
26
- 'messageButtonClick': (button: Button) => void;
27
- 'serverChannelCreated': (channel: ServerChannel) => void;
28
- 'serverChannelUpdated': (channel: ServerChannel) => void;
29
- 'serverChannelDeleted': (data: {serverId: string; channelId: string}) => void;
30
- }
31
-
32
-
31
+ ready: () => void;
32
+ messageCreate: (message: Message) => void;
33
+ messageUpdate: (message: Message) => void;
34
+ serverMemberLeft: (member: ServerMember) => void;
35
+ serverMemberJoined: (member: ServerMember) => void;
36
+ serverMemberUpdated: (member: ServerMember) => void;
37
+ serverJoined: (server: Server) => void;
38
+ serverLeft: (server: Server) => void;
39
+ messageButtonClick: (button: Button) => void;
40
+ serverChannelCreated: (channel: ServerChannel) => void;
41
+ serverChannelUpdated: (channel: ServerChannel) => void;
42
+ serverChannelDeleted: (data: { serverId: string; channelId: string }) => void;
43
+ serverRoleCreated: (data: ServerRole) => void;
44
+ serverRoleDeleted: (data: ServerRole) => void;
45
+ serverRoleUpdated: (data: ServerRole) => void;
46
+ serverRoleOrderUpdated: (data: ServerRoles) => void;
47
+ };
33
48
 
34
49
  export const SocketClientEvents = {
35
- AUTHENTICATE: 'user:authenticate',
36
- NOTIFICATION_DISMISS: 'notification:dismiss',
37
- UPDATE_ACTIVITY: 'user:update_activity',
50
+ AUTHENTICATE: "user:authenticate",
51
+ NOTIFICATION_DISMISS: "notification:dismiss",
52
+ UPDATE_ACTIVITY: "user:update_activity",
38
53
  };
39
-
54
+
40
55
  export const SocketServerEvents = {
41
- CONNECT: 'connect',
42
- AUTHENTICATE_ERROR:'user:authenticate_error',
43
- USER_UPDATED: 'user:updated',
44
-
45
- USER_AUTHENTICATED: 'user:authenticated',
46
-
47
- USER_PRESENCE_UPDATE: 'user:presence_update',
48
-
49
- FRIEND_REQUEST_SENT: 'friend:request_sent',
50
- FRIEND_REQUEST_PENDING: 'friend:request_pending',
51
- FRIEND_REQUEST_ACCEPTED: 'friend:request_accepted',
52
- FRIEND_REMOVED: 'friend:removed',
53
- INBOX_OPENED: 'inbox:opened',
54
- NOTIFICATION_DISMISSED: 'notification:dismissed',
55
-
56
- SERVER_JOINED: 'server:joined',
57
- SERVER_LEFT: 'server:left',
58
- SERVER_UPDATED: 'server:updated',
59
- SERVER_ROLE_CREATED: 'server:role_created',
60
- SERVER_ROLE_UPDATED: 'server:role_updated',
61
- SERVER_ROLE_ORDER_UPDATED: 'server:role_order_updated',
62
- SERVER_CHANNEL_ORDER_UPDATED: 'server:channel_order_updated',
63
-
64
- SERVER_ROLE_DELETED: 'server:role_deleted',
65
-
66
-
67
- SERVER_MEMBER_JOINED: 'server:member_joined',
68
- SERVER_MEMBER_LEFT: 'server:member_left',
69
- SERVER_MEMBER_UPDATED: 'server:member_updated',
70
- SERVER_CHANNEL_CREATED: 'server:channel_created',
71
- SERVER_CHANNEL_UPDATED: 'server:channel_updated',
72
- SERVER_CHANNEL_DELETED: 'server:channel_deleted',
73
- SERVER_ORDER_UPDATED: 'server:order_updated',
74
-
75
- MESSAGE_BUTTON_CLICKED: 'message:button_clicked',
76
-
77
- CHANNEL_TYPING: 'channel:typing',
78
- MESSAGE_CREATED: 'message:created',
79
- MESSAGE_UPDATED: 'message:updated',
80
- MESSAGE_DELETED: 'message:deleted',
81
- } as const;
56
+ CONNECT: "connect",
57
+ AUTHENTICATE_ERROR: "user:authenticate_error",
58
+ USER_UPDATED: "user:updated",
59
+
60
+ USER_AUTHENTICATED: "user:authenticated",
61
+
62
+ USER_PRESENCE_UPDATE: "user:presence_update",
63
+
64
+ FRIEND_REQUEST_SENT: "friend:request_sent",
65
+ FRIEND_REQUEST_PENDING: "friend:request_pending",
66
+ FRIEND_REQUEST_ACCEPTED: "friend:request_accepted",
67
+ FRIEND_REMOVED: "friend:removed",
68
+ INBOX_OPENED: "inbox:opened",
69
+ NOTIFICATION_DISMISSED: "notification:dismissed",
70
+
71
+ SERVER_JOINED: "server:joined",
72
+ SERVER_LEFT: "server:left",
73
+ SERVER_UPDATED: "server:updated",
74
+ SERVER_ROLE_CREATED: "server:role_created",
75
+ SERVER_ROLE_UPDATED: "server:role_updated",
76
+ SERVER_ROLE_ORDER_UPDATED: "server:role_order_updated",
77
+ SERVER_CHANNEL_ORDER_UPDATED: "server:channel_order_updated",
78
+
79
+ SERVER_ROLE_DELETED: "server:role_deleted",
80
+
81
+ SERVER_MEMBER_JOINED: "server:member_joined",
82
+ SERVER_MEMBER_LEFT: "server:member_left",
83
+ SERVER_MEMBER_UPDATED: "server:member_updated",
84
+ SERVER_CHANNEL_CREATED: "server:channel_created",
85
+ SERVER_CHANNEL_UPDATED: "server:channel_updated",
86
+ SERVER_CHANNEL_DELETED: "server:channel_deleted",
87
+ SERVER_ORDER_UPDATED: "server:order_updated",
88
+
89
+ MESSAGE_BUTTON_CLICKED: "message:button_clicked",
90
+
91
+ CHANNEL_TYPING: "channel:typing",
92
+ MESSAGE_CREATED: "message:created",
93
+ MESSAGE_UPDATED: "message:updated",
94
+ MESSAGE_DELETED: "message:deleted",
95
+ } as const;
package/src/RawData.ts CHANGED
@@ -89,6 +89,7 @@ export interface RawMessageButton {
89
89
  export interface RawServerMember {
90
90
  serverId: string;
91
91
  user: RawUser;
92
+ nickname?: string | null;
92
93
  joinedAt: number;
93
94
  roleIds: string[];
94
95
  }
@@ -98,7 +99,19 @@ export enum ChannelType {
98
99
  SERVER_TEXT = 1,
99
100
  CATEGORY = 2,
100
101
  }
101
-
102
+ export interface RawServerRole {
103
+ id: string;
104
+ name: string;
105
+ icon?: string;
106
+ order: number;
107
+ hexColor: string;
108
+ createdById: string;
109
+ permissions: number;
110
+ serverId: string;
111
+ hideRole: boolean;
112
+ botRole?: boolean;
113
+ applyOnJoin?: boolean;
114
+ }
102
115
  export interface RawChannel {
103
116
  id: string;
104
117
  categoryId?: string;
package/src/bitwise.ts ADDED
@@ -0,0 +1,25 @@
1
+ export const RolePermissions = {
2
+ ADMIN: 1,
3
+ SEND_MESSAGE: 2,
4
+ MANAGE_ROLES: 4,
5
+ MANAGE_CHANNELS: 8,
6
+ KICK: 16,
7
+ BAN: 32,
8
+ MENTION_EVERYONE: 64,
9
+ NICKNAME_MEMBER: 128,
10
+ MENTION_ROLES: 256,
11
+ } as const;
12
+
13
+ export type AvailablePermissions =
14
+ (typeof RolePermissions)[keyof typeof RolePermissions];
15
+
16
+ export const hasBit = (permissions: number, bit: number) => {
17
+ return (permissions & bit) === bit;
18
+ };
19
+
20
+ export const addBit = (permissions: number, bit: number) => {
21
+ return permissions | bit;
22
+ };
23
+ export const removeBit = (permissions: number, bit: number) => {
24
+ return permissions & ~bit;
25
+ };
package/src/index.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export { Client, Events } from "./Client";
2
2
  export { AttachmentBuilder } from "./Attachment";
3
3
  export { RPCClient, EmitPayload } from "./RPCClient";
4
- export { WebhookBuilder } from "./Webhooks";
4
+ export { WebhookBuilder } from "./Webhooks";
5
+ export { RolePermissions } from "./bitwise";
@@ -0,0 +1,18 @@
1
+ import { Client } from "../Client";
2
+ import { request } from "./MessageService";
3
+ import { ServiceEndpoints } from "./serviceEndpoints";
4
+
5
+ export async function banServerMember(
6
+ client: Client,
7
+ serverId: string,
8
+ userId: string
9
+ ) {
10
+ return await request<any>({
11
+ client: client,
12
+ url: ServiceEndpoints.serverMemberBan(serverId, userId),
13
+ method: "POST",
14
+ useToken: true,
15
+ }).catch((err) => {
16
+ throw new Error(`Failed to ban server member. ${err.message}`);
17
+ });
18
+ }
@@ -28,6 +28,9 @@ const ButtonClickCallback = (
28
28
  ) =>
29
29
  `${BaseUrl}/channels/${channelId}/messages/${messageId}/buttons/${buttonId}/callback`;
30
30
 
31
+ const serverMemberBan = (serverId: string, userId: string) =>
32
+ `${BaseUrl}/servers/${serverId}/bans/${userId}`;
33
+
31
34
  export const ServiceEndpoints = {
32
35
  GetMessages,
33
36
  PostMessage,
@@ -38,4 +41,5 @@ export const ServiceEndpoints = {
38
41
  DeletePost,
39
42
  BotCommands,
40
43
  ButtonClickCallback,
44
+ serverMemberBan,
41
45
  };