mezon-sdk 2.8.44 → 2.8.45

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.
Files changed (272) hide show
  1. package/README.md +192 -192
  2. package/dist/cjs/api/api.d.ts +578 -9
  3. package/dist/cjs/api/api.js +3778 -38
  4. package/dist/cjs/api/api.js.map +1 -1
  5. package/dist/cjs/client.d.ts +86 -0
  6. package/dist/cjs/client.js +348 -0
  7. package/dist/cjs/client.js.map +1 -0
  8. package/dist/cjs/interfaces/client.d.ts +3 -3
  9. package/dist/cjs/interfaces/client.js.map +1 -1
  10. package/dist/cjs/mezon-client/channel_manager.d.ts +15 -0
  11. package/dist/cjs/mezon-client/channel_manager.js +70 -0
  12. package/dist/cjs/mezon-client/channel_manager.js.map +1 -0
  13. package/dist/cjs/mezon-client/client/MezonClientCore.d.ts +0 -1
  14. package/dist/cjs/mezon-client/client/MezonClientCore.js +1 -3
  15. package/dist/cjs/mezon-client/client/MezonClientCore.js.map +1 -1
  16. package/dist/cjs/mezon-client/event_manager.d.ts +7 -0
  17. package/dist/cjs/mezon-client/event_manager.js +37 -0
  18. package/dist/cjs/mezon-client/event_manager.js.map +1 -0
  19. package/dist/cjs/mezon-client/message_manager.d.ts +16 -0
  20. package/dist/cjs/mezon-client/message_manager.js +59 -0
  21. package/dist/cjs/mezon-client/message_manager.js.map +1 -0
  22. package/dist/cjs/mezon-client/mezon_client.d.ts +37 -0
  23. package/dist/cjs/mezon-client/mezon_client.js +87 -0
  24. package/dist/cjs/mezon-client/mezon_client.js.map +1 -0
  25. package/dist/cjs/mezon-client/session_manager.d.ts +10 -0
  26. package/dist/cjs/mezon-client/session_manager.js +35 -0
  27. package/dist/cjs/mezon-client/session_manager.js.map +1 -0
  28. package/dist/cjs/mezon-client/socket_manager.d.ts +31 -0
  29. package/dist/cjs/mezon-client/socket_manager.js +99 -0
  30. package/dist/cjs/mezon-client/socket_manager.js.map +1 -0
  31. package/dist/cjs/mezon-client-v1/channel_manager.d.ts +15 -0
  32. package/dist/cjs/mezon-client-v1/channel_manager.js +70 -0
  33. package/dist/cjs/mezon-client-v1/channel_manager.js.map +1 -0
  34. package/dist/cjs/mezon-client-v1/event_manager.d.ts +7 -0
  35. package/dist/cjs/mezon-client-v1/event_manager.js +37 -0
  36. package/dist/cjs/mezon-client-v1/event_manager.js.map +1 -0
  37. package/dist/cjs/mezon-client-v1/message_manager.d.ts +16 -0
  38. package/dist/cjs/mezon-client-v1/message_manager.js +59 -0
  39. package/dist/cjs/mezon-client-v1/message_manager.js.map +1 -0
  40. package/dist/cjs/mezon-client-v1/mezon_client.d.ts +37 -0
  41. package/dist/cjs/mezon-client-v1/mezon_client.js +87 -0
  42. package/dist/cjs/mezon-client-v1/mezon_client.js.map +1 -0
  43. package/dist/cjs/mezon-client-v1/session_manager.d.ts +10 -0
  44. package/dist/cjs/mezon-client-v1/session_manager.js +35 -0
  45. package/dist/cjs/mezon-client-v1/session_manager.js.map +1 -0
  46. package/dist/cjs/mezon-client-v1/socket_manager.d.ts +31 -0
  47. package/dist/cjs/mezon-client-v1/socket_manager.js +99 -0
  48. package/dist/cjs/mezon-client-v1/socket_manager.js.map +1 -0
  49. package/dist/cjs/mezon-client-v2/client/MezonClient.d.ts +74 -0
  50. package/dist/cjs/mezon-client-v2/client/MezonClient.js +301 -0
  51. package/dist/cjs/mezon-client-v2/client/MezonClient.js.map +1 -0
  52. package/dist/cjs/mezon-client-v2/manager/channel_manager.d.ts +16 -0
  53. package/dist/cjs/mezon-client-v2/manager/channel_manager.js +60 -0
  54. package/dist/cjs/mezon-client-v2/manager/channel_manager.js.map +1 -0
  55. package/dist/cjs/mezon-client-v2/manager/event_manager.d.ts +7 -0
  56. package/dist/cjs/mezon-client-v2/manager/event_manager.js +37 -0
  57. package/dist/cjs/mezon-client-v2/manager/event_manager.js.map +1 -0
  58. package/dist/cjs/mezon-client-v2/manager/session_manager.d.ts +10 -0
  59. package/dist/cjs/mezon-client-v2/manager/session_manager.js +35 -0
  60. package/dist/cjs/mezon-client-v2/manager/session_manager.js.map +1 -0
  61. package/dist/cjs/mezon-client-v2/manager/socket_manager.d.ts +40 -0
  62. package/dist/cjs/mezon-client-v2/manager/socket_manager.js +154 -0
  63. package/dist/cjs/mezon-client-v2/manager/socket_manager.js.map +1 -0
  64. package/dist/cjs/mezon-client-v2/structures/Clan.d.ts +29 -0
  65. package/dist/cjs/mezon-client-v2/structures/Clan.js +77 -0
  66. package/dist/cjs/mezon-client-v2/structures/Clan.js.map +1 -0
  67. package/dist/cjs/mezon-client-v2/structures/Message.d.ts +34 -0
  68. package/dist/cjs/mezon-client-v2/structures/Message.js +90 -0
  69. package/dist/cjs/mezon-client-v2/structures/Message.js.map +1 -0
  70. package/dist/cjs/mezon-client-v2/structures/TextChannel.d.ts +22 -0
  71. package/dist/cjs/mezon-client-v2/structures/TextChannel.js +65 -0
  72. package/dist/cjs/mezon-client-v2/structures/TextChannel.js.map +1 -0
  73. package/dist/cjs/mezon-client-v2/structures/User.d.ts +26 -0
  74. package/dist/cjs/mezon-client-v2/structures/User.js +32 -0
  75. package/dist/cjs/mezon-client-v2/structures/User.js.map +1 -0
  76. package/dist/cjs/mezon-client-v2/utils/AsyncThrottleQueue.d.ts +8 -0
  77. package/dist/cjs/mezon-client-v2/utils/AsyncThrottleQueue.js +40 -0
  78. package/dist/cjs/mezon-client-v2/utils/AsyncThrottleQueue.js.map +1 -0
  79. package/dist/cjs/mezon-client-v2/utils/CacheManager.d.ts +16 -0
  80. package/dist/cjs/mezon-client-v2/utils/CacheManager.js +53 -0
  81. package/dist/cjs/mezon-client-v2/utils/CacheManager.js.map +1 -0
  82. package/dist/cjs/mezon-client-v2/utils/Collection.d.ts +23 -0
  83. package/dist/cjs/mezon-client-v2/utils/Collection.js +100 -0
  84. package/dist/cjs/mezon-client-v2/utils/Collection.js.map +1 -0
  85. package/dist/cjs/rtapi/realtime.d.ts +69 -17
  86. package/dist/cjs/rtapi/realtime.js +512 -119
  87. package/dist/cjs/rtapi/realtime.js.map +1 -1
  88. package/dist/cjs/socket.d.ts +1 -1
  89. package/dist/cjs/socket.js +100 -24
  90. package/dist/cjs/socket.js.map +1 -1
  91. package/dist/cjs/sqlite/MessageDatabase.js +20 -20
  92. package/dist/esm/api/api.d.ts +578 -9
  93. package/dist/esm/api/api.js +3711 -28
  94. package/dist/esm/api/api.js.map +1 -1
  95. package/dist/esm/client.d.ts +86 -0
  96. package/dist/esm/client.js +356 -0
  97. package/dist/esm/client.js.map +1 -0
  98. package/dist/esm/interfaces/client.d.ts +3 -3
  99. package/dist/esm/interfaces/client.js.map +1 -1
  100. package/dist/esm/mezon-client/channel_manager.d.ts +15 -0
  101. package/dist/esm/mezon-client/channel_manager.js +69 -0
  102. package/dist/esm/mezon-client/channel_manager.js.map +1 -0
  103. package/dist/esm/mezon-client/client/MezonClientCore.d.ts +0 -1
  104. package/dist/esm/mezon-client/client/MezonClientCore.js +1 -3
  105. package/dist/esm/mezon-client/client/MezonClientCore.js.map +1 -1
  106. package/dist/esm/mezon-client/event_manager.d.ts +7 -0
  107. package/dist/esm/mezon-client/event_manager.js +31 -0
  108. package/dist/esm/mezon-client/event_manager.js.map +1 -0
  109. package/dist/esm/mezon-client/message_manager.d.ts +16 -0
  110. package/dist/esm/mezon-client/message_manager.js +56 -0
  111. package/dist/esm/mezon-client/message_manager.js.map +1 -0
  112. package/dist/esm/mezon-client/mezon_client.d.ts +37 -0
  113. package/dist/esm/mezon-client/mezon_client.js +94 -0
  114. package/dist/esm/mezon-client/mezon_client.js.map +1 -0
  115. package/dist/esm/mezon-client/session_manager.d.ts +10 -0
  116. package/dist/esm/mezon-client/session_manager.js +33 -0
  117. package/dist/esm/mezon-client/session_manager.js.map +1 -0
  118. package/dist/esm/mezon-client/socket_manager.d.ts +31 -0
  119. package/dist/esm/mezon-client/socket_manager.js +104 -0
  120. package/dist/esm/mezon-client/socket_manager.js.map +1 -0
  121. package/dist/esm/mezon-client-v1/channel_manager.d.ts +15 -0
  122. package/dist/esm/mezon-client-v1/channel_manager.js +69 -0
  123. package/dist/esm/mezon-client-v1/channel_manager.js.map +1 -0
  124. package/dist/esm/mezon-client-v1/event_manager.d.ts +7 -0
  125. package/dist/esm/mezon-client-v1/event_manager.js +31 -0
  126. package/dist/esm/mezon-client-v1/event_manager.js.map +1 -0
  127. package/dist/esm/mezon-client-v1/message_manager.d.ts +16 -0
  128. package/dist/esm/mezon-client-v1/message_manager.js +56 -0
  129. package/dist/esm/mezon-client-v1/message_manager.js.map +1 -0
  130. package/dist/esm/mezon-client-v1/mezon_client.d.ts +37 -0
  131. package/dist/esm/mezon-client-v1/mezon_client.js +94 -0
  132. package/dist/esm/mezon-client-v1/mezon_client.js.map +1 -0
  133. package/dist/esm/mezon-client-v1/session_manager.d.ts +10 -0
  134. package/dist/esm/mezon-client-v1/session_manager.js +33 -0
  135. package/dist/esm/mezon-client-v1/session_manager.js.map +1 -0
  136. package/dist/esm/mezon-client-v1/socket_manager.d.ts +31 -0
  137. package/dist/esm/mezon-client-v1/socket_manager.js +104 -0
  138. package/dist/esm/mezon-client-v1/socket_manager.js.map +1 -0
  139. package/dist/esm/mezon-client-v2/client/MezonClient.d.ts +74 -0
  140. package/dist/esm/mezon-client-v2/client/MezonClient.js +311 -0
  141. package/dist/esm/mezon-client-v2/client/MezonClient.js.map +1 -0
  142. package/dist/esm/mezon-client-v2/manager/channel_manager.d.ts +16 -0
  143. package/dist/esm/mezon-client-v2/manager/channel_manager.js +62 -0
  144. package/dist/esm/mezon-client-v2/manager/channel_manager.js.map +1 -0
  145. package/dist/esm/mezon-client-v2/manager/event_manager.d.ts +7 -0
  146. package/dist/esm/mezon-client-v2/manager/event_manager.js +31 -0
  147. package/dist/esm/mezon-client-v2/manager/event_manager.js.map +1 -0
  148. package/dist/esm/mezon-client-v2/manager/session_manager.d.ts +10 -0
  149. package/dist/esm/mezon-client-v2/manager/session_manager.js +33 -0
  150. package/dist/esm/mezon-client-v2/manager/session_manager.js.map +1 -0
  151. package/dist/esm/mezon-client-v2/manager/socket_manager.d.ts +40 -0
  152. package/dist/esm/mezon-client-v2/manager/socket_manager.js +157 -0
  153. package/dist/esm/mezon-client-v2/manager/socket_manager.js.map +1 -0
  154. package/dist/esm/mezon-client-v2/structures/Clan.d.ts +29 -0
  155. package/dist/esm/mezon-client-v2/structures/Clan.js +82 -0
  156. package/dist/esm/mezon-client-v2/structures/Clan.js.map +1 -0
  157. package/dist/esm/mezon-client-v2/structures/Message.d.ts +34 -0
  158. package/dist/esm/mezon-client-v2/structures/Message.js +96 -0
  159. package/dist/esm/mezon-client-v2/structures/Message.js.map +1 -0
  160. package/dist/esm/mezon-client-v2/structures/TextChannel.d.ts +22 -0
  161. package/dist/esm/mezon-client-v2/structures/TextChannel.js +70 -0
  162. package/dist/esm/mezon-client-v2/structures/TextChannel.js.map +1 -0
  163. package/dist/esm/mezon-client-v2/structures/User.d.ts +26 -0
  164. package/dist/esm/mezon-client-v2/structures/User.js +36 -0
  165. package/dist/esm/mezon-client-v2/structures/User.js.map +1 -0
  166. package/dist/esm/mezon-client-v2/utils/AsyncThrottleQueue.d.ts +8 -0
  167. package/dist/esm/mezon-client-v2/utils/AsyncThrottleQueue.js +37 -0
  168. package/dist/esm/mezon-client-v2/utils/AsyncThrottleQueue.js.map +1 -0
  169. package/dist/esm/mezon-client-v2/utils/CacheManager.d.ts +16 -0
  170. package/dist/esm/mezon-client-v2/utils/CacheManager.js +49 -0
  171. package/dist/esm/mezon-client-v2/utils/CacheManager.js.map +1 -0
  172. package/dist/esm/mezon-client-v2/utils/Collection.d.ts +23 -0
  173. package/dist/esm/mezon-client-v2/utils/Collection.js +97 -0
  174. package/dist/esm/mezon-client-v2/utils/Collection.js.map +1 -0
  175. package/dist/esm/rtapi/realtime.d.ts +69 -17
  176. package/dist/esm/rtapi/realtime.js +504 -115
  177. package/dist/esm/rtapi/realtime.js.map +1 -1
  178. package/dist/esm/socket.d.ts +1 -1
  179. package/dist/esm/socket.js +101 -25
  180. package/dist/esm/socket.js.map +1 -1
  181. package/dist/esm/sqlite/MessageDatabase.js +20 -20
  182. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  183. package/dist/tsconfig.tsbuildinfo +1 -1
  184. package/package.json +59 -59
  185. package/dist/cjs/api/api.d.ts.map +0 -1
  186. package/dist/cjs/api.d.ts.map +0 -1
  187. package/dist/cjs/constants/enum.d.ts.map +0 -1
  188. package/dist/cjs/constants/index.d.ts.map +0 -1
  189. package/dist/cjs/google/protobuf/struct.d.ts.map +0 -1
  190. package/dist/cjs/google/protobuf/timestamp.d.ts.map +0 -1
  191. package/dist/cjs/google/protobuf/wrappers.d.ts.map +0 -1
  192. package/dist/cjs/index.d.ts.map +0 -1
  193. package/dist/cjs/interfaces/api.d.ts.map +0 -1
  194. package/dist/cjs/interfaces/client.d.ts.map +0 -1
  195. package/dist/cjs/interfaces/index.d.ts.map +0 -1
  196. package/dist/cjs/interfaces/socket.d.ts.map +0 -1
  197. package/dist/cjs/message-socket-events/base_event.d.ts.map +0 -1
  198. package/dist/cjs/message-socket-events/index.d.ts.map +0 -1
  199. package/dist/cjs/message-socket-events/user_channel_added.d.ts.map +0 -1
  200. package/dist/cjs/message-socket-events/user_channel_updated.d.ts.map +0 -1
  201. package/dist/cjs/mezon-client/client/MezonClient.d.ts.map +0 -1
  202. package/dist/cjs/mezon-client/client/MezonClientCore.d.ts.map +0 -1
  203. package/dist/cjs/mezon-client/manager/channel_manager.d.ts.map +0 -1
  204. package/dist/cjs/mezon-client/manager/event_manager.d.ts.map +0 -1
  205. package/dist/cjs/mezon-client/manager/rate-limit_manager.d.ts.map +0 -1
  206. package/dist/cjs/mezon-client/manager/session_manager.d.ts.map +0 -1
  207. package/dist/cjs/mezon-client/manager/socket_manager.d.ts.map +0 -1
  208. package/dist/cjs/mezon-client/structures/ButtonBuilder.d.ts.map +0 -1
  209. package/dist/cjs/mezon-client/structures/Clan.d.ts.map +0 -1
  210. package/dist/cjs/mezon-client/structures/InteractiveMessage.d.ts.map +0 -1
  211. package/dist/cjs/mezon-client/structures/Message.d.ts.map +0 -1
  212. package/dist/cjs/mezon-client/structures/TextChannel.d.ts.map +0 -1
  213. package/dist/cjs/mezon-client/structures/User.d.ts.map +0 -1
  214. package/dist/cjs/mezon-client/utils/AsyncThrottleQueue.d.ts.map +0 -1
  215. package/dist/cjs/mezon-client/utils/CacheManager.d.ts.map +0 -1
  216. package/dist/cjs/mezon-client/utils/Collection.d.ts.map +0 -1
  217. package/dist/cjs/mezon-client/utils/helper.d.ts.map +0 -1
  218. package/dist/cjs/rtapi/realtime.d.ts.map +0 -1
  219. package/dist/cjs/session.d.ts.map +0 -1
  220. package/dist/cjs/socket.d.ts.map +0 -1
  221. package/dist/cjs/sqlite/MessageDatabase.d.ts.map +0 -1
  222. package/dist/cjs/utils/format_message_input.d.ts.map +0 -1
  223. package/dist/cjs/utils/generate_reply_message.d.ts.map +0 -1
  224. package/dist/cjs/utils/helper.d.ts.map +0 -1
  225. package/dist/cjs/utils/stack.d.ts.map +0 -1
  226. package/dist/cjs/utils.d.ts.map +0 -1
  227. package/dist/cjs/web_socket_adapter.d.ts.map +0 -1
  228. package/dist/cjs/web_socket_adapter_pb.d.ts.map +0 -1
  229. package/dist/esm/api/api.d.ts.map +0 -1
  230. package/dist/esm/api.d.ts.map +0 -1
  231. package/dist/esm/constants/enum.d.ts.map +0 -1
  232. package/dist/esm/constants/index.d.ts.map +0 -1
  233. package/dist/esm/google/protobuf/struct.d.ts.map +0 -1
  234. package/dist/esm/google/protobuf/timestamp.d.ts.map +0 -1
  235. package/dist/esm/google/protobuf/wrappers.d.ts.map +0 -1
  236. package/dist/esm/index.d.ts.map +0 -1
  237. package/dist/esm/interfaces/api.d.ts.map +0 -1
  238. package/dist/esm/interfaces/client.d.ts.map +0 -1
  239. package/dist/esm/interfaces/index.d.ts.map +0 -1
  240. package/dist/esm/interfaces/socket.d.ts.map +0 -1
  241. package/dist/esm/message-socket-events/base_event.d.ts.map +0 -1
  242. package/dist/esm/message-socket-events/index.d.ts.map +0 -1
  243. package/dist/esm/message-socket-events/user_channel_added.d.ts.map +0 -1
  244. package/dist/esm/message-socket-events/user_channel_updated.d.ts.map +0 -1
  245. package/dist/esm/mezon-client/client/MezonClient.d.ts.map +0 -1
  246. package/dist/esm/mezon-client/client/MezonClientCore.d.ts.map +0 -1
  247. package/dist/esm/mezon-client/manager/channel_manager.d.ts.map +0 -1
  248. package/dist/esm/mezon-client/manager/event_manager.d.ts.map +0 -1
  249. package/dist/esm/mezon-client/manager/rate-limit_manager.d.ts.map +0 -1
  250. package/dist/esm/mezon-client/manager/session_manager.d.ts.map +0 -1
  251. package/dist/esm/mezon-client/manager/socket_manager.d.ts.map +0 -1
  252. package/dist/esm/mezon-client/structures/ButtonBuilder.d.ts.map +0 -1
  253. package/dist/esm/mezon-client/structures/Clan.d.ts.map +0 -1
  254. package/dist/esm/mezon-client/structures/InteractiveMessage.d.ts.map +0 -1
  255. package/dist/esm/mezon-client/structures/Message.d.ts.map +0 -1
  256. package/dist/esm/mezon-client/structures/TextChannel.d.ts.map +0 -1
  257. package/dist/esm/mezon-client/structures/User.d.ts.map +0 -1
  258. package/dist/esm/mezon-client/utils/AsyncThrottleQueue.d.ts.map +0 -1
  259. package/dist/esm/mezon-client/utils/CacheManager.d.ts.map +0 -1
  260. package/dist/esm/mezon-client/utils/Collection.d.ts.map +0 -1
  261. package/dist/esm/mezon-client/utils/helper.d.ts.map +0 -1
  262. package/dist/esm/rtapi/realtime.d.ts.map +0 -1
  263. package/dist/esm/session.d.ts.map +0 -1
  264. package/dist/esm/socket.d.ts.map +0 -1
  265. package/dist/esm/sqlite/MessageDatabase.d.ts.map +0 -1
  266. package/dist/esm/utils/format_message_input.d.ts.map +0 -1
  267. package/dist/esm/utils/generate_reply_message.d.ts.map +0 -1
  268. package/dist/esm/utils/helper.d.ts.map +0 -1
  269. package/dist/esm/utils/stack.d.ts.map +0 -1
  270. package/dist/esm/utils.d.ts.map +0 -1
  271. package/dist/esm/web_socket_adapter.d.ts.map +0 -1
  272. package/dist/esm/web_socket_adapter_pb.d.ts.map +0 -1
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Copyright 2020 The Nakama Authors
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { CloseEvent, ErrorEvent } from "ws";
17
+ import { ApiRegisterStreamingChannelRequest, ApiVoiceChannelUserList, MessagePayLoad, MessageUserPayLoad, Socket, TokenSentEvent } from "./interfaces";
18
+ import { Session } from "./session";
19
+ import { WebSocketAdapter } from "./web_socket_adapter";
20
+ import { Events } from "./constants/enum";
21
+ import { Client, ApiChannelDescription, ApiCreateChannelDescRequest, ChannelMessageContent, ApiMessageMention, ApiMessageAttachment, ApiMessageRef } from "./interfaces";
22
+ import { Stack } from "./utils/stack";
23
+ /** A client for Mezon server. */
24
+ export declare class MezonClient implements Client {
25
+ readonly apiKey: string;
26
+ readonly host: string;
27
+ readonly port: string;
28
+ readonly useSSL: boolean;
29
+ readonly timeout: number;
30
+ readonly autoRefreshSession: boolean;
31
+ /** The expired timespan used to check session lifetime. */
32
+ expiredTimespanMs: number;
33
+ /** The low level API client for Nakama server. */
34
+ private readonly apiClient;
35
+ /** the socket */
36
+ private socket;
37
+ /** the session */
38
+ private session;
39
+ private isHardDisconnect;
40
+ [key: string]: any;
41
+ constructor(apiKey?: string, host?: string, port?: string, useSSL?: boolean, timeout?: number, autoRefreshSession?: boolean);
42
+ /** Send message to channel */
43
+ sendMessage(clan_id: string, channel_id: string, mode: number, is_public: boolean, msg: ChannelMessageContent, mentions?: Array<ApiMessageMention>, attachments?: Array<ApiMessageAttachment>, ref?: Array<ApiMessageRef>, anonymous_message?: boolean, mention_everyone?: boolean, avatar?: string, code?: number, topic_id?: string): Promise<import("./interfaces").ChannelMessageAck>;
44
+ /** Send token to user */
45
+ sendToken(sendTokenData: TokenSentEvent): Promise<any>;
46
+ /** React message */
47
+ reactionMessage(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): Promise<import("./interfaces").ApiMessageReaction>;
48
+ /** Update message */
49
+ 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): Promise<import("./interfaces").ChannelMessageAck>;
50
+ /** Join to chat in clan when invited to clan */
51
+ joinClanChat(clan_id: string): Promise<void>;
52
+ /** Authenticate a user with an ID against the server. */
53
+ authenticate(): Promise<string>;
54
+ /** Close socket. */
55
+ closeSocket(): void;
56
+ /** Refresh a user's session using a refresh token retrieved from a previous authentication request. */
57
+ sessionRefresh(): Promise<void>;
58
+ /** Log out a session, invalidate a refresh token, or log out all sessions/refresh tokens for a user. */
59
+ logout(session: Session): Promise<boolean>;
60
+ /** A socket created with the client's configuration. */
61
+ createSocket(useSSL?: boolean, verbose?: boolean, adapter?: WebSocketAdapter, sendTimeoutMs?: number): Socket;
62
+ /**Add handle function to event socket */
63
+ on(event: Events, func: Function, context?: any): void;
64
+ /**remove handle function to event socket */
65
+ remove(event: string, func: Function): void;
66
+ /**Create connect to event socket */
67
+ connectSocket(): Promise<void>;
68
+ onerror(evt: ErrorEvent): void;
69
+ onheartbeattimeout(): void;
70
+ ondisconnect(e: CloseEvent): void;
71
+ retriesConnect(): void;
72
+ createChannelDesc(request: ApiCreateChannelDescRequest): Promise<void | ApiChannelDescription>;
73
+ sleep(ms: number): Promise<unknown>;
74
+ /** Create DM channel to send DM with user */
75
+ createDMchannel(userId: string): Promise<null | ApiChannelDescription>;
76
+ sendBulkMessage(messages: MessagePayLoad[], callback: Function): Stack;
77
+ sendBulkMessageUser(messages: MessageUserPayLoad[], callback: Function): Stack;
78
+ /** Send DM message to user */
79
+ sendDMChannelMessage(channelDmId: string, msg: string, messOptions?: {
80
+ [x: string]: any;
81
+ }, attachments?: Array<ApiMessageAttachment>, refs?: Array<ApiMessageRef>): Promise<import("./interfaces").ChannelMessageAck>;
82
+ /** List a channel's users. */
83
+ listChannelVoiceUsers(clanId: string, channelId: string, channelType: number, limit?: number, state?: number, cursor?: string): Promise<ApiVoiceChannelUserList>;
84
+ /** Register stream channel */
85
+ registerStreamingChannel(request: ApiRegisterStreamingChannelRequest): Promise<any>;
86
+ }
@@ -0,0 +1,356 @@
1
+ /**
2
+ * Copyright 2020 The Nakama Authors
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { MezonApi } from './api';
17
+ import { Session } from "./session";
18
+ import { DefaultSocket } from "./socket";
19
+ import { WebSocketAdapterPb } from './web_socket_adapter_pb';
20
+ import { ChannelType, Events } from "./constants/enum";
21
+ import { convertChanneltypeToChannelMode, isValidUserId } from "./utils/helper";
22
+ import { replyMessageGenerate } from "./utils/generate_reply_message";
23
+ import { Stack } from "./utils/stack";
24
+ const DEFAULT_HOST = "api.mezon.vn";
25
+ const DEFAULT_PORT = "443";
26
+ const DEFAULT_API_KEY = "";
27
+ const DEFAULT_SSL = true;
28
+ const DEFAULT_TIMEOUT_MS = 7000;
29
+ const DEFAULT_EXPIRED_TIMESPAN_MS = 5 * 60 * 1000;
30
+ const DEFAULT_SEND_BULK_INTERVAL = 1000;
31
+ const DEFAULT_MESSAGE_PER_TIME = 5;
32
+ /** A client for Mezon server. */
33
+ export class MezonClient {
34
+ apiKey;
35
+ host;
36
+ port;
37
+ useSSL;
38
+ timeout;
39
+ autoRefreshSession;
40
+ /** The expired timespan used to check session lifetime. */
41
+ expiredTimespanMs = DEFAULT_EXPIRED_TIMESPAN_MS;
42
+ /** The low level API client for Nakama server. */
43
+ apiClient;
44
+ /** the socket */
45
+ socket;
46
+ /** the session */
47
+ session;
48
+ isHardDisconnect;
49
+ constructor(apiKey = DEFAULT_API_KEY, host = DEFAULT_HOST, port = DEFAULT_PORT, useSSL = DEFAULT_SSL, timeout = DEFAULT_TIMEOUT_MS, autoRefreshSession = true) {
50
+ this.apiKey = apiKey;
51
+ this.host = host;
52
+ this.port = port;
53
+ this.useSSL = useSSL;
54
+ this.timeout = timeout;
55
+ this.autoRefreshSession = autoRefreshSession;
56
+ const scheme = useSSL ? "https://" : "http://";
57
+ const basePath = `${scheme}${host}:${port}`;
58
+ this.apiClient = new MezonApi(apiKey, basePath, timeout);
59
+ /**init event to connect socket*/
60
+ for (const event in Events) {
61
+ const key = Events[event].toString();
62
+ if (!(key in this)) {
63
+ this[key] = [];
64
+ }
65
+ }
66
+ this.socket = this.createSocket(this.useSSL, false, new WebSocketAdapterPb());
67
+ }
68
+ /** Send message to channel */
69
+ async sendMessage(clan_id, channel_id, mode, is_public, msg, mentions, attachments, ref, anonymous_message, mention_everyone, avatar, code, topic_id) {
70
+ const messageLength = JSON.stringify(msg).length;
71
+ if (messageLength > 4096 * 2)
72
+ throw "Message exceeds allowed characters";
73
+ const msgACK = await this.socket.writeChatMessage(clan_id, channel_id, mode, is_public, msg, mentions, attachments, ref, anonymous_message, mention_everyone, avatar, code, topic_id);
74
+ return msgACK;
75
+ }
76
+ /** Send token to user */
77
+ async sendToken(sendTokenData) {
78
+ const session = this.session;
79
+ return this.apiClient.sendToken(session.token, sendTokenData);
80
+ }
81
+ /** React message */
82
+ async reactionMessage(id, clan_id, channel_id, mode, is_public, message_id, emoji_id, emoji, count, message_sender_id, action_delete) {
83
+ const msgReaction = await this.socket.writeMessageReaction(id, clan_id, channel_id, mode, is_public, message_id, emoji_id, emoji, count, message_sender_id, action_delete);
84
+ return msgReaction;
85
+ }
86
+ /** Update message */
87
+ async updateChatMessage(clan_id, channel_id, mode, is_public, message_id, content, mentions, attachments, hideEditted) {
88
+ const messageLength = JSON.stringify(content).length;
89
+ if (messageLength > 4096 * 2)
90
+ throw "Message exceeds allowed characters";
91
+ const msgUpdated = await this.socket.updateChatMessage(clan_id, channel_id, mode, is_public, message_id, content, mentions, attachments, hideEditted);
92
+ return msgUpdated;
93
+ }
94
+ /** Join to chat in clan when invited to clan */
95
+ async joinClanChat(clan_id) {
96
+ try {
97
+ await this.socket.joinClanChat(clan_id);
98
+ }
99
+ catch (error) {
100
+ throw (error);
101
+ }
102
+ }
103
+ /** Authenticate a user with an ID against the server. */
104
+ async authenticate() {
105
+ return this.apiClient.mezonAuthenticate(this.apiKey, "", {
106
+ account: {
107
+ token: this.apiKey,
108
+ }
109
+ }).then(async (apiSession) => {
110
+ const sockSession = new Session(apiSession);
111
+ this.session = await this.socket.connect(sockSession, true);
112
+ if (!this.session) {
113
+ return Promise.resolve("error authenticate");
114
+ }
115
+ await this.connectSocket();
116
+ this.isHardDisconnect = false;
117
+ return Promise.resolve("connect successful");
118
+ });
119
+ }
120
+ /** Close socket. */
121
+ closeSocket() {
122
+ console.log("Client sent disconnected.");
123
+ this.isHardDisconnect = true;
124
+ this.socket.close();
125
+ }
126
+ /** Refresh a user's session using a refresh token retrieved from a previous authentication request. */
127
+ async sessionRefresh() {
128
+ }
129
+ /** Log out a session, invalidate a refresh token, or log out all sessions/refresh tokens for a user. */
130
+ async logout(session) {
131
+ const request = {
132
+ "token": session.token,
133
+ "refresh_token": session.refresh_token
134
+ };
135
+ return this.apiClient.mezonAuthenticateLogout(session.token, request).then((response) => {
136
+ return Promise.resolve(response !== undefined);
137
+ });
138
+ }
139
+ /** A socket created with the client's configuration. */
140
+ createSocket(useSSL = false, verbose = false, adapter = new WebSocketAdapterPb(), sendTimeoutMs = DefaultSocket.DefaultSendTimeoutMs) {
141
+ return new DefaultSocket(this.host, this.port, useSSL, verbose, adapter, sendTimeoutMs);
142
+ }
143
+ /**Add handle function to event socket */
144
+ on(event, func, context = null) {
145
+ const key = event;
146
+ if (!(key in this)) {
147
+ throw new Error("Mezon SDK not support this event");
148
+ }
149
+ if (typeof func != "function") {
150
+ throw new Error("Please add function to event");
151
+ }
152
+ const handleFunctions = this[key];
153
+ if (Array.isArray(handleFunctions)) {
154
+ handleFunctions.push(context ? func.bind(context) : func);
155
+ }
156
+ }
157
+ /**remove handle function to event socket */
158
+ remove(event, func) {
159
+ const key = event;
160
+ if (!(key in this)) {
161
+ throw new Error("Mezon SDK not support this event");
162
+ }
163
+ const handleFunctions = this[key];
164
+ if (Array.isArray(handleFunctions)) {
165
+ this[key] = handleFunctions.filter((f) => f != func);
166
+ }
167
+ }
168
+ /**Create connect to event socket */
169
+ async connectSocket() {
170
+ const clans = await this.apiClient.listClanDescs(this.session.token);
171
+ clans.clandesc?.forEach(async (clan) => {
172
+ await this.socket.joinClanChat(clan.clan_id || '');
173
+ });
174
+ // join direct message
175
+ await this.socket.joinClanChat("0");
176
+ ["ondisconnect", "onerror", "onheartbeattimeout"].forEach((event) => {
177
+ this.socket[event] = this[event].bind(this);
178
+ });
179
+ for (const event in Events) {
180
+ const key = Events[event].toString();
181
+ this.socket.socketEvents.on(key, (...args) => {
182
+ const handleFunctions = this[key];
183
+ if (Array.isArray(handleFunctions)) {
184
+ handleFunctions.forEach((func) => {
185
+ if (typeof func == "function") {
186
+ Promise.resolve(func(...args)).catch((err) => {
187
+ if (func.toString().includes(" this.")) {
188
+ console.log(`Please using arrow function for function ${func.name} or add event with context with sync like .on('event', callback, this) pass 'this variable' in to get context`);
189
+ }
190
+ console.log(err);
191
+ });
192
+ }
193
+ });
194
+ }
195
+ });
196
+ }
197
+ }
198
+ onerror(evt) {
199
+ console.log(evt);
200
+ if (this.isHardDisconnect)
201
+ return;
202
+ if (this.socket.isOpen()) {
203
+ this.retriesConnect();
204
+ }
205
+ }
206
+ onheartbeattimeout() {
207
+ console.log("Heartbeat timeout.");
208
+ }
209
+ ondisconnect(e) {
210
+ console.log("Disconnected!", e?.reason);
211
+ if (this.isHardDisconnect)
212
+ return;
213
+ this.retriesConnect();
214
+ }
215
+ retriesConnect() {
216
+ let retryInterval = 5000; // Initial wait time in milliseconds
217
+ const maxRetryInterval = 60000; // Maximum wait time (60 seconds)
218
+ console.log("Reconnecting...");
219
+ const interval = setInterval(async () => {
220
+ try {
221
+ this.socket = this.createSocket(this.useSSL, false, new WebSocketAdapterPb());
222
+ await this.authenticate();
223
+ clearInterval(interval); // Clear the interval on success
224
+ console.log("Connected successfully!");
225
+ retryInterval = 5000; // Reset the interval on successful connection
226
+ }
227
+ catch (e) {
228
+ console.log("Connection failed:", e);
229
+ retryInterval = Math.min(retryInterval * 2, maxRetryInterval); // Double the interval, max at 32 seconds
230
+ // Clear the current interval and restart with the new retry interval
231
+ clearInterval(interval);
232
+ setTimeout(() => {
233
+ this.retriesConnect(); // Restart the connection attempt
234
+ }, retryInterval);
235
+ }
236
+ }, retryInterval);
237
+ }
238
+ async createChannelDesc(request) {
239
+ if (!this.session)
240
+ return;
241
+ const session = this.session;
242
+ if (this.autoRefreshSession &&
243
+ session.refresh_token &&
244
+ session.isexpired(Date.now() / 1000)) {
245
+ await this.sessionRefresh();
246
+ }
247
+ return this.apiClient
248
+ .createChannelDesc(session.token, request);
249
+ }
250
+ async sleep(ms) {
251
+ return new Promise((resolve) => setTimeout(resolve, ms));
252
+ }
253
+ /** Create DM channel to send DM with user */
254
+ async createDMchannel(userId) {
255
+ try {
256
+ if (!isValidUserId(userId))
257
+ return null;
258
+ const request = {
259
+ clan_id: "",
260
+ channel_id: "0",
261
+ category_id: "0",
262
+ type: ChannelType.CHANNEL_TYPE_DM,
263
+ user_ids: [userId],
264
+ channel_private: 1,
265
+ };
266
+ const channelDM = await this.createChannelDesc(request);
267
+ if (channelDM) {
268
+ await this.socket.joinChat(channelDM.clan_id, channelDM.channel_id, channelDM.type, false);
269
+ return channelDM;
270
+ }
271
+ return null;
272
+ }
273
+ catch (e) {
274
+ console.log(e);
275
+ return null;
276
+ }
277
+ }
278
+ sendBulkMessage(messages, callback) {
279
+ const stack = new Stack(DEFAULT_MESSAGE_PER_TIME, DEFAULT_SEND_BULK_INTERVAL, this, callback);
280
+ stack.push(messages);
281
+ return stack;
282
+ }
283
+ sendBulkMessageUser(messages, callback) {
284
+ const stack = new Stack(DEFAULT_MESSAGE_PER_TIME, DEFAULT_SEND_BULK_INTERVAL, this, callback, true);
285
+ stack.push(messages);
286
+ return stack;
287
+ }
288
+ /** Send DM message to user */
289
+ async sendDMChannelMessage(channelDmId, msg, messOptions = {}, attachments = [], refs = []) {
290
+ const messageLength = JSON.stringify(msg).length +
291
+ JSON.stringify(messOptions).length;
292
+ if (messageLength > 4096 * 2)
293
+ throw "Message exceeds allowed characters";
294
+ try {
295
+ const message = {
296
+ clan_id: "",
297
+ channel_id: channelDmId,
298
+ is_public: false,
299
+ mode: convertChanneltypeToChannelMode(ChannelType.CHANNEL_TYPE_DM),
300
+ mentions: [],
301
+ attachments: attachments,
302
+ ref: [],
303
+ };
304
+ const mess = replyMessageGenerate({ messageContent: msg, ...messOptions, attachments, refs }, message);
305
+ return this.sendMessage(mess.clan_id, mess.channel_id, mess.mode, mess.is_public, mess.msg, [], mess.attachments, refs);
306
+ }
307
+ catch (error) {
308
+ throw Error(`Can't send message channel DM`);
309
+ }
310
+ }
311
+ /** List a channel's users. */
312
+ async listChannelVoiceUsers(clanId, channelId, channelType, limit = 500, state, cursor) {
313
+ if (limit <= 0 || limit > 500) {
314
+ console.log("0 < limit <= 500");
315
+ throw Error("0 < limit <= 500");
316
+ }
317
+ const session = this.session;
318
+ if (this.autoRefreshSession &&
319
+ session.refresh_token &&
320
+ session.isexpired(Date.now() / 1000)) {
321
+ await this.sessionRefresh();
322
+ }
323
+ return this.apiClient
324
+ .listChannelVoiceUsers(session.token, clanId, channelId, channelType, limit, state, cursor)
325
+ .then((response) => {
326
+ var result = {
327
+ voice_channel_users: [],
328
+ };
329
+ if (response.voice_channel_users == null) {
330
+ return Promise.resolve(result);
331
+ }
332
+ response.voice_channel_users.forEach((gu) => {
333
+ result.voice_channel_users.push({
334
+ id: gu.id,
335
+ channel_id: gu.channel_id,
336
+ user_id: gu.user_id,
337
+ participant: gu.participant,
338
+ });
339
+ });
340
+ return Promise.resolve(result);
341
+ });
342
+ }
343
+ /** Register stream channel */
344
+ async registerStreamingChannel(request) {
345
+ const session = this.session;
346
+ if (this.autoRefreshSession &&
347
+ session.refresh_token &&
348
+ session.isexpired(Date.now() / 1000)) {
349
+ await this.sessionRefresh();
350
+ }
351
+ return this.apiClient
352
+ .registerStreamingChannel(session.token, request);
353
+ }
354
+ }
355
+ ;
356
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
@@ -708,15 +708,15 @@ export interface RoomMetadataEvent {
708
708
  }
