mezon-js 2.12.14 → 2.12.16

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.
@@ -6856,6 +6856,70 @@ var WebSocketAdapterText = class {
6856
6856
  };
6857
6857
 
6858
6858
  // socket.ts
6859
+ function CreateChannelMessageFromEvent(message) {
6860
+ var content, reactions, mentions, attachments, references, referencedMessags;
6861
+ try {
6862
+ content = safeJSONParse(message.channel_message.content);
6863
+ } catch (e2) {
6864
+ console.log("content is invalid", e2);
6865
+ }
6866
+ try {
6867
+ reactions = safeJSONParse(message.channel_message.reactions);
6868
+ } catch (e2) {
6869
+ console.log("reactions is invalid", e2);
6870
+ }
6871
+ try {
6872
+ mentions = safeJSONParse(message.channel_message.mentions);
6873
+ } catch (e2) {
6874
+ console.log("mentions is invalid", e2);
6875
+ }
6876
+ try {
6877
+ attachments = safeJSONParse(message.channel_message.attachments);
6878
+ } catch (e2) {
6879
+ console.log("attachments is invalid", e2);
6880
+ }
6881
+ try {
6882
+ references = safeJSONParse(message.channel_message.references);
6883
+ } catch (e2) {
6884
+ console.log("references is invalid", e2);
6885
+ }
6886
+ try {
6887
+ referencedMessags = safeJSONParse(message.channel_message.referenced_message);
6888
+ } catch (e2) {
6889
+ console.log("referenced messages is invalid", e2);
6890
+ }
6891
+ var e = {
6892
+ id: message.id || message.channel_message.message_id,
6893
+ avatar: message.channel_message.avatar,
6894
+ channel_id: message.channel_message.channel_id,
6895
+ mode: message.channel_message.mode,
6896
+ channel_label: message.channel_message.channel_label,
6897
+ clan_id: message.channel_message.clan_id,
6898
+ code: message.channel_message.code,
6899
+ create_time: message.channel_message.create_time,
6900
+ message_id: message.channel_message.message_id,
6901
+ sender_id: message.channel_message.sender_id,
6902
+ update_time: message.channel_message.update_time,
6903
+ clan_logo: message.channel_message.clan_logo,
6904
+ category_name: message.channel_message.category_name,
6905
+ username: message.channel_message.username,
6906
+ clan_nick: message.channel_message.clan_nick,
6907
+ clan_avatar: message.channel_message.clan_avatar,
6908
+ display_name: message.channel_message.display_name,
6909
+ content,
6910
+ reactions,
6911
+ mentions,
6912
+ attachments,
6913
+ referenced_message: referencedMessags,
6914
+ references,
6915
+ hide_editted: message.channel_message.hide_editted,
6916
+ is_public: message.channel_message.is_public,
6917
+ create_time_seconds: message.channel_message.create_time_seconds,
6918
+ update_time_seconds: message.channel_message.update_time_seconds,
6919
+ topic_id: message.channel_message.topic_id
6920
+ };
6921
+ return e;
6922
+ }
6859
6923
  var _DefaultSocket = class _DefaultSocket {
6860
6924
  constructor(host, port, useSSL = false, verbose = false, adapter = new WebSocketAdapterText(), sendTimeoutMs = _DefaultSocket.DefaultSendTimeoutMs) {
6861
6925
  this.host = host;
@@ -6957,68 +7021,11 @@ var _DefaultSocket = class _DefaultSocket {
6957
7021
  } else if (message.stream_data) {
6958
7022
  this.onstreamdata(message.stream_data);
6959
7023
  } else if (message.channel_message) {
6960
- var content, reactions, mentions, attachments, references, referencedMessags;
6961
- try {
6962
- content = safeJSONParse(message.channel_message.content);
6963
- } catch (e2) {
6964
- console.log("content is invalid", e2);
6965
- }
6966
- try {
6967
- reactions = safeJSONParse(message.channel_message.reactions);
6968
- } catch (e2) {
6969
- console.log("reactions is invalid", e2);
6970
- }
6971
- try {
6972
- mentions = safeJSONParse(message.channel_message.mentions);
6973
- } catch (e2) {
6974
- console.log("mentions is invalid", e2);
6975
- }
6976
- try {
6977
- attachments = safeJSONParse(message.channel_message.attachments);
6978
- } catch (e2) {
6979
- console.log("attachments is invalid", e2);
6980
- }
6981
- try {
6982
- references = safeJSONParse(message.channel_message.references);
6983
- } catch (e2) {
6984
- console.log("references is invalid", e2);
6985
- }
6986
- try {
6987
- referencedMessags = safeJSONParse(message.channel_message.referenced_message);
6988
- } catch (e2) {
6989
- console.log("referenced messages is invalid", e2);
6990
- }
6991
- var e = {
6992
- id: message.id || message.channel_message.message_id,
6993
- avatar: message.channel_message.avatar,
6994
- channel_id: message.channel_message.channel_id,
6995
- mode: message.channel_message.mode,
6996
- channel_label: message.channel_message.channel_label,
6997
- clan_id: message.channel_message.clan_id,
6998
- code: message.channel_message.code,
6999
- create_time: message.channel_message.create_time,
7000
- message_id: message.channel_message.message_id,
7001
- sender_id: message.channel_message.sender_id,
7002
- update_time: message.channel_message.update_time,
7003
- clan_logo: message.channel_message.clan_logo,
7004
- category_name: message.channel_message.category_name,
7005
- username: message.channel_message.username,
7006
- clan_nick: message.channel_message.clan_nick,
7007
- clan_avatar: message.channel_message.clan_avatar,
7008
- display_name: message.channel_message.display_name,
7009
- content,
7010
- reactions,
7011
- mentions,
7012
- attachments,
7013
- referenced_message: referencedMessags,
7014
- references,
7015
- hide_editted: message.channel_message.hide_editted,
7016
- is_public: message.channel_message.is_public,
7017
- create_time_seconds: message.channel_message.create_time_seconds,
7018
- update_time_seconds: message.channel_message.update_time_seconds,
7019
- topic_id: message.channel_message.topic_id
7020
- };
7021
- this.onchannelmessage(e);
7024
+ const channelMessage = CreateChannelMessageFromEvent(message);
7025
+ this.onchannelmessage(channelMessage);
7026
+ } else if (message.ephemeral_message_send) {
7027
+ const channelMessage = CreateChannelMessageFromEvent(message);
7028
+ this.onephemeralmessage(channelMessage);
7022
7029
  } else if (message.message_typing_event) {
7023
7030
  this.onmessagetyping(
7024
7031
  message.message_typing_event
@@ -7053,6 +7060,8 @@ var _DefaultSocket = class _DefaultSocket {
7053
7060
  this.onuserchannelremoved(
7054
7061
  message.user_channel_removed_event
7055
7062
  );
7063
+ } else if (message.block_friend) {
7064
+ this.onblockfriend(message.block_friend);
7056
7065
  } else if (message.remove_friend) {
7057
7066
  this.onremovefriend(message.remove_friend);
7058
7067
  } else if (message.user_clan_removed_event) {
@@ -7194,6 +7203,11 @@ var _DefaultSocket = class _DefaultSocket {
7194
7203
  console.log(channelMessage);
7195
7204
  }
7196
7205
  }
7206
+ onephemeralmessage(ephemeralMessage) {
7207
+ if (this.verbose && window && window.console) {
7208
+ console.log(ephemeralMessage);
7209
+ }
7210
+ }
7197
7211
  onchannelpresence(channelPresence) {
7198
7212
  if (this.verbose && window && window.console) {
7199
7213
  console.log(channelPresence);
@@ -7224,6 +7238,11 @@ var _DefaultSocket = class _DefaultSocket {
7224
7238
  console.log(user);
7225
7239
  }
7226
7240
  }
7241
+ onblockfriend(user) {
7242
+ if (this.verbose && window && window.console) {
7243
+ console.log(user);
7244
+ }
7245
+ }
7227
7246
  onuserclanremoved(user) {
7228
7247
  if (this.verbose && window && window.console) {
7229
7248
  console.log(user);
@@ -7477,6 +7496,7 @@ var _DefaultSocket = class _DefaultSocket {
7477
7496
  send(message, sendTimeout = _DefaultSocket.DefaultSendTimeoutMs) {
7478
7497
  const untypedMessage = message;
7479
7498
  return new Promise((resolve, reject) => {
7499
+ var _a;
7480
7500
  if (!this.adapter.isOpen()) {
7481
7501
  reject("Socket connection has not been established yet.");
7482
7502
  } else {
@@ -7488,6 +7508,10 @@ var _DefaultSocket = class _DefaultSocket {
7488
7508
  untypedMessage.channel_message_update.content = JSON.stringify(
7489
7509
  untypedMessage.channel_message_update.content
7490
7510
  );
7511
+ } else if (untypedMessage.ephemeral_message_send) {
7512
+ untypedMessage.ephemeral_message_send.message.content = JSON.stringify(
7513
+ (_a = untypedMessage.ephemeral_message_send.message) == null ? void 0 : _a.content
7514
+ );
7491
7515
  }
7492
7516
  const cid = this.generatecid();
7493
7517
  this.cIds[cid] = { resolve, reject };
@@ -7613,6 +7637,31 @@ var _DefaultSocket = class _DefaultSocket {
7613
7637
  updateStatus(status) {
7614
7638
  return this.send({ status_update: { status } });
7615
7639
  }
7640
+ writeEphemeralMessage(receiver_id, clan_id, channel_id, mode, is_public, content, mentions, attachments, references, anonymous_message, mention_everyone, avatar, code, topic_id) {
7641
+ return __async(this, null, function* () {
7642
+ const response = yield this.send({
7643
+ ephemeral_message_send: {
7644
+ receiver_id,
7645
+ message: {
7646
+ clan_id,
7647
+ channel_id,
7648
+ mode,
7649
+ is_public,
7650
+ content,
7651
+ mentions,
7652
+ attachments,
7653
+ references,
7654
+ anonymous_message,
7655
+ mention_everyone,
7656
+ avatar,
7657
+ code,
7658
+ topic_id
7659
+ }
7660
+ }
7661
+ });
7662
+ return response.channel_message_ack;
7663
+ });
7664
+ }
7616
7665
  writeChatMessage(clan_id, channel_id, mode, is_public, content, mentions, attachments, references, anonymous_message, mention_everyone, avatar, code, topic_id) {
7617
7666
  return __async(this, null, function* () {
7618
7667
  const response = yield this.send({
@@ -6822,6 +6822,70 @@ var WebSocketAdapterText = class {
6822
6822
  };
6823
6823
 
6824
6824
  // socket.ts
6825
+ function CreateChannelMessageFromEvent(message) {
6826
+ var content, reactions, mentions, attachments, references, referencedMessags;
6827
+ try {
6828
+ content = safeJSONParse(message.channel_message.content);
6829
+ } catch (e2) {
6830
+ console.log("content is invalid", e2);
6831
+ }
6832
+ try {
6833
+ reactions = safeJSONParse(message.channel_message.reactions);
6834
+ } catch (e2) {
6835
+ console.log("reactions is invalid", e2);
6836
+ }
6837
+ try {
6838
+ mentions = safeJSONParse(message.channel_message.mentions);
6839
+ } catch (e2) {
6840
+ console.log("mentions is invalid", e2);
6841
+ }
6842
+ try {
6843
+ attachments = safeJSONParse(message.channel_message.attachments);
6844
+ } catch (e2) {
6845
+ console.log("attachments is invalid", e2);
6846
+ }
6847
+ try {
6848
+ references = safeJSONParse(message.channel_message.references);
6849
+ } catch (e2) {
6850
+ console.log("references is invalid", e2);
6851
+ }
6852
+ try {
6853
+ referencedMessags = safeJSONParse(message.channel_message.referenced_message);
6854
+ } catch (e2) {
6855
+ console.log("referenced messages is invalid", e2);
6856
+ }
6857
+ var e = {
6858
+ id: message.id || message.channel_message.message_id,
6859
+ avatar: message.channel_message.avatar,
6860
+ channel_id: message.channel_message.channel_id,
6861
+ mode: message.channel_message.mode,
6862
+ channel_label: message.channel_message.channel_label,
6863
+ clan_id: message.channel_message.clan_id,
6864
+ code: message.channel_message.code,
6865
+ create_time: message.channel_message.create_time,
6866
+ message_id: message.channel_message.message_id,
6867
+ sender_id: message.channel_message.sender_id,
6868
+ update_time: message.channel_message.update_time,
6869
+ clan_logo: message.channel_message.clan_logo,
6870
+ category_name: message.channel_message.category_name,
6871
+ username: message.channel_message.username,
6872
+ clan_nick: message.channel_message.clan_nick,
6873
+ clan_avatar: message.channel_message.clan_avatar,
6874
+ display_name: message.channel_message.display_name,
6875
+ content,
6876
+ reactions,
6877
+ mentions,
6878
+ attachments,
6879
+ referenced_message: referencedMessags,
6880
+ references,
6881
+ hide_editted: message.channel_message.hide_editted,
6882
+ is_public: message.channel_message.is_public,
6883
+ create_time_seconds: message.channel_message.create_time_seconds,
6884
+ update_time_seconds: message.channel_message.update_time_seconds,
6885
+ topic_id: message.channel_message.topic_id
6886
+ };
6887
+ return e;
6888
+ }
6825
6889
  var _DefaultSocket = class _DefaultSocket {
6826
6890
  constructor(host, port, useSSL = false, verbose = false, adapter = new WebSocketAdapterText(), sendTimeoutMs = _DefaultSocket.DefaultSendTimeoutMs) {
6827
6891
  this.host = host;
@@ -6923,68 +6987,11 @@ var _DefaultSocket = class _DefaultSocket {
6923
6987
  } else if (message.stream_data) {
6924
6988
  this.onstreamdata(message.stream_data);
6925
6989
  } else if (message.channel_message) {
6926
- var content, reactions, mentions, attachments, references, referencedMessags;
6927
- try {
6928
- content = safeJSONParse(message.channel_message.content);
6929
- } catch (e2) {
6930
- console.log("content is invalid", e2);
6931
- }
6932
- try {
6933
- reactions = safeJSONParse(message.channel_message.reactions);
6934
- } catch (e2) {
6935
- console.log("reactions is invalid", e2);
6936
- }
6937
- try {
6938
- mentions = safeJSONParse(message.channel_message.mentions);
6939
- } catch (e2) {
6940
- console.log("mentions is invalid", e2);
6941
- }
6942
- try {
6943
- attachments = safeJSONParse(message.channel_message.attachments);
6944
- } catch (e2) {
6945
- console.log("attachments is invalid", e2);
6946
- }
6947
- try {
6948
- references = safeJSONParse(message.channel_message.references);
6949
- } catch (e2) {
6950
- console.log("references is invalid", e2);
6951
- }
6952
- try {
6953
- referencedMessags = safeJSONParse(message.channel_message.referenced_message);
6954
- } catch (e2) {
6955
- console.log("referenced messages is invalid", e2);
6956
- }
6957
- var e = {
6958
- id: message.id || message.channel_message.message_id,
6959
- avatar: message.channel_message.avatar,
6960
- channel_id: message.channel_message.channel_id,
6961
- mode: message.channel_message.mode,
6962
- channel_label: message.channel_message.channel_label,
6963
- clan_id: message.channel_message.clan_id,
6964
- code: message.channel_message.code,
6965
- create_time: message.channel_message.create_time,
6966
- message_id: message.channel_message.message_id,
6967
- sender_id: message.channel_message.sender_id,
6968
- update_time: message.channel_message.update_time,
6969
- clan_logo: message.channel_message.clan_logo,
6970
- category_name: message.channel_message.category_name,
6971
- username: message.channel_message.username,
6972
- clan_nick: message.channel_message.clan_nick,
6973
- clan_avatar: message.channel_message.clan_avatar,
6974
- display_name: message.channel_message.display_name,
6975
- content,
6976
- reactions,
6977
- mentions,
6978
- attachments,
6979
- referenced_message: referencedMessags,
6980
- references,
6981
- hide_editted: message.channel_message.hide_editted,
6982
- is_public: message.channel_message.is_public,
6983
- create_time_seconds: message.channel_message.create_time_seconds,
6984
- update_time_seconds: message.channel_message.update_time_seconds,
6985
- topic_id: message.channel_message.topic_id
6986
- };
6987
- this.onchannelmessage(e);
6990
+ const channelMessage = CreateChannelMessageFromEvent(message);
6991
+ this.onchannelmessage(channelMessage);
6992
+ } else if (message.ephemeral_message_send) {
6993
+ const channelMessage = CreateChannelMessageFromEvent(message);
6994
+ this.onephemeralmessage(channelMessage);
6988
6995
  } else if (message.message_typing_event) {
6989
6996
  this.onmessagetyping(
6990
6997
  message.message_typing_event
@@ -7019,6 +7026,8 @@ var _DefaultSocket = class _DefaultSocket {
7019
7026
  this.onuserchannelremoved(
7020
7027
  message.user_channel_removed_event
7021
7028
  );
7029
+ } else if (message.block_friend) {
7030
+ this.onblockfriend(message.block_friend);
7022
7031
  } else if (message.remove_friend) {
7023
7032
  this.onremovefriend(message.remove_friend);
7024
7033
  } else if (message.user_clan_removed_event) {
@@ -7160,6 +7169,11 @@ var _DefaultSocket = class _DefaultSocket {
7160
7169
  console.log(channelMessage);
7161
7170
  }
7162
7171
  }
7172
+ onephemeralmessage(ephemeralMessage) {
7173
+ if (this.verbose && window && window.console) {
7174
+ console.log(ephemeralMessage);
7175
+ }
7176
+ }
7163
7177
  onchannelpresence(channelPresence) {
7164
7178
  if (this.verbose && window && window.console) {
7165
7179
  console.log(channelPresence);
@@ -7190,6 +7204,11 @@ var _DefaultSocket = class _DefaultSocket {
7190
7204
  console.log(user);
7191
7205
  }
7192
7206
  }
7207
+ onblockfriend(user) {
7208
+ if (this.verbose && window && window.console) {
7209
+ console.log(user);
7210
+ }
7211
+ }
7193
7212
  onuserclanremoved(user) {
7194
7213
  if (this.verbose && window && window.console) {
7195
7214
  console.log(user);
@@ -7443,6 +7462,7 @@ var _DefaultSocket = class _DefaultSocket {
7443
7462
  send(message, sendTimeout = _DefaultSocket.DefaultSendTimeoutMs) {
7444
7463
  const untypedMessage = message;
7445
7464
  return new Promise((resolve, reject) => {
7465
+ var _a;
7446
7466
  if (!this.adapter.isOpen()) {
7447
7467
  reject("Socket connection has not been established yet.");
7448
7468
  } else {
@@ -7454,6 +7474,10 @@ var _DefaultSocket = class _DefaultSocket {
7454
7474
  untypedMessage.channel_message_update.content = JSON.stringify(
7455
7475
  untypedMessage.channel_message_update.content
7456
7476
  );
7477
+ } else if (untypedMessage.ephemeral_message_send) {
7478
+ untypedMessage.ephemeral_message_send.message.content = JSON.stringify(
7479
+ (_a = untypedMessage.ephemeral_message_send.message) == null ? void 0 : _a.content
7480
+ );
7457
7481
  }
7458
7482
  const cid = this.generatecid();
7459
7483
  this.cIds[cid] = { resolve, reject };
@@ -7579,6 +7603,31 @@ var _DefaultSocket = class _DefaultSocket {
7579
7603
  updateStatus(status) {
7580
7604
  return this.send({ status_update: { status } });
7581
7605
  }
7606
+ writeEphemeralMessage(receiver_id, clan_id, channel_id, mode, is_public, content, mentions, attachments, references, anonymous_message, mention_everyone, avatar, code, topic_id) {
7607
+ return __async(this, null, function* () {
7608
+ const response = yield this.send({
7609
+ ephemeral_message_send: {
7610
+ receiver_id,
7611
+ message: {
7612
+ clan_id,
7613
+ channel_id,
7614
+ mode,
7615
+ is_public,
7616
+ content,
7617
+ mentions,
7618
+ attachments,
7619
+ references,
7620
+ anonymous_message,
7621
+ mention_everyone,
7622
+ avatar,
7623
+ code,
7624
+ topic_id
7625
+ }
7626
+ }
7627
+ });
7628
+ return response.channel_message_ack;
7629
+ });
7630
+ }
7582
7631
  writeChatMessage(clan_id, channel_id, mode, is_public, content, mentions, attachments, references, anonymous_message, mention_everyone, avatar, code, topic_id) {
7583
7632
  return __async(this, null, function* () {
7584
7633
  const response = yield this.send({
package/dist/socket.d.ts CHANGED
@@ -236,6 +236,29 @@ interface ChannelMessageSend {
236
236
  topic_id?: string;
237
237
  };
238
238
  }
239
+ interface EphemeralMessageSend {
240
+ ephemeral_message_send: {
241
+ receiver_id: string;
242
+ message: {
243
+ /** Clan Id */
244
+ clan_id: string;
245
+ /** The server-assigned channel ID. */
246
+ channel_id: string;
247
+ mode: number;
248
+ channel_label: string;
249
+ /** The content payload. */
250
+ content: any;
251
+ mentions?: Array<ApiMessageMention>;
252
+ attachments?: Array<ApiMessageAttachment>;
253
+ anonymous_message?: boolean;
254
+ mention_everyone?: boolean;
255
+ avatar: string;
256
+ is_public: boolean;
257
+ code: number;
258
+ topic_id?: string;
259
+ };
260
+ };
261
+ }
239
262
  /** Update a message previously sent to a realtime chat channel. */
240
263
  interface ChannelMessageUpdate {
241
264
  channel_message_update: {
@@ -578,6 +601,9 @@ export interface UserEmojiUsage {
578
601
  export interface RemoveFriend {
579
602
  user_id: string;
580
603
  }
604
+ export interface BlockFriend {
605
+ user_id: string;
606
+ }
581
607
  export interface AddUserEmojiUsageEvent {
582
608
  emoji_id: string;
583
609
  clan_id: string;
@@ -779,6 +805,8 @@ export interface Socket {
779
805
  updateStatus(status?: string): Promise<void>;
780
806
  /** Send a chat message to a chat channel on the server. */
781
807
  writeChatMessage(clan_id: string, channel_id: string, mode: number, is_public: boolean, content?: any, mentions?: Array<ApiMessageMention>, attachments?: Array<ApiMessageAttachment>, references?: Array<ApiMessageRef>, anonymous_message?: boolean, mention_everyone?: boolean, avatar?: string, code?: number, topic_id?: string): Promise<ChannelMessageAck>;
808
+ /** Send a chat message to a chat channel on the server. */
809
+ writeEphemeralMessage(receiver_id: string, clan_id: string, channel_id: string, mode: number, is_public: boolean, content?: any, mentions?: Array<ApiMessageMention>, attachments?: Array<ApiMessageAttachment>, references?: Array<ApiMessageRef>, anonymous_message?: boolean, mention_everyone?: boolean, avatar?: string, code?: number, topic_id?: string): Promise<ChannelMessageAck>;
782
810
  /** Send message typing */
783
811
  writeMessageTyping(clan_id: string, channel_id: string, mode: number, is_public: boolean, sender_display_name: string): Promise<MessageTypingEvent>;
784
812
  /** Send message reaction */
@@ -821,6 +849,8 @@ export interface Socket {
821
849
  oncanvasevent: (canvasEvent: ChannelCanvas) => void;
822
850
  /** Receive channel message. */
823
851
  onchannelmessage: (channelMessage: ChannelMessage) => void;
852
+ /** Receive channel message. */
853
+ onephemeralmessage: (ephemeralMessage: ChannelMessage) => void;
824
854
  /** Receive typing event */
825
855
  onmessagetyping: (messageTypingEvent: MessageTypingEvent) => void;
826
856
  /** Receive reaction event */
@@ -838,6 +868,7 @@ export interface Socket {
838
868
  /** Receive channel removed user event */
839
869
  onuserchannelremoved: (user: UserChannelRemovedEvent) => void;
840
870
  onremovefriend: (user: RemoveFriend) => void;
871
+ onblockfriend: (user: BlockFriend) => void;
841
872
  /** Receive clan removed user event */
842
873
  onuserclanremoved: (user: UserClanRemovedEvent) => void;
843
874
  onvoicestarted: (voice: VoiceStartedEvent) => void;
@@ -915,12 +946,14 @@ export declare class DefaultSocket implements Socket {
915
946
  onmessagetyping(messagetyping: MessageTypingEvent): void;
916
947
  onmessagereaction(messagereaction: ApiMessageReaction): void;
917
948
  onchannelmessage(channelMessage: ChannelMessage): void;
949
+ onephemeralmessage(ephemeralMessage: ChannelMessage): void;
918
950
  onchannelpresence(channelPresence: ChannelPresenceEvent): void;
919
951
  onuserchanneladded(user: UserChannelAddedEvent): void;
920
952
  onuserclanadded(user: AddClanUserEvent): void;
921
953
  onuserprofileupdate(user: UserProfileUpdatedEvent): void;
922
954
  onuserchannelremoved(user: UserChannelRemovedEvent): void;
923
955
  onremovefriend(user: RemoveFriend): void;
956
+ onblockfriend(user: BlockFriend): void;
924
957
  onuserclanremoved(user: UserClanRemovedEvent): void;
925
958
  onnotification(notification: ApiNotification): void;
926
959
  onstatuspresence(statusPresence: StatusPresenceEvent): void;
@@ -971,7 +1004,7 @@ export declare class DefaultSocket implements Socket {
971
1004
  onuserstatusevent(user_status_event: UserStatusEvent): void;
972
1005
  onJoinChannelAppEvent(join_channel_app_data: JoinChannelAppData): void;
973
1006
  onUnpinMessageEvent(unpin_message_event: UnpinMessageEvent): void;
974
- send(message: ChannelJoin | ChannelLeave | ChannelMessageSend | ChannelMessageUpdate | CustomStatusEvent | ChannelMessageRemove | MessageTypingEvent | LastSeenMessageEvent | Rpc | StatusFollow | StatusUnfollow | StatusUpdate | Ping | WebrtcSignalingFwd | IncomingCallPush | MessageButtonClicked | DropdownBoxSelected | ChannelAppEvent, sendTimeout?: number): Promise<any>;
1007
+ send(message: ChannelJoin | ChannelLeave | ChannelMessageSend | ChannelMessageUpdate | CustomStatusEvent | ChannelMessageRemove | MessageTypingEvent | LastSeenMessageEvent | Rpc | StatusFollow | StatusUnfollow | StatusUpdate | Ping | WebrtcSignalingFwd | IncomingCallPush | MessageButtonClicked | DropdownBoxSelected | ChannelAppEvent | EphemeralMessageSend, sendTimeout?: number): Promise<any>;
975
1008
  followUsers(userIds: string[]): Promise<Status>;
976
1009
  joinClanChat(clan_id: string): Promise<ClanJoin>;
977
1010
  follower(): Promise<void>;
@@ -983,6 +1016,7 @@ export declare class DefaultSocket implements Socket {
983
1016
  unfollowUsers(user_ids: string[]): Promise<void>;
984
1017
  updateChatMessage(clan_id: string, channel_id: string, mode: number, is_public: boolean, message_id: string, content: any, mentions?: Array<ApiMessageMention>, attachments?: Array<ApiMessageAttachment>, hideEditted?: boolean, topic_id?: string, is_update_msg_topic?: boolean): Promise<ChannelMessageAck>;
985
1018
  updateStatus(status?: string): Promise<void>;
1019
+ writeEphemeralMessage(receiver_id: string, clan_id: string, channel_id: string, mode: number, is_public: boolean, content: any, mentions?: Array<ApiMessageMention>, attachments?: Array<ApiMessageAttachment>, references?: Array<ApiMessageRef>, anonymous_message?: boolean, mention_everyone?: Boolean, avatar?: string, code?: number, topic_id?: string): Promise<ChannelMessageAck>;
986
1020
  writeChatMessage(clan_id: string, channel_id: string, mode: number, is_public: boolean, content: any, mentions?: Array<ApiMessageMention>, attachments?: Array<ApiMessageAttachment>, references?: Array<ApiMessageRef>, anonymous_message?: boolean, mention_everyone?: Boolean, avatar?: string, code?: number, topic_id?: string): Promise<ChannelMessageAck>;
987
1021
  writeMessageReaction(id: string, clan_id: string, channel_id: string, mode: number, is_public: boolean, message_id: string, emoji_id: string, emoji: string, count: number, message_sender_id: string, action_delete: boolean, topic_id?: string, emoji_recent_id?: string): Promise<ApiMessageReaction>;
988
1022
  writeMessageTyping(clan_id: string, channel_id: string, mode: number, is_public: boolean, sender_display_name: string): Promise<MessageTypingEvent>;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mezon-js",
3
3
 
4
- "version": "2.12.14",
4
+ "version": "2.12.16",
5
5
 
6
6
  "scripts": {
7
7
  "build": "npx tsc && npx rollup -c --bundleConfigAsCjs && node build.mjs"
package/socket.ts CHANGED
@@ -348,6 +348,40 @@ interface ChannelMessageSend {
348
348
  };
349
349
  }
350
350
 
351
+ interface EphemeralMessageSend {
352
+ ephemeral_message_send: {
353
+ receiver_id: string,
354
+ message: {
355
+ /** Clan Id */
356
+ clan_id: string;
357
+ /** The server-assigned channel ID. */
358
+ channel_id: string;
359
+ // The mode
360
+ mode: number;
361
+ // channel label
362
+ channel_label: string;
363
+ /** The content payload. */
364
+ content: any;
365
+ //
366
+ mentions?: Array<ApiMessageMention>;
367
+ //
368
+ attachments?: Array<ApiMessageAttachment>;
369
+ //
370
+ anonymous_message?: boolean;
371
+ //
372
+ mention_everyone?: boolean;
373
+ //
374
+ avatar: string;
375
+ // Is public
376
+ is_public: boolean;
377
+ // code
378
+ code: number;
379
+ //
380
+ topic_id?: string;
381
+ }
382
+ }
383
+ }
384
+
351
385
  /** Update a message previously sent to a realtime chat channel. */
352
386
  interface ChannelMessageUpdate {
353
387
  channel_message_update: {
@@ -863,6 +897,11 @@ export interface RemoveFriend {
863
897
  user_id: string;
864
898
  }
865
899
 
900
+ export interface BlockFriend {
901
+ //
902
+ user_id: string;
903
+ }
904
+
866
905
  export interface AddUserEmojiUsageEvent {
867
906
  emoji_id: string;
868
907
  clan_id: string;
@@ -1062,6 +1101,72 @@ export interface ChannelCanvas {
1062
1101
  status?: number;
1063
1102
  }
1064
1103
 
1104
+ function CreateChannelMessageFromEvent(message: any) {
1105
+ var content, reactions, mentions, attachments, references, referencedMessags;
1106
+ try {
1107
+ content = safeJSONParse(message.channel_message.content);
1108
+ } catch (e) {
1109
+ console.log("content is invalid", e);
1110
+ }
1111
+ try {
1112
+ reactions = safeJSONParse(message.channel_message.reactions);
1113
+ } catch (e) {
1114
+ console.log("reactions is invalid", e);
1115
+ }
1116
+ try {
1117
+ mentions = safeJSONParse(message.channel_message.mentions);
1118
+ } catch (e) {
1119
+ console.log("mentions is invalid", e);
1120
+ }
1121
+ try {
1122
+ attachments = safeJSONParse(message.channel_message.attachments);
1123
+ } catch (e) {
1124
+ console.log("attachments is invalid", e);
1125
+ }
1126
+ try {
1127
+ references = safeJSONParse(message.channel_message.references);
1128
+ } catch (e) {
1129
+ console.log("references is invalid", e);
1130
+ }
1131
+ try {
1132
+ referencedMessags = safeJSONParse(message.channel_message.referenced_message);
1133
+ } catch (e) {
1134
+ console.log("referenced messages is invalid", e);
1135
+ }
1136
+ var e: ChannelMessage = {
1137
+ id: message.id || message.channel_message.message_id,
1138
+ avatar: message.channel_message.avatar,
1139
+ channel_id: message.channel_message.channel_id,
1140
+ mode: message.channel_message.mode,
1141
+ channel_label: message.channel_message.channel_label,
1142
+ clan_id: message.channel_message.clan_id,
1143
+ code: message.channel_message.code,
1144
+ create_time: message.channel_message.create_time,
1145
+ message_id: message.channel_message.message_id,
1146
+ sender_id: message.channel_message.sender_id,
1147
+ update_time: message.channel_message.update_time,
1148
+ clan_logo: message.channel_message.clan_logo,
1149
+ category_name: message.channel_message.category_name,
1150
+ username: message.channel_message.username,
1151
+ clan_nick: message.channel_message.clan_nick,
1152
+ clan_avatar: message.channel_message.clan_avatar,
1153
+ display_name: message.channel_message.display_name,
1154
+ content: content,
1155
+ reactions: reactions,
1156
+ mentions: mentions,
1157
+ attachments: attachments,
1158
+ referenced_message: referencedMessags,
1159
+ references: references,
1160
+ hide_editted: message.channel_message.hide_editted,
1161
+ is_public: message.channel_message.is_public,
1162
+ create_time_seconds: message.channel_message.create_time_seconds,
1163
+ update_time_seconds: message.channel_message.update_time_seconds,
1164
+ topic_id: message.channel_message.topic_id,
1165
+ };
1166
+
1167
+ return e;
1168
+ }
1169
+
1065
1170
  /** A socket connection to Mezon server. */
1066
1171
  export interface Socket {
1067
1172
  /** Connection is Open */
@@ -1163,6 +1268,24 @@ export interface Socket {
1163
1268
  topic_id?: string
1164
1269
  ): Promise<ChannelMessageAck>;
1165
1270
 
1271
+ /** Send a chat message to a chat channel on the server. */
1272
+ writeEphemeralMessage(
1273
+ receiver_id: string,
1274
+ clan_id: string,
1275
+ channel_id: string,
1276
+ mode: number,
1277
+ is_public: boolean,
1278
+ content?: any,
1279
+ mentions?: Array<ApiMessageMention>,
1280
+ attachments?: Array<ApiMessageAttachment>,
1281
+ references?: Array<ApiMessageRef>,
1282
+ anonymous_message?: boolean,
1283
+ mention_everyone?: boolean,
1284
+ avatar?: string,
1285
+ code?: number,
1286
+ topic_id?: string
1287
+ ): Promise<ChannelMessageAck>;
1288
+
1166
1289
  /** Send message typing */
1167
1290
  writeMessageTyping(
1168
1291
  clan_id: string,
@@ -1310,6 +1433,9 @@ export interface Socket {
1310
1433
  /** Receive channel message. */
1311
1434
  onchannelmessage: (channelMessage: ChannelMessage) => void;
1312
1435
 
1436
+ /** Receive channel message. */
1437
+ onephemeralmessage: (ephemeralMessage: ChannelMessage) => void;
1438
+
1313
1439
  /** Receive typing event */
1314
1440
  onmessagetyping: (messageTypingEvent: MessageTypingEvent) => void;
1315
1441
 
@@ -1336,6 +1462,8 @@ export interface Socket {
1336
1462
 
1337
1463
  onremovefriend: (user: RemoveFriend) => void;
1338
1464
 
1465
+ onblockfriend: (user: BlockFriend) => void;
1466
+
1339
1467
  /** Receive clan removed user event */
1340
1468
  onuserclanremoved: (user: UserClanRemovedEvent) => void;
1341
1469
 
@@ -1576,69 +1704,12 @@ export class DefaultSocket implements Socket {
1576
1704
  );
1577
1705
  } else if (message.stream_data) {
1578
1706
  this.onstreamdata(<StreamData>message.stream_data);
1579
- } else if (message.channel_message) {
1580
- var content, reactions, mentions, attachments, references, referencedMessags;
1581
- try {
1582
- content = safeJSONParse(message.channel_message.content);
1583
- } catch (e) {
1584
- console.log("content is invalid", e);
1585
- }
1586
- try {
1587
- reactions = safeJSONParse(message.channel_message.reactions);
1588
- } catch (e) {
1589
- console.log("reactions is invalid", e);
1590
- }
1591
- try {
1592
- mentions = safeJSONParse(message.channel_message.mentions);
1593
- } catch (e) {
1594
- console.log("mentions is invalid", e);
1595
- }
1596
- try {
1597
- attachments = safeJSONParse(message.channel_message.attachments);
1598
- } catch (e) {
1599
- console.log("attachments is invalid", e);
1600
- }
1601
- try {
1602
- references = safeJSONParse(message.channel_message.references);
1603
- } catch (e) {
1604
- console.log("references is invalid", e);
1605
- }
1606
- try {
1607
- referencedMessags = safeJSONParse(message.channel_message.referenced_message);
1608
- } catch (e) {
1609
- console.log("referenced messages is invalid", e);
1610
- }
1611
- var e: ChannelMessage = {
1612
- id: message.id || message.channel_message.message_id,
1613
- avatar: message.channel_message.avatar,
1614
- channel_id: message.channel_message.channel_id,
1615
- mode: message.channel_message.mode,
1616
- channel_label: message.channel_message.channel_label,
1617
- clan_id: message.channel_message.clan_id,
1618
- code: message.channel_message.code,
1619
- create_time: message.channel_message.create_time,
1620
- message_id: message.channel_message.message_id,
1621
- sender_id: message.channel_message.sender_id,
1622
- update_time: message.channel_message.update_time,
1623
- clan_logo: message.channel_message.clan_logo,
1624
- category_name: message.channel_message.category_name,
1625
- username: message.channel_message.username,
1626
- clan_nick: message.channel_message.clan_nick,
1627
- clan_avatar: message.channel_message.clan_avatar,
1628
- display_name: message.channel_message.display_name,
1629
- content: content,
1630
- reactions: reactions,
1631
- mentions: mentions,
1632
- attachments: attachments,
1633
- referenced_message: referencedMessags,
1634
- references: references,
1635
- hide_editted: message.channel_message.hide_editted,
1636
- is_public: message.channel_message.is_public,
1637
- create_time_seconds: message.channel_message.create_time_seconds,
1638
- update_time_seconds: message.channel_message.update_time_seconds,
1639
- topic_id: message.channel_message.topic_id,
1640
- };
1641
- this.onchannelmessage(e);
1707
+ } else if (message.channel_message) {
1708
+ const channelMessage = CreateChannelMessageFromEvent(message);
1709
+ this.onchannelmessage(channelMessage);
1710
+ } else if (message.ephemeral_message_send) {
1711
+ const channelMessage = CreateChannelMessageFromEvent(message);
1712
+ this.onephemeralmessage(channelMessage);
1642
1713
  } else if (message.message_typing_event) {
1643
1714
  this.onmessagetyping(
1644
1715
  <MessageTypingEvent>message.message_typing_event
@@ -1673,6 +1744,8 @@ export class DefaultSocket implements Socket {
1673
1744
  this.onuserchannelremoved(
1674
1745
  <UserChannelRemovedEvent>message.user_channel_removed_event
1675
1746
  );
1747
+ } else if (message.block_friend) {
1748
+ this.onblockfriend(<BlockFriend>message.block_friend);
1676
1749
  } else if (message.remove_friend) {
1677
1750
  this.onremovefriend(<RemoveFriend>message.remove_friend);
1678
1751
  } else if (message.user_clan_removed_event) {
@@ -1828,6 +1901,12 @@ export class DefaultSocket implements Socket {
1828
1901
  }
1829
1902
  }
1830
1903
 
1904
+ onephemeralmessage(ephemeralMessage: ChannelMessage) {
1905
+ if (this.verbose && window && window.console) {
1906
+ console.log(ephemeralMessage)
1907
+ }
1908
+ }
1909
+
1831
1910
  onchannelpresence(channelPresence: ChannelPresenceEvent) {
1832
1911
  if (this.verbose && window && window.console) {
1833
1912
  console.log(channelPresence);
@@ -1864,6 +1943,12 @@ export class DefaultSocket implements Socket {
1864
1943
  }
1865
1944
  }
1866
1945
 
1946
+ onblockfriend(user: BlockFriend) {
1947
+ if (this.verbose && window && window.console) {
1948
+ console.log(user);
1949
+ }
1950
+ }
1951
+
1867
1952
  onuserclanremoved(user: UserClanRemovedEvent) {
1868
1953
  if (this.verbose && window && window.console) {
1869
1954
  console.log(user);
@@ -2183,7 +2268,8 @@ export class DefaultSocket implements Socket {
2183
2268
  | IncomingCallPush
2184
2269
  | MessageButtonClicked
2185
2270
  | DropdownBoxSelected
2186
- | ChannelAppEvent,
2271
+ | ChannelAppEvent
2272
+ | EphemeralMessageSend,
2187
2273
  sendTimeout = DefaultSocket.DefaultSendTimeoutMs
2188
2274
  ): Promise<any> {
2189
2275
  const untypedMessage = message as any;
@@ -2200,6 +2286,10 @@ export class DefaultSocket implements Socket {
2200
2286
  untypedMessage.channel_message_update.content = JSON.stringify(
2201
2287
  untypedMessage.channel_message_update.content
2202
2288
  );
2289
+ } else if (untypedMessage.ephemeral_message_send) {
2290
+ untypedMessage.ephemeral_message_send.message.content = JSON.stringify(
2291
+ untypedMessage.ephemeral_message_send.message?.content
2292
+ );
2203
2293
  }
2204
2294
 
2205
2295
  const cid = this.generatecid();
@@ -2365,6 +2455,45 @@ export class DefaultSocket implements Socket {
2365
2455
  return this.send({ status_update: { status: status } });
2366
2456
  }
2367
2457
 
2458
+ async writeEphemeralMessage(
2459
+ receiver_id: string,
2460
+ clan_id: string,
2461
+ channel_id: string,
2462
+ mode: number,
2463
+ is_public: boolean,
2464
+ content: any,
2465
+ mentions?: Array<ApiMessageMention>,
2466
+ attachments?: Array<ApiMessageAttachment>,
2467
+ references?: Array<ApiMessageRef>,
2468
+ anonymous_message?: boolean,
2469
+ mention_everyone?: Boolean,
2470
+ avatar?: string,
2471
+ code?: number,
2472
+ topic_id?: string
2473
+ ): Promise<ChannelMessageAck> {
2474
+ const response = await this.send({
2475
+ ephemeral_message_send: {
2476
+ receiver_id: receiver_id,
2477
+ message: {
2478
+ clan_id: clan_id,
2479
+ channel_id: channel_id,
2480
+ mode: mode,
2481
+ is_public: is_public,
2482
+ content: content,
2483
+ mentions: mentions,
2484
+ attachments: attachments,
2485
+ references: references,
2486
+ anonymous_message: anonymous_message,
2487
+ mention_everyone: mention_everyone,
2488
+ avatar: avatar,
2489
+ code: code,
2490
+ topic_id: topic_id,
2491
+ }
2492
+ }
2493
+ });
2494
+ return response.channel_message_ack;
2495
+ }
2496
+
2368
2497
  async writeChatMessage(
2369
2498
  clan_id: string,
2370
2499
  channel_id: string,
@@ -2666,3 +2795,4 @@ export class DefaultSocket implements Socket {
2666
2795
  setTimeout(() => this.pingPong(), this._heartbeatTimeoutMs);
2667
2796
  }
2668
2797
  }
2798
+