mezon-sdk 2.8.47 → 2.8.49
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/dist/cjs/api/api.d.ts +25 -0
- package/dist/cjs/api/api.js +150 -10
- package/dist/cjs/api/api.js.map +1 -1
- package/dist/cjs/api.js +3 -0
- package/dist/cjs/api.js.map +1 -1
- package/dist/cjs/google/protobuf/wrappers.js +1 -1
- package/dist/cjs/google/protobuf/wrappers.js.map +1 -1
- package/dist/cjs/interfaces/client.d.ts +6 -0
- package/dist/cjs/interfaces/client.js.map +1 -1
- package/dist/cjs/interfaces/socket.d.ts +3 -1
- package/dist/cjs/mezon-client/client/MezonClient.js +2 -6
- package/dist/cjs/mezon-client/client/MezonClient.js.map +1 -1
- package/dist/cjs/mezon-client/client/MezonClientCore.d.ts +10 -1
- package/dist/cjs/mezon-client/client/MezonClientCore.js +34 -15
- package/dist/cjs/mezon-client/client/MezonClientCore.js.map +1 -1
- package/dist/cjs/mezon-client/manager/channel_manager.d.ts +2 -0
- package/dist/cjs/mezon-client/manager/channel_manager.js +20 -3
- package/dist/cjs/mezon-client/manager/channel_manager.js.map +1 -1
- package/dist/cjs/mezon-client/manager/socket_manager.d.ts +3 -0
- package/dist/cjs/mezon-client/manager/socket_manager.js +51 -7
- package/dist/cjs/mezon-client/manager/socket_manager.js.map +1 -1
- package/dist/cjs/mezon-client/structures/Message.d.ts +21 -2
- package/dist/cjs/mezon-client/structures/Message.js +34 -6
- package/dist/cjs/mezon-client/structures/Message.js.map +1 -1
- package/dist/cjs/mezon-client/structures/TextChannel.d.ts +11 -5
- package/dist/cjs/mezon-client/structures/TextChannel.js +36 -1
- package/dist/cjs/mezon-client/structures/TextChannel.js.map +1 -1
- package/dist/cjs/mezon-client/structures/User.d.ts +7 -2
- package/dist/cjs/mezon-client/structures/User.js +9 -1
- package/dist/cjs/mezon-client/structures/User.js.map +1 -1
- package/dist/cjs/rtapi/realtime.d.ts +71 -0
- package/dist/cjs/rtapi/realtime.js +514 -5
- package/dist/cjs/rtapi/realtime.js.map +1 -1
- package/dist/cjs/socket.d.ts +1 -1
- package/dist/cjs/socket.js +2 -1
- package/dist/cjs/socket.js.map +1 -1
- package/dist/esm/api/api.d.ts +25 -0
- package/dist/esm/api/api.js +139 -3
- package/dist/esm/api/api.js.map +1 -1
- package/dist/esm/api.js +3 -0
- package/dist/esm/api.js.map +1 -1
- package/dist/esm/google/protobuf/wrappers.js +1 -1
- package/dist/esm/google/protobuf/wrappers.js.map +1 -1
- package/dist/esm/interfaces/client.d.ts +6 -0
- package/dist/esm/interfaces/client.js.map +1 -1
- package/dist/esm/interfaces/socket.d.ts +3 -1
- package/dist/esm/mezon-client/client/MezonClient.js +2 -6
- package/dist/esm/mezon-client/client/MezonClient.js.map +1 -1
- package/dist/esm/mezon-client/client/MezonClientCore.d.ts +10 -1
- package/dist/esm/mezon-client/client/MezonClientCore.js +34 -15
- package/dist/esm/mezon-client/client/MezonClientCore.js.map +1 -1
- package/dist/esm/mezon-client/manager/channel_manager.d.ts +2 -0
- package/dist/esm/mezon-client/manager/channel_manager.js +13 -3
- package/dist/esm/mezon-client/manager/channel_manager.js.map +1 -1
- package/dist/esm/mezon-client/manager/socket_manager.d.ts +3 -0
- package/dist/esm/mezon-client/manager/socket_manager.js +42 -6
- package/dist/esm/mezon-client/manager/socket_manager.js.map +1 -1
- package/dist/esm/mezon-client/structures/Message.d.ts +21 -2
- package/dist/esm/mezon-client/structures/Message.js +41 -4
- package/dist/esm/mezon-client/structures/Message.js.map +1 -1
- package/dist/esm/mezon-client/structures/TextChannel.d.ts +11 -5
- package/dist/esm/mezon-client/structures/TextChannel.js +37 -1
- package/dist/esm/mezon-client/structures/TextChannel.js.map +1 -1
- package/dist/esm/mezon-client/structures/User.d.ts +7 -2
- package/dist/esm/mezon-client/structures/User.js +12 -2
- package/dist/esm/mezon-client/structures/User.js.map +1 -1
- package/dist/esm/rtapi/realtime.d.ts +71 -0
- package/dist/esm/rtapi/realtime.js +507 -1
- package/dist/esm/rtapi/realtime.js.map +1 -1
- package/dist/esm/socket.d.ts +1 -1
- package/dist/esm/socket.js +2 -1
- package/dist/esm/socket.js.map +1 -1
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Events } from "../../constants";
|
|
1
|
+
import { ChannelStreamMode, ChannelType, Events } from "../../constants";
|
|
2
2
|
import { DefaultSocket } from "../../socket";
|
|
3
3
|
import { WebSocketAdapterPb } from "../../web_socket_adapter_pb";
|
|
4
4
|
import { Clan } from "../structures/Clan";
|
|
@@ -125,25 +125,61 @@ export class SocketManager {
|
|
|
125
125
|
};
|
|
126
126
|
setTimeout(retry, retryInterval);
|
|
127
127
|
}
|
|
128
|
+
isMustJoinChannelError(error) {
|
|
129
|
+
return (error?.code === 3 ||
|
|
130
|
+
`${error?.message ?? error ?? ""}`.includes("Must join channel before sending messages"));
|
|
131
|
+
}
|
|
132
|
+
getChannelTypeFromMode(mode) {
|
|
133
|
+
switch (mode) {
|
|
134
|
+
case ChannelStreamMode.STREAM_MODE_DM:
|
|
135
|
+
return ChannelType.CHANNEL_TYPE_DM;
|
|
136
|
+
case ChannelStreamMode.STREAM_MODE_GROUP:
|
|
137
|
+
return ChannelType.CHANNEL_TYPE_GROUP;
|
|
138
|
+
case ChannelStreamMode.STREAM_MODE_THREAD:
|
|
139
|
+
return ChannelType.CHANNEL_TYPE_THREAD;
|
|
140
|
+
case ChannelStreamMode.STREAM_MODE_CHANNEL:
|
|
141
|
+
default:
|
|
142
|
+
return ChannelType.CHANNEL_TYPE_CHANNEL;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
async joinChannelBeforeRetry(data) {
|
|
146
|
+
await this.socket.joinChat(data.clan_id, data.channel_id, data.channel_type ?? this.getChannelTypeFromMode(data.mode), data.is_public);
|
|
147
|
+
}
|
|
128
148
|
async writeChatMessage(dataWriteMessage) {
|
|
129
149
|
const currentContentLength = JSON.stringify(dataWriteMessage.content ?? {}).length;
|
|
130
150
|
if (currentContentLength > 8000)
|
|
131
151
|
throw new Error(`message.content exceeds the allowed length! Content exceeds allowed length. Maximum total of 8000 characters. Current length: ${currentContentLength}!`);
|
|
132
|
-
const
|
|
133
|
-
|
|
152
|
+
const send = () => this.socket.writeChatMessage(dataWriteMessage.clan_id, dataWriteMessage.channel_id, dataWriteMessage.mode, dataWriteMessage.is_public, dataWriteMessage.content, dataWriteMessage?.mentions ?? [], dataWriteMessage?.attachments ?? [], dataWriteMessage?.references ?? [], dataWriteMessage?.anonymous_message, dataWriteMessage?.mention_everyone, dataWriteMessage?.avatar, dataWriteMessage?.code, dataWriteMessage?.topic_id);
|
|
153
|
+
try {
|
|
154
|
+
return await send();
|
|
155
|
+
}
|
|
156
|
+
catch (error) {
|
|
157
|
+
if (!this.isMustJoinChannelError(error))
|
|
158
|
+
throw error;
|
|
159
|
+
await this.joinChannelBeforeRetry(dataWriteMessage);
|
|
160
|
+
return send();
|
|
161
|
+
}
|
|
134
162
|
}
|
|
135
163
|
async writeEphemeralMessage(dataWriteMessage) {
|
|
136
164
|
const currentContentLength = JSON.stringify(dataWriteMessage.content ?? {}).length;
|
|
137
165
|
if (currentContentLength > 8000)
|
|
138
166
|
throw new Error(`message.content exceeds the allowed length! Content exceeds allowed length. Maximum total of 8000 characters. Current length: ${currentContentLength}!`);
|
|
139
|
-
const
|
|
140
|
-
|
|
167
|
+
const send = () => this.socket.writeEphemeralMessage(dataWriteMessage.receiver_id, dataWriteMessage.clan_id, dataWriteMessage.channel_id, dataWriteMessage.mode, dataWriteMessage.is_public, dataWriteMessage.content, dataWriteMessage?.mentions ?? [], dataWriteMessage?.attachments ?? [], dataWriteMessage?.references ?? [], dataWriteMessage?.anonymous_message, dataWriteMessage?.mention_everyone, dataWriteMessage?.avatar, dataWriteMessage?.code, dataWriteMessage?.topic_id, dataWriteMessage?.message_id);
|
|
168
|
+
try {
|
|
169
|
+
return await send();
|
|
170
|
+
}
|
|
171
|
+
catch (error) {
|
|
172
|
+
if (!this.isMustJoinChannelError(error))
|
|
173
|
+
throw error;
|
|
174
|
+
await this.joinChannelBeforeRetry(dataWriteMessage);
|
|
175
|
+
return send();
|
|
176
|
+
}
|
|
141
177
|
}
|
|
142
178
|
async updateChatMessage(dataUpdateMessage) {
|
|
143
179
|
const currentContentLength = JSON.stringify(dataUpdateMessage.content ?? {}).length;
|
|
144
180
|
if (currentContentLength > 8000)
|
|
145
181
|
throw new Error(`message.content exceeds the allowed length! Content exceeds allowed length. Maximum total of 8000 characters. Current length: ${currentContentLength}!`);
|
|
146
|
-
const msgACK = await this.socket.updateChatMessage(dataUpdateMessage.clan_id, dataUpdateMessage.channel_id, dataUpdateMessage.mode, dataUpdateMessage.is_public, dataUpdateMessage.message_id, dataUpdateMessage.content, dataUpdateMessage?.mentions ?? [], dataUpdateMessage?.attachments ?? [], dataUpdateMessage?.hideEditted ?? false, dataUpdateMessage?.topic_id, dataUpdateMessage?.is_update_msg_topic);
|
|
182
|
+
const msgACK = await this.socket.updateChatMessage(dataUpdateMessage.clan_id, dataUpdateMessage.channel_id, dataUpdateMessage.mode, dataUpdateMessage.is_public, dataUpdateMessage.message_id, dataUpdateMessage.content, dataUpdateMessage?.mentions ?? [], dataUpdateMessage?.attachments ?? [], dataUpdateMessage?.create_time_seconds, dataUpdateMessage?.hideEditted ?? false, dataUpdateMessage?.topic_id, dataUpdateMessage?.is_update_msg_topic);
|
|
147
183
|
return msgACK;
|
|
148
184
|
}
|
|
149
185
|
async writeMessageReaction(dataReactionMessage) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socket_manager.js","sourceRoot":"","sources":["../../../../src/mezon-client/manager/socket_manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"socket_manager.js","sourceRoot":"","sources":["../../../../src/mezon-client/manager/socket_manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAGjE,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAW1C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,MAAM,OAAO,aAAa;IAOd;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAbF,MAAM,CAAS;IACf,gBAAgB,CAAsB;IACtC,UAAU,GAAG,KAAK,CAAC;IACnB,WAAW,GAAG,KAAK,CAAC;IAC5B,YACU,IAAY,EACZ,IAAY,EACZ,MAAe,EACf,OAAyB,EACzB,SAAmB,EACnB,YAAgC,EAChC,MAAuB,EACvB,SAA0B,EAC1B,SAAiB,EAAE;QARnB,SAAI,GAAJ,IAAI,CAAQ;QACZ,SAAI,GAAJ,IAAI,CAAQ;QACZ,WAAM,GAAN,MAAM,CAAS;QACf,YAAO,GAAP,OAAO,CAAkB;QACzB,cAAS,GAAT,SAAS,CAAU;QACnB,iBAAY,GAAZ,YAAY,CAAoB;QAChC,WAAM,GAAN,MAAM,CAAiB;QACvB,cAAS,GAAT,SAAS,CAAiB;QAC1B,WAAM,GAAN,MAAM,CAAa;QAE3B,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAC7B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,MAAM,EACX,KAAK,EACL,IAAI,CAAC,OAAO,CACb,CAAC;IACJ,CAAC;IAED,YAAY;QACV,IAAI,CAAC,OAAO,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAC7B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,MAAM,EACX,KAAK,EACL,IAAI,CAAC,OAAO,CACb,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,WAAoB;QAChC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAAE,OAAO,WAAW,CAAC;QAC7C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC7D,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,WAAW;QACT,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAe;QAC3B,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,gBAAgB;YAAE,OAAO;QAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAC9B,CAAC;IAED,kBAAkB;QAChB,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACpC,CAAC;IAED,YAAY,CAAC,CAAa;QACxB,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QACxC,IAAI,IAAI,CAAC,gBAAgB;YAAE,OAAO;QAClC,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,YAAoB;QACtC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,CAAC,cAAc,EAAE,SAAS,EAAE,oBAAoB,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBAClE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAI,IAAI,CAAC,KAAmB,CAAc,CAAC,IAAI,CAC/D,IAAI,CACL,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,KAA4B,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC5D,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE;oBAClD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;gBACjC,CAAC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YAC/D,MAAM,QAAQ,GAAG,KAAK,EAAE,QAAQ,IAAI,EAAE,CAAC;YACvC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;YAC/C,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAC5B,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;gBACnD,MAAM,KAAK,CAAC,EAAE,CAAC,CAAC;gBAChB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAQ,CAAC,EAAE,CAAC;oBAC1C,MAAM,OAAO,GAAG,IAAI,IAAI,CACtB;wBACE,EAAE,EAAE,IAAI,CAAC,OAAQ;wBACjB,IAAI,EAAE,IAAI,EAAE,SAAS,IAAI,SAAS;wBAClC,kBAAkB,EAAE,IAAI,EAAE,kBAAkB,IAAI,EAAE;wBAClD,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;qBAChC,EACD,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,IAAI,EACJ,YAAY,EACZ,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,SAAS,CACf,CAAC;oBACF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAQ,EAAE,OAAO,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,IAAI,aAAa,GAAG,IAAI,CAAC;QACzB,MAAM,gBAAgB,GAAG,KAAK,CAAC;QAE/B,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAE/B,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;YACvB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,gBAAgB;gBAAE,OAAO;YACrD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YAEvB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;gBAE1C,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBACxB,aAAa,GAAG,IAAI,CAAC;gBACrB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;YACzC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC;gBACrC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBACxB,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,CAAC,EAAE,gBAAgB,CAAC,CAAC;gBAC9D,OAAO,CAAC,GAAG,CAAC,eAAe,aAAa,GAAG,IAAI,aAAa,CAAC,CAAC;gBAE9D,UAAU,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;YACnC,CAAC;QACH,CAAC,CAAC;QAEF,UAAU,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACnC,CAAC;IAEO,sBAAsB,CAAC,KAAU;QACvC,OAAO,CACL,KAAK,EAAE,IAAI,KAAK,CAAC;YACjB,GAAG,KAAK,EAAE,OAAO,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC,QAAQ,CACzC,2CAA2C,CAC5C,CACF,CAAC;IACJ,CAAC;IAEO,sBAAsB,CAAC,IAAY;QACzC,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,iBAAiB,CAAC,cAAc;gBACnC,OAAO,WAAW,CAAC,eAAe,CAAC;YACrC,KAAK,iBAAiB,CAAC,iBAAiB;gBACtC,OAAO,WAAW,CAAC,kBAAkB,CAAC;YACxC,KAAK,iBAAiB,CAAC,kBAAkB;gBACvC,OAAO,WAAW,CAAC,mBAAmB,CAAC;YACzC,KAAK,iBAAiB,CAAC,mBAAmB,CAAC;YAC3C;gBACE,OAAO,WAAW,CAAC,oBAAoB,CAAC;QAC5C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,IAMpC;QACC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CACxB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EAC3D,IAAI,CAAC,SAAS,CACf,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,gBAAkC;QACvD,MAAM,oBAAoB,GAAG,IAAI,CAAC,SAAS,CACzC,gBAAgB,CAAC,OAAO,IAAI,EAAE,CAC/B,CAAC,MAAM,CAAC;QACT,IAAI,oBAAoB,GAAG,IAAI;YAC7B,MAAM,IAAI,KAAK,CACb,iIAAiI,oBAAoB,GAAG,CACzJ,CAAC;QAEJ,MAAM,IAAI,GAAG,GAAG,EAAE,CAChB,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAC1B,gBAAgB,CAAC,OAAO,EACxB,gBAAgB,CAAC,UAAU,EAC3B,gBAAgB,CAAC,IAAI,EACrB,gBAAgB,CAAC,SAAS,EAC1B,gBAAgB,CAAC,OAAO,EACxB,gBAAgB,EAAE,QAAQ,IAAI,EAAE,EAChC,gBAAgB,EAAE,WAAW,IAAI,EAAE,EACnC,gBAAgB,EAAE,UAAU,IAAI,EAAE,EAClC,gBAAgB,EAAE,iBAAiB,EACnC,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,IAAI,EACtB,gBAAgB,EAAE,QAAQ,CAC3B,CAAC;QAEJ,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,EAAE,CAAC;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;gBAAE,MAAM,KAAK,CAAC;YACrD,MAAM,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;YACpD,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,gBAAsC;QAChE,MAAM,oBAAoB,GAAG,IAAI,CAAC,SAAS,CACzC,gBAAgB,CAAC,OAAO,IAAI,EAAE,CAC/B,CAAC,MAAM,CAAC;QACT,IAAI,oBAAoB,GAAG,IAAI;YAC7B,MAAM,IAAI,KAAK,CACb,iIAAiI,oBAAoB,GAAG,CACzJ,CAAC;QAEJ,MAAM,IAAI,GAAG,GAAG,EAAE,CAChB,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAC/B,gBAAgB,CAAC,WAAW,EAC5B,gBAAgB,CAAC,OAAO,EACxB,gBAAgB,CAAC,UAAU,EAC3B,gBAAgB,CAAC,IAAI,EACrB,gBAAgB,CAAC,SAAS,EAC1B,gBAAgB,CAAC,OAAO,EACxB,gBAAgB,EAAE,QAAQ,IAAI,EAAE,EAChC,gBAAgB,EAAE,WAAW,IAAI,EAAE,EACnC,gBAAgB,EAAE,UAAU,IAAI,EAAE,EAClC,gBAAgB,EAAE,iBAAiB,EACnC,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,IAAI,EACtB,gBAAgB,EAAE,QAAQ,EAC1B,gBAAgB,EAAE,UAAU,CAC7B,CAAC;QAEJ,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,EAAE,CAAC;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;gBAAE,MAAM,KAAK,CAAC;YACrD,MAAM,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;YACpD,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,iBAAoC;QAC1D,MAAM,oBAAoB,GAAG,IAAI,CAAC,SAAS,CACzC,iBAAiB,CAAC,OAAO,IAAI,EAAE,CAChC,CAAC,MAAM,CAAC;QACT,IAAI,oBAAoB,GAAG,IAAI;YAC7B,MAAM,IAAI,KAAK,CACb,iIAAiI,oBAAoB,GAAG,CACzJ,CAAC;QAEJ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAChD,iBAAiB,CAAC,OAAO,EACzB,iBAAiB,CAAC,UAAU,EAC5B,iBAAiB,CAAC,IAAI,EACtB,iBAAiB,CAAC,SAAS,EAC3B,iBAAiB,CAAC,UAAU,EAC5B,iBAAiB,CAAC,OAAO,EACzB,iBAAiB,EAAE,QAAQ,IAAI,EAAE,EACjC,iBAAiB,EAAE,WAAW,IAAI,EAAE,EACpC,iBAAiB,EAAE,mBAAmB,EACtC,iBAAiB,EAAE,WAAW,IAAI,KAAK,EACvC,iBAAiB,EAAE,QAAQ,EAC3B,iBAAiB,EAAE,mBAAmB,CACvC,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,mBAAqC;QAC9D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,oBAAoB,CACnD,mBAAmB,CAAC,EAAE,IAAI,EAAE,EAC5B,mBAAmB,CAAC,OAAO,EAC3B,mBAAmB,CAAC,UAAU,EAC9B,mBAAmB,CAAC,IAAI,EACxB,mBAAmB,CAAC,SAAS,EAC7B,mBAAmB,CAAC,UAAU,EAC9B,mBAAmB,CAAC,QAAQ,EAC5B,mBAAmB,CAAC,KAAK,EACzB,mBAAmB,CAAC,KAAK,EACzB,mBAAmB,CAAC,iBAAiB,EACrC,mBAAmB,EAAE,aAAa,IAAI,KAAK,CAC5C,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,iBAAoC;QAC1D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAChD,iBAAiB,CAAC,OAAO,EACzB,iBAAiB,CAAC,UAAU,EAC5B,iBAAiB,CAAC,IAAI,EACtB,iBAAiB,CAAC,SAAS,EAC3B,iBAAiB,CAAC,UAAU,EAC5B,iBAAiB,CAAC,QAAQ,CAC3B,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF"}
|
|
@@ -14,9 +14,19 @@ export interface MessageInitData {
|
|
|
14
14
|
references?: ApiMessageRef[];
|
|
15
15
|
topic_id?: string;
|
|
16
16
|
create_time_seconds?: number;
|
|
17
|
+
update_time_seconds?: number;
|
|
18
|
+
code?: number;
|
|
19
|
+
username?: string;
|
|
20
|
+
create_time?: string;
|
|
21
|
+
update_time?: string;
|
|
22
|
+
persistent?: boolean;
|
|
23
|
+
persistence?: boolean;
|
|
24
|
+
mode?: number;
|
|
17
25
|
}
|
|
18
26
|
export declare class Message {
|
|
19
27
|
id: string;
|
|
28
|
+
clan_id: string;
|
|
29
|
+
channel_id: string;
|
|
20
30
|
sender_id: string;
|
|
21
31
|
content: ChannelMessageContent;
|
|
22
32
|
mentions: ApiMessageMention[] | undefined;
|
|
@@ -25,12 +35,21 @@ export declare class Message {
|
|
|
25
35
|
references: ApiMessageRef[] | undefined;
|
|
26
36
|
topic_id: string | undefined;
|
|
27
37
|
create_time_seconds: number | undefined;
|
|
38
|
+
update_time_seconds: number | undefined;
|
|
39
|
+
code: number;
|
|
40
|
+
username: string;
|
|
41
|
+
create_time: string;
|
|
42
|
+
update_time: string;
|
|
43
|
+
persistent: boolean | undefined;
|
|
44
|
+
persistence: boolean;
|
|
45
|
+
mode: number;
|
|
28
46
|
channel: TextChannel;
|
|
29
47
|
private readonly socketManager;
|
|
30
48
|
private readonly messageQueue;
|
|
31
49
|
constructor(initMessageData: MessageInitData, channel: TextChannel, socketManager: SocketManager, messageQueue: AsyncThrottleQueue);
|
|
32
|
-
|
|
33
|
-
|
|
50
|
+
get message_id(): string;
|
|
51
|
+
reply(content: ChannelMessageContent, mentions?: Array<ApiMessageMention>, attachments?: Array<ApiMessageAttachment>, mention_everyone?: boolean, anonymous_message?: boolean, topic_id?: string, code?: number): Promise<Message>;
|
|
52
|
+
update(content: ChannelMessageContent, mentions?: Array<ApiMessageMention>, attachments?: Array<ApiMessageAttachment>): Promise<this>;
|
|
34
53
|
react(dataReactMessage: ReactMessagePayload): Promise<ApiMessageReaction>;
|
|
35
54
|
delete(): Promise<import("../../interfaces").ChannelMessageAck>;
|
|
36
55
|
}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { convertChanneltypeToChannelMode } from "../../utils/helper";
|
|
2
2
|
export class Message {
|
|
3
3
|
id;
|
|
4
|
+
clan_id;
|
|
5
|
+
channel_id;
|
|
4
6
|
sender_id;
|
|
5
7
|
content;
|
|
6
8
|
mentions;
|
|
@@ -9,11 +11,21 @@ export class Message {
|
|
|
9
11
|
references;
|
|
10
12
|
topic_id;
|
|
11
13
|
create_time_seconds;
|
|
14
|
+
update_time_seconds;
|
|
15
|
+
code;
|
|
16
|
+
username;
|
|
17
|
+
create_time;
|
|
18
|
+
update_time;
|
|
19
|
+
persistent;
|
|
20
|
+
persistence;
|
|
21
|
+
mode;
|
|
12
22
|
channel;
|
|
13
23
|
socketManager;
|
|
14
24
|
messageQueue;
|
|
15
25
|
constructor(initMessageData, channel, socketManager, messageQueue) {
|
|
16
26
|
this.id = initMessageData.id;
|
|
27
|
+
this.clan_id = initMessageData.clan_id;
|
|
28
|
+
this.channel_id = initMessageData.channel_id;
|
|
17
29
|
this.sender_id = initMessageData.sender_id;
|
|
18
30
|
this.content = initMessageData.content;
|
|
19
31
|
this.references = initMessageData?.references;
|
|
@@ -23,10 +35,21 @@ export class Message {
|
|
|
23
35
|
this.references = initMessageData?.references;
|
|
24
36
|
this.topic_id = initMessageData?.topic_id;
|
|
25
37
|
this.create_time_seconds = initMessageData?.create_time_seconds;
|
|
38
|
+
this.update_time_seconds = initMessageData?.update_time_seconds;
|
|
39
|
+
this.code = initMessageData?.code ?? 0;
|
|
40
|
+
this.username = initMessageData?.username ?? "";
|
|
41
|
+
this.create_time = initMessageData?.create_time ?? "";
|
|
42
|
+
this.update_time = initMessageData?.update_time ?? "";
|
|
43
|
+
this.persistent = initMessageData?.persistent;
|
|
44
|
+
this.persistence = initMessageData?.persistence ?? false;
|
|
45
|
+
this.mode = initMessageData?.mode ?? 0;
|
|
26
46
|
this.channel = channel;
|
|
27
47
|
this.socketManager = socketManager;
|
|
28
48
|
this.messageQueue = messageQueue;
|
|
29
49
|
}
|
|
50
|
+
get message_id() {
|
|
51
|
+
return this.id;
|
|
52
|
+
}
|
|
30
53
|
async reply(content, mentions, attachments, mention_everyone, anonymous_message, topic_id = "0", code) {
|
|
31
54
|
return await this.messageQueue.enqueue(async () => {
|
|
32
55
|
const client = this.channel.clan.getClient();
|
|
@@ -42,6 +65,7 @@ export class Message {
|
|
|
42
65
|
];
|
|
43
66
|
const dataReply = {
|
|
44
67
|
clan_id: this.channel.clan.id,
|
|
68
|
+
channel_type: this.channel.channel_type,
|
|
45
69
|
mode: convertChanneltypeToChannelMode(this.channel.channel_type),
|
|
46
70
|
is_public: !this.channel.is_private,
|
|
47
71
|
channel_id: this.channel.id,
|
|
@@ -54,30 +78,42 @@ export class Message {
|
|
|
54
78
|
code,
|
|
55
79
|
topic_id: topic_id || this.topic_id,
|
|
56
80
|
};
|
|
57
|
-
|
|
81
|
+
const ack = await this.socketManager.writeChatMessage(dataReply);
|
|
82
|
+
return this.channel.createMessageFromAck(ack, dataReply);
|
|
58
83
|
});
|
|
59
84
|
}
|
|
60
85
|
async update(content, mentions, attachments) {
|
|
61
|
-
return await this.messageQueue.enqueue(() => {
|
|
86
|
+
return await this.messageQueue.enqueue(async () => {
|
|
62
87
|
const dataUpdate = {
|
|
63
88
|
clan_id: this.channel.clan.id,
|
|
64
89
|
channel_id: this.channel.id,
|
|
90
|
+
channel_type: this.channel.channel_type,
|
|
65
91
|
mode: convertChanneltypeToChannelMode(this.channel.channel_type),
|
|
66
92
|
is_public: !this.channel.is_private,
|
|
67
93
|
message_id: this.id,
|
|
68
94
|
content,
|
|
69
95
|
mentions,
|
|
70
96
|
attachments,
|
|
97
|
+
create_time_seconds: this.create_time_seconds
|
|
98
|
+
? Number(this.create_time_seconds)
|
|
99
|
+
: undefined,
|
|
71
100
|
topic_id: this.topic_id || "0",
|
|
72
101
|
is_update_msg_topic: !!this.topic_id,
|
|
73
102
|
};
|
|
74
|
-
|
|
103
|
+
await this.socketManager.updateChatMessage(dataUpdate);
|
|
104
|
+
this.content = content;
|
|
105
|
+
if (mentions)
|
|
106
|
+
this.mentions = mentions;
|
|
107
|
+
if (attachments)
|
|
108
|
+
this.attachments = attachments;
|
|
109
|
+
this.channel.messages.set(this.id, this);
|
|
110
|
+
return this;
|
|
75
111
|
});
|
|
76
112
|
}
|
|
77
113
|
async react(dataReactMessage) {
|
|
78
114
|
return await this.messageQueue.enqueue(() => {
|
|
79
115
|
const dataReact = {
|
|
80
|
-
id: dataReactMessage?.id
|
|
116
|
+
id: dataReactMessage?.id || "0",
|
|
81
117
|
clan_id: this.channel.clan.id,
|
|
82
118
|
channel_id: this.channel.id,
|
|
83
119
|
mode: convertChanneltypeToChannelMode(this.channel.channel_type),
|
|
@@ -97,6 +133,7 @@ export class Message {
|
|
|
97
133
|
const dataRemove = {
|
|
98
134
|
clan_id: this.channel.clan.id,
|
|
99
135
|
channel_id: this.channel.id,
|
|
136
|
+
channel_type: this.channel.channel_type,
|
|
100
137
|
mode: convertChanneltypeToChannelMode(this.channel.channel_type),
|
|
101
138
|
is_public: !this.channel.is_private,
|
|
102
139
|
message_id: this.id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Message.js","sourceRoot":"","sources":["../../../../src/mezon-client/structures/Message.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"Message.js","sourceRoot":"","sources":["../../../../src/mezon-client/structures/Message.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ApiChannelDescription, ApiMessageAttachment, ApiMessageMention, ChannelMessageContent } from "../../interfaces";
|
|
1
|
+
import { ApiChannelDescription, ChannelMessageAck, ApiMessageAttachment, ApiMessageMention, ChannelMessageContent, ReplyMessageData } from "../../interfaces";
|
|
2
2
|
import { MessageDatabase } from "../../sqlite/MessageDatabase";
|
|
3
3
|
import { SocketManager } from "../manager/socket_manager";
|
|
4
4
|
import { AsyncThrottleQueue } from "../utils/AsyncThrottleQueue";
|
|
@@ -20,11 +20,17 @@ export declare class TextChannel {
|
|
|
20
20
|
private readonly messageQueue;
|
|
21
21
|
private messageDB;
|
|
22
22
|
constructor(initChannelData: ApiChannelDescription, clan: Clan, socketManager: SocketManager, messageQueue: AsyncThrottleQueue, messageDB: MessageDatabase);
|
|
23
|
-
send(content: ChannelMessageContent, mentions?: Array<ApiMessageMention>, attachments?: Array<ApiMessageAttachment>, mention_everyone?: boolean, anonymous_message?: boolean, topic_id?: string, code?: number): Promise<
|
|
23
|
+
send(content: ChannelMessageContent, mentions?: Array<ApiMessageMention>, attachments?: Array<ApiMessageAttachment>, mention_everyone?: boolean, anonymous_message?: boolean, topic_id?: string, code?: number): Promise<Message>;
|
|
24
|
+
createMessageFromAck(ack: ChannelMessageAck & {
|
|
25
|
+
create_time_seconds?: number;
|
|
26
|
+
update_time_seconds?: number;
|
|
27
|
+
persistent?: boolean;
|
|
28
|
+
persistence?: boolean;
|
|
29
|
+
}, data: ReplyMessageData): Message;
|
|
24
30
|
private _buildEphemeralReferences;
|
|
25
31
|
private _buildEphemeralBase;
|
|
26
|
-
sendEphemeral(receiver_id: string | string[], content: any, reference_message_id?: string, mentions?: Array<ApiMessageMention>, attachments?: Array<ApiMessageAttachment>, mention_everyone?: boolean, anonymous_message?: boolean, topic_id?: string): Promise<
|
|
27
|
-
updateEphemeral(receiver_id: string, content: any, message_id: string, topic_id?: string, reference_message_id?: string, attachments?: Array<ApiMessageAttachment>, mentions?: Array<ApiMessageMention>, mention_everyone?: boolean, anonymous_message?: boolean): Promise<
|
|
28
|
-
deleteEphemeral(receiver_id: string, message_id: string, topic_id?: string): Promise<
|
|
32
|
+
sendEphemeral(receiver_id: string | string[], content: any, reference_message_id?: string, mentions?: Array<ApiMessageMention>, attachments?: Array<ApiMessageAttachment>, mention_everyone?: boolean, anonymous_message?: boolean, topic_id?: string): Promise<ChannelMessageAck>;
|
|
33
|
+
updateEphemeral(receiver_id: string, content: any, message_id: string, topic_id?: string, reference_message_id?: string, attachments?: Array<ApiMessageAttachment>, mentions?: Array<ApiMessageMention>, mention_everyone?: boolean, anonymous_message?: boolean): Promise<ChannelMessageAck>;
|
|
34
|
+
deleteEphemeral(receiver_id: string, message_id: string, topic_id?: string): Promise<ChannelMessageAck>;
|
|
29
35
|
playMedia(url: string, participantIdentity: string, participantName: string, name: string): Promise<any>;
|
|
30
36
|
}
|
|
@@ -43,6 +43,7 @@ export class TextChannel {
|
|
|
43
43
|
const dataSend = {
|
|
44
44
|
clan_id: this.clan.id,
|
|
45
45
|
channel_id: this.id,
|
|
46
|
+
channel_type: this.channel_type,
|
|
46
47
|
mode: convertChanneltypeToChannelMode(this.channel_type),
|
|
47
48
|
is_public: !this.is_private,
|
|
48
49
|
content,
|
|
@@ -53,9 +54,43 @@ export class TextChannel {
|
|
|
53
54
|
code,
|
|
54
55
|
topic_id,
|
|
55
56
|
};
|
|
56
|
-
|
|
57
|
+
const ack = await this.socketManager.writeChatMessage(dataSend);
|
|
58
|
+
return this.createMessageFromAck(ack, dataSend);
|
|
57
59
|
});
|
|
58
60
|
}
|
|
61
|
+
createMessageFromAck(ack, data) {
|
|
62
|
+
const createTimeSeconds = ack.create_time_seconds ??
|
|
63
|
+
(ack.create_time ? Number(ack.create_time) : undefined);
|
|
64
|
+
const updateTimeSeconds = ack.update_time_seconds ??
|
|
65
|
+
(ack.update_time ? Number(ack.update_time) : undefined);
|
|
66
|
+
const messageRaw = {
|
|
67
|
+
id: ack.message_id,
|
|
68
|
+
clan_id: data.clan_id,
|
|
69
|
+
channel_id: ack.channel_id || data.channel_id,
|
|
70
|
+
sender_id: this.clan.getClient().clientId,
|
|
71
|
+
content: data.content,
|
|
72
|
+
mentions: data.mentions,
|
|
73
|
+
attachments: data.attachments,
|
|
74
|
+
references: data.references,
|
|
75
|
+
topic_id: data.topic_id,
|
|
76
|
+
create_time_seconds: Number.isNaN(createTimeSeconds)
|
|
77
|
+
? undefined
|
|
78
|
+
: createTimeSeconds,
|
|
79
|
+
update_time_seconds: Number.isNaN(updateTimeSeconds)
|
|
80
|
+
? undefined
|
|
81
|
+
: updateTimeSeconds,
|
|
82
|
+
code: ack.code,
|
|
83
|
+
username: ack.username,
|
|
84
|
+
create_time: ack.create_time,
|
|
85
|
+
update_time: ack.update_time,
|
|
86
|
+
persistent: ack.persistent ?? ack.persistence,
|
|
87
|
+
persistence: ack.persistence ?? ack.persistent ?? false,
|
|
88
|
+
mode: ack.mode,
|
|
89
|
+
};
|
|
90
|
+
const message = new Message(messageRaw, this, this.socketManager, this.messageQueue);
|
|
91
|
+
this.messages.set(message.id, message);
|
|
92
|
+
return message;
|
|
93
|
+
}
|
|
59
94
|
async _buildEphemeralReferences(reference_message_id) {
|
|
60
95
|
if (!reference_message_id) {
|
|
61
96
|
return { references: [], topic_id_from_ref: undefined };
|
|
@@ -79,6 +114,7 @@ export class TextChannel {
|
|
|
79
114
|
receiver_id,
|
|
80
115
|
clan_id: this.clan.id,
|
|
81
116
|
channel_id: this.id,
|
|
117
|
+
channel_type: this.channel_type,
|
|
82
118
|
mode: convertChanneltypeToChannelMode(this.channel_type),
|
|
83
119
|
is_public: !this.is_private,
|
|
84
120
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextChannel.js","sourceRoot":"","sources":["../../../../src/mezon-client/structures/TextChannel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"TextChannel.js","sourceRoot":"","sources":["../../../../src/mezon-client/structures/TextChannel.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { ApiMessageAttachment, ChannelMessageContent } from "../../interfaces";
|
|
1
|
+
import { ApiChannelDescription, ApiMessageAttachment, ChannelMessageContent } from "../../interfaces";
|
|
2
2
|
import { ChannelManager } from "../manager/channel_manager";
|
|
3
3
|
import { SocketManager } from "../manager/socket_manager";
|
|
4
4
|
import { AsyncThrottleQueue } from "../utils/AsyncThrottleQueue";
|
|
5
|
+
import { TextChannel } from "./TextChannel";
|
|
5
6
|
export interface UserInitData {
|
|
6
7
|
id: string;
|
|
7
8
|
username?: string;
|
|
@@ -15,6 +16,8 @@ type UserDeps = {
|
|
|
15
16
|
socketManager: SocketManager;
|
|
16
17
|
messageQueue: AsyncThrottleQueue;
|
|
17
18
|
channelManager: ChannelManager;
|
|
19
|
+
cacheDmChannel: (channel: ApiChannelDescription) => TextChannel | undefined;
|
|
20
|
+
getChannel: (channelId: string) => Promise<TextChannel>;
|
|
18
21
|
};
|
|
19
22
|
export declare class User {
|
|
20
23
|
id: string;
|
|
@@ -27,8 +30,10 @@ export declare class User {
|
|
|
27
30
|
private readonly socketManager;
|
|
28
31
|
private readonly messageQueue;
|
|
29
32
|
private readonly channelManager;
|
|
33
|
+
private readonly cacheDmChannel;
|
|
34
|
+
private readonly getChannel;
|
|
30
35
|
constructor(initUserData: UserInitData, deps: UserDeps);
|
|
31
36
|
private createDmChannel;
|
|
32
|
-
sendDM(content: ChannelMessageContent, code?: number, attachments?: Array<ApiMessageAttachment>): Promise<import("
|
|
37
|
+
sendDM(content: ChannelMessageContent, code?: number, attachments?: Array<ApiMessageAttachment>): Promise<import("./Message").Message>;
|
|
33
38
|
}
|
|
34
39
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ChannelStreamMode } from "../../constants";
|
|
1
|
+
import { ChannelStreamMode, ChannelType } from "../../constants";
|
|
2
2
|
export class User {
|
|
3
3
|
id;
|
|
4
4
|
username;
|
|
@@ -10,6 +10,8 @@ export class User {
|
|
|
10
10
|
socketManager;
|
|
11
11
|
messageQueue;
|
|
12
12
|
channelManager;
|
|
13
|
+
cacheDmChannel;
|
|
14
|
+
getChannel;
|
|
13
15
|
constructor(initUserData, deps) {
|
|
14
16
|
this.id = initUserData.id;
|
|
15
17
|
this.avartar = initUserData.avartar ?? "";
|
|
@@ -21,6 +23,8 @@ export class User {
|
|
|
21
23
|
this.socketManager = deps.socketManager;
|
|
22
24
|
this.messageQueue = deps.messageQueue;
|
|
23
25
|
this.channelManager = deps.channelManager;
|
|
26
|
+
this.cacheDmChannel = deps.cacheDmChannel;
|
|
27
|
+
this.getChannel = deps.getChannel;
|
|
24
28
|
}
|
|
25
29
|
async createDmChannel() {
|
|
26
30
|
try {
|
|
@@ -37,6 +41,9 @@ export class User {
|
|
|
37
41
|
if (!this.dmChannelId) {
|
|
38
42
|
const dmChannel = await this.createDmChannel();
|
|
39
43
|
this.dmChannelId = dmChannel?.channel_id ?? "";
|
|
44
|
+
if (dmChannel) {
|
|
45
|
+
this.cacheDmChannel(dmChannel);
|
|
46
|
+
}
|
|
40
47
|
}
|
|
41
48
|
if (!this.dmChannelId) {
|
|
42
49
|
throw Error(`Can not get dmChannelId for this user ${this.id}!`);
|
|
@@ -44,13 +51,16 @@ export class User {
|
|
|
44
51
|
const dataSendDm = {
|
|
45
52
|
clan_id: "0",
|
|
46
53
|
channel_id: this.dmChannelId,
|
|
54
|
+
channel_type: ChannelType.CHANNEL_TYPE_DM,
|
|
47
55
|
mode: ChannelStreamMode.STREAM_MODE_DM,
|
|
48
56
|
is_public: false,
|
|
49
57
|
content,
|
|
50
58
|
attachments,
|
|
51
59
|
code,
|
|
52
60
|
};
|
|
53
|
-
|
|
61
|
+
const ack = await this.socketManager.writeChatMessage(dataSendDm);
|
|
62
|
+
const channel = await this.getChannel(this.dmChannelId);
|
|
63
|
+
return channel.createMessageFromAck(ack, dataSendDm);
|
|
54
64
|
});
|
|
55
65
|
}
|
|
56
66
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"User.js","sourceRoot":"","sources":["../../../../src/mezon-client/structures/User.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"User.js","sourceRoot":"","sources":["../../../../src/mezon-client/structures/User.ts"],"names":[],"mappings":"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"}
|
|
@@ -194,6 +194,16 @@ export interface Envelope {
|
|
|
194
194
|
list_channel_users_banned_event?: ListChannelUsersBannedEvent | undefined;
|
|
195
195
|
/** Refresh session event */
|
|
196
196
|
refresh_session_event?: Session | undefined;
|
|
197
|
+
/** Channel archive / unarchive event */
|
|
198
|
+
channel_archive_event?: ChannelArchiveEvent | undefined;
|
|
199
|
+
/** Topic in message event */
|
|
200
|
+
topic_in_message_event?: TopicInMessageEvent | undefined;
|
|
201
|
+
}
|
|
202
|
+
export interface TopicInMessageEvent {
|
|
203
|
+
message_id: string;
|
|
204
|
+
rpl: number;
|
|
205
|
+
lsnt: string;
|
|
206
|
+
tp_id: string;
|
|
197
207
|
}
|
|
198
208
|
export interface ApiRequestEvent {
|
|
199
209
|
api_index: number;
|
|
@@ -480,6 +490,8 @@ export interface ChannelMessageUpdate {
|
|
|
480
490
|
topic_id: string;
|
|
481
491
|
/** update message topic */
|
|
482
492
|
is_update_msg_topic: boolean;
|
|
493
|
+
/** original message create time (seconds) */
|
|
494
|
+
create_time_seconds: number;
|
|
483
495
|
}
|
|
484
496
|
/** Remove a message previously sent to a realtime channel. */
|
|
485
497
|
export interface ChannelMessageRemove {
|
|
@@ -914,6 +926,49 @@ export interface ChannelUpdatedEvent {
|
|
|
914
926
|
/** */
|
|
915
927
|
channel_avatar: string;
|
|
916
928
|
}
|
|
929
|
+
/** Emitted when a channel/thread is archived or activated from archive. */
|
|
930
|
+
export interface ChannelArchiveEvent {
|
|
931
|
+
/** clan id */
|
|
932
|
+
clan_id: string;
|
|
933
|
+
/** category */
|
|
934
|
+
category_id: string;
|
|
935
|
+
/** creator */
|
|
936
|
+
creator_id: string;
|
|
937
|
+
/** parent id */
|
|
938
|
+
parent_id: string;
|
|
939
|
+
/** channel id */
|
|
940
|
+
channel_id: string;
|
|
941
|
+
/** channel label */
|
|
942
|
+
channel_label: string;
|
|
943
|
+
/** channel type */
|
|
944
|
+
channel_type: number;
|
|
945
|
+
/** status */
|
|
946
|
+
status: number;
|
|
947
|
+
/** meeting code */
|
|
948
|
+
meeting_code: string;
|
|
949
|
+
/** error */
|
|
950
|
+
is_error: boolean;
|
|
951
|
+
/** channel private */
|
|
952
|
+
channel_private: boolean;
|
|
953
|
+
/** app url */
|
|
954
|
+
app_id: string;
|
|
955
|
+
/** e2ee */
|
|
956
|
+
e2ee: number;
|
|
957
|
+
/** topic */
|
|
958
|
+
topic: string;
|
|
959
|
+
/** */
|
|
960
|
+
age_restricted: number;
|
|
961
|
+
/** 0 = archived, 1 = active */
|
|
962
|
+
active: number;
|
|
963
|
+
/** count message unread */
|
|
964
|
+
count_mess_unread: number;
|
|
965
|
+
/** The users to add. */
|
|
966
|
+
user_ids: string[];
|
|
967
|
+
/** This is the role that needs to be added to the channel */
|
|
968
|
+
role_ids: string[];
|
|
969
|
+
/** */
|
|
970
|
+
channel_avatar: string;
|
|
971
|
+
}
|
|
917
972
|
/** Stop receiving status updates for some set of users. */
|
|
918
973
|
export interface StatusUnfollow {
|
|
919
974
|
/** Users to unfollow. */
|
|
@@ -1335,6 +1390,14 @@ export declare const Envelope: {
|
|
|
1335
1390
|
create<I extends Exact<DeepPartial<Envelope>, I>>(base?: I): Envelope;
|
|
1336
1391
|
fromPartial<I extends Exact<DeepPartial<Envelope>, I>>(object: I): Envelope;
|
|
1337
1392
|
};
|
|
1393
|
+
export declare const TopicInMessageEvent: {
|
|
1394
|
+
encode(message: TopicInMessageEvent, writer?: _m0.Writer): _m0.Writer;
|
|
1395
|
+
decode(input: _m0.Reader | Uint8Array, length?: number): TopicInMessageEvent;
|
|
1396
|
+
fromJSON(object: any): TopicInMessageEvent;
|
|
1397
|
+
toJSON(message: TopicInMessageEvent): unknown;
|
|
1398
|
+
create<I extends Exact<DeepPartial<TopicInMessageEvent>, I>>(base?: I): TopicInMessageEvent;
|
|
1399
|
+
fromPartial<I extends Exact<DeepPartial<TopicInMessageEvent>, I>>(object: I): TopicInMessageEvent;
|
|
1400
|
+
};
|
|
1338
1401
|
export declare const ApiRequestEvent: {
|
|
1339
1402
|
encode(message: ApiRequestEvent, writer?: _m0.Writer): _m0.Writer;
|
|
1340
1403
|
decode(input: _m0.Reader | Uint8Array, length?: number): ApiRequestEvent;
|
|
@@ -1807,6 +1870,14 @@ export declare const ChannelUpdatedEvent: {
|
|
|
1807
1870
|
create<I extends Exact<DeepPartial<ChannelUpdatedEvent>, I>>(base?: I): ChannelUpdatedEvent;
|
|
1808
1871
|
fromPartial<I extends Exact<DeepPartial<ChannelUpdatedEvent>, I>>(object: I): ChannelUpdatedEvent;
|
|
1809
1872
|
};
|
|
1873
|
+
export declare const ChannelArchiveEvent: {
|
|
1874
|
+
encode(message: ChannelArchiveEvent, writer?: _m0.Writer): _m0.Writer;
|
|
1875
|
+
decode(input: _m0.Reader | Uint8Array, length?: number): ChannelArchiveEvent;
|
|
1876
|
+
fromJSON(object: any): ChannelArchiveEvent;
|
|
1877
|
+
toJSON(message: ChannelArchiveEvent): unknown;
|
|
1878
|
+
create<I extends Exact<DeepPartial<ChannelArchiveEvent>, I>>(base?: I): ChannelArchiveEvent;
|
|
1879
|
+
fromPartial<I extends Exact<DeepPartial<ChannelArchiveEvent>, I>>(object: I): ChannelArchiveEvent;
|
|
1880
|
+
};
|
|
1810
1881
|
export declare const StatusUnfollow: {
|
|
1811
1882
|
encode(message: StatusUnfollow, writer?: _m0.Writer): _m0.Writer;
|
|
1812
1883
|
decode(input: _m0.Reader | Uint8Array, length?: number): StatusUnfollow;
|