709
709
  /** Session started event - Room starts */
710
710
  export interface AIAgentSessionStartedEvent extends RoomMetadataEvent {
711
- event_type: 'room_started';
711
+ event_type: "room_started";
712
712
  }
713
713
  /** Session ended event - Room ends */
714
714
  export interface AIAgentSessionEndedEvent extends RoomMetadataEvent {
715
- event_type: 'room_ended';
715
+ event_type: "room_ended";
716
716
  }
717
717
  /** Session summary done event - Room summary completed */
718
718
  export interface AIAgentSessionSummaryDoneEvent extends RoomMetadataEvent {
719
- event_type: 'room_summary_done';
719
+ event_type: "room_summary_done";
720
720
  }
721
721
  export interface Client {
722
722
  authenticate: () => Promise<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/interfaces/client.ts"],"names":[],"mappings":"AAkdA,MAAM,CAAN,IAAY,mBAMX;AAND,WAAY,mBAAmB;IAC7B,mEAAW,CAAA;IACX,uEAAa,CAAA;IACb,mEAAW,CAAA;IACX,iEAAU,CAAA;IACV,6DAAQ,CAAA;AACV,CAAC,EANW,mBAAmB,KAAnB,mBAAmB,QAM9B;AAED,MAAM,CAAN,IAAY,qBAQX;AARD,WAAY,qBAAqB;IAC/B,qEAAU,CAAA;IACV,qEAAU,CAAA;IACV,mEAAS,CAAA;IACT,6EAAc,CAAA;IACd,mEAAS,CAAA;IACT,2EAAa,CAAA;IACb,iEAAQ,CAAA;AACV,CAAC,EARW,qBAAqB,KAArB,qBAAqB,QAQhC;AAED,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,2DAAQ,CAAA;IACR,2DAAQ,CAAA;IACR,2DAAQ,CAAA;IACR,iEAAW,CAAA;AACb,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B;AAoGD,MAAM,CAAN,IAAY,aASX;AATD,WAAY,aAAa;IACvB,6BAAY,CAAA;IACZ,6BAAY,CAAA;IACZ,4BAAW,CAAA;IACX,2BAAU,CAAA;IACV,2BAAU,CAAA;IACV,4BAAW,CAAA;IACX,kCAAiB,CAAA;IACjB,sCAAqB,CAAA;AACvB,CAAC,EATW,aAAa,KAAb,aAAa,QASxB"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/interfaces/client.ts"],"names":[],"mappings":"AA4cA,MAAM,CAAN,IAAY,mBAMX;AAND,WAAY,mBAAmB;IAC7B,mEAAW,CAAA;IACX,uEAAa,CAAA;IACb,mEAAW,CAAA;IACX,iEAAU,CAAA;IACV,6DAAQ,CAAA;AACV,CAAC,EANW,mBAAmB,KAAnB,mBAAmB,QAM9B;AAED,MAAM,CAAN,IAAY,qBAQX;AARD,WAAY,qBAAqB;IAC/B,qEAAU,CAAA;IACV,qEAAU,CAAA;IACV,mEAAS,CAAA;IACT,6EAAc,CAAA;IACd,mEAAS,CAAA;IACT,2EAAa,CAAA;IACb,iEAAQ,CAAA;AACV,CAAC,EARW,qBAAqB,KAArB,qBAAqB,QAQhC;AAED,MAAM,CAAN,IAAY,kBAKX;AALD,WAAY,kBAAkB;IAC5B,2DAAQ,CAAA;IACR,2DAAQ,CAAA;IACR,2DAAQ,CAAA;IACR,iEAAW,CAAA;AACb,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,QAK7B;AAoGD,MAAM,CAAN,IAAY,aASX;AATD,WAAY,aAAa;IACvB,6BAAY,CAAA;IACZ,6BAAY,CAAA;IACZ,4BAAW,CAAA;IACX,2BAAU,CAAA;IACV,2BAAU,CAAA;IACV,4BAAW,CAAA;IACX,kCAAiB,CAAA;IACjB,sCAAqB,CAAA;AACvB,CAAC,EATW,aAAa,KAAb,aAAa,QASxB"}
