mezon-sdk 2.7.95 → 2.7.96
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.d.ts +2 -0
- package/dist/cjs/api.js +55 -1
- package/dist/cjs/api.js.map +1 -1
- package/dist/cjs/constants/enum.d.ts +5 -2
- package/dist/cjs/constants/enum.js +3 -0
- package/dist/cjs/constants/enum.js.map +1 -1
- package/dist/cjs/mezon-client/client/MezonClient.d.ts +8 -2
- package/dist/cjs/mezon-client/client/MezonClient.js +111 -58
- package/dist/cjs/mezon-client/client/MezonClient.js.map +1 -1
- package/dist/cjs/mezon-client/manager/channel_manager.js +2 -1
- package/dist/cjs/mezon-client/manager/channel_manager.js.map +1 -1
- package/dist/cjs/mezon-client/manager/socket_manager.d.ts +4 -4
- package/dist/cjs/mezon-client/manager/socket_manager.js +16 -17
- package/dist/cjs/mezon-client/manager/socket_manager.js.map +1 -1
- package/dist/cjs/mezon-client/structures/Clan.d.ts +3 -1
- package/dist/cjs/mezon-client/structures/Clan.js +15 -6
- package/dist/cjs/mezon-client/structures/Clan.js.map +1 -1
- package/dist/cjs/mezon-client/structures/TextChannel.d.ts +3 -1
- package/dist/cjs/mezon-client/structures/TextChannel.js +9 -5
- package/dist/cjs/mezon-client/structures/TextChannel.js.map +1 -1
- package/dist/cjs/mezon-client/structures/User.d.ts +2 -2
- package/dist/cjs/mezon-client/structures/User.js +22 -10
- package/dist/cjs/mezon-client/structures/User.js.map +1 -1
- package/dist/cjs/sqlite/MessageDatabase.d.ts +9 -0
- package/dist/cjs/sqlite/MessageDatabase.js +79 -0
- package/dist/cjs/sqlite/MessageDatabase.js.map +1 -0
- package/dist/cjs/utils/helper.d.ts +3 -2
- package/dist/cjs/utils/helper.js +5 -13
- package/dist/cjs/utils/helper.js.map +1 -1
- package/dist/esm/api.d.ts +2 -0
- package/dist/esm/api.js +55 -1
- package/dist/esm/api.js.map +1 -1
- package/dist/esm/constants/enum.d.ts +5 -2
- package/dist/esm/constants/enum.js +3 -0
- package/dist/esm/constants/enum.js.map +1 -1
- package/dist/esm/mezon-client/client/MezonClient.d.ts +8 -2
- package/dist/esm/mezon-client/client/MezonClient.js +111 -57
- package/dist/esm/mezon-client/client/MezonClient.js.map +1 -1
- package/dist/esm/mezon-client/manager/channel_manager.js +1 -1
- package/dist/esm/mezon-client/manager/channel_manager.js.map +1 -1
- package/dist/esm/mezon-client/manager/socket_manager.d.ts +4 -4
- package/dist/esm/mezon-client/manager/socket_manager.js +17 -19
- package/dist/esm/mezon-client/manager/socket_manager.js.map +1 -1
- package/dist/esm/mezon-client/structures/Clan.d.ts +3 -1
- package/dist/esm/mezon-client/structures/Clan.js +16 -6
- package/dist/esm/mezon-client/structures/Clan.js.map +1 -1
- package/dist/esm/mezon-client/structures/TextChannel.d.ts +3 -1
- package/dist/esm/mezon-client/structures/TextChannel.js +10 -5
- package/dist/esm/mezon-client/structures/TextChannel.js.map +1 -1
- package/dist/esm/mezon-client/structures/User.d.ts +2 -2
- package/dist/esm/mezon-client/structures/User.js +21 -10
- package/dist/esm/mezon-client/structures/User.js.map +1 -1
- package/dist/esm/sqlite/MessageDatabase.d.ts +9 -0
- package/dist/esm/sqlite/MessageDatabase.js +79 -0
- package/dist/esm/sqlite/MessageDatabase.js.map +1 -0
- package/dist/esm/utils/helper.d.ts +3 -2
- package/dist/esm/utils/helper.js +5 -13
- package/dist/esm/utils/helper.js.map +1 -1
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel_manager.js","sourceRoot":"","sources":["../../../../src/mezon-client/manager/channel_manager.ts"],"names":[],"mappings":";;;AACA,+CAA8C;AAK9C,+CAAmD;AAInD,MAAa,cAAc;IAEzB,YACU,SAAmB,EACnB,aAA4B,EAC5B,cAA8B;QAF9B,cAAS,GAAT,SAAS,CAAU;QACnB,kBAAa,GAAb,aAAa,CAAe;QAC5B,mBAAc,GAAd,cAAc,CAAgB;IACrC,CAAC;IAEG,KAAK,CAAC,iBAAiB,CAAC,YAAoB
|
|
1
|
+
{"version":3,"file":"channel_manager.js","sourceRoot":"","sources":["../../../../src/mezon-client/manager/channel_manager.ts"],"names":[],"mappings":";;;AACA,+CAA8C;AAK9C,+CAAmD;AAInD,MAAa,cAAc;IAEzB,YACU,SAAmB,EACnB,aAA4B,EAC5B,cAA8B;QAF9B,cAAS,GAAT,SAAS,CAAU;QACnB,kBAAa,GAAb,aAAa,CAAe;QAC5B,mBAAc,GAAd,cAAc,CAAgB;IACrC,CAAC;IAEG,KAAK,CAAC,iBAAiB,CAAC,YAAoB;;QACjD,IAAI,CAAC,YAAY;YAAE,OAAO;QAC1B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,gBAAgB,CACpD,YAAY,EACZ,uBAAW,CAAC,eAAe,CAC5B,CAAC;QACF,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,WAAW,CAAA,IAAI,CAAC,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,WAAW,0CAAE,MAAM,CAAA;YAAE,OAAO;QACrE,IAAI,CAAC,aAAa,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,WAAW,CACvC,GAAG,CAAC,CAAC,OAA2D,EAAE,EAAE;;YACnE,IAAI,CAAC,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,0CAAE,MAAM,CAAA;gBAAE,OAAO;YACtC,OAAO;gBACL,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU;aACzC,CAAC;QACJ,CAAC,EACA,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,CAAC,GAAQ,EAAE,IAAS,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACnE,CAAC;IAEM,gBAAgB;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,kCAAkC;IAClC,KAAK,CAAC,eAAe,CAAC,MAAc;QAClC,IAAI;YACF,IAAI,CAAC,IAAA,sBAAa,EAAC,MAAM,CAAC;gBAAE,OAAO,IAAI,CAAC;YACxC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;YAC9C,MAAM,OAAO,GAAgC;gBAC3C,OAAO,EAAE,EAAE;gBACX,UAAU,EAAE,GAAG;gBACf,WAAW,EAAE,GAAG;gBAChB,IAAI,EAAE,uBAAW,CAAC,eAAe;gBACjC,QAAQ,EAAE,CAAC,MAAM,CAAC;gBAClB,eAAe,EAAE,CAAC;aACnB,CAAC;YACF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,iBAAiB,CACtD,IAAI,CAAC,cAAc,CAAC,UAAU,EAAG,CAAC,KAAK,EACvC,OAAO,CACR,CAAC;YAEF,IAAI,SAAS,EAAE;gBACb,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACtB,MAAM,MAAM,CAAC,QAAQ,CACnB,SAAS,CAAC,OAAQ,EAClB,SAAS,CAAC,UAAW,EACrB,SAAS,CAAC,IAAK,EACf,KAAK,CACN,CAAC;gBACF,OAAO,SAAS,CAAC;aAClB;YACD,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAEO,KAAK,CAAC,EAAU;QACtB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;CACF;AAnED,wCAmEC"}
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import { ErrorEvent, CloseEvent } from "ws";
|
|
2
2
|
import { MezonApi } from "../../api";
|
|
3
3
|
import { WebSocketAdapter } from "../../web_socket_adapter";
|
|
4
|
-
import { SessionManager } from "./session_manager";
|
|
5
4
|
import { Socket } from "../../interfaces/socket";
|
|
6
5
|
import { Session } from "../../session";
|
|
7
6
|
import { EventManager } from "./event_manager";
|
|
8
7
|
import { MezonClient } from "../client/MezonClient";
|
|
9
8
|
import { ReactMessageData, RemoveMessageData, ReplyMessageData, UpdateMessageData } from "../../interfaces";
|
|
10
9
|
import { AsyncThrottleQueue } from "../utils/AsyncThrottleQueue";
|
|
10
|
+
import { MessageDatabase } from "../../sqlite/MessageDatabase";
|
|
11
11
|
export declare class SocketManager {
|
|
12
12
|
private host;
|
|
13
13
|
private port;
|
|
14
14
|
private useSSL;
|
|
15
15
|
private adapter;
|
|
16
|
-
private sessionManager;
|
|
17
16
|
private apiClient;
|
|
18
|
-
private apiKey;
|
|
19
17
|
private eventManager;
|
|
20
18
|
private messageQueue;
|
|
21
19
|
private client;
|
|
20
|
+
private messageDB;
|
|
22
21
|
[key: string]: any;
|
|
23
22
|
private socket;
|
|
24
23
|
private isHardDisconnect;
|
|
25
|
-
|
|
24
|
+
private isRetrying;
|
|
25
|
+
constructor(host: string, port: string, useSSL: boolean, adapter: WebSocketAdapter, apiClient: MezonApi, eventManager: EventManager, messageQueue: AsyncThrottleQueue, client: MezonClient, messageDB: MessageDatabase);
|
|
26
26
|
createSocket(): void;
|
|
27
27
|
getSocket(): Socket;
|
|
28
28
|
connect(sockSession: Session): Promise<Session>;
|
|
@@ -7,17 +7,17 @@ const web_socket_adapter_pb_1 = require("../../web_socket_adapter_pb");
|
|
|
7
7
|
const Clan_1 = require("../structures/Clan");
|
|
8
8
|
const helper_1 = require("../../utils/helper");
|
|
9
9
|
class SocketManager {
|
|
10
|
-
constructor(host, port, useSSL, adapter,
|
|
10
|
+
constructor(host, port, useSSL, adapter, apiClient, eventManager, messageQueue, client, messageDB) {
|
|
11
11
|
this.host = host;
|
|
12
12
|
this.port = port;
|
|
13
13
|
this.useSSL = useSSL;
|
|
14
14
|
this.adapter = adapter;
|
|
15
|
-
this.sessionManager = sessionManager;
|
|
16
15
|
this.apiClient = apiClient;
|
|
17
|
-
this.apiKey = apiKey;
|
|
18
16
|
this.eventManager = eventManager;
|
|
19
17
|
this.messageQueue = messageQueue;
|
|
20
18
|
this.client = client;
|
|
19
|
+
this.messageDB = messageDB;
|
|
20
|
+
this.isRetrying = false;
|
|
21
21
|
this.socket = new socket_1.DefaultSocket(this.host, this.port, this.useSSL, false, this.adapter);
|
|
22
22
|
}
|
|
23
23
|
createSocket() {
|
|
@@ -33,7 +33,7 @@ class SocketManager {
|
|
|
33
33
|
return session;
|
|
34
34
|
}
|
|
35
35
|
closeSocket() {
|
|
36
|
-
this.isHardDisconnect = true;
|
|
36
|
+
// this.isHardDisconnect = true;
|
|
37
37
|
this.socket.close();
|
|
38
38
|
console.log("eventManager", this.eventManager);
|
|
39
39
|
}
|
|
@@ -69,7 +69,7 @@ class SocketManager {
|
|
|
69
69
|
const clanObj = new Clan_1.Clan({
|
|
70
70
|
id: clan.clan_id,
|
|
71
71
|
name: (_a = clan === null || clan === void 0 ? void 0 : clan.clan_name) !== null && _a !== void 0 ? _a : "unknown",
|
|
72
|
-
}, this.client, this.apiClient, this, sessionToken, this.messageQueue);
|
|
72
|
+
}, this.client, this.apiClient, this, sessionToken, this.messageQueue, this.messageDB);
|
|
73
73
|
this.client.clans.set(clan.clan_id, clanObj);
|
|
74
74
|
}
|
|
75
75
|
});
|
|
@@ -86,28 +86,27 @@ class SocketManager {
|
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
async retriesConnect() {
|
|
89
|
+
if (this.isRetrying)
|
|
90
|
+
return;
|
|
91
|
+
this.isRetrying = true;
|
|
89
92
|
let retryInterval = 5000;
|
|
90
93
|
const maxRetryInterval = 60000;
|
|
91
94
|
console.log("Reconnecting...");
|
|
92
|
-
const
|
|
95
|
+
const retry = async () => {
|
|
93
96
|
try {
|
|
94
|
-
this.
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
if (sessionConnected === null || sessionConnected === void 0 ? void 0 : sessionConnected.token) {
|
|
98
|
-
await this.connectSocket(sessionConnected.token);
|
|
99
|
-
}
|
|
97
|
+
const sessionStr = await this.client.login();
|
|
98
|
+
console.log("Reconnected session:", sessionStr);
|
|
99
|
+
this.isRetrying = false;
|
|
100
100
|
console.log("Connected successfully!");
|
|
101
|
-
clearInterval(interval);
|
|
102
101
|
}
|
|
103
102
|
catch (e) {
|
|
104
|
-
console.log("Connection failed!");
|
|
103
|
+
console.log("Connection failed!", e);
|
|
105
104
|
retryInterval = Math.min(retryInterval * 2, maxRetryInterval);
|
|
106
105
|
console.log(`Retrying in ${retryInterval / 1000} seconds...`);
|
|
107
|
-
|
|
108
|
-
setTimeout(() => this.retriesConnect(), retryInterval);
|
|
106
|
+
setTimeout(retry, retryInterval);
|
|
109
107
|
}
|
|
110
|
-
}
|
|
108
|
+
};
|
|
109
|
+
retry();
|
|
111
110
|
}
|
|
112
111
|
async writeChatMessage(dataWriteMessage) {
|
|
113
112
|
var _a, _b, _c;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socket_manager.js","sourceRoot":"","sources":["../../../../src/mezon-client/manager/socket_manager.ts"],"names":[],"mappings":";;;AAEA,+CAAyC;AACzC,yCAA6C;AAE7C,uEAAiE;
|
|
1
|
+
{"version":3,"file":"socket_manager.js","sourceRoot":"","sources":["../../../../src/mezon-client/manager/socket_manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { MezonApi } from "../../api";
|
|
2
2
|
import { ApiRoleListEventResponse, ApiVoiceChannelUserList, MezonUpdateRoleBody } from "../../interfaces";
|
|
3
|
+
import { MessageDatabase } from "../../sqlite/MessageDatabase";
|
|
3
4
|
import { MezonClient } from "../client/MezonClient";
|
|
4
5
|
import { SocketManager } from "../manager/socket_manager";
|
|
5
6
|
import { AsyncThrottleQueue } from "../utils/AsyncThrottleQueue";
|
|
@@ -22,7 +23,8 @@ export declare class Clan {
|
|
|
22
23
|
private readonly client;
|
|
23
24
|
private readonly socketManager;
|
|
24
25
|
private readonly messageQueue;
|
|
25
|
-
|
|
26
|
+
private readonly messageDB;
|
|
27
|
+
constructor(initClanData: ClanInitData, client: MezonClient, apiClient: MezonApi, socketManager: SocketManager, sessionToken: string, messageQueue: AsyncThrottleQueue, messageDB: MessageDatabase);
|
|
26
28
|
loadChannels(): Promise<void>;
|
|
27
29
|
listChannelVoiceUsers(channel_id?: string, channel_type?: number, limit?: number, state?: number, cursor?: string): Promise<ApiVoiceChannelUserList>;
|
|
28
30
|
updateRole(roleId: string, request: MezonUpdateRoleBody): Promise<boolean>;
|
|
@@ -4,8 +4,9 @@ exports.Clan = void 0;
|
|
|
4
4
|
const constants_1 = require("../../constants");
|
|
5
5
|
const CacheManager_1 = require("../utils/CacheManager");
|
|
6
6
|
const TextChannel_1 = require("./TextChannel");
|
|
7
|
+
const User_1 = require("./User");
|
|
7
8
|
class Clan {
|
|
8
|
-
constructor(initClanData, client, apiClient, socketManager, sessionToken, messageQueue) {
|
|
9
|
+
constructor(initClanData, client, apiClient, socketManager, sessionToken, messageQueue, messageDB) {
|
|
9
10
|
// cache status load channel
|
|
10
11
|
this._channelsLoaded = false;
|
|
11
12
|
// cache status load channel call api
|
|
@@ -17,14 +18,22 @@ class Clan {
|
|
|
17
18
|
this.socketManager = socketManager;
|
|
18
19
|
this.messageQueue = messageQueue;
|
|
19
20
|
this.sessionToken = sessionToken;
|
|
21
|
+
this.messageDB = messageDB;
|
|
20
22
|
this.channels = new CacheManager_1.CacheManager(async (channelId) => {
|
|
21
23
|
return this.client.channels.fetch(channelId);
|
|
22
24
|
});
|
|
23
25
|
this.users = new CacheManager_1.CacheManager(async (user_id) => {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
const dmChannel = await this.client.createDMchannel(user_id);
|
|
27
|
+
if (!dmChannel || !(dmChannel === null || dmChannel === void 0 ? void 0 : dmChannel.channel_id)) {
|
|
28
|
+
throw Error(`User ${user_id} not found in this clan ${this.id}!`);
|
|
29
|
+
}
|
|
30
|
+
const userRaw = {
|
|
31
|
+
id: user_id,
|
|
32
|
+
dmChannelId: dmChannel.channel_id,
|
|
33
|
+
};
|
|
34
|
+
const user = new User_1.User(userRaw, this, this.messageQueue, this.socketManager);
|
|
35
|
+
this.users.set(user_id, user);
|
|
36
|
+
return user;
|
|
28
37
|
});
|
|
29
38
|
}
|
|
30
39
|
async loadChannels() {
|
|
@@ -37,7 +46,7 @@ class Clan {
|
|
|
37
46
|
const channels = await this.apiClient.listChannelDescs(this.sessionToken, constants_1.ChannelType.CHANNEL_TYPE_CHANNEL, this.id);
|
|
38
47
|
const validChannels = (_b = (_a = channels === null || channels === void 0 ? void 0 : channels.channeldesc) === null || _a === void 0 ? void 0 : _a.filter((c) => Object.keys(c).length > 0)) !== null && _b !== void 0 ? _b : [];
|
|
39
48
|
for (const channel of validChannels) {
|
|
40
|
-
const channelObj = new TextChannel_1.TextChannel(Object.assign(Object.assign({}, channel), { type: (channel === null || channel === void 0 ? void 0 : channel.channel_type) || (channel === null || channel === void 0 ? void 0 : channel.type) }), this, this.socketManager, this.messageQueue);
|
|
49
|
+
const channelObj = new TextChannel_1.TextChannel(Object.assign(Object.assign({}, channel), { type: (channel === null || channel === void 0 ? void 0 : channel.channel_type) || (channel === null || channel === void 0 ? void 0 : channel.type) }), this, this.socketManager, this.messageQueue, this.messageDB);
|
|
41
50
|
this.channels.set(channel.channel_id, channelObj);
|
|
42
51
|
this.client.channels.set(channel.channel_id, channelObj);
|
|
43
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Clan.js","sourceRoot":"","sources":["../../../../src/mezon-client/structures/Clan.ts"],"names":[],"mappings":";;;AACA,+CAA8C;
|
|
1
|
+
{"version":3,"file":"Clan.js","sourceRoot":"","sources":["../../../../src/mezon-client/structures/Clan.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ApiChannelDescription, ApiMessageAttachment, ApiMessageMention, ChannelMessageContent } from "../../interfaces";
|
|
2
|
+
import { MessageDatabase } from "../../sqlite/MessageDatabase";
|
|
2
3
|
import { SocketManager } from "../manager/socket_manager";
|
|
3
4
|
import { AsyncThrottleQueue } from "../utils/AsyncThrottleQueue";
|
|
4
5
|
import { CacheManager } from "../utils/CacheManager";
|
|
@@ -16,6 +17,7 @@ export declare class TextChannel {
|
|
|
16
17
|
messages: CacheManager<string, Message>;
|
|
17
18
|
private readonly socketManager;
|
|
18
19
|
private readonly messageQueue;
|
|
19
|
-
|
|
20
|
+
private messageDB;
|
|
21
|
+
constructor(initChannelData: ApiChannelDescription, clan: Clan, socketManager: SocketManager, messageQueue: AsyncThrottleQueue, messageDB: MessageDatabase);
|
|
20
22
|
send(content: ChannelMessageContent, mentions?: Array<ApiMessageMention>, attachments?: Array<ApiMessageAttachment>, mention_everyone?: boolean, anonymous_message?: boolean, topic_id?: string, code?: number): Promise<import("../../interfaces").ChannelMessageAck>;
|
|
21
23
|
}
|
|
@@ -3,8 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.TextChannel = void 0;
|
|
4
4
|
const helper_1 = require("../../utils/helper");
|
|
5
5
|
const CacheManager_1 = require("../utils/CacheManager");
|
|
6
|
+
const Message_1 = require("./Message");
|
|
6
7
|
class TextChannel {
|
|
7
|
-
constructor(initChannelData, clan, socketManager, messageQueue) {
|
|
8
|
+
constructor(initChannelData, clan, socketManager, messageQueue, messageDB) {
|
|
8
9
|
var _a, _b, _c;
|
|
9
10
|
this.id = initChannelData.channel_id;
|
|
10
11
|
this.name = initChannelData.channel_label;
|
|
@@ -15,13 +16,16 @@ class TextChannel {
|
|
|
15
16
|
this.parent_id = (_c = initChannelData === null || initChannelData === void 0 ? void 0 : initChannelData.parent_id) !== null && _c !== void 0 ? _c : "";
|
|
16
17
|
this.clan = clan;
|
|
17
18
|
this.messages = new CacheManager_1.CacheManager(async (message_id) => {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
const messageDb = this.messageDB.getMessageById(message_id, this.id);
|
|
20
|
+
if (!messageDb) {
|
|
21
|
+
throw Error(`Message ${message_id} not found on channel ${this.id}!`);
|
|
22
|
+
}
|
|
23
|
+
const newMessage = new Message_1.Message(messageDb, this, this.socketManager, this.messageQueue);
|
|
24
|
+
return newMessage;
|
|
22
25
|
}, 200);
|
|
23
26
|
this.socketManager = socketManager;
|
|
24
27
|
this.messageQueue = messageQueue;
|
|
28
|
+
this.messageDB = messageDB;
|
|
25
29
|
}
|
|
26
30
|
async send(content, mentions, attachments, mention_everyone, anonymous_message, topic_id, code) {
|
|
27
31
|
return this.messageQueue.enqueue(async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextChannel.js","sourceRoot":"","sources":["../../../../src/mezon-client/structures/TextChannel.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"TextChannel.js","sourceRoot":"","sources":["../../../../src/mezon-client/structures/TextChannel.ts"],"names":[],"mappings":";;;AAQA,+CAAqE;AAGrE,wDAAqD;AAErD,uCAAoC;AAEpC,MAAa,WAAW;IAgBtB,YACE,eAAsC,EACtC,IAAU,EACV,aAA4B,EAC5B,YAAgC,EAChC,SAA0B;;QAE1B,IAAI,CAAC,EAAE,GAAG,eAAe,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,aAAa,CAAC;QAC1C,IAAI,CAAC,YAAY,GAAG,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,IAAI,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,eAAe,CAAA,CAAC;QACrD,IAAI,CAAC,WAAW,GAAG,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,WAAW,mCAAI,EAAE,CAAC;QACtD,IAAI,CAAC,aAAa,GAAG,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,aAAa,mCAAI,EAAE,CAAC;QAC1D,IAAI,CAAC,SAAS,GAAG,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,SAAS,mCAAI,EAAE,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,2BAAY,CAAkB,KAAK,EAAE,UAAU,EAAE,EAAE;YACrE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,EAAG,CAAC,CAAC;YACtE,IAAI,CAAC,SAAS,EAAE;gBACd,MAAM,KAAK,CAAC,WAAW,UAAU,yBAAyB,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;aACvE;YACD,MAAM,UAAU,GAAG,IAAI,iBAAO,CAC5B,SAAS,EACT,IAAI,EACJ,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,YAAY,CAClB,CAAC;YACF,OAAO,UAAU,CAAC;QACpB,CAAC,EAAE,GAAG,CAAC,CAAC;QACR,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,IAAI,CACR,OAA8B,EAC9B,QAAmC,EACnC,WAAyC,EACzC,gBAA0B,EAC1B,iBAA2B,EAC3B,QAAiB,EACjB,IAAa;QAEb,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;YAC1C,MAAM,QAAQ,GAAqB;gBACjC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;gBACrB,UAAU,EAAE,IAAI,CAAC,EAAG;gBACpB,IAAI,EAAE,IAAA,wCAA+B,EAAC,IAAI,CAAC,YAAa,CAAC;gBACzD,SAAS,EAAE,CAAC,IAAI,CAAC,UAAU;gBAC3B,OAAO;gBACP,QAAQ;gBACR,WAAW;gBACX,iBAAiB;gBACjB,gBAAgB;gBAChB,IAAI;gBACJ,QAAQ;aACT,CAAC;YACF,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AA3ED,kCA2EC"}
|
|
@@ -24,8 +24,8 @@ export declare class User {
|
|
|
24
24
|
private readonly channelManager;
|
|
25
25
|
private readonly messageQueue;
|
|
26
26
|
private readonly socketManager;
|
|
27
|
-
constructor(initUserData: UserInitData, clan: Clan,
|
|
27
|
+
constructor(initUserData: UserInitData, clan: Clan, messageQueue: AsyncThrottleQueue, socketManager: SocketManager, channelManager?: ChannelManager);
|
|
28
28
|
sendToken(sendTokenData: SendTokenData): Promise<any>;
|
|
29
29
|
sendDM(content: ChannelMessageContent, code?: number): Promise<import("../../interfaces").ChannelMessageAck>;
|
|
30
|
-
createDmChannel(): Promise<import("../../interfaces").ApiChannelDescription>;
|
|
30
|
+
createDmChannel(): Promise<import("../../interfaces").ApiChannelDescription | null>;
|
|
31
31
|
}
|
|
@@ -3,15 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.User = void 0;
|
|
4
4
|
const constants_1 = require("../../constants");
|
|
5
5
|
class User {
|
|
6
|
-
constructor(initUserData, clan,
|
|
6
|
+
constructor(initUserData, clan, messageQueue, socketManager, channelManager) {
|
|
7
7
|
var _a, _b, _c, _d, _e, _f;
|
|
8
8
|
this.id = initUserData.id;
|
|
9
|
-
this.avartar = (_a = initUserData.avartar) !== null && _a !== void 0 ? _a :
|
|
10
|
-
this.dmChannelId = (_b = initUserData === null || initUserData === void 0 ? void 0 : initUserData.dmChannelId) !== null && _b !== void 0 ? _b :
|
|
11
|
-
this.username = (_c = initUserData === null || initUserData === void 0 ? void 0 : initUserData.username) !== null && _c !== void 0 ? _c :
|
|
12
|
-
this.clan_nick = (_d = initUserData === null || initUserData === void 0 ? void 0 : initUserData.clan_nick) !== null && _d !== void 0 ? _d :
|
|
13
|
-
this.clan_avatar = (_e = initUserData === null || initUserData === void 0 ? void 0 : initUserData.clan_avatar) !== null && _e !== void 0 ? _e :
|
|
14
|
-
this.display_name = (_f = initUserData === null || initUserData === void 0 ? void 0 : initUserData.display_name) !== null && _f !== void 0 ? _f :
|
|
9
|
+
this.avartar = (_a = initUserData.avartar) !== null && _a !== void 0 ? _a : "";
|
|
10
|
+
this.dmChannelId = (_b = initUserData === null || initUserData === void 0 ? void 0 : initUserData.dmChannelId) !== null && _b !== void 0 ? _b : "";
|
|
11
|
+
this.username = (_c = initUserData === null || initUserData === void 0 ? void 0 : initUserData.username) !== null && _c !== void 0 ? _c : "";
|
|
12
|
+
this.clan_nick = (_d = initUserData === null || initUserData === void 0 ? void 0 : initUserData.clan_nick) !== null && _d !== void 0 ? _d : "";
|
|
13
|
+
this.clan_avatar = (_e = initUserData === null || initUserData === void 0 ? void 0 : initUserData.clan_avatar) !== null && _e !== void 0 ? _e : "";
|
|
14
|
+
this.display_name = (_f = initUserData === null || initUserData === void 0 ? void 0 : initUserData.display_name) !== null && _f !== void 0 ? _f : "";
|
|
15
15
|
this.clan = clan;
|
|
16
16
|
this.channelManager = channelManager;
|
|
17
17
|
this.messageQueue = messageQueue;
|
|
@@ -25,7 +25,12 @@ class User {
|
|
|
25
25
|
note: (_a = sendTokenData === null || sendTokenData === void 0 ? void 0 : sendTokenData.note) !== null && _a !== void 0 ? _a : "",
|
|
26
26
|
extra_attribute: (_b = sendTokenData === null || sendTokenData === void 0 ? void 0 : sendTokenData.extra_attribute) !== null && _b !== void 0 ? _b : "",
|
|
27
27
|
};
|
|
28
|
-
|
|
28
|
+
try {
|
|
29
|
+
return this.clan.apiClient.sendToken(this.clan.sessionToken, dataSendToken);
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
console.log("Error sendToken");
|
|
33
|
+
}
|
|
29
34
|
}
|
|
30
35
|
async sendDM(content, code) {
|
|
31
36
|
return this.messageQueue.enqueue(async () => {
|
|
@@ -48,8 +53,15 @@ class User {
|
|
|
48
53
|
});
|
|
49
54
|
}
|
|
50
55
|
async createDmChannel() {
|
|
51
|
-
|
|
52
|
-
|
|
56
|
+
var _a;
|
|
57
|
+
try {
|
|
58
|
+
const dmChannel = await ((_a = this.channelManager) === null || _a === void 0 ? void 0 : _a.createDMchannel(this.id));
|
|
59
|
+
return dmChannel !== null && dmChannel !== void 0 ? dmChannel : {};
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
console.log("Error createDmChannel User");
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
53
65
|
}
|
|
54
66
|
}
|
|
55
67
|
exports.User = User;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"User.js","sourceRoot":"","sources":["../../../../src/mezon-client/structures/User.ts"],"names":[],"mappings":";;;AAAA,+CAAoD;AAoBpD,MAAa,IAAI;IAaf,YACE,YAA0B,EAC1B,IAAU,EACV,
|
|
1
|
+
{"version":3,"file":"User.js","sourceRoot":"","sources":["../../../../src/mezon-client/structures/User.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ChannelMessage } from "../interfaces";
|
|
2
|
+
export declare class MessageDatabase {
|
|
3
|
+
private db;
|
|
4
|
+
constructor(dbPath?: string);
|
|
5
|
+
private ensureGitIgnore;
|
|
6
|
+
private init;
|
|
7
|
+
saveMessage(message: ChannelMessage): void;
|
|
8
|
+
getMessageById(messageId: string, channelId: string): any;
|
|
9
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.MessageDatabase = void 0;
|
|
7
|
+
const better_sqlite3_1 = __importDefault(require("better-sqlite3"));
|
|
8
|
+
const fs_1 = __importDefault(require("fs"));
|
|
9
|
+
const path_1 = __importDefault(require("path"));
|
|
10
|
+
class MessageDatabase {
|
|
11
|
+
constructor(dbPath = "./mezon-cache/mezon-messages-cache.db") {
|
|
12
|
+
const dir = path_1.default.dirname(dbPath);
|
|
13
|
+
if (!fs_1.default.existsSync(dir)) {
|
|
14
|
+
fs_1.default.mkdirSync(dir, { recursive: true });
|
|
15
|
+
}
|
|
16
|
+
this.ensureGitIgnore(dbPath);
|
|
17
|
+
this.db = new better_sqlite3_1.default(dbPath);
|
|
18
|
+
this.init();
|
|
19
|
+
}
|
|
20
|
+
ensureGitIgnore(dbPath) {
|
|
21
|
+
const gitignorePath = path_1.default.resolve(".gitignore");
|
|
22
|
+
const dirName = path_1.default.dirname(dbPath);
|
|
23
|
+
let relativeDir = dirName.replace(/\\/g, "/");
|
|
24
|
+
if (relativeDir.startsWith("./")) {
|
|
25
|
+
relativeDir = relativeDir.slice(2);
|
|
26
|
+
}
|
|
27
|
+
try {
|
|
28
|
+
let gitignoreContent = "";
|
|
29
|
+
if (fs_1.default.existsSync(gitignorePath)) {
|
|
30
|
+
gitignoreContent = fs_1.default.readFileSync(gitignorePath, "utf-8");
|
|
31
|
+
}
|
|
32
|
+
if (!gitignoreContent.includes(relativeDir)) {
|
|
33
|
+
fs_1.default.appendFileSync(gitignorePath, `\n# Mezon cache\n/${relativeDir}`);
|
|
34
|
+
console.log(`[mezon] Added "${relativeDir}" to .gitignore`);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
catch (err) {
|
|
38
|
+
console.warn("[mezon] Could not modify .gitignore:", err);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
init() {
|
|
42
|
+
this.db
|
|
43
|
+
.prepare(`CREATE TABLE IF NOT EXISTS messages (
|
|
44
|
+
id TEXT PRIMARY KEY,
|
|
45
|
+
clan_id TEXT,
|
|
46
|
+
channel_id TEXT,
|
|
47
|
+
sender_id TEXT,
|
|
48
|
+
content TEXT,
|
|
49
|
+
mentions TEXT,
|
|
50
|
+
attachments TEXT,
|
|
51
|
+
reactions TEXT,
|
|
52
|
+
msg_references TEXT,
|
|
53
|
+
topic_id TEXT,
|
|
54
|
+
create_time_seconds INTEGER
|
|
55
|
+
)`)
|
|
56
|
+
.run();
|
|
57
|
+
this.db
|
|
58
|
+
.prepare(`CREATE INDEX IF NOT EXISTS idx_channel_id_id ON messages(channel_id, id)`)
|
|
59
|
+
.run();
|
|
60
|
+
}
|
|
61
|
+
saveMessage(message) {
|
|
62
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
63
|
+
const stmt = this.db.prepare(`INSERT OR REPLACE INTO messages (
|
|
64
|
+
id, clan_id, channel_id, sender_id,
|
|
65
|
+
content, mentions, attachments, reactions,
|
|
66
|
+
msg_references, topic_id, create_time_seconds
|
|
67
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`);
|
|
68
|
+
stmt.run(message.message_id, message.clan_id, message.channel_id, message.sender_id, JSON.stringify((_a = message.content) !== null && _a !== void 0 ? _a : {}), JSON.stringify((_b = message.mentions) !== null && _b !== void 0 ? _b : []), JSON.stringify((_c = message.attachments) !== null && _c !== void 0 ? _c : []), JSON.stringify((_d = message.reactions) !== null && _d !== void 0 ? _d : []), JSON.stringify((_e = message.references) !== null && _e !== void 0 ? _e : []), (_f = message.topic_id) !== null && _f !== void 0 ? _f : null, (_g = message.create_time_seconds) !== null && _g !== void 0 ? _g : null);
|
|
69
|
+
}
|
|
70
|
+
getMessageById(messageId, channelId) {
|
|
71
|
+
const stmt = this.db.prepare(`SELECT * FROM messages WHERE channel_id = ? AND id = ? LIMIT 1`);
|
|
72
|
+
const row = stmt.get(channelId, messageId);
|
|
73
|
+
if (!row)
|
|
74
|
+
return null;
|
|
75
|
+
return Object.assign(Object.assign({}, row), { content: JSON.parse(row.content), mentions: JSON.parse(row.mentions), attachments: JSON.parse(row.attachments), reactions: JSON.parse(row.reactions), references: JSON.parse(row.msg_references) });
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
exports.MessageDatabase = MessageDatabase;
|
|
79
|
+
//# sourceMappingURL=MessageDatabase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MessageDatabase.js","sourceRoot":"","sources":["../../../src/sqlite/MessageDatabase.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { ChannelStreamMode, InternalEventsSocket } from "../constants";
|
|
2
2
|
export declare function convertInternalEventToEvents(input: InternalEventsSocket): string;
|
|
3
|
-
export declare function convertChanneltypeToChannelMode(channelType: string | number): ChannelStreamMode.STREAM_MODE_CHANNEL | ChannelStreamMode.STREAM_MODE_GROUP | ChannelStreamMode.STREAM_MODE_DM | ChannelStreamMode.STREAM_MODE_THREAD
|
|
3
|
+
export declare function convertChanneltypeToChannelMode(channelType: string | number): 0 | ChannelStreamMode.STREAM_MODE_CHANNEL | ChannelStreamMode.STREAM_MODE_GROUP | ChannelStreamMode.STREAM_MODE_DM | ChannelStreamMode.STREAM_MODE_THREAD;
|
|
4
4
|
export declare function isValidUserId(userId: string | number): boolean;
|
|
5
5
|
export declare function sleep(ms: number): Promise<unknown>;
|
|
6
|
-
export declare function parseUrlToHostAndSSL(
|
|
6
|
+
export declare function parseUrlToHostAndSSL(urlStr: string): {
|
|
7
7
|
host: string;
|
|
8
|
+
port: string;
|
|
8
9
|
useSSL: boolean;
|
|
9
10
|
};
|
package/dist/cjs/utils/helper.js
CHANGED
|
@@ -32,20 +32,12 @@ function sleep(ms) {
|
|
|
32
32
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
33
33
|
}
|
|
34
34
|
exports.sleep = sleep;
|
|
35
|
-
function parseUrlToHostAndSSL(
|
|
36
|
-
const
|
|
37
|
-
const isHttps = trimmedUrl.startsWith("https://");
|
|
38
|
-
const isHttp = trimmedUrl.startsWith("http://");
|
|
39
|
-
if (isHttps || isHttp) {
|
|
40
|
-
const withoutScheme = trimmedUrl.replace(/^https?:\/\//, "");
|
|
41
|
-
return {
|
|
42
|
-
host: withoutScheme.replace(/\/$/, ""),
|
|
43
|
-
useSSL: isHttps,
|
|
44
|
-
};
|
|
45
|
-
}
|
|
35
|
+
function parseUrlToHostAndSSL(urlStr) {
|
|
36
|
+
const url = new URL(urlStr);
|
|
46
37
|
return {
|
|
47
|
-
host:
|
|
48
|
-
|
|
38
|
+
host: url.hostname,
|
|
39
|
+
port: url.port || (url.protocol === "https:" ? "443" : "80"),
|
|
40
|
+
useSSL: url.protocol === "https:",
|
|
49
41
|
};
|
|
50
42
|
}
|
|
51
43
|
exports.parseUrlToHostAndSSL = parseUrlToHostAndSSL;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../src/utils/helper.ts"],"names":[],"mappings":";;;AAAA,4CAIsB;AAEtB,SAAgB,4BAA4B,CAC1C,KAA2B;IAE3B,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACxD,CAAC;AAJD,oEAIC;AAED,SAAgB,+BAA+B,CAAC,WAA4B;IAC1E,QAAQ,MAAM,CAAC,WAAW,CAAC,EAAE;QAC3B,KAAK,uBAAW,CAAC,eAAe;YAC9B,OAAO,6BAAiB,CAAC,cAAc,CAAC;QAC1C,KAAK,uBAAW,CAAC,kBAAkB;YACjC,OAAO,6BAAiB,CAAC,iBAAiB,CAAC;QAC7C,KAAK,uBAAW,CAAC,oBAAoB;YACnC,OAAO,6BAAiB,CAAC,mBAAmB,CAAC;QAC/C,KAAK,uBAAW,CAAC,mBAAmB;YAClC,OAAO,6BAAiB,CAAC,kBAAkB,CAAC;KAC/C;IAED,OAAO,CAAC,CAAC;AACX,CAAC;AAbD,0EAaC;AAED,SAAgB,aAAa,CAAC,MAAuB;IACnD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAEhC,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5B;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAPD,sCAOC;AAED,SAAgB,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAFD,sBAEC;AAED,SAAgB,oBAAoB,CAAC,
|
|
1
|
+
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../src/utils/helper.ts"],"names":[],"mappings":";;;AAAA,4CAIsB;AAEtB,SAAgB,4BAA4B,CAC1C,KAA2B;IAE3B,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACxD,CAAC;AAJD,oEAIC;AAED,SAAgB,+BAA+B,CAAC,WAA4B;IAC1E,QAAQ,MAAM,CAAC,WAAW,CAAC,EAAE;QAC3B,KAAK,uBAAW,CAAC,eAAe;YAC9B,OAAO,6BAAiB,CAAC,cAAc,CAAC;QAC1C,KAAK,uBAAW,CAAC,kBAAkB;YACjC,OAAO,6BAAiB,CAAC,iBAAiB,CAAC;QAC7C,KAAK,uBAAW,CAAC,oBAAoB;YACnC,OAAO,6BAAiB,CAAC,mBAAmB,CAAC;QAC/C,KAAK,uBAAW,CAAC,mBAAmB;YAClC,OAAO,6BAAiB,CAAC,kBAAkB,CAAC;KAC/C;IAED,OAAO,CAAC,CAAC;AACX,CAAC;AAbD,0EAaC;AAED,SAAgB,aAAa,CAAC,MAAuB;IACnD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAEhC,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5B;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAPD,sCAOC;AAED,SAAgB,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAFD,sBAEC;AAED,SAAgB,oBAAoB,CAAC,MAAc;IAKjD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,QAAQ;QAClB,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5D,MAAM,EAAE,GAAG,CAAC,QAAQ,KAAK,QAAQ;KAClC,CAAC;AACJ,CAAC;AAXD,oDAWC"}
|
package/dist/esm/api.d.ts
CHANGED
|
@@ -34,4 +34,6 @@ export declare class MezonApi {
|
|
|
34
34
|
sendToken(bearerToken: string, body: TokenSentEvent, options?: any): Promise<any>;
|
|
35
35
|
updateRole(bearerToken: string, roleId: string, body: MezonUpdateRoleBody, options?: any): Promise<any>;
|
|
36
36
|
listRoles(bearerToken: string, clanId?: string, limit?: string, state?: string, cursor?: string, options?: any): Promise<any>;
|
|
37
|
+
getListFriends(bearerToken: string, limit?: number, state?: string, cursor?: string, options?: any): Promise<any>;
|
|
38
|
+
requestFriend(bearerToken: string, usernames: string, ids?: string, options?: any): Promise<any>;
|
|
37
39
|
}
|
package/dist/esm/api.js
CHANGED
|
@@ -492,6 +492,60 @@ export class MezonApi {
|
|
|
492
492
|
new Promise((_, reject) => setTimeout(reject, this.timeoutMs, "Request timed out.")),
|
|
493
493
|
]);
|
|
494
494
|
}
|
|
495
|
+
getListFriends(bearerToken, limit = 1000, state, cursor, options = {}) {
|
|
496
|
+
const urlPath = "/v2/friend";
|
|
497
|
+
const queryParams = new Map();
|
|
498
|
+
queryParams.set("limit", limit);
|
|
499
|
+
queryParams.set("state", state);
|
|
500
|
+
queryParams.set("cursor", cursor);
|
|
501
|
+
let bodyJson = "";
|
|
502
|
+
const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
|
|
503
|
+
const fetchOptions = buildFetchOptions("GET", options, bodyJson);
|
|
504
|
+
if (bearerToken) {
|
|
505
|
+
fetchOptions.headers["Authorization"] = "Bearer " + bearerToken;
|
|
506
|
+
}
|
|
507
|
+
return Promise.race([
|
|
508
|
+
fetch(fullUrl, fetchOptions).then((response) => {
|
|
509
|
+
if (response.status == 204) {
|
|
510
|
+
return response;
|
|
511
|
+
}
|
|
512
|
+
else if (response.status >= 200 && response.status < 300) {
|
|
513
|
+
return response.json();
|
|
514
|
+
}
|
|
515
|
+
else {
|
|
516
|
+
throw response;
|
|
517
|
+
}
|
|
518
|
+
}),
|
|
519
|
+
new Promise((_, reject) => setTimeout(reject, this.timeoutMs, "Request timed out.")),
|
|
520
|
+
]);
|
|
521
|
+
}
|
|
522
|
+
requestFriend(bearerToken, usernames, ids, options = {}) {
|
|
523
|
+
const urlPath = "/v2/friend";
|
|
524
|
+
const queryParams = new Map();
|
|
525
|
+
queryParams.set("usernames", usernames);
|
|
526
|
+
if (ids) {
|
|
527
|
+
queryParams.set("ids", ids);
|
|
528
|
+
}
|
|
529
|
+
let bodyJson = "";
|
|
530
|
+
const fullUrl = this.buildFullUrl(this.basePath, urlPath, queryParams);
|
|
531
|
+
const fetchOptions = buildFetchOptions("POST", options, bodyJson);
|
|
532
|
+
if (bearerToken) {
|
|
533
|
+
fetchOptions.headers["Authorization"] = "Bearer " + bearerToken;
|
|
534
|
+
}
|
|
535
|
+
return Promise.race([
|
|
536
|
+
fetch(fullUrl, fetchOptions).then((response) => {
|
|
537
|
+
if (response.status == 204) {
|
|
538
|
+
return response;
|
|
539
|
+
}
|
|
540
|
+
else if (response.status >= 200 && response.status < 300) {
|
|
541
|
+
return response.json();
|
|
542
|
+
}
|
|
543
|
+
else {
|
|
544
|
+
throw response;
|
|
545
|
+
}
|
|
546
|
+
}),
|
|
547
|
+
new Promise((_, reject) => setTimeout(reject, this.timeoutMs, "Request timed out.")),
|
|
548
|
+
]);
|
|
549
|
+
}
|
|
495
550
|
}
|
|
496
|
-
;
|
|
497
551
|
//# sourceMappingURL=api.js.map
|