maplestory-openapi 2.4.1 → 2.7.2

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 (96) hide show
  1. package/README.md +51 -41
  2. package/dist/index.js +1158 -393
  3. package/dist/index.min.js +1 -1
  4. package/dist/index.mjs +1141 -393
  5. package/package.json +6 -4
  6. package/types/index.d.ts +18 -3
  7. package/types/maplestory/api/dto/character/characterAbilityDto.d.ts +1 -1
  8. package/types/maplestory/api/dto/character/characterAndroidEquipmentDto.d.ts +4 -3
  9. package/types/maplestory/api/dto/character/characterAndroidEquipmentPresetDto.d.ts +5 -4
  10. package/types/maplestory/api/dto/character/characterAndroidEquipmentSkinDto.d.ts +28 -0
  11. package/types/maplestory/api/dto/character/characterBasicDto.d.ts +21 -1
  12. package/types/maplestory/api/dto/character/characterBeautyEquipmentDto.d.ts +6 -5
  13. package/types/maplestory/api/dto/character/characterBeautyEquipmentSkinDto.d.ts +28 -0
  14. package/types/maplestory/api/dto/character/characterCashItemEquipmentDto.d.ts +1 -1
  15. package/types/maplestory/api/dto/character/characterDojangDto.d.ts +1 -1
  16. package/types/maplestory/api/dto/character/characterHexaMatrixDto.d.ts +1 -1
  17. package/types/maplestory/api/dto/character/characterHexaMatrixStatDto.d.ts +11 -3
  18. package/types/maplestory/api/dto/character/characterHyperStatDto.d.ts +1 -1
  19. package/types/maplestory/api/dto/character/characterItemEquipmentDto.d.ts +1 -1
  20. package/types/maplestory/api/dto/character/characterItemEquipmentExceptionalOptionDto.d.ts +4 -0
  21. package/types/maplestory/api/dto/character/characterLinkSkillDto.d.ts +1 -1
  22. package/types/maplestory/api/dto/character/characterLinkSkillInfoDto.d.ts +4 -0
  23. package/types/maplestory/api/dto/character/characterListAccountCharacterDto.d.ts +28 -0
  24. package/types/maplestory/api/dto/character/characterListAccountDto.d.ts +17 -0
  25. package/types/maplestory/api/dto/character/characterListDto.d.ts +13 -0
  26. package/types/maplestory/api/dto/character/characterPetEquipmentDto.d.ts +1 -1
  27. package/types/maplestory/api/dto/character/characterPopularityDto.d.ts +1 -1
  28. package/types/maplestory/api/dto/character/characterPropensityDto.d.ts +1 -1
  29. package/types/maplestory/api/dto/character/characterSetEffectDto.d.ts +3 -3
  30. package/types/maplestory/api/dto/character/characterSetEffectInfoDto.d.ts +5 -10
  31. package/types/maplestory/api/dto/character/characterSetEffectOptionFullDto.d.ts +16 -0
  32. package/types/maplestory/api/dto/character/characterSetEffectSetDto.d.ts +26 -0
  33. package/types/maplestory/api/dto/character/characterSkillDto.d.ts +1 -1
  34. package/types/maplestory/api/dto/character/characterSkillInfoDto.d.ts +4 -0
  35. package/types/maplestory/api/dto/character/characterStatDto.d.ts +1 -1
  36. package/types/maplestory/api/dto/character/characterSymbolEquipmentDto.d.ts +1 -1
  37. package/types/maplestory/api/dto/character/characterVMatrixCoreEquipmentDto.d.ts +2 -2
  38. package/types/maplestory/api/dto/character/characterVMatrixDto.d.ts +1 -1
  39. package/types/maplestory/api/dto/guild/guildBasicDto.d.ts +1 -9
  40. package/types/maplestory/api/dto/history/starforceHistoryDto.d.ts +1 -1
  41. package/types/maplestory/api/dto/notice/cashshopNoticeDetailDto.d.ts +40 -0
  42. package/types/maplestory/api/dto/notice/cashshopNoticeListDto.d.ts +13 -0
  43. package/types/maplestory/api/dto/notice/cashshopNoticeListItemDto.d.ts +40 -0
  44. package/types/maplestory/api/dto/notice/eventNoticeDetailDto.d.ts +32 -0
  45. package/types/maplestory/api/dto/notice/eventNoticeListDto.d.ts +13 -0
  46. package/types/maplestory/api/dto/notice/eventNoticeListItemDto.d.ts +32 -0
  47. package/types/maplestory/api/dto/notice/noticeDetailDto.d.ts +24 -0
  48. package/types/maplestory/api/dto/notice/noticeListDto.d.ts +13 -0
  49. package/types/maplestory/api/dto/notice/noticeListItemDto.d.ts +24 -0
  50. package/types/maplestory/api/dto/notice/updateNoticeDetailDto.d.ts +24 -0
  51. package/types/maplestory/api/dto/notice/updateNoticeListDto.d.ts +13 -0
  52. package/types/maplestory/api/dto/notice/updateNoticeListItemDto.d.ts +24 -0
  53. package/types/maplestory/api/dto/union/unionArtifactDto.d.ts +1 -1
  54. package/types/maplestory/api/dto/union/unionDto.d.ts +1 -1
  55. package/types/maplestory/api/dto/union/unionRaiderDto.d.ts +26 -1
  56. package/types/maplestory/api/dto/union/unionRaiderPresetDto.d.ts +26 -0
  57. package/types/maplestory/api/mapleStoryApi.d.ts +126 -25
  58. package/types/maplestory/api/mapleStoryApiError.d.ts +2 -1
  59. package/types/maplestory/api/response/character/characterAbilityDtoBody.d.ts +1 -1
  60. package/types/maplestory/api/response/character/characterAndroidEquipmentDtoBody.d.ts +11 -4
  61. package/types/maplestory/api/response/character/characterBasicDtoBody.d.ts +4 -1
  62. package/types/maplestory/api/response/character/characterBeautyEquipmentDtoBody.d.ts +11 -4
  63. package/types/maplestory/api/response/character/characterCashItemEquipmentDtoBody.d.ts +1 -1
  64. package/types/maplestory/api/response/character/characterDojangDtoBody.d.ts +1 -1
  65. package/types/maplestory/api/response/character/characterHexaMatrixDtoBody.d.ts +1 -1
  66. package/types/maplestory/api/response/character/characterHexaMatrixStatDtoBody.d.ts +3 -1
  67. package/types/maplestory/api/response/character/characterHyperStatDtoBody.d.ts +1 -1
  68. package/types/maplestory/api/response/character/characterItemEquipmentDtoBody.d.ts +3 -2
  69. package/types/maplestory/api/response/character/characterLinkSkillDtoBody.d.ts +2 -1
  70. package/types/maplestory/api/response/character/characterListDtoBody.d.ts +15 -0
  71. package/types/maplestory/api/response/character/characterPetEquipmentDtoBody.d.ts +1 -1
  72. package/types/maplestory/api/response/character/characterPopularityDtoBody.d.ts +1 -1
  73. package/types/maplestory/api/response/character/characterPropensityDtoBody.d.ts +1 -1
  74. package/types/maplestory/api/response/character/characterSetEffectDtoBody.d.ts +11 -6
  75. package/types/maplestory/api/response/character/characterSkillDtoBody.d.ts +2 -1
  76. package/types/maplestory/api/response/character/characterStatDtoBody.d.ts +1 -1
  77. package/types/maplestory/api/response/character/characterSymbolEquipmentDtoBody.d.ts +1 -1
  78. package/types/maplestory/api/response/character/characterVMatrixDtoBody.d.ts +3 -3
  79. package/types/maplestory/api/response/guild/guildBasicDtoBody.d.ts +1 -3
  80. package/types/maplestory/api/response/history/cubeHistoryDtoBody.d.ts +1 -1
  81. package/types/maplestory/api/response/history/cubeHistoryResponseDtoBody.d.ts +1 -1
  82. package/types/maplestory/api/response/history/starforceHistoryDtoBody.d.ts +2 -2
  83. package/types/maplestory/api/response/history/starforceHistoryResponseDtoBody.d.ts +1 -1
  84. package/types/maplestory/api/response/notice/cashshopNoticeDetailDtoBody.d.ts +10 -0
  85. package/types/maplestory/api/response/notice/cashshopNoticeListDtoBody.d.ts +13 -0
  86. package/types/maplestory/api/response/notice/eventNoticeDetailDtoBody.d.ts +9 -0
  87. package/types/maplestory/api/response/notice/eventNoticeListDtoBody.d.ts +12 -0
  88. package/types/maplestory/api/response/notice/noticeDetailDtoBody.d.ts +7 -0
  89. package/types/maplestory/api/response/notice/noticeListDtoBody.d.ts +10 -0
  90. package/types/maplestory/api/response/notice/updateNoticeDetailDtoBody.d.ts +7 -0
  91. package/types/maplestory/api/response/notice/updateNoticeListDtoBody.d.ts +10 -0
  92. package/types/maplestory/api/response/ranking/theSeedRankingResponseDtoBody.d.ts +2 -3
  93. package/types/maplestory/api/response/union/unionArtifactDtoBody.d.ts +1 -1
  94. package/types/maplestory/api/response/union/unionDtoBody.d.ts +1 -1
  95. package/types/maplestory/api/response/union/unionRaiderDtoBody.d.ts +14 -2
  96. package/types/maplestory/api/dto/character/characterSetEffectOptionInfoDto.d.ts +0 -16
package/dist/index.mjs CHANGED
@@ -7,7 +7,7 @@ var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof win
7
7
  var timezone$1 = {exports: {}};
8
8
 
9
9
  (function (module, exports) {
10
- !function(t,e){module.exports=e();}(commonjsGlobal,(function(){var t={year:0,month:1,day:2,hour:3,minute:4,second:5},e={};return function(n,i,o){var r,a=function(t,n,i){void 0===i&&(i={});var o=new Date(t),r=function(t,n){void 0===n&&(n={});var i=n.timeZoneName||"short",o=t+"|"+i,r=e[o];return r||(r=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:i}),e[o]=r),r}(n,i);return r.formatToParts(o)},u=function(e,n){for(var i=a(e,n),r=[],u=0;u<i.length;u+=1){var f=i[u],s=f.type,m=f.value,c=t[s];c>=0&&(r[c]=parseInt(m,10));}var d=r[3],l=24===d?0:d,h=r[0]+"-"+r[1]+"-"+r[2]+" "+l+":"+r[4]+":"+r[5]+":000",v=+e;return (o.utc(h).valueOf()-(v-=v%1e3))/6e4},f=i.prototype;f.tz=function(t,e){void 0===t&&(t=r);var n=this.utcOffset(),i=this.toDate(),a=i.toLocaleString("en-US",{timeZone:t}),u=Math.round((i-new Date(a))/1e3/60),f=o(a,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(15*-Math.round(i.getTimezoneOffset()/15)-u,!0);if(e){var s=f.utcOffset();f=f.add(n-s,"minute");}return f.$x.$timezone=t,f},f.offsetName=function(t){var e=this.$x.$timezone||o.tz.guess(),n=a(this.valueOf(),e,{timeZoneName:t}).find((function(t){return "timezonename"===t.type.toLowerCase()}));return n&&n.value};var s=f.startOf;f.startOf=function(t,e){if(!this.$x||!this.$x.$timezone)return s.call(this,t,e);var n=o(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return s.call(n,t,e).tz(this.$x.$timezone,!0)},o.tz=function(t,e,n){var i=n&&e,a=n||e||r,f=u(+o(),a);if("string"!=typeof t)return o(t).tz(a);var s=function(t,e,n){var i=t-60*e*1e3,o=u(i,n);if(e===o)return [i,e];var r=u(i-=60*(o-e)*1e3,n);return o===r?[i,o]:[t-60*Math.min(o,r)*1e3,Math.max(o,r)]}(o.utc(t,i).valueOf(),f,a),m=s[0],c=s[1],d=o(m).utcOffset(c);return d.$x.$timezone=a,d},o.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},o.tz.setDefault=function(t){r=t;};}}));
10
+ !function(t,e){module.exports=e();}(commonjsGlobal,(function(){var t={year:0,month:1,day:2,hour:3,minute:4,second:5},e={};return function(n,i,o){var r,a=function(t,n,i){void 0===i&&(i={});var o=new Date(t),r=function(t,n){void 0===n&&(n={});var i=n.timeZoneName||"short",o=t+"|"+i,r=e[o];return r||(r=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:i}),e[o]=r),r}(n,i);return r.formatToParts(o)},u=function(e,n){for(var i=a(e,n),r=[],u=0;u<i.length;u+=1){var f=i[u],s=f.type,m=f.value,c=t[s];c>=0&&(r[c]=parseInt(m,10));}var d=r[3],l=24===d?0:d,h=r[0]+"-"+r[1]+"-"+r[2]+" "+l+":"+r[4]+":"+r[5]+":000",v=+e;return (o.utc(h).valueOf()-(v-=v%1e3))/6e4},f=i.prototype;f.tz=function(t,e){void 0===t&&(t=r);var n,i=this.utcOffset(),a=this.toDate(),u=a.toLocaleString("en-US",{timeZone:t}),f=Math.round((a-new Date(u))/1e3/60),s=15*-Math.round(a.getTimezoneOffset()/15)-f;if(!Number(s))n=this.utcOffset(0,e);else if(n=o(u,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(s,!0),e){var m=n.utcOffset();n=n.add(i-m,"minute");}return n.$x.$timezone=t,n},f.offsetName=function(t){var e=this.$x.$timezone||o.tz.guess(),n=a(this.valueOf(),e,{timeZoneName:t}).find((function(t){return "timezonename"===t.type.toLowerCase()}));return n&&n.value};var s=f.startOf;f.startOf=function(t,e){if(!this.$x||!this.$x.$timezone)return s.call(this,t,e);var n=o(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return s.call(n,t,e).tz(this.$x.$timezone,!0)},o.tz=function(t,e,n){var i=n&&e,a=n||e||r,f=u(+o(),a);if("string"!=typeof t)return o(t).tz(a);var s=function(t,e,n){var i=t-60*e*1e3,o=u(i,n);if(e===o)return [i,e];var r=u(i-=60*(o-e)*1e3,n);return o===r?[i,o]:[t-60*Math.min(o,r)*1e3,Math.max(o,r)]}(o.utc(t,i).valueOf(),f,a),m=s[0],c=s[1],d=o(m).utcOffset(c);return d.$x.$timezone=a,d},o.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},o.tz.setDefault=function(t){r=t;};}}));
11
11
  }(timezone$1));
12
12
 
13
13
  var timezone = timezone$1.exports;