@@ -0,0 +1,15 @@
1
+ import { MezonApi } from "../api";
2
+ import { ApiChannelDescription, ApiVoiceChannelUserList } from "../interfaces";
3
+ import { SessionManager } from "./session_manager";
4
+ import { SocketManager } from "./socket_manager";
5
+ export declare class ChannelManager {
6
+ private apiClient;
7
+ private socketManager;
8
+ private sessionManager;
9
+ constructor(apiClient: MezonApi, socketManager: SocketManager, sessionManager: SessionManager);
10
+ /** Create DM channel with user */
11
+ createDMchannel(userId: string): Promise<null | ApiChannelDescription>;
12
+ /** List current user in channel voice */
13
+ listChannelVoiceUsers(clanId: string, channelId: string, channelType: number, limit?: number, state?: number, cursor?: string): Promise<ApiVoiceChannelUserList>;
14
+ private sleep;
15
+ }
@@ -0,0 +1,69 @@
1
+ import { ChannelType } from "../constants/enum";
2
+ import { isValidUserId } from "../utils/helper";
3
+ export class ChannelManager {
4
+ apiClient;
5
+ socketManager;
6
+ sessionManager;
7
+ constructor(apiClient, socketManager, sessionManager) {
8
+ this.apiClient = apiClient;
9
+ this.socketManager = socketManager;
10
+ this.sessionManager = sessionManager;
11
+ }
12
+ /** Create DM channel with user */
13
+ async createDMchannel(userId) {
14
+ try {
15
+ if (!isValidUserId(userId))
16
+ return null;
17
+ const socket = this.socketManager.getSocket();
18
+ const request = {
19
+ clan_id: "",
20
+ channel_id: "0",
21
+ category_id: "0",
22
+ type: ChannelType.CHANNEL_TYPE_DM,
23
+ user_ids: [userId],
24
+ channel_private: 1,
25
+ };
26
+ const channelDM = await this.apiClient.createChannelDesc(this.sessionManager.getSession().token, request);
27
+ if (channelDM) {
28
+ await this.sleep(100);
29
+ await socket.joinChat(channelDM.clan_id, channelDM.channel_id, channelDM.type, false);
30
+ return channelDM;
31
+ }
32
+ return null;
33
+ }
34
+ catch (e) {
35
+ console.log(e);
36
+ return null;
37
+ }
38
+ }
39
+ /** List current user in channel voice */
40
+ async listChannelVoiceUsers(clanId, channelId, channelType, limit = 500, state, cursor) {
41
+ if (limit <= 0 || limit > 500) {
42
+ console.log("0 < limit <= 500");
43
+ throw new Error("0 < limit <= 500");
44
+ }
45
+ return this.apiClient
46
+ .listChannelVoiceUsers(this.sessionManager.getSession().token, clanId, channelId, channelType, limit, state, cursor)
47
+ .then((response) => {
48
+ var result = {
49
+ voice_channel_users: [],
50
+ };
51
+ if (response.voice_channel_users == null) {
52
+ return Promise.resolve(result);
53
+ }
54
+ response.voice_channel_users.forEach((gu) => {
55
+ result.voice_channel_users.push({
56
+ id: gu.id,
57
+ channel_id: gu.channel_id,
58
+ user_id: gu.user_id,
59
+ participant: gu.participant,
60
+ });
61
+ });
62
+ return Promise.resolve(result);
63
+ });
64
+ }
65
+ sleep(ms) {
66
+ return new Promise((resolve) => setTimeout(resolve, ms));
67
+ }
68
+ }
69
+ //# sourceMappingURL=channel_manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channel_manager.js","sourceRoot":"","sources":["../../../src/mezon-client/channel_manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAMhD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIhD,MAAM,OAAO,cAAc;IAEf;IACA;IACA;IAHV,YACU,SAAmB,EACnB,aAA4B,EAC5B,cAA8B;QAF9B,cAAS,GAAT,SAAS,CAAU;QACnB,kBAAa,GAAb,aAAa,CAAe;QAC5B,mBAAc,GAAd,cAAc,CAAgB;IACrC,CAAC;IAEJ,kCAAkC;IAClC,KAAK,CAAC,eAAe,CAAC,MAAc;QAClC,IAAI;YACF,IAAI,CAAC,aAAa,CAAC,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,WAAW,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,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACf,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAED,yCAAyC;IACzC,KAAK,CAAC,qBAAqB,CACzB,MAAc,EACd,SAAiB,EACjB,WAAmB,EACnB,QAAgB,GAAG,EACnB,KAAc,EACd,MAAe;QAEf,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,GAAG,EAAE;YAC7B,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;SACrC;QACD,OAAO,IAAI,CAAC,SAAS;aAClB,qBAAqB,CACpB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAG,CAAC,KAAK,EACvC,MAAM,EACN,SAAS,EACT,WAAW,EACX,KAAK,EACL,KAAK,EACL,MAAM,CACP;aACA,IAAI,CAAC,CAAC,QAAiC,EAAE,EAAE;YAC1C,IAAI,MAAM,GAA4B;gBACpC,mBAAmB,EAAE,EAAE;aACxB,CAAC;YAEF,IAAI,QAAQ,CAAC,mBAAmB,IAAI,IAAI,EAAE;gBACxC,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;aAChC;YAED,QAAQ,CAAC,mBAAoB,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;gBAC3C,MAAM,CAAC,mBAAoB,CAAC,IAAI,CAAC;oBAC/B,EAAE,EAAE,EAAE,CAAC,EAAE;oBACT,UAAU,EAAE,EAAE,CAAC,UAAU;oBACzB,OAAO,EAAE,EAAE,CAAC,OAAO;oBACnB,WAAW,EAAE,EAAE,CAAC,WAAW;iBAC5B,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACP,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"}
@@ -62,7 +62,6 @@ export declare class MezonClientCore extends EventEmitter {
62
62
  addQuickMenuAccess(body: ApiQuickMenuAccessPayload): Promise<any>;
63
63
  deleteQuickMenuAccess(botId?: string): Promise<any>;
64
64
  closeSocket(): void;
65
- connectMezonAgentSSE(): void;
66
65
  listTransactionDetail(transactionId: string): Promise<any>;
67
66
  protected _fetchClanFromAPI(id: string): Promise<Clan>;
68
67
  protected _fetchChannelFromAPI(id: string): Promise<TextChannel>;
@@ -195,6 +195,7 @@ export class MezonClientCore extends EventEmitter {
195
195
  await this.socketManager.connectSocket(sessionConnected.token);
196
196
  await this.channelManager.initAllDmChannels(sessionConnected.token);
197
197
  }
198
+ this._connectMezonAgentSSE();
198
199
  this.emit("ready");
199
200
  return JSON.stringify(sessionApi ?? {});
200
201
  }
@@ -371,9 +372,6 @@ export class MezonClientCore extends EventEmitter {
371
372
  this.socketManager.closeSocket();
372
373
  this.eventManager = new EventManager();
373
374
  }
374
- connectMezonAgentSSE() {
375
- this._connectMezonAgentSSE();
376
- }
377
375
  async listTransactionDetail(transactionId) {
378
376
  console.log("listTransactionDetail transactionId", transactionId);
379
377
  }