@nerimity/nerimity.js 1.4.0 → 1.5.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.
@@ -0,0 +1,3 @@
1
+ {
2
+ "editor.defaultFormatter": null
3
+ }
package/build/Client.d.ts CHANGED
@@ -1,7 +1,7 @@
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, RawServer, RawServerMember, RawUser } from './RawData';
4
+ import { ChannelType, MessageButtonClickPayload, MessageType, RawChannel, RawMessage, RawMessageButton, RawServer, RawServerMember, RawUser } from './RawData';
5
5
  export declare const Events: {
6
6
  readonly Ready: "ready";
7
7
  readonly MessageCreate: "messageCreate";
@@ -9,6 +9,7 @@ export declare const Events: {
9
9
  readonly ServerMemberJoined: "serverMemberJoined";
10
10
  readonly ServerJoined: "serverJoined";
11
11
  readonly ServerLeft: "serverLeft";
12
+ readonly MessageButtonClick: "messageButtonClick";
12
13
  };
13
14
  export declare class Client extends EventEmitter<ClientEventMap> {
14
15
  socket: Socket;
@@ -17,7 +18,9 @@ export declare class Client extends EventEmitter<ClientEventMap> {
17
18
  users: Users;
18
19
  channels: Channels;
19
20
  servers: Servers;
20
- constructor();
21
+ constructor(opts?: {
22
+ urlOverride?: string;
23
+ });
21
24
  login(token: string): void;
22
25
  }
23
26
  export declare class Users {
@@ -63,6 +66,7 @@ export declare class Channels {
63
66
  export type AllChannel = ServerChannel | Channel;
64
67
  export interface MessageOpts {
65
68
  htmlEmbed?: string;
69
+ buttons?: RawMessageButton[];
66
70
  }
67
71
  export declare class Channel {
68
72
  client: Client;
@@ -128,5 +132,19 @@ declare class ClientUser extends User {
128
132
  declare class Collection<K, V> extends Map<K, V> {
129
133
  constructor();
130
134
  }
135
+ export declare class Button {
136
+ client: Client;
137
+ id: string;
138
+ userId: string;
139
+ messageId: string;
140
+ channelId: string;
141
+ user?: User;
142
+ channel: Channel;
143
+ constructor(client: Client, payload: MessageButtonClickPayload);
144
+ respond(opts?: {
145
+ title?: string;
146
+ content?: string;
147
+ }): Promise<void>;
148
+ }
131
149
  export {};
132
150
  //# sourceMappingURL=Client.d.ts.map
@@ -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.ServerMember = exports.ServerMembers = exports.Server = exports.Servers = exports.Users = exports.Client = exports.Events = void 0;
6
+ exports.Button = 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");
@@ -11,8 +11,11 @@ const MessageService_1 = require("./services/MessageService");
11
11
  const serviceEndpoints_1 = require("./services/serviceEndpoints");
12
12
  exports.Events = EventNames_1.ClientEvents;
13
13
  class Client extends eventemitter3_1.default {
14
- constructor() {
14
+ constructor(opts) {
15
15
  super();
16
+ if (opts?.urlOverride) {
17
+ (0, serviceEndpoints_1.updatePath)(opts.urlOverride);
18
+ }
16
19
  this.socket = (0, socket_io_client_1.io)(serviceEndpoints_1.path, {
17
20
  transports: ['websocket'],
18
21
  autoConnect: false,
@@ -39,6 +42,7 @@ class EventHandlers {
39
42
  client.socket.on(EventNames_1.SocketServerEvents.SERVER_JOINED, this.onServerJoined.bind(this));
40
43
  client.socket.on(EventNames_1.SocketServerEvents.SERVER_LEFT, this.onServerLeft.bind(this));
41
44
  client.socket.on(EventNames_1.SocketServerEvents.MESSAGE_CREATED, this.onMessageCreated.bind(this));
45
+ client.socket.on(EventNames_1.SocketServerEvents.MESSAGE_BUTTON_CLICKED, this.onMessageButtonClicked.bind(this));
42
46
  }
43
47
  onConnect() {
44
48
  this.socket.emit(EventNames_1.SocketClientEvents.AUTHENTICATE, { token: this.client.token });
@@ -107,6 +111,10 @@ class EventHandlers {
107
111
  const message = new Message(this.client, payload.message);
108
112
  this.client.emit(EventNames_1.ClientEvents.MessageCreate, message);
109
113
  }
114
+ onMessageButtonClicked(payload) {
115
+ const button = new Button(this.client, payload);
116
+ this.client.emit('messageButtonClick', button);
117
+ }
110
118
  }
111
119
  class Users {
112
120
  constructor(client) {
@@ -193,7 +201,8 @@ class Channel {
193
201
  client: this.client,
194
202
  channelId: this.id,
195
203
  content: content,
196
- htmlEmbed: opts?.htmlEmbed
204
+ htmlEmbed: opts?.htmlEmbed,
205
+ buttons: opts?.buttons
197
206
  });
198
207
  const message = new Message(this.client, RawMessage);
199
208
  return message;
@@ -274,4 +283,27 @@ class Collection extends Map {
274
283
  super();
275
284
  }
276
285
  }
286
+ class Button {
287
+ constructor(client, payload) {
288
+ this.client = client;
289
+ this.id = payload.buttonId;
290
+ this.userId = payload.userId;
291
+ this.channelId = payload.channelId;
292
+ this.messageId = payload.messageId;
293
+ this.user = this.client.users.cache.get(this.userId);
294
+ this.channel = client.channels.cache.get(this.channelId);
295
+ }
296
+ async respond(opts) {
297
+ await (0, MessageService_1.buttonClickCallback)({
298
+ client: this.client,
299
+ buttonId: this.id,
300
+ channelId: this.channelId,
301
+ messageId: this.messageId,
302
+ userId: this.userId,
303
+ title: opts?.title,
304
+ content: opts?.content
305
+ });
306
+ }
307
+ }
308
+ exports.Button = Button;
277
309
  //# sourceMappingURL=Client.js.map
@@ -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,4 +1,4 @@
1
- import { Message, Server, ServerMember } from './Client';
1
+ import { Button, Message, Server, ServerMember } from './Client';
2
2
  export declare const ClientEvents: {
3
3
  readonly Ready: "ready";
4
4
  readonly MessageCreate: "messageCreate";
@@ -6,6 +6,7 @@ export declare const ClientEvents: {
6
6
  readonly ServerMemberJoined: "serverMemberJoined";
7
7
  readonly ServerJoined: "serverJoined";
8
8
  readonly ServerLeft: "serverLeft";
9
+ readonly MessageButtonClick: "messageButtonClick";
9
10
  };
10
11
  export type ClientEventMap = {
11
12
  'ready': () => void;
@@ -14,6 +15,7 @@ export type ClientEventMap = {
14
15
  'serverMemberJoined': (member: ServerMember) => void;
15
16
  'serverJoined': (server: Server) => void;
16
17
  'serverLeft': (server: Server) => void;
18
+ 'messageButtonClick': (button: Button) => void;
17
19
  };
18
20
  export declare const SocketClientEvents: {
19
21
  AUTHENTICATE: string;
@@ -47,6 +49,7 @@ export declare const SocketServerEvents: {
47
49
  readonly SERVER_CHANNEL_UPDATED: "server:channel_updated";
48
50
  readonly SERVER_CHANNEL_DELETED: "server:channel_deleted";
49
51
  readonly SERVER_ORDER_UPDATED: "server:order_updated";
52
+ readonly MESSAGE_BUTTON_CLICKED: "message:button_clicked";
50
53
  readonly CHANNEL_TYPING: "channel:typing";
51
54
  readonly MESSAGE_CREATED: "message:created";
52
55
  readonly MESSAGE_UPDATED: "message:updated";
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"EventNames.d.ts","sourceRoot":"","sources":["../src/EventNames.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAEjE,eAAO,MAAM,YAAY;;;;;;;;CAQf,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;IACvC,oBAAoB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAClD,CAAA;AAID,eAAO,MAAM,kBAAkB;;;;CAI9B,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCrB,CAAC"}
@@ -8,6 +8,7 @@ exports.ClientEvents = {
8
8
  ServerMemberJoined: 'serverMemberJoined',
9
9
  ServerJoined: 'serverJoined',
10
10
  ServerLeft: 'serverLeft',
11
+ MessageButtonClick: 'messageButtonClick',
11
12
  };
12
13
  exports.SocketClientEvents = {
13
14
  AUTHENTICATE: 'user:authenticate',
@@ -41,6 +42,7 @@ exports.SocketServerEvents = {
41
42
  SERVER_CHANNEL_UPDATED: 'server:channel_updated',
42
43
  SERVER_CHANNEL_DELETED: 'server:channel_deleted',
43
44
  SERVER_ORDER_UPDATED: 'server:order_updated',
45
+ MESSAGE_BUTTON_CLICKED: 'message:button_clicked',
44
46
  CHANNEL_TYPING: 'channel:typing',
45
47
  MESSAGE_CREATED: 'message:created',
46
48
  MESSAGE_UPDATED: 'message:updated',
@@ -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;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
+ {"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;IACxB,kBAAkB,EAAE,oBAAoB;CAClC,CAAC;AAeE,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;IAE5C,sBAAsB,EAAE,wBAAwB;IAEhD,cAAc,EAAE,gBAAgB;IAChC,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,iBAAiB;CAC5B,CAAC"}
@@ -10,6 +10,12 @@ export interface AuthenticatedPayload {
10
10
  inbox: any[];
11
11
  lastSeenServerChannelIds: Record<string, number>;
12
12
  }
13
+ export interface MessageButtonClickPayload {
14
+ messageId: string;
15
+ channelId: string;
16
+ buttonId: string;
17
+ userId: string;
18
+ }
13
19
  export interface RawServer {
14
20
  id: string;
15
21
  name: string;
@@ -55,6 +61,12 @@ export interface RawMessage {
55
61
  editedAt?: number;
56
62
  mentions?: Array<RawUser>;
57
63
  attachments?: Array<any>;
64
+ buttons?: RawMessageButton[];
65
+ }
66
+ export interface RawMessageButton {
67
+ id: string;
68
+ label: string;
69
+ alert?: boolean;
58
70
  }
59
71
  export interface RawServerMember {
60
72
  serverId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"RawData.d.ts","sourceRoot":"","sources":["../src/RawData.ts"],"names":[],"mappings":"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"}
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":";;;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"}
1
+ {"version":3,"file":"RawData.js","sourceRoot":"","sources":["../src/RawData.ts"],"names":[],"mappings":";;;AAoDA,IAAY,WAMX;AAND,WAAY,WAAW;IACrB,mDAAW,CAAA;IACX,2DAAe,CAAA;IACf,6DAAgB,CAAA;IAChB,uDAAa,CAAA;IACb,qDAAY,CAAA;AACd,CAAC,EANW,WAAW,2BAAX,WAAW,QAMtB;AA8BD,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,mDAAW,CAAA;IACX,2DAAe,CAAA;IACf,qDAAY,CAAA;AACd,CAAC,EAJW,WAAW,2BAAX,WAAW,QAItB"}
package/build/example.js CHANGED
@@ -7,8 +7,16 @@ client.on(Client_1.Events.Ready, () => {
7
7
  });
8
8
  client.on(Client_1.Events.MessageCreate, message => {
9
9
  console.log(message.content);
10
- if (message.content === 'ping') {
11
- message.reply('Pong!');
10
+ if (message.content === '!ping') {
11
+ message.reply('Pong!', { buttons: [{ id: 'hello', label: 'Hello!' }] });
12
+ }
13
+ });
14
+ client.on(Client_1.Events.MessageButtonClick, button => {
15
+ if (button.id === 'hello') {
16
+ button.respond({
17
+ title: 'Hey!',
18
+ content: `Hey there **${button.user?.username}**!`
19
+ });
12
20
  }
13
21
  });
14
22
  client.login('token');
@@ -1 +1 @@
1
- {"version":3,"file":"example.js","sourceRoot":"","sources":["../src/example.ts"],"names":[],"mappings":";;AAAA,qCAA0C;AAE1C,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;AAG5B,MAAM,CAAC,EAAE,CAAC,eAAM,CAAC,KAAK,EAAE,GAAG,EAAE;IACzB,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,IAAI,EAAE,QAAQ,GAAG,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,EAAE,CAAC,eAAM,CAAC,aAAa,EAAE,OAAO,CAAC,EAAE;IACtC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7B,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;AACL,CAAC,CAAC,CAAC;AAGH,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"example.js","sourceRoot":"","sources":["../src/example.ts"],"names":[],"mappings":";;AAAA,qCAA0C;AAE1C,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;AAG5B,MAAM,CAAC,EAAE,CAAC,eAAM,CAAC,KAAK,EAAE,GAAG,EAAE;IACzB,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,IAAI,EAAE,QAAQ,GAAG,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,EAAE,CAAC,eAAM,CAAC,aAAa,EAAE,OAAO,CAAC,EAAE;IACtC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7B,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,EAAC,OAAO,EAAE,CAAC,EAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAC,CAAC,EAAC,CAAC,CAAC;IACxE,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,EAAE,CAAC,eAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,EAAE;IAC1C,IAAI,MAAM,CAAC,EAAE,KAAK,OAAO,EAAE,CAAC;QAExB,MAAM,CAAC,OAAO,CAAC;YACX,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,eAAe,MAAM,CAAC,IAAI,EAAE,QAAQ,KAAK;SACrD,CAAC,CAAC;IACP,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC"}
@@ -1,10 +1,11 @@
1
1
  import { Client } from '../Client';
2
- import { RawMessage } from '../RawData';
2
+ import { RawMessage, RawMessageButton } from '../RawData';
3
3
  interface PostMessageOpts {
4
4
  client: Client;
5
5
  channelId: string;
6
6
  content: string;
7
7
  htmlEmbed?: string;
8
+ buttons?: RawMessageButton[];
8
9
  }
9
10
  export declare function postMessage(opts: PostMessageOpts): Promise<RawMessage>;
10
11
  interface EditMessageOpts {
@@ -14,6 +15,16 @@ interface EditMessageOpts {
14
15
  content: string;
15
16
  }
16
17
  export declare function editMessage(opts: EditMessageOpts): Promise<RawMessage>;
18
+ interface ButtonClickCallbackOpts {
19
+ client: Client;
20
+ buttonId: string;
21
+ channelId: string;
22
+ messageId: string;
23
+ userId: string;
24
+ title?: string;
25
+ content?: string;
26
+ }
27
+ export declare function buttonClickCallback(opts: ButtonClickCallbackOpts): Promise<unknown>;
17
28
  interface RequestOpts {
18
29
  url: string;
19
30
  method: 'POST' | 'GET' | 'PUT' | 'PATCH' | 'DELETE';
@@ -1 +1 @@
1
- {"version":3,"file":"MessageService.d.ts","sourceRoot":"","sources":["../../src/services/MessageService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAIxC,UAAU,eAAe;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,eAAe,uBAQhD;AAED,UAAU,eAAe;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,eAAe,uBAQhD;AAMD,UAAU,WAAW;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IACpD,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;CAChB;AAEH,wBAAsB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CA0B9D"}
1
+ {"version":3,"file":"MessageService.d.ts","sourceRoot":"","sources":["../../src/services/MessageService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAI1D,UAAU,eAAe;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;CAC/B;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,eAAe,uBAQhD;AAED,UAAU,eAAe;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,eAAe,uBAQhD;AAED,UAAU,uBAAuB;IAC7B,MAAM,EAAE,MAAM,CAAC;IAEf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAElB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,oBAYhE;AAMD,UAAU,WAAW;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IACpD,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;CAChB;AAEH,wBAAsB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CA0B9D"}
@@ -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.request = exports.editMessage = exports.postMessage = void 0;
6
+ exports.request = exports.buttonClickCallback = exports.editMessage = exports.postMessage = void 0;
7
7
  const serviceEndpoints_1 = require("./serviceEndpoints");
8
8
  const node_fetch_1 = __importDefault(require("node-fetch"));
9
9
  function postMessage(opts) {
@@ -11,7 +11,7 @@ function postMessage(opts) {
11
11
  client: opts.client,
12
12
  url: serviceEndpoints_1.ServiceEndpoints.PostMessage(opts.channelId),
13
13
  method: 'POST',
14
- body: { content: opts.content, htmlEmbed: opts.htmlEmbed },
14
+ body: { content: opts.content, htmlEmbed: opts.htmlEmbed, buttons: opts.buttons },
15
15
  useToken: true,
16
16
  }).catch(err => { throw err.message; });
17
17
  }
@@ -26,6 +26,20 @@ function editMessage(opts) {
26
26
  }).catch(err => { throw err.message; });
27
27
  }
28
28
  exports.editMessage = editMessage;
29
+ function buttonClickCallback(opts) {
30
+ return request({
31
+ client: opts.client,
32
+ url: serviceEndpoints_1.ServiceEndpoints.ButtonClickCallback(opts.channelId, opts.messageId, opts.buttonId),
33
+ method: 'POST',
34
+ body: {
35
+ userId: opts.userId,
36
+ title: opts.title,
37
+ content: opts.content
38
+ },
39
+ useToken: true,
40
+ }).catch(err => { throw err.message; });
41
+ }
42
+ exports.buttonClickCallback = buttonClickCallback;
29
43
  async function request(opts) {
30
44
  const url = new URL(opts.url);
31
45
  url.search = new URLSearchParams(opts.params || {}).toString();
@@ -1 +1 @@
1
- {"version":3,"file":"MessageService.js","sourceRoot":"","sources":["../../src/services/MessageService.ts"],"names":[],"mappings":";;;;;;AAEA,yDAAsD;AACtD,4DAA+B;AAS/B,SAAgB,WAAW,CAAC,IAAqB;IAC7C,OAAO,OAAO,CAAa;QACvB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,EAAE,mCAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC;QACjD,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,EAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAC;QACxD,QAAQ,EAAE,IAAI;KACjB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAE,MAAM,GAAG,CAAC,OAAO,CAAC,CAAA,CAAC,CAAC,CAAC;AAC1C,CAAC;AARD,kCAQC;AASD,SAAgB,WAAW,CAAC,IAAqB;IAC7C,OAAO,OAAO,CAAa;QACvB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,EAAE,mCAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC;QACjE,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,GAAE,MAAM,GAAG,CAAC,OAAO,CAAC,CAAA,CAAC,CAAC,CAAC;AAC1C,CAAC;AARD,kCAQC;AAgBM,KAAK,UAAU,OAAO,CAAI,IAAiB;IAC9C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,GAAG,CAAC,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IAE/D,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAK,EAAC,GAAG,EAAE;QAC9B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;QAC/B,OAAO,EAAE;YACL,cAAc,EAAE,kBAAkB;YAClC,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAM,CAAC,CAAC,CAAC,EAAE;SAC3D;KACJ,CAAC;SACG,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,+BAA+B,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,IAAI,CAAC,OAAO;QAAE,OAAO,IAAS,CAAC;IAEnC,IAAI,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,MAAM,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC;IAC1B,CAAC;AACL,CAAC;AA1BD,0BA0BC"}
1
+ {"version":3,"file":"MessageService.js","sourceRoot":"","sources":["../../src/services/MessageService.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
- export declare const path = "https://nerimity.com";
1
+ export declare let path: string;
2
+ export declare const updatePath: (newPath: string) => void;
2
3
  export declare const ServiceEndpoints: {
3
4
  GetMessages: (channelId: string) => string;
4
5
  PostMessage: (channelId: string) => string;
5
6
  EditMessage: (channelId: string, messageId: string) => string;
7
+ ButtonClickCallback: (channelId: string, messageId: string, buttonId: string) => string;
6
8
  };
7
9
  //# sourceMappingURL=serviceEndpoints.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"serviceEndpoints.d.ts","sourceRoot":"","sources":["../../src/services/serviceEndpoints.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,IAAI,yBAAyB,CAAC;AAM3C,eAAO,MAAM,gBAAgB;6BAJG,MAAM;6BACN,MAAM;6BACN,MAAM,aAAa,MAAM;CAMxD,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,YAAa,MAAM,SAGzC,CAAC;AAQF,eAAO,MAAM,gBAAgB;6BAPG,MAAM;6BACN,MAAM;6BACN,MAAM,aAAa,MAAM;qCAGjB,MAAM,aAAa,MAAM,YAAY,MAAM;CAOlF,CAAC"}
@@ -1,15 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ServiceEndpoints = exports.path = void 0;
3
+ exports.ServiceEndpoints = exports.updatePath = exports.path = void 0;
4
4
  // export const path = 'http://localhost:8080';
5
5
  exports.path = 'https://nerimity.com';
6
- const BaseUrl = exports.path + '/api';
6
+ let BaseUrl = exports.path + '/api';
7
+ const updatePath = (newPath) => {
8
+ exports.path = newPath;
9
+ BaseUrl = exports.path + '/api';
10
+ };
11
+ exports.updatePath = updatePath;
7
12
  const GetMessages = (channelId) => `${BaseUrl}/channels/${channelId}/messages`;
8
13
  const PostMessage = (channelId) => `${BaseUrl}/channels/${channelId}/messages`;
9
14
  const EditMessage = (channelId, messageId) => `${BaseUrl}/channels/${channelId}/messages/${messageId}`;
15
+ const ButtonClickCallback = (channelId, messageId, buttonId) => `${BaseUrl}/channels/${channelId}/messages/${messageId}/buttons/${buttonId}/callback`;
10
16
  exports.ServiceEndpoints = {
11
17
  GetMessages,
12
18
  PostMessage,
13
- EditMessage
19
+ EditMessage,
20
+ ButtonClickCallback
14
21
  };
15
22
  //# sourceMappingURL=serviceEndpoints.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"serviceEndpoints.js","sourceRoot":"","sources":["../../src/services/serviceEndpoints.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAClC,QAAA,IAAI,GAAG,sBAAsB,CAAC;AAC3C,MAAM,OAAO,GAAG,YAAI,GAAG,MAAM,CAAC;AAC9B,MAAM,WAAW,GAAG,CAAC,SAAiB,EAAE,EAAE,CAAC,GAAG,OAAO,aAAa,SAAS,WAAW,CAAC;AACvF,MAAM,WAAW,GAAG,CAAC,SAAiB,EAAE,EAAE,CAAC,GAAG,OAAO,aAAa,SAAS,WAAW,CAAC;AACvF,MAAM,WAAW,GAAG,CAAC,SAAiB,EAAE,SAAiB,EAAE,EAAE,CAAC,GAAG,OAAO,aAAa,SAAS,aAAa,SAAS,EAAE,CAAC;AAE1G,QAAA,gBAAgB,GAAG;IAC5B,WAAW;IACX,WAAW;IACX,WAAW;CACd,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;IAC1C,YAAI,GAAG,OAAO,CAAC;IACf,OAAO,GAAG,YAAI,GAAG,MAAM,CAAC;AAC5B,CAAC,CAAC;AAHW,QAAA,UAAU,cAGrB;AACF,MAAM,WAAW,GAAG,CAAC,SAAiB,EAAE,EAAE,CAAC,GAAG,OAAO,aAAa,SAAS,WAAW,CAAC;AACvF,MAAM,WAAW,GAAG,CAAC,SAAiB,EAAE,EAAE,CAAC,GAAG,OAAO,aAAa,SAAS,WAAW,CAAC;AACvF,MAAM,WAAW,GAAG,CAAC,SAAiB,EAAE,SAAiB,EAAE,EAAE,CAAC,GAAG,OAAO,aAAa,SAAS,aAAa,SAAS,EAAE,CAAC;AAGvH,MAAM,mBAAmB,GAAG,CAAC,SAAiB,EAAE,SAAiB,EAAE,QAAgB,EAAE,EAAE,CAAC,GAAG,OAAO,aAAa,SAAS,aAAa,SAAS,YAAY,QAAQ,WAAW,CAAC;AAEjK,QAAA,gBAAgB,GAAG;IAC5B,WAAW;IACX,WAAW;IACX,WAAW;IACX,mBAAmB;CACtB,CAAC"}
package/package.json CHANGED
@@ -1,12 +1,8 @@
1
1
  {
2
2
  "name": "@nerimity/nerimity.js",
3
- "version": "1.4.0",
3
+ "version": "1.5.0",
4
4
  "description": "",
5
5
  "main": "build/index.js",
6
- "scripts": {
7
- "build": "tsc",
8
- "prepublishOnly": "tsc"
9
- },
10
6
  "keywords": [],
11
7
  "author": "",
12
8
  "license": "ISC",
@@ -23,5 +19,8 @@
23
19
  "eventemitter3": "^5.0.1",
24
20
  "node-fetch": "^2.7.0",
25
21
  "socket.io-client": "^4.7.4"
22
+ },
23
+ "scripts": {
24
+ "build": "tsc"
26
25
  }
27
- }
26
+ }
package/src/Client.ts CHANGED
@@ -1,9 +1,9 @@
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, RawServer, RawServerMember, RawUser } from './RawData';
5
- import { editMessage, postMessage } from './services/MessageService';
6
- import { path } from './services/serviceEndpoints';
4
+ import { AuthenticatedPayload, ChannelType, MessageButtonClickPayload, MessageType, RawChannel, RawMessage, RawMessageButton, RawServer, RawServerMember, RawUser } from './RawData';
5
+ import { buttonClickCallback, editMessage, postMessage } from './services/MessageService';
6
+ import { path, updatePath } from './services/serviceEndpoints';
7
7
 
8
8
 
9
9
  export const Events = ClientEvents;
@@ -15,9 +15,13 @@ export class Client extends EventEmitter<ClientEventMap> {
15
15
  users: Users;
16
16
  channels: Channels;
17
17
  servers: Servers;
18
- constructor() {
18
+
19
+ constructor(opts?: { urlOverride?: string; }) {
19
20
  super();
20
- this.socket = io(path, {
21
+ if (opts?.urlOverride) {
22
+ updatePath(opts.urlOverride);
23
+ }
24
+ this.socket = io( path, {
21
25
  transports: ['websocket'],
22
26
  autoConnect: false,
23
27
  });
@@ -52,6 +56,8 @@ class EventHandlers {
52
56
  client.socket.on(SocketServerEvents.SERVER_LEFT, this.onServerLeft.bind(this));
53
57
 
54
58
  client.socket.on(SocketServerEvents.MESSAGE_CREATED, this.onMessageCreated.bind(this));
59
+
60
+ client.socket.on(SocketServerEvents.MESSAGE_BUTTON_CLICKED, this.onMessageButtonClicked.bind(this));
55
61
  }
56
62
  onConnect() {
57
63
  this.socket.emit(SocketClientEvents.AUTHENTICATE, {token: this.client.token});
@@ -134,6 +140,10 @@ class EventHandlers {
134
140
  const message = new Message(this.client, payload.message);
135
141
  this.client.emit(ClientEvents.MessageCreate, message);
136
142
  }
143
+ onMessageButtonClicked(payload: MessageButtonClickPayload) {
144
+ const button = new Button(this.client, payload);
145
+ this.client.emit('messageButtonClick', button);
146
+ }
137
147
  }
138
148
 
139
149
 
@@ -240,6 +250,7 @@ export type AllChannel = ServerChannel | Channel
240
250
 
241
251
  export interface MessageOpts {
242
252
  htmlEmbed?: string;
253
+ buttons?: RawMessageButton[]
243
254
  }
244
255
 
245
256
  export class Channel {
@@ -261,7 +272,8 @@ export class Channel {
261
272
  client: this.client,
262
273
  channelId: this.id,
263
274
  content: content,
264
- htmlEmbed: opts?.htmlEmbed
275
+ htmlEmbed: opts?.htmlEmbed,
276
+ buttons: opts?.buttons
265
277
  });
266
278
  const message = new Message(this.client, RawMessage);
267
279
  return message;
@@ -390,4 +402,46 @@ class Collection<K, V> extends Map<K, V> {
390
402
  constructor() {
391
403
  super();
392
404
  }
405
+ }
406
+
407
+
408
+
409
+
410
+ export class Button {
411
+ client: Client;
412
+ id: string;
413
+
414
+ userId: string;
415
+ messageId: string;
416
+ channelId: string;
417
+
418
+ user?: User;
419
+ channel: Channel;
420
+
421
+
422
+ constructor(client: Client, payload: MessageButtonClickPayload) {
423
+ this.client = client;
424
+
425
+ this.id = payload.buttonId;
426
+ this.userId = payload.userId;
427
+ this.channelId = payload.channelId;
428
+ this.messageId = payload.messageId;
429
+ this.user = this.client.users.cache.get(this.userId);
430
+
431
+ this.channel = client.channels.cache.get(this.channelId)!;
432
+ }
433
+
434
+ async respond(opts?: {title?: string, content?: string}) {
435
+ await buttonClickCallback({
436
+ client: this.client,
437
+ buttonId: this.id,
438
+ channelId: this.channelId,
439
+ messageId: this.messageId,
440
+ userId: this.userId,
441
+ title: opts?.title,
442
+ content: opts?.content
443
+ });
444
+ }
445
+
446
+
393
447
  }
package/src/EventNames.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Message, Server, ServerMember } from './Client';
1
+ import { Button, Message, Server, ServerMember } from './Client';
2
2
 
3
3
  export const ClientEvents = {
4
4
  Ready: 'ready',
@@ -7,6 +7,7 @@ export const ClientEvents = {
7
7
  ServerMemberJoined: 'serverMemberJoined',
8
8
  ServerJoined: 'serverJoined',
9
9
  ServerLeft: 'serverLeft',
10
+ MessageButtonClick: 'messageButtonClick',
10
11
  } as const;
11
12
 
12
13
 
@@ -17,6 +18,7 @@ export type ClientEventMap = {
17
18
  'serverMemberJoined': (member: ServerMember) => void;
18
19
  'serverJoined': (server: Server) => void;
19
20
  'serverLeft': (server: Server) => void;
21
+ 'messageButtonClick': (button: Button) => void;
20
22
  }
21
23
 
22
24
 
@@ -62,7 +64,7 @@ export const SocketServerEvents = {
62
64
  SERVER_CHANNEL_DELETED: 'server:channel_deleted',
63
65
  SERVER_ORDER_UPDATED: 'server:order_updated',
64
66
 
65
-
67
+ MESSAGE_BUTTON_CLICKED: 'message:button_clicked',
66
68
 
67
69
  CHANNEL_TYPING: 'channel:typing',
68
70
  MESSAGE_CREATED: 'message:created',
package/src/RawData.ts CHANGED
@@ -1,91 +1,107 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
2
  export interface AuthenticatedPayload {
3
- user: RawUser;
4
- servers: RawServer[];
5
- serverMembers: RawServerMember[];
6
- messageMentions: any[]
7
- channels: RawChannel[];
8
- serverRoles: any[];
9
- presences: any[];
10
- friends: any[];
11
- inbox: any[];
12
- lastSeenServerChannelIds: Record<string, number>; // { [channelId]: timestamp }
3
+ user: RawUser;
4
+ servers: RawServer[];
5
+ serverMembers: RawServerMember[];
6
+ messageMentions: any[];
7
+ channels: RawChannel[];
8
+ serverRoles: any[];
9
+ presences: any[];
10
+ friends: any[];
11
+ inbox: any[];
12
+ lastSeenServerChannelIds: Record<string, number>; // { [channelId]: timestamp }
13
+ }
14
+
15
+
16
+ export interface MessageButtonClickPayload {
17
+ messageId: string;
18
+ channelId: string;
19
+ buttonId: string;
20
+ userId: string;
13
21
  }
14
22
 
15
23
  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
- }
24
+ id: string;
25
+ name: string;
26
+ hexColor: string;
27
+ defaultChannelId: string;
28
+ systemChannelId?: string;
29
+ avatar?: string;
30
+ banner?: string;
31
+ defaultRoleId: string;
32
+ createdById: string;
33
+ createdAt: number;
34
+ verified: boolean;
35
+ customEmojis: any[];
36
+ _count?: {
37
+ welcomeQuestions: number;
38
+ };
39
+ }
32
40
 
33
41
  export interface RawUser {
34
- id: string;
35
- avatar?: string;
36
- banner?: string;
37
- username: string;
38
- bot?: boolean;
39
- hexColor: string;
40
- tag: string;
41
- badges: number;
42
- joinedAt?: number;
42
+ id: string;
43
+ avatar?: string;
44
+ banner?: string;
45
+ username: string;
46
+ bot?: boolean;
47
+ hexColor: string;
48
+ tag: string;
49
+ badges: number;
50
+ joinedAt?: number;
43
51
  }
44
52
 
45
53
  export enum MessageType {
46
- CONTENT = 0,
47
- JOIN_SERVER = 1,
48
- LEAVE_SERVER = 2,
49
- KICK_USER = 3,
50
- BAN_USER = 4
54
+ CONTENT = 0,
55
+ JOIN_SERVER = 1,
56
+ LEAVE_SERVER = 2,
57
+ KICK_USER = 3,
58
+ BAN_USER = 4,
51
59
  }
52
60
 
53
61
  export interface RawMessage {
54
- id: string;
55
- channelId: string;
56
- content?: string;
57
- createdBy: RawUser;
58
- type: MessageType;
59
- createdAt: number;
60
- editedAt?: number;
61
- mentions?: Array<RawUser>;
62
- attachments?: Array<any>
62
+ id: string;
63
+ channelId: string;
64
+ content?: string;
65
+ createdBy: RawUser;
66
+ type: MessageType;
67
+ createdAt: number;
68
+ editedAt?: number;
69
+ mentions?: Array<RawUser>;
70
+ attachments?: Array<any>;
71
+ buttons?: RawMessageButton[]
72
+ }
73
+
74
+
75
+ export interface RawMessageButton {
76
+ id: string;
77
+ label: string;
78
+
79
+ alert?: boolean;
63
80
  }
64
81
 
65
82
  export interface RawServerMember {
66
- serverId: string;
67
- user: RawUser;
68
- joinedAt: number;
69
- roleIds: string[];
70
- }
71
-
83
+ serverId: string;
84
+ user: RawUser;
85
+ joinedAt: number;
86
+ roleIds: string[];
87
+ }
72
88
 
73
89
  export enum ChannelType {
74
- DM_TEXT = 0,
75
- SERVER_TEXT = 1,
76
- CATEGORY = 2,
77
- }
78
-
90
+ DM_TEXT = 0,
91
+ SERVER_TEXT = 1,
92
+ CATEGORY = 2,
93
+ }
94
+
79
95
  export interface RawChannel {
80
- id: string;
81
- categoryId?: string;
82
- name: string
83
- createdById?: string;
84
- serverId?: string;
85
- type: ChannelType;
86
- permissions?: number
87
- createdAt: number
88
- lastMessagedAt?: number;
89
- order?: number;
90
- _count?: {attachments: number}
91
- }
96
+ id: string;
97
+ categoryId?: string;
98
+ name: string;
99
+ createdById?: string;
100
+ serverId?: string;
101
+ type: ChannelType;
102
+ permissions?: number;
103
+ createdAt: number;
104
+ lastMessagedAt?: number;
105
+ order?: number;
106
+ _count?: { attachments: number };
107
+ }
package/src/example.ts CHANGED
@@ -9,10 +9,19 @@ client.on(Events.Ready, () => {
9
9
 
10
10
  client.on(Events.MessageCreate, message => {
11
11
  console.log(message.content);
12
- if (message.content === 'ping') {
13
- message.reply('Pong!');
12
+ if (message.content === '!ping') {
13
+ message.reply('Pong!', {buttons: [{id: 'hello', label: 'Hello!'}]});
14
14
  }
15
15
  });
16
16
 
17
+ client.on(Events.MessageButtonClick, button => {
18
+ if (button.id === 'hello') {
19
+
20
+ button.respond({
21
+ title: 'Hey!',
22
+ content: `Hey there **${button.user?.username}**!`
23
+ });
24
+ }
25
+ });
17
26
 
18
27
  client.login('token');
@@ -1,5 +1,5 @@
1
1
  import { Client } from '../Client';
2
- import { RawMessage } from '../RawData';
2
+ import { RawMessage, RawMessageButton } from '../RawData';
3
3
  import { ServiceEndpoints } from './serviceEndpoints';
4
4
  import fetch from 'node-fetch';
5
5
 
@@ -8,6 +8,7 @@ interface PostMessageOpts {
8
8
  channelId: string;
9
9
  content: string;
10
10
  htmlEmbed?: string;
11
+ buttons?: RawMessageButton[]
11
12
  }
12
13
 
13
14
  export function postMessage(opts: PostMessageOpts) {
@@ -15,7 +16,7 @@ export function postMessage(opts: PostMessageOpts) {
15
16
  client: opts.client,
16
17
  url: ServiceEndpoints.PostMessage(opts.channelId),
17
18
  method: 'POST',
18
- body: {content: opts.content, htmlEmbed: opts.htmlEmbed},
19
+ body: {content: opts.content, htmlEmbed: opts.htmlEmbed, buttons: opts.buttons},
19
20
  useToken: true,
20
21
  }).catch(err => {throw err.message;});
21
22
  }
@@ -37,6 +38,33 @@ export function editMessage(opts: EditMessageOpts) {
37
38
  }).catch(err => {throw err.message;});
38
39
  }
39
40
 
41
+ interface ButtonClickCallbackOpts {
42
+ client: Client;
43
+
44
+ buttonId: string;
45
+ channelId: string;
46
+ messageId: string;
47
+
48
+ userId: string;
49
+ title?: string;
50
+ content?: string;
51
+ }
52
+
53
+
54
+ export function buttonClickCallback(opts: ButtonClickCallbackOpts) {
55
+ return request({
56
+ client: opts.client,
57
+ url: ServiceEndpoints.ButtonClickCallback(opts.channelId, opts.messageId, opts.buttonId),
58
+ method: 'POST',
59
+ body: {
60
+ userId: opts.userId,
61
+ title: opts.title,
62
+ content: opts.content
63
+ },
64
+ useToken: true,
65
+ }).catch(err => {throw err.message;});
66
+ }
67
+
40
68
 
41
69
 
42
70
 
@@ -1,12 +1,21 @@
1
1
  // export const path = 'http://localhost:8080';
2
- export const path = 'https://nerimity.com';
3
- const BaseUrl = path + '/api';
2
+ export let path = 'https://nerimity.com';
3
+ let BaseUrl = path + '/api';
4
+
5
+ export const updatePath = (newPath: string) => {
6
+ path = newPath;
7
+ BaseUrl = path + '/api';
8
+ };
4
9
  const GetMessages = (channelId: string) => `${BaseUrl}/channels/${channelId}/messages`;
5
10
  const PostMessage = (channelId: string) => `${BaseUrl}/channels/${channelId}/messages`;
6
11
  const EditMessage = (channelId: string, messageId: string) => `${BaseUrl}/channels/${channelId}/messages/${messageId}`;
7
12
 
13
+
14
+ const ButtonClickCallback = (channelId: string, messageId: string, buttonId: string) => `${BaseUrl}/channels/${channelId}/messages/${messageId}/buttons/${buttonId}/callback`;
15
+
8
16
  export const ServiceEndpoints = {
9
17
  GetMessages,
10
18
  PostMessage,
11
- EditMessage
19
+ EditMessage,
20
+ ButtonClickCallback
12
21
  };