@@ -102,7 +102,7 @@ class CharacterAbilityDto {
102
102
  constructor(obj) {
103
103
  const { date, ability_grade, ability_info, remain_fame, preset_no, ability_preset_1, ability_preset_2, ability_preset_3, } = obj;
104
104
  // 날짜는 Date 객체로 변환
105
- this.date = new Date(date);
105
+ this.date = date ? new Date(date) : null;
106
106
  this.abilityGrade = ability_grade;
107
107
  this.abilityInfo = ability_info.map((info) => new CharacterAbilityInfoDto(info));
108
108
  this.remainFame = remain_fame;
@@ -288,6 +288,40 @@ class CharacterAndroidEquipmentHairDto {
288
288
  }
289
289
  }
290
290
 
291
+ /**
292
+ * 캐릭터 안드로이드 피부 정보
293
+ */
294
+ class CharacterAndroidEquipmentSkinDto {
295
+ /**
296
+ * 피부 명
297
+ */
298
+ skinName;
299
+ /**
300
+ * 색상 계열
301
+ */
302
+ colorStyle;
303
+ /**
304
+ * 피부 색조
305
+ */
306
+ hue;
307
+ /**
308
+ * 피부 채도
309
+ */
310
+ saturation;
311
+ /**
312
+ * 피부 명도
313
+ */
314
+ brightness;
315
+ constructor(obj) {
316
+ const { skin_name, color_style, hue, saturation, brightness } = obj;
317
+ this.skinName = skin_name;
318
+ this.colorStyle = color_style;
319
+ this.hue = hue;
320
+ this.saturation = saturation;
321
+ this.brightness = brightness;
322
+ }
323
+ }
324
+
291
325
  /**
292
326
  * 캐릭터 안드로이드 프리셋 정보
293
327
  */
@@ -316,10 +350,6 @@ class CharacterAndroidEquipmentPresetDto {
316
350
  * 안드로이드 등급
317
351
  */
318
352
  androidGrade;
319
- /**
320
- * 안드로이드 피부 명
321
- */
322
- androidSkinName;
323
353
  /**
324
354
  * 안드로이드 헤어 정보
325
355
  */
@@ -328,6 +358,10 @@ class CharacterAndroidEquipmentPresetDto {
328
358
  * 안드로이드 성형 정보
329
359
  */
330
360
  androidFace;
361
+ /**
362
+ * 안드로이드 피부 정보
363
+ */
364
+ androidSkin;
331
365
  /**
332
366
  * 안드로이드 이어센서 클립 적용 여부
333
367
  */
@@ -341,16 +375,16 @@ class CharacterAndroidEquipmentPresetDto {
341
375
  */
342
376
  androidShopUsableFlag;
343
377
  constructor(obj) {
344
- const { android_name, android_nickname, android_icon, android_description, android_gender, android_grade, android_skin_name, android_hair, android_face, android_ear_sensor_clip_flag, android_non_humanoid_flag, android_shop_usable_flag, } = obj;
378
+ const { android_name, android_nickname, android_icon, android_description, android_gender, android_grade, android_hair, android_face, android_skin, android_ear_sensor_clip_flag, android_non_humanoid_flag, android_shop_usable_flag, } = obj;
345
379
  this.androidName = android_name;
346
380
  this.androidNickname = android_nickname;
347
381
  this.androidIcon = android_icon;
348
382
  this.androidDescription = android_description;
349
383
  this.androidGender = android_gender;
350
384
  this.androidGrade = android_grade;
351
- this.androidSkinName = android_skin_name;
352
385
  this.androidHair = new CharacterAndroidEquipmentHairDto(android_hair);
353
386
  this.androidFace = new CharacterAndroidEquipmentFaceDto(android_face);
387
+ this.androidSkin = android_skin ? new CharacterAndroidEquipmentSkinDto(android_skin) : null;
354
388
  this.androidEarSensorClipFlag = android_ear_sensor_clip_flag;
355
389
  this.androidNonHumanoidFlag = android_non_humanoid_flag;
356
390
  this.androidShopUsableFlag = android_shop_usable_flag;
@@ -390,9 +424,9 @@ class CharacterAndroidEquipmentDto {
390
424
  */
391
425
  androidFace;
392
426
  /**
393
- * 안드로이드 피부
427
+ * 안드로이드 피부 정보
394
428
  */
395
- androidSkinName;
429
+ androidSkin;
396
430
  /**
397
431
  * 안드로이드 캐시 아이템 장착 정보
398
432
  */
@@ -434,15 +468,15 @@ class CharacterAndroidEquipmentDto {
434
468
  */
435
469
  androidPreset3;
436
470
  constructor(obj) {
437
- const { date, android_name, android_nickname, android_icon, android_description, android_hair, android_face, android_skin_name, android_cash_item_equipment, android_ear_sensor_clip_flag, android_gender, android_grade, android_non_humanoid_flag, android_shop_usable_flag, preset_no, android_preset_1, android_preset_2, android_preset_3, } = obj;
438
- this.date = new Date(date);
471
+ const { date, android_name, android_nickname, android_icon, android_description, android_hair, android_face, android_skin, android_cash_item_equipment, android_ear_sensor_clip_flag, android_gender, android_grade, android_non_humanoid_flag, android_shop_usable_flag, preset_no, android_preset_1, android_preset_2, android_preset_3, } = obj;
472
+ this.date = date ? new Date(date) : null;
439
473
  this.androidName = android_name;
440
474
  this.androidNickname = android_nickname;
441
475
  this.androidIcon = android_icon;
442
476
  this.androidDescription = android_description;
443
477
  this.androidHair = new CharacterAndroidEquipmentHairDto(android_hair);
444
478
  this.androidFace = new CharacterAndroidEquipmentFaceDto(android_face);
445
- this.androidSkinName = android_skin_name;
479
+ this.androidSkin = android_skin ? new CharacterAndroidEquipmentSkinDto(android_skin) : null;
446
480
  this.androidCashItemEquipment = android_cash_item_equipment.map((equipment) => new CharacterAndroidCashItemEquipmentDto(equipment));
447
481
  this.androidEarSensorClipFlag = android_ear_sensor_clip_flag ?? null;
448
482
  this.androidGender = android_gender;
@@ -501,9 +535,21 @@ class CharacterBasicDto {
501
535
  * 캐릭터 외형 이미지
502
536
  */
503
537
  characterImage;
538
+ /**
539
+ * 캐릭터 생성일
540
+ */
541
+ characterDateCreate;
542
+ /**
543
+ * 최근 7일간 접속 여부
544
+ */
545
+ accessFlag;
546
+ /**
547
+ * 해방 퀘스트 완료 여부
548
+ */
549
+ liberationQuestClearFlag;
504
550
  constructor(obj) {
505
- const { date, character_name, world_name, character_gender, character_class, character_class_level, character_level, character_exp, character_exp_rate, character_guild_name, character_image, } = obj;
506
- this.date = new Date(date);
551
+ const { date, character_name, world_name, character_gender, character_class, character_class_level, character_level, character_exp, character_exp_rate, character_guild_name, character_image, character_date_create, access_flag, liberation_quest_clear_flag, } = obj;
552
+ this.date = date ? new Date(date) : null;
507
553
  this.characterName = character_name;
508
554
  this.worldName = world_name;
509
555
  this.characterGender = character_gender;
@@ -514,6 +560,21 @@ class CharacterBasicDto {
514
560
  this.characterExpRate = character_exp_rate;
515
561
  this.characterGuildName = character_guild_name;
516
562
  this.characterImage = character_image;
563
+ this.characterDateCreate = new Date(character_date_create);
564
+ this.accessFlag = access_flag;
565
+ this.liberationQuestClearFlag = liberation_quest_clear_flag;
566
+ }
567
+ /**
568
+ * 최근 7일간 접속 여부
569
+ */
570
+ get isAccessFlag() {
571
+ return this.accessFlag === 'true';
572
+ }
573
+ /**
574
+ * 해방 퀘스트 완료 여부
575
+ */
576
+ get isLiberationQuestClearFlag() {
577
+ return this.liberationQuestClearFlag === 'true';
517
578
  }
518
579
  }
519
580
 
@@ -575,6 +636,40 @@ class CharacterBeautyEquipmentHairDto {
575
636
  }
576
637
  }
577
638
 
639
+ /**
640
+ * 캐릭터 피부 정보
641
+ */
642
+ class CharacterBeautyEquipmentSkinDto {
643
+ /**
644
+ * 피부 명
645
+ */
646
+ skinName;
647
+ /**
648
+ * 색상 계열
649
+ */
650
+ colorStyle;
651
+ /**
652
+ * 피부 색조
653
+ */
654
+ hue;
655
+ /**
656
+ * 피부 채도
657
+ */
658
+ saturation;
659
+ /**
660
+ * 피부 명도
661
+ */
662
+ brightness;
663
+ constructor(obj) {
664
+ const { skin_name, color_style, hue, saturation, brightness } = obj;
665
+ this.skinName = skin_name;
666
+ this.colorStyle = color_style;
667
+ this.hue = hue;
668
+ this.saturation = saturation;
669
+ this.brightness = brightness;
670
+ }
671
+ }
672
+
578
673
  /**
579
674
  * 캐릭터 헤어, 성형, 피부 정보
580
675
  */
@@ -602,10 +697,10 @@ class CharacterBeautyEquipmentDto {
602
697
  */
603
698
  characterFace;
604
699
  /**
605
- * 피부 명<br>
700
+ * 캐릭터 피부 정보<br>
606
701
  * (제로인 경우 알파, 엔젤릭버스터인 경우 일반 모드)
607
702
  */
608
- characterSkinName;
703
+ characterSkin;
609
704
  /**
610
705
  * 제로인 경우 베타, 엔젤릭버스터인 경우 드레스 업 모드에 적용 중인 헤어 정보
611
706
  */
@@ -615,24 +710,26 @@ class CharacterBeautyEquipmentDto {
615
710
  */
616
711
  additionalCharacterFace;
617
712
  /**
618
- * 제로인 경우 베타, 엔젤릭버스터인 경우 드레스 업 모드에 적용 중인 피부
713
+ * 제로인 경우 베타, 엔젤릭버스터인 경우 드레스 업 모드에 적용 중인 피부 정보
619
714
  */
620
- additionalCharacterSkinName;
715
+ additionalCharacterSkin;
621
716
  constructor(obj) {
622
- const { date, character_gender, character_class, character_hair, character_face, character_skin_name, additional_character_hair, additional_character_face, additional_character_skin_name, } = obj;
623
- this.date = new Date(date);
717
+ const { date, character_gender, character_class, character_hair, character_face, character_skin, additional_character_hair, additional_character_face, additional_character_skin, } = obj;
718
+ this.date = date ? new Date(date) : null;
624
719
  this.characterGender = character_gender;
625
720
  this.characterClass = character_class;
626
721
  this.characterHair = new CharacterBeautyEquipmentHairDto(character_hair);
627
722
  this.characterFace = new CharacterBeautyEquipmentFaceDto(character_face);
628
- this.characterSkinName = character_skin_name;
723
+ this.characterSkin = new CharacterBeautyEquipmentSkinDto(character_skin);
629
724
  this.additionalCharacterHair = additional_character_hair
630
725
  ? new CharacterBeautyEquipmentHairDto(additional_character_hair)
631
726
  : null;
632
727
  this.additionalCharacterFace = additional_character_face
633
728
  ? new CharacterBeautyEquipmentFaceDto(additional_character_face)
634
729
  : null;
635
- this.additionalCharacterSkinName = additional_character_skin_name;
730
+ this.additionalCharacterSkin = additional_character_skin
731
+ ? new CharacterBeautyEquipmentSkinDto(additional_character_skin)
732
+ : null;
636
733
  }
637
734
  }
638
735
 
@@ -804,7 +901,7 @@ class CharacterCashItemEquipmentDto {
804
901
  additionalCashItemEquipmentPreset3;
805
902
  constructor(obj) {
806
903
  const { date, character_gender, character_class, preset_no, cash_item_equipment_base, cash_item_equipment_preset_1, cash_item_equipment_preset_2, cash_item_equipment_preset_3, additional_cash_item_equipment_base, additional_cash_item_equipment_preset_1, additional_cash_item_equipment_preset_2, additional_cash_item_equipment_preset_3, } = obj;
807
- this.date = new Date(date);
904
+ this.date = date ? new Date(date) : null;
808
905
  this.characterGender = character_gender;
809
906
  this.characterClass = character_class;
810
907
  this.presetNo = preset_no;
@@ -853,7 +950,7 @@ class CharacterDojangDto {
853
950
  dojangBestTime;
854
951
  constructor(obj) {
855
952
  const { date, character_class, world_name, dojang_best_floor, date_dojang_record, dojang_best_time, } = obj;
856
- this.date = new Date(date);
953
+ this.date = date ? new Date(date) : null;
857
954
  this.characterClass = character_class;
858
955
  this.worldName = world_name;
859
956
  this.dojangBestFloor = dojang_best_floor;
@@ -935,7 +1032,7 @@ class CharacterHexaMatrixDto {
935
1032
  characterHexaCoreEquipment;
936
1033
  constructor(obj) {
937
1034
  const { date, character_hexa_core_equipment } = obj;
938
- this.date = new Date(date);
1035
+ this.date = date ? new Date(date) : null;
939
1036
  this.characterHexaCoreEquipment = character_hexa_core_equipment.map((equipment) => new CharacterHexaMatrixEquipmentDto(equipment));
940
1037
  }
941
1038
  }
@@ -1002,19 +1099,29 @@ class CharacterHexaMatrixStatDto {
1002
1099
  */
1003
1100
  characterClass;
1004
1101
  /**
1005
- * HEXA 스탯 코어 정보
1102
+ * HEXA 스탯 I 코어 정보
1006
1103
  */
1007
1104
  characterHexaStatCore;
1008
1105
  /**
1009
- * 프리셋 HEXA 스탯 코어 정보
1106
+ * HEXA 스탯 II 코어 정보
1107
+ */
1108
+ characterHexaStatCore2;
1109
+ /**
1110
+ * 프리셋 HEXA 스탯 I 코어 정보
1010
1111
  */
1011
1112
  presetHexaStatCore;
1113
+ /**
1114
+ * 프리셋 HEXA 스탯 II 코어 정보
1115
+ */
1116
+ presetHexaStatCore2;
1012
1117
  constructor(obj) {
1013
- const { date, character_class, character_hexa_stat_core, preset_hexa_stat_core, } = obj;
1014
- this.date = new Date(date);
1118
+ const { date, character_class, character_hexa_stat_core, character_hexa_stat_core_2, preset_hexa_stat_core, preset_hexa_stat_core_2, } = obj;
1119
+ this.date = date ? new Date(date) : null;
1015
1120
  this.characterClass = character_class;
1016
1121
  this.characterHexaStatCore = character_hexa_stat_core.map((core) => new CharacterHexaMatrixStatCoreDto(core));
1122
+ this.characterHexaStatCore2 = character_hexa_stat_core_2.map((core) => new CharacterHexaMatrixStatCoreDto(core));
1017
1123
  this.presetHexaStatCore = preset_hexa_stat_core.map((core) => new CharacterHexaMatrixStatCoreDto(core));
1124
+ this.presetHexaStatCore2 = preset_hexa_stat_core_2.map((core) => new CharacterHexaMatrixStatCoreDto(core));
1018
1125
  }
1019
1126
  }
1020
1127
 
@@ -1093,7 +1200,7 @@ class CharacterHyperStatDto {
1093
1200
  hyperStatPreset3RemainPoint;
1094
1201
  constructor(obj) {
1095
1202
  const { date, character_class, use_preset_no, use_available_hyper_stat, hyper_stat_preset_1, hyper_stat_preset_1_remain_point, hyper_stat_preset_2, hyper_stat_preset_2_remain_point, hyper_stat_preset_3, hyper_stat_preset_3_remain_point, } = obj;
1096
- this.date = new Date(date);
1203
+ this.date = date ? new Date(date) : null;
1097
1204
  this.characterClass = character_class;
1098
1205
  this.usePresetNo = use_preset_no;
1099
1206
  this.useAvailableHyperStat = use_available_hyper_stat;
@@ -1384,8 +1491,12 @@ class CharacterItemEquipmentExceptionalOptionDto {
1384
1491
  * 마력
1385
1492
  */
1386
1493
  magicPower;
1494
+ /**
1495
+ * 익셉셔널 강화 적용 횟수
1496
+ */
1497
+ exceptionalUpgrade;
1387
1498
  constructor(obj) {
1388
- const { str, dex, int, luk, max_hp, max_mp, attack_power, magic_power } = obj;
1499
+ const { str, dex, int, luk, max_hp, max_mp, attack_power, magic_power, exceptional_upgrade } = obj;
1389
1500
  this.str = str;
1390
1501
  this.dex = dex;
1391
1502
  this.int = int;
@@ -1394,6 +1505,7 @@ class CharacterItemEquipmentExceptionalOptionDto {
1394
1505
  this.maxMp = max_mp;
1395
1506
  this.attackPower = attack_power;
1396
1507
  this.magicPower = magic_power;
1508
+ this.exceptionalUpgrade = exceptional_upgrade;
1397
1509
  }
1398
1510
  }
1399
1511
 
@@ -2142,7 +2254,7 @@ class CharacterItemEquipmentDto {
2142
2254
  mechanicEquipment;
2143
2255
  constructor(obj) {
2144
2256
  const { date, character_gender, character_class, preset_no, item_equipment, item_equipment_preset_1, item_equipment_preset_2, item_equipment_preset_3, title, dragon_equipment, mechanic_equipment, } = obj;
2145
- this.date = new Date(date);
2257
+ this.date = date ? new Date(date) : null;
2146
2258
  this.characterGender = character_gender;
2147
2259
  this.characterClass = character_class;
2148
2260
  this.presetNo = preset_no;
@@ -2176,16 +2288,21 @@ class CharacterLinkSkillInfoDto {
2176
2288
  * 스킬 효과
2177
2289
  */
2178
2290
  skillEffect;
2291
+ /**
2292
+ * 다음 레벨의 스킬 효과
2293
+ */
2294
+ skillEffectNext;
2179
2295
  /**
2180
2296
  * 스킬 아이콘
2181
2297
  */
2182
2298
  skillIcon;
2183
2299
  constructor(obj) {
2184
- const { skill_name, skill_description, skill_level, skill_effect, skill_icon, } = obj;
2300
+ const { skill_name, skill_description, skill_level, skill_effect, skill_effect_next, skill_icon, } = obj;
2185
2301
  this.skillName = skill_name;
2186
2302
  this.skillDescription = skill_description;
2187
2303
  this.skillLevel = skill_level;
2188
2304
  this.skillEffect = skill_effect;
2305
+ this.skillEffectNext = skill_effect_next;
2189
2306
  this.skillIcon = skill_icon;
2190
2307
  }
2191
2308
  }
@@ -2236,7 +2353,7 @@ class CharacterLinkSkillDto {
2236
2353
  characterOwnedLinkSkillPreset3;
2237
2354
  constructor(obj) {
2238
2355
  const { date, character_class, character_link_skill, character_link_skill_preset_1, character_link_skill_preset_2, character_link_skill_preset_3, character_owned_link_skill, character_owned_link_skill_preset_1, character_owned_link_skill_preset_2, character_owned_link_skill_preset_3, } = obj;
2239
- this.date = new Date(date);
2356
+ this.date = date ? new Date(date) : null;
2240
2357
  this.characterClass = character_class;
2241
2358
  this.characterLinkSkill = character_link_skill.map((skill) => new CharacterLinkSkillInfoDto(skill));
2242
2359
  this.characterLinkSkillPreset1 = character_link_skill_preset_1.map((skill) => new CharacterLinkSkillInfoDto(skill));
@@ -2249,6 +2366,73 @@ class CharacterLinkSkillDto {
2249
2366
  }
2250
2367
  }
2251
2368
 
2369
+ /**
2370
+ * 캐릭터 정보
2371
+ */
2372
+ class CharacterListAccountCharacterDto {
2373
+ /**
2374
+ * 캐릭터 식별자
2375
+ */
2376
+ ocid;
2377
+ /**
2378
+ * 캐릭터 명
2379
+ */
2380
+ characterName;
2381
+ /**
2382
+ * 월드 명
2383
+ */
2384
+ worldName;
2385
+ /**
2386
+ * 캐릭터 직업
2387
+ */
2388
+ characterClass;
2389
+ /**
2390
+ * 캐릭터 레벨
2391
+ */
2392
+ characterLevel;
2393
+ constructor(obj) {
2394
+ const { ocid, character_name, world_name, character_class, character_level, } = obj;
2395
+ this.ocid = ocid;
2396
+ this.characterName = character_name;
2397
+ this.worldName = world_name;
2398
+ this.characterClass = character_class;
2399
+ this.characterLevel = character_level;
2400
+ }
2401
+ }
2402
+
2403
+ /**
2404
+ * 메이플스토리 계정
2405
+ */
2406
+ class CharacterListAccountDto {
2407
+ /**
2408
+ * 메이플스토리 계정 식별자
2409
+ */
2410
+ accountId;
2411
+ /**
2412
+ * 캐릭터 목록
2413
+ */
2414
+ characterList;
2415
+ constructor(obj) {
2416
+ const { account_id, character_list } = obj;
2417
+ this.accountId = account_id;
2418
+ this.characterList = character_list.map(character => new CharacterListAccountCharacterDto(character));
2419
+ }
2420
+ }
2421
+
2422
+ /**
2423
+ * 계정의 보유 캐릭터 목록
2424
+ */
2425
+ class CharacterListDto {
2426
+ /**
2427
+ * 메이플스토리 계정 목록
2428
+ */
2429
+ accountList;
2430
+ constructor(obj) {
2431
+ const { account_list } = obj;
2432
+ this.accountList = account_list.map(account => new CharacterListAccountDto(account));
2433
+ }
2434
+ }
2435
+
2252
2436
  /**
2253
2437
  * 캐릭터 펫 장비 자동 스킬 정보
2254
2438
  */
@@ -2488,7 +2672,7 @@ class CharacterPetEquipmentDto {
2488
2672
  pet3AppearanceIcon;
2489
2673
  constructor(obj) {
2490
2674
  const { date, pet_1_name, pet_1_nickname, pet_1_icon, pet_1_description, pet_1_equipment, pet_1_auto_skill, pet_1_pet_type, pet_1_skill, pet_1_date_expire, pet_1_appearance, pet_1_appearance_icon, pet_2_name, pet_2_nickname, pet_2_icon, pet_2_description, pet_2_equipment, pet_2_auto_skill, pet_2_pet_type, pet_2_skill, pet_2_date_expire, pet_2_appearance, pet_2_appearance_icon, pet_3_name, pet_3_nickname, pet_3_icon, pet_3_description, pet_3_equipment, pet_3_auto_skill, pet_3_pet_type, pet_3_skill, pet_3_date_expire, pet_3_appearance, pet_3_appearance_icon, } = obj;
2491
- this.date = new Date(date);
2675
+ this.date = date ? new Date(date) : null;
2492
2676
  this.pet1Name = pet_1_name;
2493
2677
  this.pet1Nickname = pet_1_nickname;
2494
2678
  this.pet1Icon = pet_1_icon;
@@ -2539,7 +2723,7 @@ class CharacterPopularityDto {
2539
2723
  popularity;
2540
2724
  constructor(obj) {
2541
2725
  const { date, popularity } = obj;
2542
- this.date = new Date(date);
2726
+ this.date = date ? new Date(date) : null;
2543
2727
  this.popularity = popularity;
2544
2728
  }
2545
2729
  }
@@ -2575,7 +2759,7 @@ class CharacterPropensityDto {
2575
2759
  charmLevel;
2576
2760
  constructor(obj) {
2577
2761
  const { date, charisma_level, sensibility_level, insight_level, willingness_level, handicraft_level, charm_level, } = obj;
2578
- this.date = new Date(date);
2762
+ this.date = date ? new Date(date) : null;
2579
2763
  this.charismaLevel = charisma_level;
2580
2764
  this.sensibilityLevel = sensibility_level;
2581
2765
  this.insightLevel = insight_level;
@@ -2586,15 +2770,15 @@ class CharacterPropensityDto {
2586
2770
  }
2587
2771
 
2588
2772
  /**
2589
- * 캐릭터 세트 효과 옵션 정보
2773
+ * 적용 중인 세트 효과 정보
2590
2774
  */
2591
- class CharacterSetEffectOptionInfoDto {
2775
+ class CharacterSetEffectInfoDto {
2592
2776
  /**
2593
2777
  * 세트 효과 레벨 (장비 수)
2594
2778
  */
2595
2779
  setCount;
2596
2780
  /**
2597
- * 적용 중인 세트 효과
2781
+ * 세트 효과
2598
2782
  */
2599
2783
  setOption;
2600
2784
  constructor(obj) {
@@ -2605,9 +2789,28 @@ class CharacterSetEffectOptionInfoDto {
2605
2789
  }
2606
2790
 
2607
2791
  /**
2608
- * 캐릭터 세트 효과 정보
2792
+ * 모든 세트 효과 정보
2609
2793
  */
2610
- class CharacterSetEffectInfoDto {
2794
+ class CharacterSetEffectOptionFullDto {
2795
+ /**
2796
+ * 세트 효과 레벨 (장비 수)
2797
+ */
2798
+ setCount;
2799
+ /**
2800
+ * 세트 효과
2801
+ */
2802
+ setOption;
2803
+ constructor(obj) {
2804
+ const { set_count, set_option } = obj;
2805
+ this.setCount = set_count;
2806
+ this.setOption = set_option;
2807
+ }
2808
+ }
2809
+
2810
+ /**
2811
+ * 세트 효과 정보
2812
+ */
2813
+ class CharacterSetEffectSetDto {
2611
2814
  /**
2612
2815
  * 세트 효과 명
2613
2816
  */
@@ -2617,14 +2820,19 @@ class CharacterSetEffectInfoDto {
2617
2820
  */
2618
2821
  totalSetCount;
2619
2822
  /**
2620
- * 세트 효과 옵션
2823
+ * 적용 중인 세트 효과 정보
2621
2824
  */
2622
2825
  setEffectInfo;
2826
+ /**
2827
+ * 모든 세트 효과 정보
2828
+ */
2829
+ setOptionFull;
2623
2830
  constructor(obj) {
2624
- const { set_name, total_set_count, set_effect_info } = obj;
2831
+ const { set_name, total_set_count, set_effect_info, set_option_full } = obj;
2625
2832
  this.setName = set_name;
2626
2833
  this.totalSetCount = total_set_count;
2627
- this.setEffectInfo = set_effect_info.map((info) => new CharacterSetEffectOptionInfoDto(info));
2834
+ this.setEffectInfo = set_effect_info.map((info) => new CharacterSetEffectInfoDto(info));
2835
+ this.setOptionFull = set_option_full.map((info) => new CharacterSetEffectOptionFullDto(info));
2628
2836
  }
2629
2837
  }
2630
2838
 
@@ -2642,8 +2850,8 @@ class CharacterSetEffectDto {
2642
2850
  setEffect;
2643
2851
  constructor(obj) {
2644
2852
  const { date, set_effect } = obj;
2645
- this.date = new Date(date);
2646
- this.setEffect = set_effect.map((effect) => new CharacterSetEffectInfoDto(effect));
2853
+ this.date = date ? new Date(date) : null;
2854
+ this.setEffect = set_effect.map((effect) => new CharacterSetEffectSetDto(effect));
2647
2855
  }
2648
2856
  }
2649
2857
 
@@ -2667,16 +2875,21 @@ class CharacterSkillInfoDto {
2667
2875
  * 스킬 레벨 별 효과 설명
2668
2876
  */
2669
2877
  skillEffect;
2878
+ /**
2879
+ * 다음 스킬 레벨 효과 설명
2880
+ */
2881
+ skillEffectNext;
2670
2882
  /**
2671
2883
  * 스킬 아이콘
2672
2884
  */
2673
2885
  skillIcon;
2674
2886
  constructor(obj) {
2675
- const { skill_name, skill_description, skill_level, skill_effect, skill_icon, } = obj;
2887
+ const { skill_name, skill_description, skill_level, skill_effect, skill_effect_next, skill_icon, } = obj;
2676
2888
  this.skillName = skill_name;
2677
2889
  this.skillDescription = skill_description;
2678
2890
  this.skillLevel = skill_level;
2679
2891
  this.skillEffect = skill_effect;
2892
+ this.skillEffectNext = skill_effect_next;
2680
2893
  this.skillIcon = skill_icon;
2681
2894
  }
2682
2895
  }
@@ -2703,7 +2916,7 @@ class CharacterSkillDto {
2703
2916
  characterSkill;
2704
2917
  constructor(obj) {
2705
2918
  const { date, character_class, character_skill_grade, character_skill } = obj;
2706
- this.date = new Date(date);
2919
+ this.date = date ? new Date(date) : null;
2707
2920
  this.characterClass = character_class;
2708
2921
  this.characterSkillGrade = character_skill_grade;
2709
2922
  this.characterSkill = character_skill.map((skill) => new CharacterSkillInfoDto(skill));
@@ -2732,7 +2945,7 @@ class CharacterStatDto {
2732
2945
  remainAP;
2733
2946
  constructor(obj) {
2734
2947
  const { date, character_class, final_stat, remain_ap } = obj;
2735
- this.date = new Date(date);
2948
+ this.date = date ? new Date(date) : null;
2736
2949
  this.characterClass = character_class;
2737
2950
  this.finalStat = final_stat.map((stat) => {
2738
2951
  return {
@@ -2831,7 +3044,7 @@ class CharacterSymbolEquipmentDto {
2831
3044
  symbol;
2832
3045
  constructor(obj) {
2833
3046
  const { date, character_class, symbol } = obj;
2834
- this.date = new Date(date);
3047
+ this.date = date ? new Date(date) : null;
2835
3048
  this.characterClass = character_class;
2836
3049
  this.symbol = symbol.map((s) => new CharacterSymbolEquipmentInfoDto(s));
2837
3050
  }
@@ -2908,7 +3121,7 @@ class CharacterVMatrixDto {
2908
3121
  characterVMatrixRemainSlotUpgradePoint;
2909
3122
  constructor(obj) {
2910
3123
  const { date, character_class, character_v_core_equipment, character_v_matrix_remain_slot_upgrade_point, } = obj;
2911
- this.date = new Date(date);
3124
+ this.date = date ? new Date(date) : null;
2912
3125
  this.characterClass = character_class;
2913
3126
  this.characterVCoreEquipment = character_v_core_equipment.map((equipment) => new CharacterVMatrixCodeEquipmentDto(equipment));
2914
3127
  this.characterVMatrixRemainSlotUpgradePoint =
@@ -2998,17 +3211,9 @@ class GuildBasicDto {
2998
3211
  * 노블레스 스킬 목록
2999
3212
  */
3000
3213
  guildNoblesseSkill;
3001
- /**
3002
- * 조합형 길드 마크
3003
- */
3004
- guildMark;
3005
- /**
3006
- * 커스텀 길드 마크 (base64 인코딩 형식)
3007
- */
3008
- guildMarkCustom;
3009
3214
  constructor(obj) {
3010
- const { date, world_name, guild_name, guild_level, guild_fame, guild_point, guild_master_name, guild_member_count, guild_member, guild_skill, guild_noblesse_skill, guild_mark, guild_mark_custom, } = obj;
3011
- this.date = new Date(date);
3215
+ const { date, world_name, guild_name, guild_level, guild_fame, guild_point, guild_master_name, guild_member_count, guild_member, guild_skill, guild_noblesse_skill, } = obj;
3216
+ this.date = date ? new Date(date) : null;
3012
3217
  this.worldName = world_name;
3013
3218
  this.guildName = guild_name;
3014
3219
  this.guildLevel = guild_level;
@@ -3019,8 +3224,6 @@ class GuildBasicDto {
3019
3224
  this.guildMember = guild_member;
3020
3225
  this.guildSkill = guild_skill.map((skill) => new GuildSkillDto(skill));
3021
3226
  this.guildNoblesseSkill = guild_noblesse_skill.map((skill) => new GuildSkillDto(skill));
3022
- this.guildMark = guild_mark;
3023
- this.guildMarkCustom = guild_mark_custom;
3024
3227
  }
3025
3228
  }
3026
3229
 
@@ -3494,7 +3697,7 @@ class StarforceHistoryDto {
3494
3697
  this.worldName = world_name;
3495
3698
  this.targetItem = target_item;
3496
3699
  this.dateCreate = new Date(date_create);
3497
- this.starforceEventList = starforce_event_list.map((event) => new StarforceEventDto(event));
3700
+ this.starforceEventList = starforce_event_list?.map((event) => new StarforceEventDto(event)) ?? null;
3498
3701
  }
3499
3702
  }
3500
3703
 
@@ -3552,146 +3755,496 @@ class InspectionInfoDto {
3552
3755
  }
3553
3756
 
3554
3757
  /**
3555
- * 업적 랭킹 정보
3758
+ * 캐시샵 공지 상세
3556
3759
  */
3557
- class AchievementRankingDto {
3558
- /**
3559
- * 랭킹 업데이트 일자 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
3560
- */
3561
- date;
3760
+ class CashshopNoticeDetailDto {
3562
3761
  /**
3563
- * 업적 랭킹 순위
3762
+ * 공지 제목
3564
3763
  */
3565
- ranking;
3764
+ title;
3566
3765
  /**
3567
- * 캐릭터
3766
+ * 공지 링크
3568
3767
  */
3569
- characterName;
3768
+ url;
3570
3769
  /**
3571
- * 월드
3770
+ * 공지 본문
3572
3771
  */
3573
- worldName;
3772
+ contents;
3574
3773
  /**
3575
- * 직업
3774
+ * 공지 등록일
3576
3775
  */
3577
- className;
3776
+ date;
3578
3777
  /**
3579
- * 전직 직업 명
3778
+ * 판매 시작일
3580
3779
  */
3581
- subClassName;
3780
+ dateSaleStart;
3582
3781
  /**
3583
- * 업적 등급
3782
+ * 판매 종료일
3584
3783
  */
3585
- trophyGrade;
3784
+ dateSaleEnd;
3586
3785
  /**
3587
- * 업적 점수
3786
+ * 상시 판매 여부 (true - 상시)
3588
3787
  */
3589
- trophyScore;
3788
+ ongoingFlag;
3590
3789
  constructor(obj) {
3591
- const { date, ranking, character_name, world_name, class_name, sub_class_name, trophy_grade, trophy_score, } = obj;
3790
+ const { title, url, contents, date, date_sale_start, date_sale_end, ongoing_flag } = obj;
3791
+ this.title = title;
3792
+ this.url = url;
3793
+ this.contents = contents;
3592
3794
  this.date = new Date(date);
3593
- this.ranking = ranking;
3594
- this.characterName = character_name;
3595
- this.worldName = world_name;
3596
- this.className = class_name;
3597
- this.subClassName = sub_class_name;
3598
- this.trophyGrade = trophy_grade;
3599
- this.trophyScore = trophy_score;
3795
+ this.dateSaleStart = date_sale_start ? new Date(date_sale_start) : null;
3796
+ this.dateSaleEnd = date_sale_end ? new Date(date_sale_end) : null;
3797
+ this.ongoingFlag = ongoing_flag;
3600
3798
  }
3601
- }
3602
-
3603
- /**
3604
- * 업적 랭킹 응답 정보
3605
- */
3606
- class AchievementRankingResponseDto {
3607
3799
  /**
3608
- * 업적 랭킹 정보
3800
+ * 상시 판매 여부 (true - 상시)
3609
3801
  */
3610
- ranking;
3611
- constructor(obj) {
3612
- const { ranking } = obj;
3613
- this.ranking = ranking.map((rank) => new AchievementRankingDto(rank));
3802
+ get isOnGoing() {
3803
+ return this.ongoingFlag === 'true';
3614
3804
  }
3615
3805
  }
3616
3806
 
3617
3807
  /**
3618
- * 무릉도장 랭킹 정보
3808
+ * 캐시샵 공지
3619
3809
  */
3620
- class DojangRankingDto {
3810
+ class CashshopNoticeListItemDto {
3621
3811
  /**
3622
- * 랭킹 업데이트 일자 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
3623
- */
3624
- date;
3625
- /**
3626
- * 무릉도장 랭킹 순위
3627
- */
3628
- ranking;
3629
- /**
3630
- * 캐릭터 명
3812
+ * 공지 제목
3631
3813
  */
3632
- characterName;
3814
+ title;
3633
3815
  /**
3634
- * 월드
3816
+ * 공지 링크
3635
3817
  */
3636
- worldName;
3818
+ url;
3637
3819
  /**
3638
- * 직업
3820
+ * 공지 식별자
3639
3821
  */
3640
- className;
3822
+ noticeId;
3641
3823
  /**
3642
- * 전직 직업 명
3824
+ * 공지 등록일
3643
3825
  */
3644
- subClassName;
3826
+ date;
3645
3827
  /**
3646
- * 캐릭터 레벨
3828
+ * 판매 시작일
3647
3829
  */
3648
- characterLevel;
3830
+ dateSaleStart;
3649
3831
  /**
3650
- * 무릉도장 구간
3832
+ * 판매 종료일
3651
3833
  */
3652
- dojangFloor;
3834
+ dateSaleEnd;
3653
3835
  /**
3654
- * 무릉도장 클리어 시간 기록 ( 단위)
3836
+ * 상시 판매 여부 (true - 상시)
3655
3837
  */
3656
- dojangTimeRecord;
3838
+ ongoingFlag;
3657
3839
  constructor(obj) {
3658
- const { date, ranking, character_name, world_name, class_name, sub_class_name, character_level, dojang_floor, dojang_time_record, } = obj;
3840
+ const { title, url, notice_id, date, date_sale_start, date_sale_end, ongoing_flag } = obj;
3841
+ this.title = title;
3842
+ this.url = url;
3843
+ this.noticeId = notice_id;
3659
3844
  this.date = new Date(date);
3660
- this.ranking = ranking;
3661
- this.characterName = character_name;
3662
- this.worldName = world_name;
3663
- this.className = class_name;
3664
- this.subClassName = sub_class_name;
3665
- this.characterLevel = character_level;
3666
- this.dojangFloor = dojang_floor;
3667
- this.dojangTimeRecord = dojang_time_record;
3845
+ this.dateSaleStart = date_sale_start ? new Date(date_sale_start) : null;
3846
+ this.dateSaleEnd = date_sale_end ? new Date(date_sale_end) : null;
3847
+ this.ongoingFlag = ongoing_flag;
3848
+ }
3849
+ /**
3850
+ * 상시 판매 여부 (true - 상시)
3851
+ */
3852
+ get isOnGoing() {
3853
+ return this.ongoingFlag === 'true';
3668
3854
  }
3669
3855
  }
3670
3856
 
3671
3857
  /**
3672
- * 무릉도장 랭킹 응답 정보
3858
+ * 캐시샵 공지 목록
3673
3859
  */
3674
- class DojangRankingResponseDto {
3860
+ class CashshopNoticeListDto {
3675
3861
  /**
3676
- * 길드 랭킹 정보
3862
+ * 공지 목록
3677
3863
  */
3678
- ranking;
3864
+ cashshopNotice;
3679
3865
  constructor(obj) {
3680
- const { ranking } = obj;
3681
- this.ranking = ranking.map((rank) => new DojangRankingDto(rank));
3866
+ const { cashshop_notice } = obj;
3867
+ this.cashshopNotice = cashshop_notice.map(notice => new CashshopNoticeListItemDto(notice));
3682
3868
  }
3683
3869
  }
3684
3870
 
3685
3871
  /**
3686
- * 길드 랭킹 정보
3872
+ * 진행 이벤트 상세
3687
3873
  */
3688
- class GuildRankingDto {
3874
+ class EventNoticeDetailDto {
3689
3875
  /**
3690
- * 랭킹 업데이트 일자 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
3876
+ * 공지 제목
3691
3877
  */
3692
- date;
3878
+ title;
3693
3879
  /**
3694
- * 길드 랭킹 순위
3880
+ * 공지 링크
3881
+ */
3882
+ url;
3883
+ /**
3884
+ * 공지 본문
3885
+ */
3886
+ contents;
3887
+ /**
3888
+ * 공지 등록일
3889
+ */
3890
+ date;
3891
+ /**
3892
+ * 이벤트 시작일
3893
+ */
3894
+ dateEventStart;
3895
+ /**
3896
+ * 이벤트 종료일
3897
+ */
3898
+ dateEventEnd;
3899
+ constructor(obj) {
3900
+ const { title, url, contents, date, date_event_start, date_event_end } = obj;
3901
+ this.title = title;
3902
+ this.url = url;
3903
+ this.contents = contents;
3904
+ this.date = new Date(date);
3905
+ this.dateEventStart = new Date(date_event_start);
3906
+ this.dateEventEnd = new Date(date_event_end);
3907
+ }
3908
+ }
3909
+
3910
+ /**
3911
+ * 진행 중 이벤트 공지
3912
+ */
3913
+ class EventNoticeListItemDto {
3914
+ /**
3915
+ * 공지 제목
3916
+ */
3917
+ title;
3918
+ /**
3919
+ * 공지 링크
3920
+ */
3921
+ url;
3922
+ /**
3923
+ * 공지 식별자
3924
+ */
3925
+ noticeId;
3926
+ /**
3927
+ * 공지 등록일
3928
+ */
3929
+ date;
3930
+ /**
3931
+ * 이벤트 시작일
3932
+ */
3933
+ dateEventStart;
3934
+ /**
3935
+ * 이벤트 종료일
3936
+ */
3937
+ dateEventEnd;
3938
+ constructor(obj) {
3939
+ const { title, url, notice_id, date, date_event_start, date_event_end } = obj;
3940
+ this.title = title;
3941
+ this.url = url;
3942
+ this.noticeId = notice_id;
3943
+ this.date = new Date(date);
3944
+ this.dateEventStart = new Date(date_event_start);
3945
+ this.dateEventEnd = new Date(date_event_end);
3946
+ }
3947
+ }
3948
+
3949
+ /**
3950
+ * 진행 중 이벤트 공지 목록
3951
+ */
3952
+ class EventNoticeListDto {
3953
+ /**
3954
+ * 공지 목록
3955
+ */
3956
+ eventNotice;
3957
+ constructor(obj) {
3958
+ const { event_notice } = obj;
3959
+ this.eventNotice = event_notice.map(notice => new EventNoticeListItemDto(notice));
3960
+ }
3961
+ }
3962
+
3963
+ /**
3964
+ * 공지사항 상세
3965
+ */
3966
+ class NoticeDetailDto {
3967
+ /**
3968
+ * 공지 제목
3969
+ */
3970
+ title;
3971
+ /**
3972
+ * 공지 링크
3973
+ */
3974
+ url;
3975
+ /**
3976
+ * 공지 본문
3977
+ */
3978
+ contents;
3979
+ /**
3980
+ * 공지 등록일
3981
+ */
3982
+ date;
3983
+ constructor(obj) {
3984
+ const { title, url, contents, date } = obj;
3985
+ this.title = title;
3986
+ this.url = url;
3987
+ this.contents = contents;
3988
+ this.date = new Date(date);
3989
+ }
3990
+ }
3991
+
3992
+ /**
3993
+ * 공지사항
3994
+ */
3995
+ class NoticeListItemDto {
3996
+ /**
3997
+ * 공지 제목
3998
+ */
3999
+ title;
4000
+ /**
4001
+ * 공지 링크
4002
+ */
4003
+ url;
4004
+ /**
4005
+ * 공지 식별자
4006
+ */
4007
+ noticeId;
4008
+ /**
4009
+ * 공지 등록일
4010
+ */
4011
+ date;
4012
+ constructor(obj) {
4013
+ const { title, url, notice_id, date } = obj;
4014
+ this.title = title;
4015
+ this.url = url;
4016
+ this.noticeId = notice_id;
4017
+ this.date = new Date(date);
4018
+ }
4019
+ }
4020
+
4021
+ /**
4022
+ * 공지사항 목록
4023
+ */
4024
+ class NoticeListDto {
4025
+ /**
4026
+ * 공지 목록
4027
+ */
4028
+ notice;
4029
+ constructor(obj) {
4030
+ const { notice } = obj;
4031
+ this.notice = notice.map(notice => new NoticeListItemDto(notice));
4032
+ }
4033
+ }
4034
+
4035
+ /**
4036
+ * 업데이트 상세
4037
+ */
4038
+ class UpdateNoticeDetailDto {
4039
+ /**
4040
+ * 공지 제목
4041
+ */
4042
+ title;
4043
+ /**
4044
+ * 공지 링크
4045
+ */
4046
+ url;
4047
+ /**
4048
+ * 공지 본문
4049
+ */
4050
+ contents;
4051
+ /**
4052
+ * 공지 등록일
4053
+ */
4054
+ date;
4055
+ constructor(obj) {
4056
+ const { title, url, contents, date } = obj;
4057
+ this.title = title;
4058
+ this.url = url;
4059
+ this.contents = contents;
4060
+ this.date = new Date(date);
4061
+ }
4062
+ }
4063
+
4064
+ /**
4065
+ * 업데이트 공지
4066
+ */
4067
+ class UpdateNoticeListItemDto {
4068
+ /**
4069
+ * 공지 제목
4070
+ */
4071
+ title;
4072
+ /**
4073
+ * 공지 링크
4074
+ */
4075
+ url;
4076
+ /**
4077
+ * 공지 식별자
4078
+ */
4079
+ noticeId;
4080
+ /**
4081
+ * 공지 등록일
4082
+ */
4083
+ date;
4084
+ constructor(obj) {
4085
+ const { title, url, notice_id, date } = obj;
4086
+ this.title = title;
4087
+ this.url = url;
4088
+ this.noticeId = notice_id;
4089
+ this.date = new Date(date);
4090
+ }
4091
+ }
4092
+
4093
+ /**
4094
+ * 업데이트 목록
4095
+ */
4096
+ class UpdateNoticeListDto {
4097
+ /**
4098
+ * 공지 목록
4099
+ */
4100
+ updateNotice;
4101
+ constructor(obj) {
4102
+ const { update_notice } = obj;
4103
+ this.updateNotice = update_notice.map(notice => new UpdateNoticeListItemDto(notice));
4104
+ }
4105
+ }
4106
+
4107
+ /**
4108
+ * 업적 랭킹 정보
4109
+ */
4110
+ class AchievementRankingDto {
4111
+ /**
4112
+ * 랭킹 업데이트 일자 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
4113
+ */
4114
+ date;
4115
+ /**
4116
+ * 업적 랭킹 순위
4117
+ */
4118
+ ranking;
4119
+ /**
4120
+ * 캐릭터 명
4121
+ */
4122
+ characterName;
4123
+ /**
4124
+ * 월드 명
4125
+ */
4126
+ worldName;
4127
+ /**
4128
+ * 직업 명
4129
+ */
4130
+ className;
4131
+ /**
4132
+ * 전직 직업 명
4133
+ */
4134
+ subClassName;
4135
+ /**
4136
+ * 업적 등급
4137
+ */
4138
+ trophyGrade;
4139
+ /**
4140
+ * 업적 점수
4141
+ */
4142
+ trophyScore;
4143
+ constructor(obj) {
4144
+ const { date, ranking, character_name, world_name, class_name, sub_class_name, trophy_grade, trophy_score, } = obj;
4145
+ this.date = new Date(date);
4146
+ this.ranking = ranking;
4147
+ this.characterName = character_name;
4148
+ this.worldName = world_name;
4149
+ this.className = class_name;
4150
+ this.subClassName = sub_class_name;
4151
+ this.trophyGrade = trophy_grade;
4152
+ this.trophyScore = trophy_score;
4153
+ }
4154
+ }
4155
+
4156
+ /**
4157
+ * 업적 랭킹 응답 정보
4158
+ */
4159
+ class AchievementRankingResponseDto {
4160
+ /**
4161
+ * 업적 랭킹 정보
4162
+ */
4163
+ ranking;
4164
+ constructor(obj) {
4165
+ const { ranking } = obj;
4166
+ this.ranking = ranking.map((rank) => new AchievementRankingDto(rank));
4167
+ }
4168
+ }
4169
+
4170
+ /**
4171
+ * 무릉도장 랭킹 정보
4172
+ */
4173
+ class DojangRankingDto {
4174
+ /**
4175
+ * 랭킹 업데이트 일자 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
4176
+ */
4177
+ date;
4178
+ /**
4179
+ * 무릉도장 랭킹 순위
4180
+ */
4181
+ ranking;
4182
+ /**
4183
+ * 캐릭터 명
4184
+ */
4185
+ characterName;
4186
+ /**
4187
+ * 월드 명
4188
+ */
4189
+ worldName;
4190
+ /**
4191
+ * 직업 명
4192
+ */
4193
+ className;
4194
+ /**
4195
+ * 전직 직업 명
4196
+ */
4197
+ subClassName;
4198
+ /**
4199
+ * 캐릭터 레벨
4200
+ */
4201
+ characterLevel;
4202
+ /**
4203
+ * 무릉도장 구간
4204
+ */
4205
+ dojangFloor;
4206
+ /**
4207
+ * 무릉도장 클리어 시간 기록 (초 단위)
4208
+ */
4209
+ dojangTimeRecord;
4210
+ constructor(obj) {
4211
+ const { date, ranking, character_name, world_name, class_name, sub_class_name, character_level, dojang_floor, dojang_time_record, } = obj;
4212
+ this.date = new Date(date);
4213
+ this.ranking = ranking;
4214
+ this.characterName = character_name;
4215
+ this.worldName = world_name;
4216
+ this.className = class_name;
4217
+ this.subClassName = sub_class_name;
4218
+ this.characterLevel = character_level;
4219
+ this.dojangFloor = dojang_floor;
4220
+ this.dojangTimeRecord = dojang_time_record;
4221
+ }
4222
+ }
4223
+
4224
+ /**
4225
+ * 무릉도장 랭킹 응답 정보
4226
+ */
4227
+ class DojangRankingResponseDto {
4228
+ /**
4229
+ * 길드 랭킹 정보
4230
+ */
4231
+ ranking;
4232
+ constructor(obj) {
4233
+ const { ranking } = obj;
4234
+ this.ranking = ranking.map((rank) => new DojangRankingDto(rank));
4235
+ }
4236
+ }
4237
+
4238
+ /**
4239
+ * 길드 랭킹 정보
4240
+ */
4241
+ class GuildRankingDto {
4242
+ /**
4243
+ * 랭킹 업데이트 일자 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
4244
+ */
4245
+ date;
4246
+ /**
4247
+ * 길드 랭킹 순위
3695
4248
  */
3696
4249
  ranking;
3697
4250
  /**
@@ -4034,7 +4587,7 @@ class UnionArtifactDto {
4034
4587
  unionArtifactRemainAp;
4035
4588
  constructor(obj) {
4036
4589
  const { date, union_artifact_effect, union_artifact_crystal, union_artifact_remain_ap, } = obj;
4037
- this.date = new Date(date);
4590
+ this.date = date ? new Date(date) : null;
4038
4591
  this.unionArtifactEffect = union_artifact_effect.map((effect) => new UnionArtifactEffectDto(effect));
4039
4592
  this.unionArtifactCrystal = union_artifact_crystal.map((crystal) => new UnionArtifactCrystalDto(crystal));
4040
4593
  this.unionArtifactRemainAp = union_artifact_remain_ap;
@@ -4071,7 +4624,7 @@ class UnionDto {
4071
4624
  unionArtifactPoint;
4072
4625
  constructor(obj) {
4073
4626
  const { date, union_level, union_grade, union_artifact_level, union_artifact_exp, union_artifact_point } = obj;
4074
- this.date = new Date(date);
4627
+ this.date = date ? new Date(date) : null;
4075
4628
  this.unionLevel = union_level;
4076
4629
  this.unionGrade = union_grade;
4077
4630
  this.unionArtifactLevel = union_artifact_level;
@@ -4159,17 +4712,46 @@ class UnionRaiderBlockDto {
4159
4712
  */
4160
4713
  class UnionRaiderInnerStatDto {
4161
4714
  /**
4162
- * 공격대 배치 위치 (11시 방향부터 시계 방향 순서대로 0~7)
4715
+ * 공격대 배치 위치 (11시 방향부터 시계 방향 순서대로 0~7)
4716
+ */
4717
+ statFieldId;
4718
+ /**
4719
+ * 해당 지역 점령 효과
4720
+ */
4721
+ statFieldEffect;
4722
+ constructor(obj) {
4723
+ const { stat_field_id, stat_field_effect } = obj;
4724
+ this.statFieldId = stat_field_id;
4725
+ this.statFieldEffect = stat_field_effect;
4726
+ }
4727
+ }
4728
+
4729
+ /**
4730
+ * 유니온 프리셋 정보
4731
+ */
4732
+ class UnionRaiderPresetDto {
4733
+ /**
4734
+ * 유니온 공격대원 효과
4735
+ */
4736
+ unionRaiderStat;
4737
+ /**
4738
+ * 유니온 공격대 점령 효과
4739
+ */
4740
+ unionOccupiedStat;
4741
+ /**
4742
+ * 유니온 공격대 배치
4163
4743
  */
4164
- statFieldId;
4744
+ unionInnerStat;
4165
4745
  /**
4166
- * 해당 지역 점령 효과
4746
+ * 유니온 블록 정보
4167
4747
  */
4168
- statFieldEffect;
4748
+ unionBlock;
4169
4749
  constructor(obj) {
4170
- const { stat_field_id, stat_field_effect } = obj;
4171
- this.statFieldId = stat_field_id;
4172
- this.statFieldEffect = stat_field_effect;
4750
+ const { union_raider_stat, union_occupied_stat, union_inner_stat, union_block, } = obj;
4751
+ this.unionRaiderStat = union_raider_stat;
4752
+ this.unionOccupiedStat = union_occupied_stat;
4753
+ this.unionInnerStat = union_inner_stat.map((stat) => new UnionRaiderInnerStatDto(stat));
4754
+ this.unionBlock = union_block.map((block) => new UnionRaiderBlockDto(block));
4173
4755
  }
4174
4756
  }
4175
4757
 
@@ -4194,13 +4776,53 @@ class UnionRaiderDto {
4194
4776
  * 유니온 블록 정보
4195
4777
  */
4196
4778
  unionBlock;
4779
+ /**
4780
+ * 적용 중인 프리셋 번호
4781
+ */
4782
+ usePresetNo;
4783
+ /**
4784
+ * 유니온 프리셋 1번 정보
4785
+ */
4786
+ unionRaiderPreset1;
4787
+ /**
4788
+ * 유니온 프리셋 2번 정보
4789
+ */
4790
+ unionRaiderPreset2;
4791
+ /**
4792
+ * 유니온 프리셋 3번 정보
4793
+ */
4794
+ unionRaiderPreset3;
4795
+ /**
4796
+ * 유니온 프리셋 4번 정보
4797
+ */
4798
+ unionRaiderPreset4;
4799
+ /**
4800
+ * 유니온 프리셋 5번 정보
4801
+ */
4802
+ unionRaiderPreset5;
4197
4803
  constructor(obj) {
4198
- const { date, union_raider_stat, union_occupied_stat, union_inner_stat, union_block, } = obj;
4199
- this.date = new Date(date);
4804
+ const { date, union_raider_stat, union_occupied_stat, union_inner_stat, union_block, use_preset_no, union_raider_preset_1, union_raider_preset_2, union_raider_preset_3, union_raider_preset_4, union_raider_preset_5, } = obj;
4805
+ this.date = date ? new Date(date) : null;
4200
4806
  this.unionRaiderStat = union_raider_stat;
4201
4807
  this.unionOccupiedStat = union_occupied_stat;
4202
4808
  this.unionInnerStat = union_inner_stat.map((stat) => new UnionRaiderInnerStatDto(stat));
4203
4809
  this.unionBlock = union_block.map((block) => new UnionRaiderBlockDto(block));
4810
+ this.usePresetNo = use_preset_no;
4811
+ this.unionRaiderPreset1 = union_raider_preset_1
4812
+ ? new UnionRaiderPresetDto(union_raider_preset_1)
4813
+ : null;
4814
+ this.unionRaiderPreset2 = union_raider_preset_2
4815
+ ? new UnionRaiderPresetDto(union_raider_preset_2)
4816
+ : null;
4817
+ this.unionRaiderPreset3 = union_raider_preset_3
4818
+ ? new UnionRaiderPresetDto(union_raider_preset_3)
4819
+ : null;
4820
+ this.unionRaiderPreset4 = union_raider_preset_4
4821
+ ? new UnionRaiderPresetDto(union_raider_preset_4)
4822
+ : null;
4823
+ this.unionRaiderPreset5 = union_raider_preset_5
4824
+ ? new UnionRaiderPresetDto(union_raider_preset_5)
4825
+ : null;
4204
4826
  }
4205
4827
  }
4206
4828
 
@@ -4234,6 +4856,7 @@ var MapleStoryApiErrorCode;
4234
4856
  MapleStoryApiErrorCode[MapleStoryApiErrorCode["OPENAPI00007"] = 6] = "OPENAPI00007";
4235
4857
  MapleStoryApiErrorCode[MapleStoryApiErrorCode["OPENAPI00009"] = 7] = "OPENAPI00009";
4236
4858
  MapleStoryApiErrorCode[MapleStoryApiErrorCode["OPENAPI00010"] = 8] = "OPENAPI00010";
4859
+ MapleStoryApiErrorCode[MapleStoryApiErrorCode["OPENAPI00011"] = 9] = "OPENAPI00011";
4237
4860
  })(MapleStoryApiErrorCode || (MapleStoryApiErrorCode = {}));
4238
4861
  const errorMap = {
4239
4862
  ['OPENAPI00001']: MapleStoryApiErrorCode.OPENAPI00001,
@@ -4245,6 +4868,7 @@ const errorMap = {
4245
4868
  ['OPENAPI00007']: MapleStoryApiErrorCode.OPENAPI00007,
4246
4869
  ['OPENAPI00009']: MapleStoryApiErrorCode.OPENAPI00009,
4247
4870
  ['OPENAPI00010']: MapleStoryApiErrorCode.OPENAPI00010,
4871
+ ['OPENAPI00011']: MapleStoryApiErrorCode.OPENAPI00011,
4248
4872
  };
4249
4873
 
4250
4874
  dayjs.extend(timezone);
@@ -4285,8 +4909,9 @@ class MapleStoryApi {
4285
4909
  //#region 캐릭터 정보 조회
4286
4910
  /**
4287
4911
  * 캐릭터 식별자(ocid)를 조회합니다.
4912
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4288
4913
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4289
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
4914
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4290
4915
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4291
4916
  *
4292
4917
  * @param characterName 캐릭터 명
@@ -4300,28 +4925,39 @@ class MapleStoryApi {
4300
4925
  });
4301
4926
  return new CharacterDto(data);
4302
4927
  }
4928
+ /**
4929
+ * 계정의 보유 캐릭터 목록을 조회합니다.
4930
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4931
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 수 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 수 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23일 00시 사이 데이터가 조회 됩니다.)
4932
+ * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4933
+ */
4934
+ async getCharacterList() {
4935
+ const path = 'maplestory/v1/character/list';
4936
+ const { data } = await this.client.get(path);
4937
+ return new CharacterListDto(data);
4938
+ }
4303
4939
  /**
4304
4940
  * 기본 정보를 조회합니다.
4941
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4305
4942
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4306
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
4943
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4307
4944
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4308
4945
  *
4309
4946
  * @param ocid 캐릭터 식별자
4310
4947
  * @param dateOptions 조회 기준일 (KST)
4311
4948
  */
4312
- async getCharacterBasic(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4313
- hour: 1,
4314
- minute: 0,
4315
- dateOffset: 1,
4316
- })) {
4949
+ async getCharacterBasic(ocid, dateOptions) {
4317
4950
  const path = 'maplestory/v1/character/basic';
4318
- const query = {
4319
- ocid: ocid,
4320
- date: MapleStoryApi.toDateString({
4951
+ const date = dateOptions
4952
+ ? MapleStoryApi.toDateString({
4321
4953
  year: 2023,
4322
4954
  month: 12,
4323
4955
  day: 21,
4324
- }, dateOptions),
4956
+ }, dateOptions)
4957
+ : undefined;
4958
+ const query = {
4959
+ ocid: ocid,
4960
+ date: date,
4325
4961
  };
4326
4962
  const { data } = await this.client.get(path, {
4327
4963
  params: query,
@@ -4330,26 +4966,26 @@ class MapleStoryApi {
4330
4966
  }
4331
4967
  /**
4332
4968
  * 인기도 정보를 조회합니다.
4969
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4333
4970
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4334
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
4971
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4335
4972
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4336
4973
  *
4337
4974
  * @param ocid 캐릭터 식별자
4338
4975
  * @param dateOptions 조회 기준일 (KST)
4339
4976
  */
4340
- async getCharacterPopularity(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4341
- hour: 1,
4342
- minute: 0,
4343
- dateOffset: 1,
4344
- })) {
4977
+ async getCharacterPopularity(ocid, dateOptions) {
4345
4978
  const path = 'maplestory/v1/character/popularity';
4346
- const query = {
4347
- ocid: ocid,
4348
- date: MapleStoryApi.toDateString({
4979
+ const date = dateOptions
4980
+ ? MapleStoryApi.toDateString({
4349
4981
  year: 2023,
4350
4982
  month: 12,
4351
4983
  day: 21,
4352
- }, dateOptions),
4984
+ }, dateOptions)
4985
+ : undefined;
4986
+ const query = {
4987
+ ocid: ocid,
4988
+ date: date,
4353
4989
  };
4354
4990
  const { data } = await this.client.get(path, {
4355
4991
  params: query,
@@ -4358,26 +4994,26 @@ class MapleStoryApi {
4358
4994
  }
4359
4995
  /**
4360
4996
  * 종합 능력치 정보를 조회합니다.
4997
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4361
4998
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4362
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
4999
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4363
5000
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4364
5001
  *
4365
5002
  * @param ocid 캐릭터 식별자
4366
5003
  * @param dateOptions 조회 기준일 (KST)
4367
5004
  */
4368
- async getCharacterStat(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4369
- hour: 1,
4370
- minute: 0,
4371
- dateOffset: 1,
4372
- })) {
5005
+ async getCharacterStat(ocid, dateOptions) {
4373
5006
  const path = 'maplestory/v1/character/stat';
4374
- const query = {
4375
- ocid: ocid,
4376
- date: MapleStoryApi.toDateString({
5007
+ const date = dateOptions
5008
+ ? MapleStoryApi.toDateString({
4377
5009
  year: 2023,
4378
5010
  month: 12,
4379
5011
  day: 21,
4380
- }, dateOptions),
5012
+ }, dateOptions)
5013
+ : undefined;
5014
+ const query = {
5015
+ ocid: ocid,
5016
+ date: date,
4381
5017
  };
4382
5018
  const { data } = await this.client.get(path, {
4383
5019
  params: query,
@@ -4386,26 +5022,26 @@ class MapleStoryApi {
4386
5022
  }
4387
5023
  /**
4388
5024
  * 하이퍼스탯 정보를 조회합니다.
5025
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4389
5026
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4390
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5027
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4391
5028
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4392
5029
  *
4393
5030
  * @param ocid 캐릭터 식별자
4394
5031
  * @param dateOptions 조회 기준일 (KST)
4395
5032
  */
4396
- async getCharacterHyperStat(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4397
- hour: 1,
4398
- minute: 0,
4399
- dateOffset: 1,
4400
- })) {
5033
+ async getCharacterHyperStat(ocid, dateOptions) {
4401
5034
  const path = 'maplestory/v1/character/hyper-stat';
4402
- const query = {
4403
- ocid: ocid,
4404
- date: MapleStoryApi.toDateString({
5035
+ const date = dateOptions
5036
+ ? MapleStoryApi.toDateString({
4405
5037
  year: 2023,
4406
5038
  month: 12,
4407
5039
  day: 21,
4408
- }, dateOptions),
5040
+ }, dateOptions)
5041
+ : undefined;
5042
+ const query = {
5043
+ ocid: ocid,
5044
+ date: date,
4409
5045
  };
4410
5046
  const { data } = await this.client.get(path, {
4411
5047
  params: query,
@@ -4414,26 +5050,26 @@ class MapleStoryApi {
4414
5050
  }
4415
5051
  /**
4416
5052
  * 성향 정보를 조회합니다.
5053
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4417
5054
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4418
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5055
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4419
5056
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4420
5057
  *
4421
5058
  * @param ocid 캐릭터 식별자
4422
5059
  * @param dateOptions 조회 기준일 (KST)
4423
5060
  */
4424
- async getCharacterPropensity(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4425
- hour: 1,
4426
- minute: 0,
4427
- dateOffset: 1,
4428
- })) {
5061
+ async getCharacterPropensity(ocid, dateOptions) {
4429
5062
  const path = 'maplestory/v1/character/propensity';
4430
- const query = {
4431
- ocid: ocid,
4432
- date: MapleStoryApi.toDateString({
5063
+ const date = dateOptions
5064
+ ? MapleStoryApi.toDateString({
4433
5065
  year: 2023,
4434
5066
  month: 12,
4435
5067
  day: 21,
4436
- }, dateOptions),
5068
+ }, dateOptions)
5069
+ : undefined;
5070
+ const query = {
5071
+ ocid: ocid,
5072
+ date: date,
4437
5073
  };
4438
5074
  const { data } = await this.client.get(path, {
4439
5075
  params: query,
@@ -4442,26 +5078,26 @@ class MapleStoryApi {
4442
5078
  }
4443
5079
  /**
4444
5080
  * 어빌리티 정보를 조회합니다.
5081
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4445
5082
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4446
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5083
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4447
5084
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4448
5085
  *
4449
5086
  * @param ocid 캐릭터 식별자
4450
5087
  * @param dateOptions 조회 기준일 (KST)
4451
5088
  */
4452
- async getCharacterAbility(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4453
- hour: 1,
4454
- minute: 0,
4455
- dateOffset: 1,
4456
- })) {
5089
+ async getCharacterAbility(ocid, dateOptions) {
4457
5090
  const path = 'maplestory/v1/character/ability';
4458
- const query = {
4459
- ocid: ocid,
4460
- date: MapleStoryApi.toDateString({
5091
+ const date = dateOptions
5092
+ ? MapleStoryApi.toDateString({
4461
5093
  year: 2023,
4462
5094
  month: 12,
4463
5095
  day: 21,
4464
- }, dateOptions),
5096
+ }, dateOptions)
5097
+ : undefined;
5098
+ const query = {
5099
+ ocid: ocid,
5100
+ date: date,
4465
5101
  };
4466
5102
  const { data } = await this.client.get(path, {
4467
5103
  params: query,
@@ -4470,26 +5106,26 @@ class MapleStoryApi {
4470
5106
  }
4471
5107
  /**
4472
5108
  * 장착한 장비 중 캐시 장비를 제외한 나머지 장비 정보를 조회합니다.
5109
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4473
5110
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4474
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5111
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4475
5112
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4476
5113
  *
4477
5114
  * @param ocid 캐릭터 식별자
4478
5115
  * @param dateOptions 조회 기준일 (KST)
4479
5116
  */
4480
- async getCharacterItemEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4481
- hour: 1,
4482
- minute: 0,
4483
- dateOffset: 1,
4484
- })) {
5117
+ async getCharacterItemEquipment(ocid, dateOptions) {
4485
5118
  const path = 'maplestory/v1/character/item-equipment';
4486
- const query = {
4487
- ocid: ocid,
4488
- date: MapleStoryApi.toDateString({
5119
+ const date = dateOptions
5120
+ ? MapleStoryApi.toDateString({
4489
5121
  year: 2023,
4490
5122
  month: 12,
4491
5123
  day: 21,
4492
- }, dateOptions),
5124
+ }, dateOptions)
5125
+ : undefined;
5126
+ const query = {
5127
+ ocid: ocid,
5128
+ date: date,
4493
5129
  };
4494
5130
  const { data } = await this.client.get(path, {
4495
5131
  params: query,
@@ -4498,26 +5134,26 @@ class MapleStoryApi {
4498
5134
  }
4499
5135
  /**
4500
5136
  * 장착한 캐시 장비 정보를 조회합니다.
5137
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4501
5138
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4502
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5139
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4503
5140
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4504
5141
  *
4505
5142
  * @param ocid 캐릭터 식별자
4506
5143
  * @param dateOptions 조회 기준일 (KST)
4507
5144
  */
4508
- async getCharacterCashItemEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4509
- hour: 1,
4510
- minute: 0,
4511
- dateOffset: 1,
4512
- })) {
5145
+ async getCharacterCashItemEquipment(ocid, dateOptions) {
4513
5146
  const path = 'maplestory/v1/character/cashitem-equipment';
4514
- const query = {
4515
- ocid: ocid,
4516
- date: MapleStoryApi.toDateString({
5147
+ const date = dateOptions
5148
+ ? MapleStoryApi.toDateString({
4517
5149
  year: 2023,
4518
5150
  month: 12,
4519
5151
  day: 21,
4520
- }, dateOptions),
5152
+ }, dateOptions)
5153
+ : undefined;
5154
+ const query = {
5155
+ ocid: ocid,
5156
+ date: date,
4521
5157
  };
4522
5158
  const { data } = await this.client.get(path, {
4523
5159
  params: query,
@@ -4526,26 +5162,26 @@ class MapleStoryApi {
4526
5162
  }
4527
5163
  /**
4528
5164
  * 장착한 심볼 정보를 조회합니다.
5165
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4529
5166
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4530
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5167
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4531
5168
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4532
5169
  *
4533
5170
  * @param ocid 캐릭터 식별자
4534
5171
  * @param dateOptions 조회 기준일 (KST)
4535
5172
  */
4536
- async getCharacterSymbolEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4537
- hour: 1,
4538
- minute: 0,
4539
- dateOffset: 1,
4540
- })) {
5173
+ async getCharacterSymbolEquipment(ocid, dateOptions) {
4541
5174
  const path = 'maplestory/v1/character/symbol-equipment';
4542
- const query = {
4543
- ocid: ocid,
4544
- date: MapleStoryApi.toDateString({
5175
+ const date = dateOptions
5176
+ ? MapleStoryApi.toDateString({
4545
5177
  year: 2023,
4546
5178
  month: 12,
4547
5179
  day: 21,
4548
- }, dateOptions),
5180
+ }, dateOptions)
5181
+ : undefined;
5182
+ const query = {
5183
+ ocid: ocid,
5184
+ date: date,
4549
5185
  };
4550
5186
  const { data } = await this.client.get(path, {
4551
5187
  params: query,
@@ -4554,26 +5190,26 @@ class MapleStoryApi {
4554
5190
  }
4555
5191
  /**
4556
5192
  * 적용받고 있는 세트 효과 정보를 조회합니다.
5193
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4557
5194
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4558
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5195
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4559
5196
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4560
5197
  *
4561
5198
  * @param ocid 캐릭터 식별자
4562
5199
  * @param dateOptions 조회 기준일 (KST)
4563
5200
  */
4564
- async getCharacterSetEffect(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4565
- hour: 1,
4566
- minute: 0,
4567
- dateOffset: 1,
4568
- })) {
5201
+ async getCharacterSetEffect(ocid, dateOptions) {
4569
5202
  const path = 'maplestory/v1/character/set-effect';
4570
- const query = {
4571
- ocid: ocid,
4572
- date: MapleStoryApi.toDateString({
5203
+ const date = dateOptions
5204
+ ? MapleStoryApi.toDateString({
4573
5205
  year: 2023,
4574
5206
  month: 12,
4575
5207
  day: 21,
4576
- }, dateOptions),
5208
+ }, dateOptions)
5209
+ : undefined;
5210
+ const query = {
5211
+ ocid: ocid,
5212
+ date: date,
4577
5213
  };
4578
5214
  const { data } = await this.client.get(path, {
4579
5215
  params: query,
@@ -4582,26 +5218,23 @@ class MapleStoryApi {
4582
5218
  }
4583
5219
  /**
4584
5220
  * 장착 중인 헤어, 성형, 피부 정보를 조회합니다.
5221
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4585
5222
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4586
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5223
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4587
5224
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4588
5225
  *
4589
5226
  * @param ocid 캐릭터 식별자
4590
5227
  * @param dateOptions 조회 기준일 (KST)
4591
5228
  */
4592
- async getCharacterBeautyEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4593
- hour: 1,
4594
- minute: 0,
4595
- dateOffset: 1,
4596
- })) {
5229
+ async getCharacterBeautyEquipment(ocid, dateOptions) {
4597
5230
  const path = 'maplestory/v1/character/beauty-equipment';
4598
5231
  const query = {
4599
5232
  ocid: ocid,
4600
- date: MapleStoryApi.toDateString({
5233
+ date: dateOptions ? MapleStoryApi.toDateString({
4601
5234
  year: 2023,
4602
5235
  month: 12,
4603
5236
  day: 21,
4604
- }, dateOptions),
5237
+ }, dateOptions) : undefined,
4605
5238
  };
4606
5239
  const { data } = await this.client.get(path, {
4607
5240
  params: query,
@@ -4610,26 +5243,26 @@ class MapleStoryApi {
4610
5243
  }
4611
5244
  /**
4612
5245
  * 장착한 안드로이드 정보를 조회합니다.
5246
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4613
5247
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4614
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5248
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4615
5249
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4616
5250
  *
4617
5251
  * @param ocid 캐릭터 식별자
4618
5252
  * @param dateOptions 조회 기준일 (KST)
4619
5253
  */
4620
- async getCharacterAndroidEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4621
- hour: 1,
4622
- minute: 0,
4623
- dateOffset: 1,
4624
- })) {
5254
+ async getCharacterAndroidEquipment(ocid, dateOptions) {
4625
5255
  const path = 'maplestory/v1/character/android-equipment';
4626
- const query = {
4627
- ocid: ocid,
4628
- date: MapleStoryApi.toDateString({
5256
+ const date = dateOptions
5257
+ ? MapleStoryApi.toDateString({
4629
5258
  year: 2023,
4630
5259
  month: 12,
4631
5260
  day: 21,
4632
- }, dateOptions),
5261
+ }, dateOptions)
5262
+ : undefined;
5263
+ const query = {
5264
+ ocid: ocid,
5265
+ date: date,
4633
5266
  };
4634
5267
  const { data } = await this.client.get(path, {
4635
5268
  params: query,
@@ -4638,26 +5271,26 @@ class MapleStoryApi {
4638
5271
  }
4639
5272
  /**
4640
5273
  * 장착한 펫 및 펫 스킬, 장비 정보를 조회합니다.
5274
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4641
5275
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4642
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5276
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4643
5277
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4644
5278
  *
4645
5279
  * @param ocid 캐릭터 식별자
4646
5280
  * @param dateOptions 조회 기준일 (KST)
4647
5281
  */
4648
- async getCharacterPetEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4649
- hour: 1,
4650
- minute: 0,
4651
- dateOffset: 1,
4652
- })) {
5282
+ async getCharacterPetEquipment(ocid, dateOptions) {
4653
5283
  const path = 'maplestory/v1/character/pet-equipment';
4654
- const query = {
4655
- ocid: ocid,
4656
- date: MapleStoryApi.toDateString({
5284
+ const date = dateOptions
5285
+ ? MapleStoryApi.toDateString({
4657
5286
  year: 2023,
4658
5287
  month: 12,
4659
5288
  day: 21,
4660
- }, dateOptions),
5289
+ }, dateOptions)
5290
+ : undefined;
5291
+ const query = {
5292
+ ocid: ocid,
5293
+ date: date,
4661
5294
  };
4662
5295
  const { data } = await this.client.get(path, {
4663
5296
  params: query,
@@ -4666,8 +5299,9 @@ class MapleStoryApi {
4666
5299
  }
4667
5300
  /**
4668
5301
  * 캐릭터 스킬과 하이퍼 스킬 정보를 조회합니다.
5302
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4669
5303
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4670
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5304
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4671
5305
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4672
5306
  *
4673
5307
  * @param ocid 캐릭터 식별자
@@ -4685,20 +5319,19 @@ class MapleStoryApi {
4685
5319
  * - 6: 6차 스킬
4686
5320
  * @param dateOptions 조회 기준일 (KST)
4687
5321
  */
4688
- async getCharacterSkill(ocid, characterSkillGrade, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4689
- hour: 1,
4690
- minute: 0,
4691
- dateOffset: 1,
4692
- })) {
5322
+ async getCharacterSkill(ocid, characterSkillGrade, dateOptions) {
4693
5323
  const path = 'maplestory/v1/character/skill';
4694
- const query = {
4695
- ocid: ocid,
4696
- character_skill_grade: characterSkillGrade,
4697
- date: MapleStoryApi.toDateString({
5324
+ const date = dateOptions
5325
+ ? MapleStoryApi.toDateString({
4698
5326
  year: 2023,
4699
5327
  month: 12,
4700
5328
  day: 21,
4701
- }, dateOptions),
5329
+ }, dateOptions)
5330
+ : undefined;
5331
+ const query = {
5332
+ ocid: ocid,
5333
+ character_skill_grade: characterSkillGrade,
5334
+ date: date,
4702
5335
  };
4703
5336
  const { data } = await this.client.get(path, {
4704
5337
  params: query,
@@ -4707,26 +5340,26 @@ class MapleStoryApi {
4707
5340
  }
4708
5341
  /**
4709
5342
  * 장착 링크 스킬 정보를 조회합니다.
5343
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4710
5344
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4711
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5345
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4712
5346
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4713
5347
  *
4714
5348
  * @param ocid 캐릭터 식별자
4715
5349
  * @param dateOptions 조회 기준일 (KST)
4716
5350
  */
4717
- async getCharacterLinkSkill(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4718
- hour: 1,
4719
- minute: 0,
4720
- dateOffset: 1,
4721
- })) {
5351
+ async getCharacterLinkSkill(ocid, dateOptions) {
4722
5352
  const path = 'maplestory/v1/character/link-skill';
4723
- const query = {
4724
- ocid: ocid,
4725
- date: MapleStoryApi.toDateString({
5353
+ const date = dateOptions
5354
+ ? MapleStoryApi.toDateString({
4726
5355
  year: 2023,
4727
5356
  month: 12,
4728
5357
  day: 21,
4729
- }, dateOptions),
5358
+ }, dateOptions)
5359
+ : undefined;
5360
+ const query = {
5361
+ ocid: ocid,
5362
+ date: date,
4730
5363
  };
4731
5364
  const { data } = await this.client.get(path, {
4732
5365
  params: query,
@@ -4735,26 +5368,26 @@ class MapleStoryApi {
4735
5368
  }
4736
5369
  /**
4737
5370
  * V매트릭스 슬롯 정보와 장착한 V코어 정보를 조회합니다.
5371
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4738
5372
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4739
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5373
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4740
5374
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4741
5375
  *
4742
5376
  * @param ocid 캐릭터 식별자
4743
5377
  * @param dateOptions 조회 기준일 (KST)
4744
5378
  */
4745
- async getCharacterVMatrix(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4746
- hour: 1,
4747
- minute: 0,
4748
- dateOffset: 1,
4749
- })) {
5379
+ async getCharacterVMatrix(ocid, dateOptions) {
4750
5380
  const path = 'maplestory/v1/character/vmatrix';
4751
- const query = {
4752
- ocid: ocid,
4753
- date: MapleStoryApi.toDateString({
5381
+ const date = dateOptions
5382
+ ? MapleStoryApi.toDateString({
4754
5383
  year: 2023,
4755
5384
  month: 12,
4756
5385
  day: 21,
4757
- }, dateOptions),
5386
+ }, dateOptions)
5387
+ : undefined;
5388
+ const query = {
5389
+ ocid: ocid,
5390
+ date: date,
4758
5391
  };
4759
5392
  const { data } = await this.client.get(path, {
4760
5393
  params: query,
@@ -4763,26 +5396,26 @@ class MapleStoryApi {
4763
5396
  }
4764
5397
  /**
4765
5398
  * HEXA 매트릭스에 장착한 HEXA 코어 정보를 조회합니다.
5399
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4766
5400
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4767
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5401
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4768
5402
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4769
5403
  *
4770
5404
  * @param ocid 캐릭터 식별자
4771
5405
  * @param dateOptions 조회 기준일 (KST)
4772
5406
  */
4773
- async getCharacterHexaMatrix(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4774
- hour: 1,
4775
- minute: 0,
4776
- dateOffset: 1,
4777
- })) {
5407
+ async getCharacterHexaMatrix(ocid, dateOptions) {
4778
5408
  const path = 'maplestory/v1/character/hexamatrix';
4779
- const query = {
4780
- ocid: ocid,
4781
- date: MapleStoryApi.toDateString({
5409
+ const date = dateOptions
5410
+ ? MapleStoryApi.toDateString({
4782
5411
  year: 2023,
4783
5412
  month: 12,
4784
5413
  day: 21,
4785
- }, dateOptions),
5414
+ }, dateOptions)
5415
+ : undefined;
5416
+ const query = {
5417
+ ocid: ocid,
5418
+ date: date,
4786
5419
  };
4787
5420
  const { data } = await this.client.get(path, {
4788
5421
  params: query,
@@ -4791,26 +5424,26 @@ class MapleStoryApi {
4791
5424
  }
4792
5425
  /**
4793
5426
  * HEXA 매트릭스에 설정한 HEXA 스탯 정보를 조회합니다.
5427
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4794
5428
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4795
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5429
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4796
5430
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4797
5431
  *
4798
5432
  * @param ocid 캐릭터 식별자
4799
5433
  * @param dateOptions 조회 기준일 (KST)
4800
5434
  */
4801
- async getCharacterHexaMatrixStat(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4802
- hour: 1,
4803
- minute: 0,
4804
- dateOffset: 1,
4805
- })) {
5435
+ async getCharacterHexaMatrixStat(ocid, dateOptions) {
4806
5436
  const path = 'maplestory/v1/character/hexamatrix-stat';
4807
- const query = {
4808
- ocid: ocid,
4809
- date: MapleStoryApi.toDateString({
5437
+ const date = dateOptions
5438
+ ? MapleStoryApi.toDateString({
4810
5439
  year: 2023,
4811
5440
  month: 12,
4812
5441
  day: 21,
4813
- }, dateOptions),
5442
+ }, dateOptions)
5443
+ : undefined;
5444
+ const query = {
5445
+ ocid: ocid,
5446
+ date: date,
4814
5447
  };
4815
5448
  const { data } = await this.client.get(path, {
4816
5449
  params: query,
@@ -4819,26 +5452,26 @@ class MapleStoryApi {
4819
5452
  }
4820
5453
  /**
4821
5454
  * 캐릭터 무릉도장 최고 기록 정보를 조회합니다.
5455
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4822
5456
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4823
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5457
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4824
5458
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4825
5459
  *
4826
5460
  * @param ocid 캐릭터 식별자
4827
5461
  * @param dateOptions 조회 기준일 (KST)
4828
5462
  */
4829
- async getCharacterDojang(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4830
- hour: 1,
4831
- minute: 0,
4832
- dateOffset: 1,
4833
- })) {
5463
+ async getCharacterDojang(ocid, dateOptions) {
4834
5464
  const path = 'maplestory/v1/character/dojang';
4835
- const query = {
4836
- ocid: ocid,
4837
- date: MapleStoryApi.toDateString({
5465
+ const date = dateOptions
5466
+ ? MapleStoryApi.toDateString({
4838
5467
  year: 2023,
4839
5468
  month: 12,
4840
5469
  day: 21,
4841
- }, dateOptions),
5470
+ }, dateOptions)
5471
+ : undefined;
5472
+ const query = {
5473
+ ocid: ocid,
5474
+ date: date,
4842
5475
  };
4843
5476
  const { data } = await this.client.get(path, {
4844
5477
  params: query,
@@ -4849,26 +5482,26 @@ class MapleStoryApi {
4849
5482
  //#region 유니온 정보 조회
4850
5483
  /**
4851
5484
  * 유니온 정보를 조회합니다.
5485
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4852
5486
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4853
- * - 유니온 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5487
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4854
5488
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4855
5489
  *
4856
5490
  * @param ocid 캐릭터 식별자
4857
5491
  * @param dateOptions 조회 기준일 (KST)
4858
5492
  */
4859
- async getUnion(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4860
- hour: 1,
4861
- minute: 0,
4862
- dateOffset: 1,
4863
- })) {
5493
+ async getUnion(ocid, dateOptions) {
4864
5494
  const path = 'maplestory/v1/user/union';
4865
- const query = {
4866
- ocid: ocid,
4867
- date: MapleStoryApi.toDateString({
5495
+ const date = dateOptions
5496
+ ? MapleStoryApi.toDateString({
4868
5497
  year: 2023,
4869
5498
  month: 12,
4870
5499
  day: 21,
4871
- }, dateOptions),
5500
+ }, dateOptions)
5501
+ : undefined;
5502
+ const query = {
5503
+ ocid: ocid,
5504
+ date: date,
4872
5505
  };
4873
5506
  const { data } = await this.client.get(path, {
4874
5507
  params: query,
@@ -4877,26 +5510,26 @@ class MapleStoryApi {
4877
5510
  }
4878
5511
  /**
4879
5512
  * 유니온 공격대 정보를 조회합니다.
5513
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4880
5514
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4881
- * - 유니온 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5515
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4882
5516
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4883
5517
  *
4884
5518
  * @param ocid 캐릭터 식별자
4885
5519
  * @param dateOptions 조회 기준일 (KST)
4886
5520
  */
4887
- async getUnionRaider(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4888
- hour: 1,
4889
- minute: 0,
4890
- dateOffset: 1,
4891
- })) {
5521
+ async getUnionRaider(ocid, dateOptions) {
4892
5522
  const path = 'maplestory/v1/user/union-raider';
4893
- const query = {
4894
- ocid: ocid,
4895
- date: MapleStoryApi.toDateString({
5523
+ const date = dateOptions
5524
+ ? MapleStoryApi.toDateString({
4896
5525
  year: 2023,
4897
5526
  month: 12,
4898
5527
  day: 21,
4899
- }, dateOptions),
5528
+ }, dateOptions)
5529
+ : undefined;
5530
+ const query = {
5531
+ ocid: ocid,
5532
+ date: date,
4900
5533
  };
4901
5534
  const { data } = await this.client.get(path, {
4902
5535
  params: query,
@@ -4905,26 +5538,26 @@ class MapleStoryApi {
4905
5538
  }
4906
5539
  /**
4907
5540
  * 유니온 아티팩트 정보를 조회합니다.
5541
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4908
5542
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4909
- * - 유니온 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5543
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4910
5544
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4911
5545
  *
4912
5546
  * @param ocid 캐릭터 식별자
4913
5547
  * @param dateOptions 조회 기준일 (KST)
4914
5548
  */
4915
- async getUnionArtifact(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4916
- hour: 1,
4917
- minute: 0,
4918
- dateOffset: 1,
4919
- })) {
5549
+ async getUnionArtifact(ocid, dateOptions) {
4920
5550
  const path = 'maplestory/v1/user/union-artifact';
4921
- const query = {
4922
- ocid: ocid,
4923
- date: MapleStoryApi.toDateString({
5551
+ const date = dateOptions
5552
+ ? MapleStoryApi.toDateString({
4924
5553
  year: 2023,
4925
5554
  month: 12,
4926
5555
  day: 21,
4927
- }, dateOptions),
5556
+ }, dateOptions)
5557
+ : undefined;
5558
+ const query = {
5559
+ ocid: ocid,
5560
+ date: date,
4928
5561
  };
4929
5562
  const { data } = await this.client.get(path, {
4930
5563
  params: query,
@@ -4935,8 +5568,9 @@ class MapleStoryApi {
4935
5568
  //#region 길드 정보 조회
4936
5569
  /**
4937
5570
  * 길드 식별자(oguild_id) 정보를 조회합니다.
5571
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4938
5572
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4939
- * - 길드 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.).
5573
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4940
5574
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4941
5575
  *
4942
5576
  * @param guildName 길드 명
@@ -4954,26 +5588,26 @@ class MapleStoryApi {
4954
5588
  }
4955
5589
  /**
4956
5590
  * 길드 기본 정보를 조회합니다.
5591
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4957
5592
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4958
- * - 길드 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.).
5593
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4959
5594
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4960
5595
  *
4961
5596
  * @param guildId 길드 식별자
4962
5597
  * @param dateOptions 조회 기준일 (KST)
4963
5598
  */
4964
- async getGuildBasic(guildId, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4965
- hour: 1,
4966
- minute: 0,
4967
- dateOffset: 1,
4968
- })) {
5599
+ async getGuildBasic(guildId, dateOptions) {
4969
5600
  const path = 'maplestory/v1/guild/basic';
4970
- const query = {
4971
- oguild_id: guildId,
4972
- date: MapleStoryApi.toDateString({
5601
+ const date = dateOptions
5602
+ ? MapleStoryApi.toDateString({
4973
5603
  year: 2023,
4974
5604
  month: 12,
4975
5605
  day: 21,
4976
- }, dateOptions),
5606
+ }, dateOptions)
5607
+ : undefined;
5608
+ const query = {
5609
+ oguild_id: guildId,
5610
+ date: date,
4977
5611
  };
4978
5612
  const { data } = await this.client.get(path, {
4979
5613
  params: query,
@@ -4988,7 +5622,7 @@ class MapleStoryApi {
4988
5622
  if (typeof parameter === 'string') {
4989
5623
  query.cursor = parameter;
4990
5624
  }
4991
- else if (typeof parameter === 'object') {
5625
+ else if (typeof parameter === 'object' || parameter === undefined) {
4992
5626
  query.date = MapleStoryApi.toDateString({
4993
5627
  year: 2023,
4994
5628
  month: 12,
@@ -5263,6 +5897,120 @@ class MapleStoryApi {
5263
5897
  return new AchievementRankingResponseDto(data);
5264
5898
  }
5265
5899
  //#endregion
5900
+ //#region 공지 정보 조회
5901
+ /**
5902
+ * 메이플스토리 공지사항에 최근 등록된 게시글 20개를 조회합니다.
5903
+ *
5904
+ * - 공지 정보 API는 데이터 최신화(공지 내용 수정/ 업데이트 고려)를 위해 실시간 조회 또는 최소 일배치 작업을 권장합니다.
5905
+ * - 실시간으로 정보를 제공하지 않는 경우, 신규/수정 공지 내용이 반영되지 않을 수 있으니 서비스 이용 유저에게 홈페이지 공지 사항을 확인하라는 가이드를 제공해주세요.
5906
+ */
5907
+ async getNoticeList() {
5908
+ const path = 'maplestory/v1/notice';
5909
+ const { data } = await this.client.get(path);
5910
+ return new NoticeListDto(data);
5911
+ }
5912
+ /**
5913
+ * 메이플스토리 공지사항 게시글 세부 사항을 조회합니다.
5914
+ *
5915
+ * - 공지 정보 API는 데이터 최신화(공지 내용 수정/ 업데이트 고려)를 위해 실시간 조회 또는 최소 일배치 작업을 권장합니다.
5916
+ * - 실시간으로 정보를 제공하지 않는 경우, 신규/수정 공지 내용이 반영되지 않을 수 있으니 서비스 이용 유저에게 홈페이지 공지 사항을 확인하라는 가이드를 제공해주세요.
5917
+ * @param noticeId 공지 식별자
5918
+ */
5919
+ async getNoticeDetail(noticeId) {
5920
+ const path = 'maplestory/v1/notice/detail';
5921
+ const query = {
5922
+ notice_id: noticeId,
5923
+ };
5924
+ const { data } = await this.client.get(path, {
5925
+ params: query,
5926
+ });
5927
+ return new NoticeDetailDto(data);
5928
+ }
5929
+ /**
5930
+ * 메이플스토리 업데이트에 최근 등록된 게시글 20개를 조회합니다.
5931
+ *
5932
+ * - 공지 정보 API는 데이터 최신화(공지 내용 수정/ 업데이트 고려)를 위해 실시간 조회 또는 최소 일배치 작업을 권장합니다.
5933
+ * - 실시간으로 정보를 제공하지 않는 경우, 신규/수정 공지 내용이 반영되지 않을 수 있으니 서비스 이용 유저에게 홈페이지 공지 사항을 확인하라는 가이드를 제공해주세요.
5934
+ */
5935
+ async getUpdateNoticeList() {
5936
+ const path = 'maplestory/v1/notice-update';
5937
+ const { data } = await this.client.get(path);
5938
+ return new UpdateNoticeListDto(data);
5939
+ }
5940
+ /**
5941
+ * 메이플스토리 업데이트 게시글 세부 사항을 조회합니다.
5942
+ *
5943
+ * - 공지 정보 API는 데이터 최신화(공지 내용 수정/ 업데이트 고려)를 위해 실시간 조회 또는 최소 일배치 작업을 권장합니다.
5944
+ * - 실시간으로 정보를 제공하지 않는 경우, 신규/수정 공지 내용이 반영되지 않을 수 있으니 서비스 이용 유저에게 홈페이지 공지 사항을 확인하라는 가이드를 제공해주세요.
5945
+ * @param noticeId 공지 식별자
5946
+ */
5947
+ async getUpdateNoticeDetail(noticeId) {
5948
+ const path = 'maplestory/v1/notice-update/detail';
5949
+ const query = {
5950
+ notice_id: noticeId,
5951
+ };
5952
+ const { data } = await this.client.get(path, {
5953
+ params: query,
5954
+ });
5955
+ return new UpdateNoticeDetailDto(data);
5956
+ }
5957
+ /**
5958
+ * 메이플스토리 진행 중 이벤트에 최근 등록된 공지사항 20개를 조회합니다.
5959
+ *
5960
+ * - 공지 정보 API는 데이터 최신화(공지 내용 수정/ 업데이트 고려)를 위해 실시간 조회 또는 최소 일배치 작업을 권장합니다.
5961
+ * - 실시간으로 정보를 제공하지 않는 경우, 신규/수정 공지 내용이 반영되지 않을 수 있으니 서비스 이용 유저에게 홈페이지 공지 사항을 확인하라는 가이드를 제공해주세요.
5962
+ */
5963
+ async getEventNoticeList() {
5964
+ const path = 'maplestory/v1/notice-event';
5965
+ const { data } = await this.client.get(path);
5966
+ return new EventNoticeListDto(data);
5967
+ }
5968
+ /**
5969
+ * 메이플스토리 진행 중 이벤트 게시글 세부 사항을 조회합니다.
5970
+ *
5971
+ * - 공지 정보 API는 데이터 최신화(공지 내용 수정/ 업데이트 고려)를 위해 실시간 조회 또는 최소 일배치 작업을 권장합니다.
5972
+ * - 실시간으로 정보를 제공하지 않는 경우, 신규/수정 공지 내용이 반영되지 않을 수 있으니 서비스 이용 유저에게 홈페이지 공지 사항을 확인하라는 가이드를 제공해주세요.
5973
+ * @param noticeId 공지 식별자
5974
+ */
5975
+ async getEventNoticeDetail(noticeId) {
5976
+ const path = 'maplestory/v1/notice-event/detail';
5977
+ const query = {
5978
+ notice_id: noticeId,
5979
+ };
5980
+ const { data } = await this.client.get(path, {
5981
+ params: query,
5982
+ });
5983
+ return new EventNoticeDetailDto(data);
5984
+ }
5985
+ /**
5986
+ * 메이플스토리 캐시샵 공지에 최근 등록된 공지사항 20개를 조회합니다.
5987
+ *
5988
+ * - 공지 정보 API는 데이터 최신화(공지 내용 수정/ 업데이트 고려)를 위해 실시간 조회 또는 최소 일배치 작업을 권장합니다.
5989
+ * - 실시간으로 정보를 제공하지 않는 경우, 신규/수정 공지 내용이 반영되지 않을 수 있으니 서비스 이용 유저에게 홈페이지 공지 사항을 확인하라는 가이드를 제공해주세요.
5990
+ */
5991
+ async getCashshopNoticeList() {
5992
+ const path = 'maplestory/v1/notice-cashshop';
5993
+ const { data } = await this.client.get(path);
5994
+ return new CashshopNoticeListDto(data);
5995
+ }
5996
+ /**
5997
+ * 메이플스토리 캐시샵 공지 게시글 세부 사항을 조회합니다.
5998
+ *
5999
+ * - 공지 정보 API는 데이터 최신화(공지 내용 수정/ 업데이트 고려)를 위해 실시간 조회 또는 최소 일배치 작업을 권장합니다.
6000
+ * - 실시간으로 정보를 제공하지 않는 경우, 신규/수정 공지 내용이 반영되지 않을 수 있으니 서비스 이용 유저에게 홈페이지 공지 사항을 확인하라는 가이드를 제공해주세요.
6001
+ * @param noticeId 공지 식별자
6002
+ */
6003
+ async getCashshopNoticeDetail(noticeId) {
6004
+ const path = 'maplestory/v1/notice-cashshop/detail';
6005
+ const query = {
6006
+ notice_id: noticeId,
6007
+ };
6008
+ const { data } = await this.client.get(path, {
6009
+ params: query,
6010
+ });
6011
+ return new CashshopNoticeDetailDto(data);
6012
+ }
6013
+ //#endregion
5266
6014
  /**
5267
6015
  * 서버 점검 정보를 조회합니다.
5268
6016
  */
@@ -5347,4 +6095,4 @@ class MapleStoryApi {
5347
6095
  }
5348
6096
  }
5349
6097
 
5350
- export { AchievementRankingDto, AchievementRankingResponseDto, CharacterAbilityDto, CharacterAbilityInfoDto, CharacterAbilityPresetDto, CharacterAndroidCashItemEquipmentColoringPrismDto, CharacterAndroidCashItemEquipmentDto, CharacterAndroidCashItemEquipmentOptionDto, CharacterAndroidEquipmentDto, CharacterAndroidEquipmentFaceDto, CharacterAndroidEquipmentHairDto, CharacterAndroidEquipmentPresetDto, CharacterBasicDto, CharacterBeautyEquipmentDto, CharacterBeautyEquipmentFaceDto, CharacterBeautyEquipmentHairDto, CharacterCashItemEquipmentColoringPrismDto, CharacterCashItemEquipmentDto, CharacterCashItemEquipmentOptionDto, CharacterCashItemEquipmentPresetDto, CharacterDojangDto, CharacterDto, CharacterHexaMatrixDto, CharacterHexaMatrixEquipmentDto, CharacterHexaMatrixEquipmentLinkedSkillDto, CharacterHexaMatrixStatCoreDto, CharacterHexaMatrixStatDto, CharacterHyperStatDto, CharacterHyperStatPresetDto, CharacterItemEquipmentAddOptionDto, CharacterItemEquipmentBaseOptionDto, CharacterItemEquipmentDragonInfoDto, CharacterItemEquipmentDto, CharacterItemEquipmentEtcOptionDto, CharacterItemEquipmentExceptionalOptionDto, CharacterItemEquipmentInfoDto, CharacterItemEquipmentMechanicInfoDto, CharacterItemEquipmentStarforceOptionDto, CharacterItemEquipmentTitleDto, CharacterItemEquipmentTotalOptionDto, CharacterLinkSkillDto, CharacterLinkSkillInfoDto, CharacterPetEquipmentAutoSkillDto, CharacterPetEquipmentDto, CharacterPetEquipmentItemDto, CharacterPetEquipmentItemOptionDto, CharacterPopularityDto, CharacterPropensityDto, CharacterSetEffectDto, CharacterSetEffectInfoDto, CharacterSetEffectOptionInfoDto, CharacterSkillDto, CharacterSkillInfoDto, CharacterStatDto, CharacterSymbolEquipmentDto, CharacterSymbolEquipmentInfoDto, CharacterVMatrixCodeEquipmentDto, CharacterVMatrixDto, CubeHistoryDto, CubeHistoryResponseDto, CubeResultOptionDto, DojangRankingDto, DojangRankingResponseDto, GuildBasicDto, GuildDto, GuildRankingDto, GuildRankingResponseDto, GuildSkillDto, InspectionInfoDto, MapleStoryApi, MapleStoryApiError, MapleStoryApiErrorCode, OverallRankingDto, OverallRankingResponseDto, PotentialHistoryDto, PotentialHistoryResponseDto, PotentialOptionGrade, PotentialResultOptionDto, StarforceEventDto, StarforceHistoryDto, StarforceHistoryResponseDto, TheSeedRankingDto, TheSeedRankingResponseDto, UnionArtifactCrystalDto, UnionArtifactDto, UnionArtifactEffectDto, UnionDto, UnionRaiderBlockControlPointDto, UnionRaiderBlockDto, UnionRaiderBlockPositionDto, UnionRaiderDto, UnionRaiderInnerStatDto, UnionRankingDto, UnionRankingResponseDto, potentialOptionGradeFromString };
6098
+ export { AchievementRankingDto, AchievementRankingResponseDto, CashshopNoticeDetailDto, CashshopNoticeListDto, CashshopNoticeListItemDto, CharacterAbilityDto, CharacterAbilityInfoDto, CharacterAbilityPresetDto, CharacterAndroidCashItemEquipmentColoringPrismDto, CharacterAndroidCashItemEquipmentDto, CharacterAndroidCashItemEquipmentOptionDto, CharacterAndroidEquipmentDto, CharacterAndroidEquipmentFaceDto, CharacterAndroidEquipmentHairDto, CharacterAndroidEquipmentPresetDto, CharacterBasicDto, CharacterBeautyEquipmentDto, CharacterBeautyEquipmentFaceDto, CharacterBeautyEquipmentHairDto, CharacterCashItemEquipmentColoringPrismDto, CharacterCashItemEquipmentDto, CharacterCashItemEquipmentOptionDto, CharacterCashItemEquipmentPresetDto, CharacterDojangDto, CharacterDto, CharacterHexaMatrixDto, CharacterHexaMatrixEquipmentDto, CharacterHexaMatrixEquipmentLinkedSkillDto, CharacterHexaMatrixStatCoreDto, CharacterHexaMatrixStatDto, CharacterHyperStatDto, CharacterHyperStatPresetDto, CharacterItemEquipmentAddOptionDto, CharacterItemEquipmentBaseOptionDto, CharacterItemEquipmentDragonInfoDto, CharacterItemEquipmentDto, CharacterItemEquipmentEtcOptionDto, CharacterItemEquipmentExceptionalOptionDto, CharacterItemEquipmentInfoDto, CharacterItemEquipmentMechanicInfoDto, CharacterItemEquipmentStarforceOptionDto, CharacterItemEquipmentTitleDto, CharacterItemEquipmentTotalOptionDto, CharacterLinkSkillDto, CharacterLinkSkillInfoDto, CharacterListAccountCharacterDto, CharacterListAccountDto, CharacterListDto, CharacterPetEquipmentAutoSkillDto, CharacterPetEquipmentDto, CharacterPetEquipmentItemDto, CharacterPetEquipmentItemOptionDto, CharacterPopularityDto, CharacterPropensityDto, CharacterSetEffectDto, CharacterSetEffectInfoDto, CharacterSetEffectOptionFullDto, CharacterSetEffectSetDto, CharacterSkillDto, CharacterSkillInfoDto, CharacterStatDto, CharacterSymbolEquipmentDto, CharacterSymbolEquipmentInfoDto, CharacterVMatrixCodeEquipmentDto, CharacterVMatrixDto, CubeHistoryDto, CubeHistoryResponseDto, CubeResultOptionDto, DojangRankingDto, DojangRankingResponseDto, EventNoticeDetailDto, EventNoticeListDto, EventNoticeListItemDto, GuildBasicDto, GuildDto, GuildRankingDto, GuildRankingResponseDto, GuildSkillDto, InspectionInfoDto, MapleStoryApi, MapleStoryApiError, MapleStoryApiErrorCode, NoticeDetailDto, NoticeListDto, NoticeListItemDto, OverallRankingDto, OverallRankingResponseDto, PotentialHistoryDto, PotentialHistoryResponseDto, PotentialOptionGrade, PotentialResultOptionDto, StarforceEventDto, StarforceHistoryDto, StarforceHistoryResponseDto, TheSeedRankingDto, TheSeedRankingResponseDto, UnionArtifactCrystalDto, UnionArtifactDto, UnionArtifactEffectDto, UnionDto, UnionRaiderBlockControlPointDto, UnionRaiderBlockDto, UnionRaiderBlockPositionDto, UnionRaiderDto, UnionRaiderInnerStatDto, UnionRaiderPresetDto, UnionRankingDto, UnionRankingResponseDto, UpdateNoticeDetailDto, UpdateNoticeListDto, UpdateNoticeListItemDto, potentialOptionGradeFromString };