maplestory-openapi 2.4.1 → 2.7.1

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 (92) hide show
  1. package/README.md +51 -41
  2. package/dist/index.js +1085 -405
  3. package/dist/index.min.js +1 -1
  4. package/dist/index.mjs +1068 -405
  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 +1 -1
  9. package/types/maplestory/api/dto/character/characterBasicDto.d.ts +21 -1
  10. package/types/maplestory/api/dto/character/characterBeautyEquipmentDto.d.ts +1 -1
  11. package/types/maplestory/api/dto/character/characterCashItemEquipmentDto.d.ts +1 -1
  12. package/types/maplestory/api/dto/character/characterDojangDto.d.ts +1 -1
  13. package/types/maplestory/api/dto/character/characterHexaMatrixDto.d.ts +1 -1
  14. package/types/maplestory/api/dto/character/characterHexaMatrixStatDto.d.ts +1 -1
  15. package/types/maplestory/api/dto/character/characterHyperStatDto.d.ts +1 -1
  16. package/types/maplestory/api/dto/character/characterItemEquipmentDto.d.ts +1 -1
  17. package/types/maplestory/api/dto/character/characterLinkSkillDto.d.ts +1 -1
  18. package/types/maplestory/api/dto/character/characterLinkSkillInfoDto.d.ts +4 -0
  19. package/types/maplestory/api/dto/character/characterListAccountCharacterDto.d.ts +28 -0
  20. package/types/maplestory/api/dto/character/characterListAccountDto.d.ts +17 -0
  21. package/types/maplestory/api/dto/character/characterListDto.d.ts +13 -0
  22. package/types/maplestory/api/dto/character/characterPetEquipmentDto.d.ts +1 -1
  23. package/types/maplestory/api/dto/character/characterPopularityDto.d.ts +1 -1
  24. package/types/maplestory/api/dto/character/characterPropensityDto.d.ts +1 -1
  25. package/types/maplestory/api/dto/character/characterSetEffectDto.d.ts +3 -3
  26. package/types/maplestory/api/dto/character/characterSetEffectInfoDto.d.ts +5 -10
  27. package/types/maplestory/api/dto/character/characterSetEffectOptionFullDto.d.ts +16 -0
  28. package/types/maplestory/api/dto/character/characterSetEffectSetDto.d.ts +26 -0
  29. package/types/maplestory/api/dto/character/characterSkillDto.d.ts +1 -1
  30. package/types/maplestory/api/dto/character/characterSkillInfoDto.d.ts +4 -0
  31. package/types/maplestory/api/dto/character/characterStatDto.d.ts +1 -1
  32. package/types/maplestory/api/dto/character/characterSymbolEquipmentDto.d.ts +1 -1
  33. package/types/maplestory/api/dto/character/characterVMatrixCoreEquipmentDto.d.ts +2 -2
  34. package/types/maplestory/api/dto/character/characterVMatrixDto.d.ts +1 -1
  35. package/types/maplestory/api/dto/guild/guildBasicDto.d.ts +1 -9
  36. package/types/maplestory/api/dto/history/starforceHistoryDto.d.ts +1 -1
  37. package/types/maplestory/api/dto/notice/cashshopNoticeDetailDto.d.ts +40 -0
  38. package/types/maplestory/api/dto/notice/cashshopNoticeListDto.d.ts +13 -0
  39. package/types/maplestory/api/dto/notice/cashshopNoticeListItemDto.d.ts +40 -0
  40. package/types/maplestory/api/dto/notice/eventNoticeDetailDto.d.ts +32 -0
  41. package/types/maplestory/api/dto/notice/eventNoticeListDto.d.ts +13 -0
  42. package/types/maplestory/api/dto/notice/eventNoticeListItemDto.d.ts +32 -0
  43. package/types/maplestory/api/dto/notice/noticeDetailDto.d.ts +24 -0
  44. package/types/maplestory/api/dto/notice/noticeListDto.d.ts +13 -0
  45. package/types/maplestory/api/dto/notice/noticeListItemDto.d.ts +24 -0
  46. package/types/maplestory/api/dto/notice/updateNoticeDetailDto.d.ts +24 -0
  47. package/types/maplestory/api/dto/notice/updateNoticeListDto.d.ts +13 -0
  48. package/types/maplestory/api/dto/notice/updateNoticeListItemDto.d.ts +24 -0
  49. package/types/maplestory/api/dto/union/unionArtifactDto.d.ts +1 -1
  50. package/types/maplestory/api/dto/union/unionDto.d.ts +1 -1
  51. package/types/maplestory/api/dto/union/unionRaiderDto.d.ts +26 -1
  52. package/types/maplestory/api/dto/union/unionRaiderPresetDto.d.ts +26 -0
  53. package/types/maplestory/api/mapleStoryApi.d.ts +126 -25
  54. package/types/maplestory/api/mapleStoryApiError.d.ts +2 -1
  55. package/types/maplestory/api/response/character/characterAbilityDtoBody.d.ts +1 -1
  56. package/types/maplestory/api/response/character/characterAndroidEquipmentDtoBody.d.ts +1 -1
  57. package/types/maplestory/api/response/character/characterBasicDtoBody.d.ts +4 -1
  58. package/types/maplestory/api/response/character/characterBeautyEquipmentDtoBody.d.ts +1 -1
  59. package/types/maplestory/api/response/character/characterCashItemEquipmentDtoBody.d.ts +1 -1
  60. package/types/maplestory/api/response/character/characterDojangDtoBody.d.ts +1 -1
  61. package/types/maplestory/api/response/character/characterHexaMatrixDtoBody.d.ts +1 -1
  62. package/types/maplestory/api/response/character/characterHexaMatrixStatDtoBody.d.ts +1 -1
  63. package/types/maplestory/api/response/character/characterHyperStatDtoBody.d.ts +1 -1
  64. package/types/maplestory/api/response/character/characterItemEquipmentDtoBody.d.ts +1 -1
  65. package/types/maplestory/api/response/character/characterLinkSkillDtoBody.d.ts +2 -1
  66. package/types/maplestory/api/response/character/characterListDtoBody.d.ts +15 -0
  67. package/types/maplestory/api/response/character/characterPetEquipmentDtoBody.d.ts +1 -1
  68. package/types/maplestory/api/response/character/characterPopularityDtoBody.d.ts +1 -1
  69. package/types/maplestory/api/response/character/characterPropensityDtoBody.d.ts +1 -1
  70. package/types/maplestory/api/response/character/characterSetEffectDtoBody.d.ts +11 -6
  71. package/types/maplestory/api/response/character/characterSkillDtoBody.d.ts +2 -1
  72. package/types/maplestory/api/response/character/characterStatDtoBody.d.ts +1 -1
  73. package/types/maplestory/api/response/character/characterSymbolEquipmentDtoBody.d.ts +1 -1
  74. package/types/maplestory/api/response/character/characterVMatrixDtoBody.d.ts +3 -3
  75. package/types/maplestory/api/response/guild/guildBasicDtoBody.d.ts +1 -3
  76. package/types/maplestory/api/response/history/cubeHistoryDtoBody.d.ts +1 -1
  77. package/types/maplestory/api/response/history/cubeHistoryResponseDtoBody.d.ts +1 -1
  78. package/types/maplestory/api/response/history/starforceHistoryDtoBody.d.ts +2 -2
  79. package/types/maplestory/api/response/history/starforceHistoryResponseDtoBody.d.ts +1 -1
  80. package/types/maplestory/api/response/notice/cashshopNoticeDetailDtoBody.d.ts +10 -0
  81. package/types/maplestory/api/response/notice/cashshopNoticeListDtoBody.d.ts +13 -0
  82. package/types/maplestory/api/response/notice/eventNoticeDetailDtoBody.d.ts +9 -0
  83. package/types/maplestory/api/response/notice/eventNoticeListDtoBody.d.ts +12 -0
  84. package/types/maplestory/api/response/notice/noticeDetailDtoBody.d.ts +7 -0
  85. package/types/maplestory/api/response/notice/noticeListDtoBody.d.ts +10 -0
  86. package/types/maplestory/api/response/notice/updateNoticeDetailDtoBody.d.ts +7 -0
  87. package/types/maplestory/api/response/notice/updateNoticeListDtoBody.d.ts +10 -0
  88. package/types/maplestory/api/response/ranking/theSeedRankingResponseDtoBody.d.ts +2 -3
  89. package/types/maplestory/api/response/union/unionArtifactDtoBody.d.ts +1 -1
  90. package/types/maplestory/api/response/union/unionDtoBody.d.ts +1 -1
  91. package/types/maplestory/api/response/union/unionRaiderDtoBody.d.ts +14 -2
  92. 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;
@@ -435,7 +435,7 @@ class CharacterAndroidEquipmentDto {
435
435
  androidPreset3;
436
436
  constructor(obj) {
437
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);
438
+ this.date = date ? new Date(date) : null;
439
439
  this.androidName = android_name;
440
440
  this.androidNickname = android_nickname;
441
441
  this.androidIcon = android_icon;
@@ -501,9 +501,21 @@ class CharacterBasicDto {
501
501
  * 캐릭터 외형 이미지
502
502
  */
503
503
  characterImage;
504
+ /**
505
+ * 캐릭터 생성일
506
+ */
507
+ characterDateCreate;
508
+ /**
509
+ * 최근 7일간 접속 여부
510
+ */
511
+ accessFlag;
512
+ /**
513
+ * 해방 퀘스트 완료 여부
514
+ */
515
+ liberationQuestClearFlag;
504
516
  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);
517
+ 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;
518
+ this.date = date ? new Date(date) : null;
507
519
  this.characterName = character_name;
508
520
  this.worldName = world_name;
509
521
  this.characterGender = character_gender;
@@ -514,6 +526,21 @@ class CharacterBasicDto {
514
526
  this.characterExpRate = character_exp_rate;
515
527
  this.characterGuildName = character_guild_name;
516
528
  this.characterImage = character_image;
529
+ this.characterDateCreate = new Date(character_date_create);
530
+ this.accessFlag = access_flag;
531
+ this.liberationQuestClearFlag = liberation_quest_clear_flag;
532
+ }
533
+ /**
534
+ * 최근 7일간 접속 여부
535
+ */
536
+ get isAccessFlag() {
537
+ return this.accessFlag === 'true';
538
+ }
539
+ /**
540
+ * 해방 퀘스트 완료 여부
541
+ */
542
+ get isLiberationQuestClearFlag() {
543
+ return this.liberationQuestClearFlag === 'true';
517
544
  }
518
545
  }
519
546
 
@@ -620,7 +647,7 @@ class CharacterBeautyEquipmentDto {
620
647
  additionalCharacterSkinName;
621
648
  constructor(obj) {
622
649
  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);
650
+ this.date = date ? new Date(date) : null;
624
651
  this.characterGender = character_gender;
625
652
  this.characterClass = character_class;
626
653
  this.characterHair = new CharacterBeautyEquipmentHairDto(character_hair);
@@ -804,7 +831,7 @@ class CharacterCashItemEquipmentDto {
804
831
  additionalCashItemEquipmentPreset3;
805
832
  constructor(obj) {
806
833
  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);
834
+ this.date = date ? new Date(date) : null;
808
835
  this.characterGender = character_gender;
809
836
  this.characterClass = character_class;
810
837
  this.presetNo = preset_no;
@@ -853,7 +880,7 @@ class CharacterDojangDto {
853
880
  dojangBestTime;
854
881
  constructor(obj) {
855
882
  const { date, character_class, world_name, dojang_best_floor, date_dojang_record, dojang_best_time, } = obj;
856
- this.date = new Date(date);
883
+ this.date = date ? new Date(date) : null;
857
884
  this.characterClass = character_class;
858
885
  this.worldName = world_name;
859
886
  this.dojangBestFloor = dojang_best_floor;
@@ -935,7 +962,7 @@ class CharacterHexaMatrixDto {
935
962
  characterHexaCoreEquipment;
936
963
  constructor(obj) {
937
964
  const { date, character_hexa_core_equipment } = obj;
938
- this.date = new Date(date);
965
+ this.date = date ? new Date(date) : null;
939
966
  this.characterHexaCoreEquipment = character_hexa_core_equipment.map((equipment) => new CharacterHexaMatrixEquipmentDto(equipment));
940
967
  }
941
968
  }
@@ -1011,7 +1038,7 @@ class CharacterHexaMatrixStatDto {
1011
1038
  presetHexaStatCore;
1012
1039
  constructor(obj) {
1013
1040
  const { date, character_class, character_hexa_stat_core, preset_hexa_stat_core, } = obj;
1014
- this.date = new Date(date);
1041
+ this.date = date ? new Date(date) : null;
1015
1042
  this.characterClass = character_class;
1016
1043
  this.characterHexaStatCore = character_hexa_stat_core.map((core) => new CharacterHexaMatrixStatCoreDto(core));
1017
1044
  this.presetHexaStatCore = preset_hexa_stat_core.map((core) => new CharacterHexaMatrixStatCoreDto(core));
@@ -1093,7 +1120,7 @@ class CharacterHyperStatDto {
1093
1120
  hyperStatPreset3RemainPoint;
1094
1121
  constructor(obj) {
1095
1122
  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);
1123
+ this.date = date ? new Date(date) : null;
1097
1124
  this.characterClass = character_class;
1098
1125
  this.usePresetNo = use_preset_no;
1099
1126
  this.useAvailableHyperStat = use_available_hyper_stat;
@@ -2142,7 +2169,7 @@ class CharacterItemEquipmentDto {
2142
2169
  mechanicEquipment;
2143
2170
  constructor(obj) {
2144
2171
  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);
2172
+ this.date = date ? new Date(date) : null;
2146
2173
  this.characterGender = character_gender;
2147
2174
  this.characterClass = character_class;
2148
2175
  this.presetNo = preset_no;
@@ -2176,16 +2203,21 @@ class CharacterLinkSkillInfoDto {
2176
2203
  * 스킬 효과
2177
2204
  */
2178
2205
  skillEffect;
2206
+ /**
2207
+ * 다음 레벨의 스킬 효과
2208
+ */
2209
+ skillEffectNext;
2179
2210
  /**
2180
2211
  * 스킬 아이콘
2181
2212
  */
2182
2213
  skillIcon;
2183
2214
  constructor(obj) {
2184
- const { skill_name, skill_description, skill_level, skill_effect, skill_icon, } = obj;
2215
+ const { skill_name, skill_description, skill_level, skill_effect, skill_effect_next, skill_icon, } = obj;
2185
2216
  this.skillName = skill_name;
2186
2217
  this.skillDescription = skill_description;
2187
2218
  this.skillLevel = skill_level;
2188
2219
  this.skillEffect = skill_effect;
2220
+ this.skillEffectNext = skill_effect_next;
2189
2221
  this.skillIcon = skill_icon;
2190
2222
  }
2191
2223
  }
@@ -2236,7 +2268,7 @@ class CharacterLinkSkillDto {
2236
2268
  characterOwnedLinkSkillPreset3;
2237
2269
  constructor(obj) {
2238
2270
  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);
2271
+ this.date = date ? new Date(date) : null;
2240
2272
  this.characterClass = character_class;
2241
2273
  this.characterLinkSkill = character_link_skill.map((skill) => new CharacterLinkSkillInfoDto(skill));
2242
2274
  this.characterLinkSkillPreset1 = character_link_skill_preset_1.map((skill) => new CharacterLinkSkillInfoDto(skill));
@@ -2249,6 +2281,73 @@ class CharacterLinkSkillDto {
2249
2281
  }
2250
2282
  }
2251
2283
 
2284
+ /**
2285
+ * 캐릭터 정보
2286
+ */
2287
+ class CharacterListAccountCharacterDto {
2288
+ /**
2289
+ * 캐릭터 식별자
2290
+ */
2291
+ ocid;
2292
+ /**
2293
+ * 캐릭터 명
2294
+ */
2295
+ characterName;
2296
+ /**
2297
+ * 월드 명
2298
+ */
2299
+ worldName;
2300
+ /**
2301
+ * 캐릭터 직업
2302
+ */
2303
+ characterClass;
2304
+ /**
2305
+ * 캐릭터 레벨
2306
+ */
2307
+ characterLevel;
2308
+ constructor(obj) {
2309
+ const { ocid, character_name, world_name, character_class, character_level, } = obj;
2310
+ this.ocid = ocid;
2311
+ this.characterName = character_name;
2312
+ this.worldName = world_name;
2313
+ this.characterClass = character_class;
2314
+ this.characterLevel = character_level;
2315
+ }
2316
+ }
2317
+
2318
+ /**
2319
+ * 메이플스토리 계정
2320
+ */
2321
+ class CharacterListAccountDto {
2322
+ /**
2323
+ * 메이플스토리 계정 식별자
2324
+ */
2325
+ accountId;
2326
+ /**
2327
+ * 캐릭터 목록
2328
+ */
2329
+ characterList;
2330
+ constructor(obj) {
2331
+ const { account_id, character_list } = obj;
2332
+ this.accountId = account_id;
2333
+ this.characterList = character_list.map(character => new CharacterListAccountCharacterDto(character));
2334
+ }
2335
+ }
2336
+
2337
+ /**
2338
+ * 계정의 보유 캐릭터 목록
2339
+ */
2340
+ class CharacterListDto {
2341
+ /**
2342
+ * 메이플스토리 계정 목록
2343
+ */
2344
+ accountList;
2345
+ constructor(obj) {
2346
+ const { account_list } = obj;
2347
+ this.accountList = account_list.map(account => new CharacterListAccountDto(account));
2348
+ }
2349
+ }
2350
+
2252
2351
  /**
2253
2352
  * 캐릭터 펫 장비 자동 스킬 정보
2254
2353
  */
@@ -2488,7 +2587,7 @@ class CharacterPetEquipmentDto {
2488
2587
  pet3AppearanceIcon;
2489
2588
  constructor(obj) {
2490
2589
  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);
2590
+ this.date = date ? new Date(date) : null;
2492
2591
  this.pet1Name = pet_1_name;
2493
2592
  this.pet1Nickname = pet_1_nickname;
2494
2593
  this.pet1Icon = pet_1_icon;
@@ -2539,7 +2638,7 @@ class CharacterPopularityDto {
2539
2638
  popularity;
2540
2639
  constructor(obj) {
2541
2640
  const { date, popularity } = obj;
2542
- this.date = new Date(date);
2641
+ this.date = date ? new Date(date) : null;
2543
2642
  this.popularity = popularity;
2544
2643
  }
2545
2644
  }
@@ -2575,7 +2674,7 @@ class CharacterPropensityDto {
2575
2674
  charmLevel;
2576
2675
  constructor(obj) {
2577
2676
  const { date, charisma_level, sensibility_level, insight_level, willingness_level, handicraft_level, charm_level, } = obj;
2578
- this.date = new Date(date);
2677
+ this.date = date ? new Date(date) : null;
2579
2678
  this.charismaLevel = charisma_level;
2580
2679
  this.sensibilityLevel = sensibility_level;
2581
2680
  this.insightLevel = insight_level;
@@ -2586,15 +2685,15 @@ class CharacterPropensityDto {
2586
2685
  }
2587
2686
 
2588
2687
  /**
2589
- * 캐릭터 세트 효과 옵션 정보
2688
+ * 적용 중인 세트 효과 정보
2590
2689
  */
2591
- class CharacterSetEffectOptionInfoDto {
2690
+ class CharacterSetEffectInfoDto {
2592
2691
  /**
2593
2692
  * 세트 효과 레벨 (장비 수)
2594
2693
  */
2595
2694
  setCount;
2596
2695
  /**
2597
- * 적용 중인 세트 효과
2696
+ * 세트 효과
2598
2697
  */
2599
2698
  setOption;
2600
2699
  constructor(obj) {
@@ -2605,9 +2704,28 @@ class CharacterSetEffectOptionInfoDto {
2605
2704
  }
2606
2705
 
2607
2706
  /**
2608
- * 캐릭터 세트 효과 정보
2707
+ * 모든 세트 효과 정보
2609
2708
  */
2610
- class CharacterSetEffectInfoDto {
2709
+ class CharacterSetEffectOptionFullDto {
2710
+ /**
2711
+ * 세트 효과 레벨 (장비 수)
2712
+ */
2713
+ setCount;
2714
+ /**
2715
+ * 세트 효과
2716
+ */
2717
+ setOption;
2718
+ constructor(obj) {
2719
+ const { set_count, set_option } = obj;
2720
+ this.setCount = set_count;
2721
+ this.setOption = set_option;
2722
+ }
2723
+ }
2724
+
2725
+ /**
2726
+ * 세트 효과 정보
2727
+ */
2728
+ class CharacterSetEffectSetDto {
2611
2729
  /**
2612
2730
  * 세트 효과 명
2613
2731
  */
@@ -2617,14 +2735,19 @@ class CharacterSetEffectInfoDto {
2617
2735
  */
2618
2736
  totalSetCount;
2619
2737
  /**
2620
- * 세트 효과 옵션
2738
+ * 적용 중인 세트 효과 정보
2621
2739
  */
2622
2740
  setEffectInfo;
2741
+ /**
2742
+ * 모든 세트 효과 정보
2743
+ */
2744
+ setOptionFull;
2623
2745
  constructor(obj) {
2624
- const { set_name, total_set_count, set_effect_info } = obj;
2746
+ const { set_name, total_set_count, set_effect_info, set_option_full } = obj;
2625
2747
  this.setName = set_name;
2626
2748
  this.totalSetCount = total_set_count;
2627
- this.setEffectInfo = set_effect_info.map((info) => new CharacterSetEffectOptionInfoDto(info));
2749
+ this.setEffectInfo = set_effect_info.map((info) => new CharacterSetEffectInfoDto(info));
2750
+ this.setOptionFull = set_option_full.map((info) => new CharacterSetEffectOptionFullDto(info));
2628
2751
  }
2629
2752
  }
2630
2753
 
@@ -2642,8 +2765,8 @@ class CharacterSetEffectDto {
2642
2765
  setEffect;
2643
2766
  constructor(obj) {
2644
2767
  const { date, set_effect } = obj;
2645
- this.date = new Date(date);
2646
- this.setEffect = set_effect.map((effect) => new CharacterSetEffectInfoDto(effect));
2768
+ this.date = date ? new Date(date) : null;
2769
+ this.setEffect = set_effect.map((effect) => new CharacterSetEffectSetDto(effect));
2647
2770
  }
2648
2771
  }
2649
2772
 
@@ -2667,16 +2790,21 @@ class CharacterSkillInfoDto {
2667
2790
  * 스킬 레벨 별 효과 설명
2668
2791
  */
2669
2792
  skillEffect;
2793
+ /**
2794
+ * 다음 스킬 레벨 효과 설명
2795
+ */
2796
+ skillEffectNext;
2670
2797
  /**
2671
2798
  * 스킬 아이콘
2672
2799
  */
2673
2800
  skillIcon;
2674
2801
  constructor(obj) {
2675
- const { skill_name, skill_description, skill_level, skill_effect, skill_icon, } = obj;
2802
+ const { skill_name, skill_description, skill_level, skill_effect, skill_effect_next, skill_icon, } = obj;
2676
2803
  this.skillName = skill_name;
2677
2804
  this.skillDescription = skill_description;
2678
2805
  this.skillLevel = skill_level;
2679
2806
  this.skillEffect = skill_effect;
2807
+ this.skillEffectNext = skill_effect_next;
2680
2808
  this.skillIcon = skill_icon;
2681
2809
  }
2682
2810
  }
@@ -2703,7 +2831,7 @@ class CharacterSkillDto {
2703
2831
  characterSkill;
2704
2832
  constructor(obj) {
2705
2833
  const { date, character_class, character_skill_grade, character_skill } = obj;
2706
- this.date = new Date(date);
2834
+ this.date = date ? new Date(date) : null;
2707
2835
  this.characterClass = character_class;
2708
2836
  this.characterSkillGrade = character_skill_grade;
2709
2837
  this.characterSkill = character_skill.map((skill) => new CharacterSkillInfoDto(skill));
@@ -2732,7 +2860,7 @@ class CharacterStatDto {
2732
2860
  remainAP;
2733
2861
  constructor(obj) {
2734
2862
  const { date, character_class, final_stat, remain_ap } = obj;
2735
- this.date = new Date(date);
2863
+ this.date = date ? new Date(date) : null;
2736
2864
  this.characterClass = character_class;
2737
2865
  this.finalStat = final_stat.map((stat) => {
2738
2866
  return {
@@ -2831,7 +2959,7 @@ class CharacterSymbolEquipmentDto {
2831
2959
  symbol;
2832
2960
  constructor(obj) {
2833
2961
  const { date, character_class, symbol } = obj;
2834
- this.date = new Date(date);
2962
+ this.date = date ? new Date(date) : null;
2835
2963
  this.characterClass = character_class;
2836
2964
  this.symbol = symbol.map((s) => new CharacterSymbolEquipmentInfoDto(s));
2837
2965
  }
@@ -2908,7 +3036,7 @@ class CharacterVMatrixDto {
2908
3036
  characterVMatrixRemainSlotUpgradePoint;
2909
3037
  constructor(obj) {
2910
3038
  const { date, character_class, character_v_core_equipment, character_v_matrix_remain_slot_upgrade_point, } = obj;
2911
- this.date = new Date(date);
3039
+ this.date = date ? new Date(date) : null;
2912
3040
  this.characterClass = character_class;
2913
3041
  this.characterVCoreEquipment = character_v_core_equipment.map((equipment) => new CharacterVMatrixCodeEquipmentDto(equipment));
2914
3042
  this.characterVMatrixRemainSlotUpgradePoint =
@@ -2998,17 +3126,9 @@ class GuildBasicDto {
2998
3126
  * 노블레스 스킬 목록
2999
3127
  */
3000
3128
  guildNoblesseSkill;
3001
- /**
3002
- * 조합형 길드 마크
3003
- */
3004
- guildMark;
3005
- /**
3006
- * 커스텀 길드 마크 (base64 인코딩 형식)
3007
- */
3008
- guildMarkCustom;
3009
3129
  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);
3130
+ 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;
3131
+ this.date = date ? new Date(date) : null;
3012
3132
  this.worldName = world_name;
3013
3133
  this.guildName = guild_name;
3014
3134
  this.guildLevel = guild_level;
@@ -3019,8 +3139,6 @@ class GuildBasicDto {
3019
3139
  this.guildMember = guild_member;
3020
3140
  this.guildSkill = guild_skill.map((skill) => new GuildSkillDto(skill));
3021
3141
  this.guildNoblesseSkill = guild_noblesse_skill.map((skill) => new GuildSkillDto(skill));
3022
- this.guildMark = guild_mark;
3023
- this.guildMarkCustom = guild_mark_custom;
3024
3142
  }
3025
3143
  }
3026
3144
 
@@ -3494,7 +3612,7 @@ class StarforceHistoryDto {
3494
3612
  this.worldName = world_name;
3495
3613
  this.targetItem = target_item;
3496
3614
  this.dateCreate = new Date(date_create);
3497
- this.starforceEventList = starforce_event_list.map((event) => new StarforceEventDto(event));
3615
+ this.starforceEventList = starforce_event_list?.map((event) => new StarforceEventDto(event)) ?? null;
3498
3616
  }
3499
3617
  }
3500
3618
 
@@ -3552,213 +3670,563 @@ class InspectionInfoDto {
3552
3670
  }
3553
3671
 
3554
3672
  /**
3555
- * 업적 랭킹 정보
3673
+ * 캐시샵 공지 상세
3556
3674
  */
3557
- class AchievementRankingDto {
3558
- /**
3559
- * 랭킹 업데이트 일자 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
3560
- */
3561
- date;
3675
+ class CashshopNoticeDetailDto {
3562
3676
  /**
3563
- * 업적 랭킹 순위
3677
+ * 공지 제목
3564
3678
  */
3565
- ranking;
3679
+ title;
3566
3680
  /**
3567
- * 캐릭터
3681
+ * 공지 링크
3568
3682
  */
3569
- characterName;
3683
+ url;
3570
3684
  /**
3571
- * 월드
3685
+ * 공지 본문
3572
3686
  */
3573
- worldName;
3687
+ contents;
3574
3688
  /**
3575
- * 직업
3689
+ * 공지 등록일
3576
3690
  */
3577
- className;
3691
+ date;
3578
3692
  /**
3579
- * 전직 직업 명
3693
+ * 판매 시작일
3580
3694
  */
3581
- subClassName;
3695
+ dateSaleStart;
3582
3696
  /**
3583
- * 업적 등급
3697
+ * 판매 종료일
3584
3698
  */
3585
- trophyGrade;
3699
+ dateSaleEnd;
3586
3700
  /**
3587
- * 업적 점수
3701
+ * 상시 판매 여부 (true - 상시)
3588
3702
  */
3589
- trophyScore;
3703
+ ongoingFlag;
3590
3704
  constructor(obj) {
3591
- const { date, ranking, character_name, world_name, class_name, sub_class_name, trophy_grade, trophy_score, } = obj;
3705
+ const { title, url, contents, date, date_sale_start, date_sale_end, ongoing_flag } = obj;
3706
+ this.title = title;
3707
+ this.url = url;
3708
+ this.contents = contents;
3592
3709
  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;
3710
+ this.dateSaleStart = date_sale_start ? new Date(date_sale_start) : null;
3711
+ this.dateSaleEnd = date_sale_end ? new Date(date_sale_end) : null;
3712
+ this.ongoingFlag = ongoing_flag;
3600
3713
  }
3601
- }
3602
-
3603
- /**
3604
- * 업적 랭킹 응답 정보
3605
- */
3606
- class AchievementRankingResponseDto {
3607
3714
  /**
3608
- * 업적 랭킹 정보
3715
+ * 상시 판매 여부 (true - 상시)
3609
3716
  */
3610
- ranking;
3611
- constructor(obj) {
3612
- const { ranking } = obj;
3613
- this.ranking = ranking.map((rank) => new AchievementRankingDto(rank));
3717
+ get isOnGoing() {
3718
+ return this.ongoingFlag === 'true';
3614
3719
  }
3615
3720
  }
3616
3721
 
3617
3722
  /**
3618
- * 무릉도장 랭킹 정보
3723
+ * 캐시샵 공지
3619
3724
  */
3620
- class DojangRankingDto {
3621
- /**
3622
- * 랭킹 업데이트 일자 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
3623
- */
3624
- date;
3625
- /**
3626
- * 무릉도장 랭킹 순위
3627
- */
3628
- ranking;
3725
+ class CashshopNoticeListItemDto {
3629
3726
  /**
3630
- * 캐릭터
3727
+ * 공지 제목
3631
3728
  */
3632
- characterName;
3729
+ title;
3633
3730
  /**
3634
- * 월드
3731
+ * 공지 링크
3635
3732
  */
3636
- worldName;
3733
+ url;
3637
3734
  /**
3638
- * 직업
3735
+ * 공지 식별자
3639
3736
  */
3640
- className;
3737
+ noticeId;
3641
3738
  /**
3642
- * 전직 직업 명
3739
+ * 공지 등록일
3643
3740
  */
3644
- subClassName;
3741
+ date;
3645
3742
  /**
3646
- * 캐릭터 레벨
3743
+ * 판매 시작일
3647
3744
  */
3648
- characterLevel;
3745
+ dateSaleStart;
3649
3746
  /**
3650
- * 무릉도장 구간
3747
+ * 판매 종료일
3651
3748
  */
3652
- dojangFloor;
3749
+ dateSaleEnd;
3653
3750
  /**
3654
- * 무릉도장 클리어 시간 기록 ( 단위)
3751
+ * 상시 판매 여부 (true - 상시)
3655
3752
  */
3656
- dojangTimeRecord;
3753
+ ongoingFlag;
3657
3754
  constructor(obj) {
3658
- const { date, ranking, character_name, world_name, class_name, sub_class_name, character_level, dojang_floor, dojang_time_record, } = obj;
3755
+ const { title, url, notice_id, date, date_sale_start, date_sale_end, ongoing_flag } = obj;
3756
+ this.title = title;
3757
+ this.url = url;
3758
+ this.noticeId = notice_id;
3659
3759
  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;
3760
+ this.dateSaleStart = date_sale_start ? new Date(date_sale_start) : null;
3761
+ this.dateSaleEnd = date_sale_end ? new Date(date_sale_end) : null;
3762
+ this.ongoingFlag = ongoing_flag;
3763
+ }
3764
+ /**
3765
+ * 상시 판매 여부 (true - 상시)
3766
+ */
3767
+ get isOnGoing() {
3768
+ return this.ongoingFlag === 'true';
3668
3769
  }
3669
3770
  }
3670
3771
 
3671
3772
  /**
3672
- * 무릉도장 랭킹 응답 정보
3773
+ * 캐시샵 공지 목록
3673
3774
  */
3674
- class DojangRankingResponseDto {
3775
+ class CashshopNoticeListDto {
3675
3776
  /**
3676
- * 길드 랭킹 정보
3777
+ * 공지 목록
3677
3778
  */
3678
- ranking;
3779
+ cashshopNotice;
3679
3780
  constructor(obj) {
3680
- const { ranking } = obj;
3681
- this.ranking = ranking.map((rank) => new DojangRankingDto(rank));
3781
+ const { cashshop_notice } = obj;
3782
+ this.cashshopNotice = cashshop_notice.map(notice => new CashshopNoticeListItemDto(notice));
3682
3783
  }
3683
3784
  }
3684
3785
 
3685
3786
  /**
3686
- * 길드 랭킹 정보
3787
+ * 진행 이벤트 상세
3687
3788
  */
3688
- class GuildRankingDto {
3789
+ class EventNoticeDetailDto {
3689
3790
  /**
3690
- * 랭킹 업데이트 일자 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
3791
+ * 공지 제목
3792
+ */
3793
+ title;
3794
+ /**
3795
+ * 공지 링크
3796
+ */
3797
+ url;
3798
+ /**
3799
+ * 공지 본문
3800
+ */
3801
+ contents;
3802
+ /**
3803
+ * 공지 등록일
3691
3804
  */
3692
3805
  date;
3693
3806
  /**
3694
- * 길드 랭킹 순위
3807
+ * 이벤트 시작일
3695
3808
  */
3696
- ranking;
3809
+ dateEventStart;
3697
3810
  /**
3698
- * 길드
3811
+ * 이벤트 종료일
3699
3812
  */
3700
- guildName;
3813
+ dateEventEnd;
3814
+ constructor(obj) {
3815
+ const { title, url, contents, date, date_event_start, date_event_end } = obj;
3816
+ this.title = title;
3817
+ this.url = url;
3818
+ this.contents = contents;
3819
+ this.date = new Date(date);
3820
+ this.dateEventStart = new Date(date_event_start);
3821
+ this.dateEventEnd = new Date(date_event_end);
3822
+ }
3823
+ }
3824
+
3825
+ /**
3826
+ * 진행 중 이벤트 공지
3827
+ */
3828
+ class EventNoticeListItemDto {
3701
3829
  /**
3702
- * 월드
3830
+ * 공지 제목
3703
3831
  */
3704
- worldName;
3832
+ title;
3705
3833
  /**
3706
- * 길드 레벨
3834
+ * 공지 링크
3707
3835
  */
3708
- guildLevel;
3836
+ url;
3709
3837
  /**
3710
- * 길드 마스터 캐릭터 명
3838
+ * 공지 식별자
3711
3839
  */
3712
- guildMasterName;
3840
+ noticeId;
3713
3841
  /**
3714
- * 길드 마크
3842
+ * 공지 등록일
3715
3843
  */
3716
- guildMark;
3844
+ date;
3717
3845
  /**
3718
- * 길드 포인트
3846
+ * 이벤트 시작일
3719
3847
  */
3720
- guildPoint;
3848
+ dateEventStart;
3849
+ /**
3850
+ * 이벤트 종료일
3851
+ */
3852
+ dateEventEnd;
3721
3853
  constructor(obj) {
3722
- const { date, ranking, guild_name, world_name, guild_level, guild_master_name, guild_mark, guild_point, } = obj;
3854
+ const { title, url, notice_id, date, date_event_start, date_event_end } = obj;
3855
+ this.title = title;
3856
+ this.url = url;
3857
+ this.noticeId = notice_id;
3723
3858
  this.date = new Date(date);
3724
- this.ranking = ranking;
3725
- this.guildName = guild_name;
3726
- this.worldName = world_name;
3727
- this.guildLevel = guild_level;
3728
- this.guildMasterName = guild_master_name;
3729
- this.guildMark = guild_mark;
3730
- this.guildPoint = guild_point;
3859
+ this.dateEventStart = new Date(date_event_start);
3860
+ this.dateEventEnd = new Date(date_event_end);
3731
3861
  }
3732
3862
  }
3733
3863
 
3734
3864
  /**
3735
- * 길드 랭킹 응답 정보
3865
+ * 진행 이벤트 공지 목록
3736
3866
  */
3737
- class GuildRankingResponseDto {
3867
+ class EventNoticeListDto {
3738
3868
  /**
3739
- * 길드 랭킹 정보
3869
+ * 공지 목록
3740
3870
  */
3741
- ranking;
3871
+ eventNotice;
3742
3872
  constructor(obj) {
3743
- const { ranking } = obj;
3744
- this.ranking = ranking.map((rank) => new GuildRankingDto(rank));
3873
+ const { event_notice } = obj;
3874
+ this.eventNotice = event_notice.map(notice => new EventNoticeListItemDto(notice));
3745
3875
  }
3746
3876
  }
3747
3877
 
3748
3878
  /**
3749
- * 종합 랭킹 정보
3879
+ * 공지사항 상세
3750
3880
  */
3751
- class OverallRankingDto {
3881
+ class NoticeDetailDto {
3752
3882
  /**
3753
- * 랭킹 업데이트 일자 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
3883
+ * 공지 제목
3754
3884
  */
3755
- date;
3885
+ title;
3756
3886
  /**
3757
- * 종합 랭킹 순위
3887
+ * 공지 링크
3758
3888
  */
3759
- ranking;
3889
+ url;
3760
3890
  /**
3761
- * 캐릭터
3891
+ * 공지 본문
3892
+ */
3893
+ contents;
3894
+ /**
3895
+ * 공지 등록일
3896
+ */
3897
+ date;
3898
+ constructor(obj) {
3899
+ const { title, url, contents, date } = obj;
3900
+ this.title = title;
3901
+ this.url = url;
3902
+ this.contents = contents;
3903
+ this.date = new Date(date);
3904
+ }
3905
+ }
3906
+
3907
+ /**
3908
+ * 공지사항
3909
+ */
3910
+ class NoticeListItemDto {
3911
+ /**
3912
+ * 공지 제목
3913
+ */
3914
+ title;
3915
+ /**
3916
+ * 공지 링크
3917
+ */
3918
+ url;
3919
+ /**
3920
+ * 공지 식별자
3921
+ */
3922
+ noticeId;
3923
+ /**
3924
+ * 공지 등록일
3925
+ */
3926
+ date;
3927
+ constructor(obj) {
3928
+ const { title, url, notice_id, date } = obj;
3929
+ this.title = title;
3930
+ this.url = url;
3931
+ this.noticeId = notice_id;
3932
+ this.date = new Date(date);
3933
+ }
3934
+ }
3935
+
3936
+ /**
3937
+ * 공지사항 목록
3938
+ */
3939
+ class NoticeListDto {
3940
+ /**
3941
+ * 공지 목록
3942
+ */
3943
+ notice;
3944
+ constructor(obj) {
3945
+ const { notice } = obj;
3946
+ this.notice = notice.map(notice => new NoticeListItemDto(notice));
3947
+ }
3948
+ }
3949
+
3950
+ /**
3951
+ * 업데이트 상세
3952
+ */
3953
+ class UpdateNoticeDetailDto {
3954
+ /**
3955
+ * 공지 제목
3956
+ */
3957
+ title;
3958
+ /**
3959
+ * 공지 링크
3960
+ */
3961
+ url;
3962
+ /**
3963
+ * 공지 본문
3964
+ */
3965
+ contents;
3966
+ /**
3967
+ * 공지 등록일
3968
+ */
3969
+ date;
3970
+ constructor(obj) {
3971
+ const { title, url, contents, date } = obj;
3972
+ this.title = title;
3973
+ this.url = url;
3974
+ this.contents = contents;
3975
+ this.date = new Date(date);
3976
+ }
3977
+ }
3978
+
3979
+ /**
3980
+ * 업데이트 공지
3981
+ */
3982
+ class UpdateNoticeListItemDto {
3983
+ /**
3984
+ * 공지 제목
3985
+ */
3986
+ title;
3987
+ /**
3988
+ * 공지 링크
3989
+ */
3990
+ url;
3991
+ /**
3992
+ * 공지 식별자
3993
+ */
3994
+ noticeId;
3995
+ /**
3996
+ * 공지 등록일
3997
+ */
3998
+ date;
3999
+ constructor(obj) {
4000
+ const { title, url, notice_id, date } = obj;
4001
+ this.title = title;
4002
+ this.url = url;
4003
+ this.noticeId = notice_id;
4004
+ this.date = new Date(date);
4005
+ }
4006
+ }
4007
+
4008
+ /**
4009
+ * 업데이트 목록
4010
+ */
4011
+ class UpdateNoticeListDto {
4012
+ /**
4013
+ * 공지 목록
4014
+ */
4015
+ updateNotice;
4016
+ constructor(obj) {
4017
+ const { update_notice } = obj;
4018
+ this.updateNotice = update_notice.map(notice => new UpdateNoticeListItemDto(notice));
4019
+ }
4020
+ }
4021
+
4022
+ /**
4023
+ * 업적 랭킹 정보
4024
+ */
4025
+ class AchievementRankingDto {
4026
+ /**
4027
+ * 랭킹 업데이트 일자 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
4028
+ */
4029
+ date;
4030
+ /**
4031
+ * 업적 랭킹 순위
4032
+ */
4033
+ ranking;
4034
+ /**
4035
+ * 캐릭터 명
4036
+ */
4037
+ characterName;
4038
+ /**
4039
+ * 월드 명
4040
+ */
4041
+ worldName;
4042
+ /**
4043
+ * 직업 명
4044
+ */
4045
+ className;
4046
+ /**
4047
+ * 전직 직업 명
4048
+ */
4049
+ subClassName;
4050
+ /**
4051
+ * 업적 등급
4052
+ */
4053
+ trophyGrade;
4054
+ /**
4055
+ * 업적 점수
4056
+ */
4057
+ trophyScore;
4058
+ constructor(obj) {
4059
+ const { date, ranking, character_name, world_name, class_name, sub_class_name, trophy_grade, trophy_score, } = obj;
4060
+ this.date = new Date(date);
4061
+ this.ranking = ranking;
4062
+ this.characterName = character_name;
4063
+ this.worldName = world_name;
4064
+ this.className = class_name;
4065
+ this.subClassName = sub_class_name;
4066
+ this.trophyGrade = trophy_grade;
4067
+ this.trophyScore = trophy_score;
4068
+ }
4069
+ }
4070
+
4071
+ /**
4072
+ * 업적 랭킹 응답 정보
4073
+ */
4074
+ class AchievementRankingResponseDto {
4075
+ /**
4076
+ * 업적 랭킹 정보
4077
+ */
4078
+ ranking;
4079
+ constructor(obj) {
4080
+ const { ranking } = obj;
4081
+ this.ranking = ranking.map((rank) => new AchievementRankingDto(rank));
4082
+ }
4083
+ }
4084
+
4085
+ /**
4086
+ * 무릉도장 랭킹 정보
4087
+ */
4088
+ class DojangRankingDto {
4089
+ /**
4090
+ * 랭킹 업데이트 일자 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
4091
+ */
4092
+ date;
4093
+ /**
4094
+ * 무릉도장 랭킹 순위
4095
+ */
4096
+ ranking;
4097
+ /**
4098
+ * 캐릭터 명
4099
+ */
4100
+ characterName;
4101
+ /**
4102
+ * 월드 명
4103
+ */
4104
+ worldName;
4105
+ /**
4106
+ * 직업 명
4107
+ */
4108
+ className;
4109
+ /**
4110
+ * 전직 직업 명
4111
+ */
4112
+ subClassName;
4113
+ /**
4114
+ * 캐릭터 레벨
4115
+ */
4116
+ characterLevel;
4117
+ /**
4118
+ * 무릉도장 구간
4119
+ */
4120
+ dojangFloor;
4121
+ /**
4122
+ * 무릉도장 클리어 시간 기록 (초 단위)
4123
+ */
4124
+ dojangTimeRecord;
4125
+ constructor(obj) {
4126
+ const { date, ranking, character_name, world_name, class_name, sub_class_name, character_level, dojang_floor, dojang_time_record, } = obj;
4127
+ this.date = new Date(date);
4128
+ this.ranking = ranking;
4129
+ this.characterName = character_name;
4130
+ this.worldName = world_name;
4131
+ this.className = class_name;
4132
+ this.subClassName = sub_class_name;
4133
+ this.characterLevel = character_level;
4134
+ this.dojangFloor = dojang_floor;
4135
+ this.dojangTimeRecord = dojang_time_record;
4136
+ }
4137
+ }
4138
+
4139
+ /**
4140
+ * 무릉도장 랭킹 응답 정보
4141
+ */
4142
+ class DojangRankingResponseDto {
4143
+ /**
4144
+ * 길드 랭킹 정보
4145
+ */
4146
+ ranking;
4147
+ constructor(obj) {
4148
+ const { ranking } = obj;
4149
+ this.ranking = ranking.map((rank) => new DojangRankingDto(rank));
4150
+ }
4151
+ }
4152
+
4153
+ /**
4154
+ * 길드 랭킹 정보
4155
+ */
4156
+ class GuildRankingDto {
4157
+ /**
4158
+ * 랭킹 업데이트 일자 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
4159
+ */
4160
+ date;
4161
+ /**
4162
+ * 길드 랭킹 순위
4163
+ */
4164
+ ranking;
4165
+ /**
4166
+ * 길드 명
4167
+ */
4168
+ guildName;
4169
+ /**
4170
+ * 월드 명
4171
+ */
4172
+ worldName;
4173
+ /**
4174
+ * 길드 레벨
4175
+ */
4176
+ guildLevel;
4177
+ /**
4178
+ * 길드 마스터 캐릭터 명
4179
+ */
4180
+ guildMasterName;
4181
+ /**
4182
+ * 길드 마크
4183
+ */
4184
+ guildMark;
4185
+ /**
4186
+ * 길드 포인트
4187
+ */
4188
+ guildPoint;
4189
+ constructor(obj) {
4190
+ const { date, ranking, guild_name, world_name, guild_level, guild_master_name, guild_mark, guild_point, } = obj;
4191
+ this.date = new Date(date);
4192
+ this.ranking = ranking;
4193
+ this.guildName = guild_name;
4194
+ this.worldName = world_name;
4195
+ this.guildLevel = guild_level;
4196
+ this.guildMasterName = guild_master_name;
4197
+ this.guildMark = guild_mark;
4198
+ this.guildPoint = guild_point;
4199
+ }
4200
+ }
4201
+
4202
+ /**
4203
+ * 길드 랭킹 응답 정보
4204
+ */
4205
+ class GuildRankingResponseDto {
4206
+ /**
4207
+ * 길드 랭킹 정보
4208
+ */
4209
+ ranking;
4210
+ constructor(obj) {
4211
+ const { ranking } = obj;
4212
+ this.ranking = ranking.map((rank) => new GuildRankingDto(rank));
4213
+ }
4214
+ }
4215
+
4216
+ /**
4217
+ * 종합 랭킹 정보
4218
+ */
4219
+ class OverallRankingDto {
4220
+ /**
4221
+ * 랭킹 업데이트 일자 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
4222
+ */
4223
+ date;
4224
+ /**
4225
+ * 종합 랭킹 순위
4226
+ */
4227
+ ranking;
4228
+ /**
4229
+ * 캐릭터 명
3762
4230
  */
3763
4231
  characterName;
3764
4232
  /**
@@ -4034,7 +4502,7 @@ class UnionArtifactDto {
4034
4502
  unionArtifactRemainAp;
4035
4503
  constructor(obj) {
4036
4504
  const { date, union_artifact_effect, union_artifact_crystal, union_artifact_remain_ap, } = obj;
4037
- this.date = new Date(date);
4505
+ this.date = date ? new Date(date) : null;
4038
4506
  this.unionArtifactEffect = union_artifact_effect.map((effect) => new UnionArtifactEffectDto(effect));
4039
4507
  this.unionArtifactCrystal = union_artifact_crystal.map((crystal) => new UnionArtifactCrystalDto(crystal));
4040
4508
  this.unionArtifactRemainAp = union_artifact_remain_ap;
@@ -4071,7 +4539,7 @@ class UnionDto {
4071
4539
  unionArtifactPoint;
4072
4540
  constructor(obj) {
4073
4541
  const { date, union_level, union_grade, union_artifact_level, union_artifact_exp, union_artifact_point } = obj;
4074
- this.date = new Date(date);
4542
+ this.date = date ? new Date(date) : null;
4075
4543
  this.unionLevel = union_level;
4076
4544
  this.unionGrade = union_grade;
4077
4545
  this.unionArtifactLevel = union_artifact_level;
@@ -4159,17 +4627,46 @@ class UnionRaiderBlockDto {
4159
4627
  */
4160
4628
  class UnionRaiderInnerStatDto {
4161
4629
  /**
4162
- * 공격대 배치 위치 (11시 방향부터 시계 방향 순서대로 0~7)
4630
+ * 공격대 배치 위치 (11시 방향부터 시계 방향 순서대로 0~7)
4631
+ */
4632
+ statFieldId;
4633
+ /**
4634
+ * 해당 지역 점령 효과
4635
+ */
4636
+ statFieldEffect;
4637
+ constructor(obj) {
4638
+ const { stat_field_id, stat_field_effect } = obj;
4639
+ this.statFieldId = stat_field_id;
4640
+ this.statFieldEffect = stat_field_effect;
4641
+ }
4642
+ }
4643
+
4644
+ /**
4645
+ * 유니온 프리셋 정보
4646
+ */
4647
+ class UnionRaiderPresetDto {
4648
+ /**
4649
+ * 유니온 공격대원 효과
4650
+ */
4651
+ unionRaiderStat;
4652
+ /**
4653
+ * 유니온 공격대 점령 효과
4654
+ */
4655
+ unionOccupiedStat;
4656
+ /**
4657
+ * 유니온 공격대 배치
4163
4658
  */
4164
- statFieldId;
4659
+ unionInnerStat;
4165
4660
  /**
4166
- * 해당 지역 점령 효과
4661
+ * 유니온 블록 정보
4167
4662
  */
4168
- statFieldEffect;
4663
+ unionBlock;
4169
4664
  constructor(obj) {
4170
- const { stat_field_id, stat_field_effect } = obj;
4171
- this.statFieldId = stat_field_id;
4172
- this.statFieldEffect = stat_field_effect;
4665
+ const { union_raider_stat, union_occupied_stat, union_inner_stat, union_block, } = obj;
4666
+ this.unionRaiderStat = union_raider_stat;
4667
+ this.unionOccupiedStat = union_occupied_stat;
4668
+ this.unionInnerStat = union_inner_stat.map((stat) => new UnionRaiderInnerStatDto(stat));
4669
+ this.unionBlock = union_block.map((block) => new UnionRaiderBlockDto(block));
4173
4670
  }
4174
4671
  }
4175
4672
 
@@ -4194,13 +4691,53 @@ class UnionRaiderDto {
4194
4691
  * 유니온 블록 정보
4195
4692
  */
4196
4693
  unionBlock;
4694
+ /**
4695
+ * 적용 중인 프리셋 번호
4696
+ */
4697
+ usePresetNo;
4698
+ /**
4699
+ * 유니온 프리셋 1번 정보
4700
+ */
4701
+ unionRaiderPreset1;
4702
+ /**
4703
+ * 유니온 프리셋 2번 정보
4704
+ */
4705
+ unionRaiderPreset2;
4706
+ /**
4707
+ * 유니온 프리셋 3번 정보
4708
+ */
4709
+ unionRaiderPreset3;
4710
+ /**
4711
+ * 유니온 프리셋 4번 정보
4712
+ */
4713
+ unionRaiderPreset4;
4714
+ /**
4715
+ * 유니온 프리셋 5번 정보
4716
+ */
4717
+ unionRaiderPreset5;
4197
4718
  constructor(obj) {
4198
- const { date, union_raider_stat, union_occupied_stat, union_inner_stat, union_block, } = obj;
4199
- this.date = new Date(date);
4719
+ 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;
4720
+ this.date = date ? new Date(date) : null;
4200
4721
  this.unionRaiderStat = union_raider_stat;
4201
4722
  this.unionOccupiedStat = union_occupied_stat;
4202
4723
  this.unionInnerStat = union_inner_stat.map((stat) => new UnionRaiderInnerStatDto(stat));
4203
4724
  this.unionBlock = union_block.map((block) => new UnionRaiderBlockDto(block));
4725
+ this.usePresetNo = use_preset_no;
4726
+ this.unionRaiderPreset1 = union_raider_preset_1
4727
+ ? new UnionRaiderPresetDto(union_raider_preset_1)
4728
+ : null;
4729
+ this.unionRaiderPreset2 = union_raider_preset_2
4730
+ ? new UnionRaiderPresetDto(union_raider_preset_2)
4731
+ : null;
4732
+ this.unionRaiderPreset3 = union_raider_preset_3
4733
+ ? new UnionRaiderPresetDto(union_raider_preset_3)
4734
+ : null;
4735
+ this.unionRaiderPreset4 = union_raider_preset_4
4736
+ ? new UnionRaiderPresetDto(union_raider_preset_4)
4737
+ : null;
4738
+ this.unionRaiderPreset5 = union_raider_preset_5
4739
+ ? new UnionRaiderPresetDto(union_raider_preset_5)
4740
+ : null;
4204
4741
  }
4205
4742
  }
4206
4743
 
@@ -4234,6 +4771,7 @@ var MapleStoryApiErrorCode;
4234
4771
  MapleStoryApiErrorCode[MapleStoryApiErrorCode["OPENAPI00007"] = 6] = "OPENAPI00007";
4235
4772
  MapleStoryApiErrorCode[MapleStoryApiErrorCode["OPENAPI00009"] = 7] = "OPENAPI00009";
4236
4773
  MapleStoryApiErrorCode[MapleStoryApiErrorCode["OPENAPI00010"] = 8] = "OPENAPI00010";
4774
+ MapleStoryApiErrorCode[MapleStoryApiErrorCode["OPENAPI00011"] = 9] = "OPENAPI00011";
4237
4775
  })(MapleStoryApiErrorCode || (MapleStoryApiErrorCode = {}));
4238
4776
  const errorMap = {
4239
4777
  ['OPENAPI00001']: MapleStoryApiErrorCode.OPENAPI00001,
@@ -4245,6 +4783,7 @@ const errorMap = {
4245
4783
  ['OPENAPI00007']: MapleStoryApiErrorCode.OPENAPI00007,
4246
4784
  ['OPENAPI00009']: MapleStoryApiErrorCode.OPENAPI00009,
4247
4785
  ['OPENAPI00010']: MapleStoryApiErrorCode.OPENAPI00010,
4786
+ ['OPENAPI00011']: MapleStoryApiErrorCode.OPENAPI00011,
4248
4787
  };
4249
4788
 
4250
4789
  dayjs.extend(timezone);
@@ -4285,8 +4824,9 @@ class MapleStoryApi {
4285
4824
  //#region 캐릭터 정보 조회
4286
4825
  /**
4287
4826
  * 캐릭터 식별자(ocid)를 조회합니다.
4827
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4288
4828
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4289
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
4829
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4290
4830
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4291
4831
  *
4292
4832
  * @param characterName 캐릭터 명
@@ -4300,28 +4840,39 @@ class MapleStoryApi {
4300
4840
  });
4301
4841
  return new CharacterDto(data);
4302
4842
  }
4843
+ /**
4844
+ * 계정의 보유 캐릭터 목록을 조회합니다.
4845
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4846
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 수 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 수 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23일 00시 사이 데이터가 조회 됩니다.)
4847
+ * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4848
+ */
4849
+ async getCharacterList() {
4850
+ const path = 'maplestory/v1/character/list';
4851
+ const { data } = await this.client.get(path);
4852
+ return new CharacterListDto(data);
4853
+ }
4303
4854
  /**
4304
4855
  * 기본 정보를 조회합니다.
4856
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4305
4857
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4306
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
4858
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4307
4859
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4308
4860
  *
4309
4861
  * @param ocid 캐릭터 식별자
4310
4862
  * @param dateOptions 조회 기준일 (KST)
4311
4863
  */
4312
- async getCharacterBasic(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4313
- hour: 1,
4314
- minute: 0,
4315
- dateOffset: 1,
4316
- })) {
4864
+ async getCharacterBasic(ocid, dateOptions) {
4317
4865
  const path = 'maplestory/v1/character/basic';
4318
- const query = {
4319
- ocid: ocid,
4320
- date: MapleStoryApi.toDateString({
4866
+ const date = dateOptions
4867
+ ? MapleStoryApi.toDateString({
4321
4868
  year: 2023,
4322
4869
  month: 12,
4323
4870
  day: 21,
4324
- }, dateOptions),
4871
+ }, dateOptions)
4872
+ : undefined;
4873
+ const query = {
4874
+ ocid: ocid,
4875
+ date: date,
4325
4876
  };
4326
4877
  const { data } = await this.client.get(path, {
4327
4878
  params: query,
@@ -4330,26 +4881,26 @@ class MapleStoryApi {
4330
4881
  }
4331
4882
  /**
4332
4883
  * 인기도 정보를 조회합니다.
4884
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4333
4885
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4334
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
4886
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4335
4887
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4336
4888
  *
4337
4889
  * @param ocid 캐릭터 식별자
4338
4890
  * @param dateOptions 조회 기준일 (KST)
4339
4891
  */
4340
- async getCharacterPopularity(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4341
- hour: 1,
4342
- minute: 0,
4343
- dateOffset: 1,
4344
- })) {
4892
+ async getCharacterPopularity(ocid, dateOptions) {
4345
4893
  const path = 'maplestory/v1/character/popularity';
4346
- const query = {
4347
- ocid: ocid,
4348
- date: MapleStoryApi.toDateString({
4894
+ const date = dateOptions
4895
+ ? MapleStoryApi.toDateString({
4349
4896
  year: 2023,
4350
4897
  month: 12,
4351
4898
  day: 21,
4352
- }, dateOptions),
4899
+ }, dateOptions)
4900
+ : undefined;
4901
+ const query = {
4902
+ ocid: ocid,
4903
+ date: date,
4353
4904
  };
4354
4905
  const { data } = await this.client.get(path, {
4355
4906
  params: query,
@@ -4358,26 +4909,26 @@ class MapleStoryApi {
4358
4909
  }
4359
4910
  /**
4360
4911
  * 종합 능력치 정보를 조회합니다.
4912
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4361
4913
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4362
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
4914
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4363
4915
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4364
4916
  *
4365
4917
  * @param ocid 캐릭터 식별자
4366
4918
  * @param dateOptions 조회 기준일 (KST)
4367
4919
  */
4368
- async getCharacterStat(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4369
- hour: 1,
4370
- minute: 0,
4371
- dateOffset: 1,
4372
- })) {
4920
+ async getCharacterStat(ocid, dateOptions) {
4373
4921
  const path = 'maplestory/v1/character/stat';
4374
- const query = {
4375
- ocid: ocid,
4376
- date: MapleStoryApi.toDateString({
4922
+ const date = dateOptions
4923
+ ? MapleStoryApi.toDateString({
4377
4924
  year: 2023,
4378
4925
  month: 12,
4379
4926
  day: 21,
4380
- }, dateOptions),
4927
+ }, dateOptions)
4928
+ : undefined;
4929
+ const query = {
4930
+ ocid: ocid,
4931
+ date: date,
4381
4932
  };
4382
4933
  const { data } = await this.client.get(path, {
4383
4934
  params: query,
@@ -4386,26 +4937,26 @@ class MapleStoryApi {
4386
4937
  }
4387
4938
  /**
4388
4939
  * 하이퍼스탯 정보를 조회합니다.
4940
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4389
4941
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4390
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
4942
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4391
4943
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4392
4944
  *
4393
4945
  * @param ocid 캐릭터 식별자
4394
4946
  * @param dateOptions 조회 기준일 (KST)
4395
4947
  */
4396
- async getCharacterHyperStat(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4397
- hour: 1,
4398
- minute: 0,
4399
- dateOffset: 1,
4400
- })) {
4948
+ async getCharacterHyperStat(ocid, dateOptions) {
4401
4949
  const path = 'maplestory/v1/character/hyper-stat';
4402
- const query = {
4403
- ocid: ocid,
4404
- date: MapleStoryApi.toDateString({
4950
+ const date = dateOptions
4951
+ ? MapleStoryApi.toDateString({
4405
4952
  year: 2023,
4406
4953
  month: 12,
4407
4954
  day: 21,
4408
- }, dateOptions),
4955
+ }, dateOptions)
4956
+ : undefined;
4957
+ const query = {
4958
+ ocid: ocid,
4959
+ date: date,
4409
4960
  };
4410
4961
  const { data } = await this.client.get(path, {
4411
4962
  params: query,
@@ -4414,26 +4965,26 @@ class MapleStoryApi {
4414
4965
  }
4415
4966
  /**
4416
4967
  * 성향 정보를 조회합니다.
4968
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4417
4969
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4418
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
4970
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4419
4971
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4420
4972
  *
4421
4973
  * @param ocid 캐릭터 식별자
4422
4974
  * @param dateOptions 조회 기준일 (KST)
4423
4975
  */
4424
- async getCharacterPropensity(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4425
- hour: 1,
4426
- minute: 0,
4427
- dateOffset: 1,
4428
- })) {
4976
+ async getCharacterPropensity(ocid, dateOptions) {
4429
4977
  const path = 'maplestory/v1/character/propensity';
4430
- const query = {
4431
- ocid: ocid,
4432
- date: MapleStoryApi.toDateString({
4978
+ const date = dateOptions
4979
+ ? MapleStoryApi.toDateString({
4433
4980
  year: 2023,
4434
4981
  month: 12,
4435
4982
  day: 21,
4436
- }, dateOptions),
4983
+ }, dateOptions)
4984
+ : undefined;
4985
+ const query = {
4986
+ ocid: ocid,
4987
+ date: date,
4437
4988
  };
4438
4989
  const { data } = await this.client.get(path, {
4439
4990
  params: query,
@@ -4442,26 +4993,26 @@ class MapleStoryApi {
4442
4993
  }
4443
4994
  /**
4444
4995
  * 어빌리티 정보를 조회합니다.
4996
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4445
4997
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4446
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
4998
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4447
4999
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4448
5000
  *
4449
5001
  * @param ocid 캐릭터 식별자
4450
5002
  * @param dateOptions 조회 기준일 (KST)
4451
5003
  */
4452
- async getCharacterAbility(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4453
- hour: 1,
4454
- minute: 0,
4455
- dateOffset: 1,
4456
- })) {
5004
+ async getCharacterAbility(ocid, dateOptions) {
4457
5005
  const path = 'maplestory/v1/character/ability';
4458
- const query = {
4459
- ocid: ocid,
4460
- date: MapleStoryApi.toDateString({
5006
+ const date = dateOptions
5007
+ ? MapleStoryApi.toDateString({
4461
5008
  year: 2023,
4462
5009
  month: 12,
4463
5010
  day: 21,
4464
- }, dateOptions),
5011
+ }, dateOptions)
5012
+ : undefined;
5013
+ const query = {
5014
+ ocid: ocid,
5015
+ date: date,
4465
5016
  };
4466
5017
  const { data } = await this.client.get(path, {
4467
5018
  params: query,
@@ -4470,26 +5021,26 @@ class MapleStoryApi {
4470
5021
  }
4471
5022
  /**
4472
5023
  * 장착한 장비 중 캐시 장비를 제외한 나머지 장비 정보를 조회합니다.
5024
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4473
5025
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4474
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5026
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4475
5027
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4476
5028
  *
4477
5029
  * @param ocid 캐릭터 식별자
4478
5030
  * @param dateOptions 조회 기준일 (KST)
4479
5031
  */
4480
- async getCharacterItemEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4481
- hour: 1,
4482
- minute: 0,
4483
- dateOffset: 1,
4484
- })) {
5032
+ async getCharacterItemEquipment(ocid, dateOptions) {
4485
5033
  const path = 'maplestory/v1/character/item-equipment';
4486
- const query = {
4487
- ocid: ocid,
4488
- date: MapleStoryApi.toDateString({
5034
+ const date = dateOptions
5035
+ ? MapleStoryApi.toDateString({
4489
5036
  year: 2023,
4490
5037
  month: 12,
4491
5038
  day: 21,
4492
- }, dateOptions),
5039
+ }, dateOptions)
5040
+ : undefined;
5041
+ const query = {
5042
+ ocid: ocid,
5043
+ date: date,
4493
5044
  };
4494
5045
  const { data } = await this.client.get(path, {
4495
5046
  params: query,
@@ -4498,26 +5049,26 @@ class MapleStoryApi {
4498
5049
  }
4499
5050
  /**
4500
5051
  * 장착한 캐시 장비 정보를 조회합니다.
5052
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4501
5053
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4502
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5054
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4503
5055
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4504
5056
  *
4505
5057
  * @param ocid 캐릭터 식별자
4506
5058
  * @param dateOptions 조회 기준일 (KST)
4507
5059
  */
4508
- async getCharacterCashItemEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4509
- hour: 1,
4510
- minute: 0,
4511
- dateOffset: 1,
4512
- })) {
5060
+ async getCharacterCashItemEquipment(ocid, dateOptions) {
4513
5061
  const path = 'maplestory/v1/character/cashitem-equipment';
4514
- const query = {
4515
- ocid: ocid,
4516
- date: MapleStoryApi.toDateString({
5062
+ const date = dateOptions
5063
+ ? MapleStoryApi.toDateString({
4517
5064
  year: 2023,
4518
5065
  month: 12,
4519
5066
  day: 21,
4520
- }, dateOptions),
5067
+ }, dateOptions)
5068
+ : undefined;
5069
+ const query = {
5070
+ ocid: ocid,
5071
+ date: date,
4521
5072
  };
4522
5073
  const { data } = await this.client.get(path, {
4523
5074
  params: query,
@@ -4526,26 +5077,26 @@ class MapleStoryApi {
4526
5077
  }
4527
5078
  /**
4528
5079
  * 장착한 심볼 정보를 조회합니다.
5080
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4529
5081
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4530
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5082
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4531
5083
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4532
5084
  *
4533
5085
  * @param ocid 캐릭터 식별자
4534
5086
  * @param dateOptions 조회 기준일 (KST)
4535
5087
  */
4536
- async getCharacterSymbolEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4537
- hour: 1,
4538
- minute: 0,
4539
- dateOffset: 1,
4540
- })) {
5088
+ async getCharacterSymbolEquipment(ocid, dateOptions) {
4541
5089
  const path = 'maplestory/v1/character/symbol-equipment';
4542
- const query = {
4543
- ocid: ocid,
4544
- date: MapleStoryApi.toDateString({
5090
+ const date = dateOptions
5091
+ ? MapleStoryApi.toDateString({
4545
5092
  year: 2023,
4546
5093
  month: 12,
4547
5094
  day: 21,
4548
- }, dateOptions),
5095
+ }, dateOptions)
5096
+ : undefined;
5097
+ const query = {
5098
+ ocid: ocid,
5099
+ date: date,
4549
5100
  };
4550
5101
  const { data } = await this.client.get(path, {
4551
5102
  params: query,
@@ -4554,26 +5105,26 @@ class MapleStoryApi {
4554
5105
  }
4555
5106
  /**
4556
5107
  * 적용받고 있는 세트 효과 정보를 조회합니다.
5108
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4557
5109
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4558
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5110
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4559
5111
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4560
5112
  *
4561
5113
  * @param ocid 캐릭터 식별자
4562
5114
  * @param dateOptions 조회 기준일 (KST)
4563
5115
  */
4564
- async getCharacterSetEffect(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4565
- hour: 1,
4566
- minute: 0,
4567
- dateOffset: 1,
4568
- })) {
5116
+ async getCharacterSetEffect(ocid, dateOptions) {
4569
5117
  const path = 'maplestory/v1/character/set-effect';
4570
- const query = {
4571
- ocid: ocid,
4572
- date: MapleStoryApi.toDateString({
5118
+ const date = dateOptions
5119
+ ? MapleStoryApi.toDateString({
4573
5120
  year: 2023,
4574
5121
  month: 12,
4575
5122
  day: 21,
4576
- }, dateOptions),
5123
+ }, dateOptions)
5124
+ : undefined;
5125
+ const query = {
5126
+ ocid: ocid,
5127
+ date: date,
4577
5128
  };
4578
5129
  const { data } = await this.client.get(path, {
4579
5130
  params: query,
@@ -4582,26 +5133,23 @@ class MapleStoryApi {
4582
5133
  }
4583
5134
  /**
4584
5135
  * 장착 중인 헤어, 성형, 피부 정보를 조회합니다.
5136
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4585
5137
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4586
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5138
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4587
5139
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4588
5140
  *
4589
5141
  * @param ocid 캐릭터 식별자
4590
5142
  * @param dateOptions 조회 기준일 (KST)
4591
5143
  */
4592
- async getCharacterBeautyEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4593
- hour: 1,
4594
- minute: 0,
4595
- dateOffset: 1,
4596
- })) {
5144
+ async getCharacterBeautyEquipment(ocid, dateOptions) {
4597
5145
  const path = 'maplestory/v1/character/beauty-equipment';
4598
5146
  const query = {
4599
5147
  ocid: ocid,
4600
- date: MapleStoryApi.toDateString({
5148
+ date: dateOptions ? MapleStoryApi.toDateString({
4601
5149
  year: 2023,
4602
5150
  month: 12,
4603
5151
  day: 21,
4604
- }, dateOptions),
5152
+ }, dateOptions) : undefined,
4605
5153
  };
4606
5154
  const { data } = await this.client.get(path, {
4607
5155
  params: query,
@@ -4610,26 +5158,26 @@ class MapleStoryApi {
4610
5158
  }
4611
5159
  /**
4612
5160
  * 장착한 안드로이드 정보를 조회합니다.
5161
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4613
5162
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4614
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5163
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4615
5164
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4616
5165
  *
4617
5166
  * @param ocid 캐릭터 식별자
4618
5167
  * @param dateOptions 조회 기준일 (KST)
4619
5168
  */
4620
- async getCharacterAndroidEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4621
- hour: 1,
4622
- minute: 0,
4623
- dateOffset: 1,
4624
- })) {
5169
+ async getCharacterAndroidEquipment(ocid, dateOptions) {
4625
5170
  const path = 'maplestory/v1/character/android-equipment';
4626
- const query = {
4627
- ocid: ocid,
4628
- date: MapleStoryApi.toDateString({
5171
+ const date = dateOptions
5172
+ ? MapleStoryApi.toDateString({
4629
5173
  year: 2023,
4630
5174
  month: 12,
4631
5175
  day: 21,
4632
- }, dateOptions),
5176
+ }, dateOptions)
5177
+ : undefined;
5178
+ const query = {
5179
+ ocid: ocid,
5180
+ date: date,
4633
5181
  };
4634
5182
  const { data } = await this.client.get(path, {
4635
5183
  params: query,
@@ -4638,26 +5186,26 @@ class MapleStoryApi {
4638
5186
  }
4639
5187
  /**
4640
5188
  * 장착한 펫 및 펫 스킬, 장비 정보를 조회합니다.
5189
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4641
5190
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4642
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5191
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4643
5192
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4644
5193
  *
4645
5194
  * @param ocid 캐릭터 식별자
4646
5195
  * @param dateOptions 조회 기준일 (KST)
4647
5196
  */
4648
- async getCharacterPetEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4649
- hour: 1,
4650
- minute: 0,
4651
- dateOffset: 1,
4652
- })) {
5197
+ async getCharacterPetEquipment(ocid, dateOptions) {
4653
5198
  const path = 'maplestory/v1/character/pet-equipment';
4654
- const query = {
4655
- ocid: ocid,
4656
- date: MapleStoryApi.toDateString({
5199
+ const date = dateOptions
5200
+ ? MapleStoryApi.toDateString({
4657
5201
  year: 2023,
4658
5202
  month: 12,
4659
5203
  day: 21,
4660
- }, dateOptions),
5204
+ }, dateOptions)
5205
+ : undefined;
5206
+ const query = {
5207
+ ocid: ocid,
5208
+ date: date,
4661
5209
  };
4662
5210
  const { data } = await this.client.get(path, {
4663
5211
  params: query,
@@ -4666,8 +5214,9 @@ class MapleStoryApi {
4666
5214
  }
4667
5215
  /**
4668
5216
  * 캐릭터 스킬과 하이퍼 스킬 정보를 조회합니다.
5217
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4669
5218
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4670
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5219
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4671
5220
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4672
5221
  *
4673
5222
  * @param ocid 캐릭터 식별자
@@ -4685,20 +5234,19 @@ class MapleStoryApi {
4685
5234
  * - 6: 6차 스킬
4686
5235
  * @param dateOptions 조회 기준일 (KST)
4687
5236
  */
4688
- async getCharacterSkill(ocid, characterSkillGrade, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4689
- hour: 1,
4690
- minute: 0,
4691
- dateOffset: 1,
4692
- })) {
5237
+ async getCharacterSkill(ocid, characterSkillGrade, dateOptions) {
4693
5238
  const path = 'maplestory/v1/character/skill';
4694
- const query = {
4695
- ocid: ocid,
4696
- character_skill_grade: characterSkillGrade,
4697
- date: MapleStoryApi.toDateString({
5239
+ const date = dateOptions
5240
+ ? MapleStoryApi.toDateString({
4698
5241
  year: 2023,
4699
5242
  month: 12,
4700
5243
  day: 21,
4701
- }, dateOptions),
5244
+ }, dateOptions)
5245
+ : undefined;
5246
+ const query = {
5247
+ ocid: ocid,
5248
+ character_skill_grade: characterSkillGrade,
5249
+ date: date,
4702
5250
  };
4703
5251
  const { data } = await this.client.get(path, {
4704
5252
  params: query,
@@ -4707,26 +5255,26 @@ class MapleStoryApi {
4707
5255
  }
4708
5256
  /**
4709
5257
  * 장착 링크 스킬 정보를 조회합니다.
5258
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4710
5259
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4711
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5260
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4712
5261
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4713
5262
  *
4714
5263
  * @param ocid 캐릭터 식별자
4715
5264
  * @param dateOptions 조회 기준일 (KST)
4716
5265
  */
4717
- async getCharacterLinkSkill(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4718
- hour: 1,
4719
- minute: 0,
4720
- dateOffset: 1,
4721
- })) {
5266
+ async getCharacterLinkSkill(ocid, dateOptions) {
4722
5267
  const path = 'maplestory/v1/character/link-skill';
4723
- const query = {
4724
- ocid: ocid,
4725
- date: MapleStoryApi.toDateString({
5268
+ const date = dateOptions
5269
+ ? MapleStoryApi.toDateString({
4726
5270
  year: 2023,
4727
5271
  month: 12,
4728
5272
  day: 21,
4729
- }, dateOptions),
5273
+ }, dateOptions)
5274
+ : undefined;
5275
+ const query = {
5276
+ ocid: ocid,
5277
+ date: date,
4730
5278
  };
4731
5279
  const { data } = await this.client.get(path, {
4732
5280
  params: query,
@@ -4735,26 +5283,26 @@ class MapleStoryApi {
4735
5283
  }
4736
5284
  /**
4737
5285
  * V매트릭스 슬롯 정보와 장착한 V코어 정보를 조회합니다.
5286
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4738
5287
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4739
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5288
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4740
5289
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4741
5290
  *
4742
5291
  * @param ocid 캐릭터 식별자
4743
5292
  * @param dateOptions 조회 기준일 (KST)
4744
5293
  */
4745
- async getCharacterVMatrix(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4746
- hour: 1,
4747
- minute: 0,
4748
- dateOffset: 1,
4749
- })) {
5294
+ async getCharacterVMatrix(ocid, dateOptions) {
4750
5295
  const path = 'maplestory/v1/character/vmatrix';
4751
- const query = {
4752
- ocid: ocid,
4753
- date: MapleStoryApi.toDateString({
5296
+ const date = dateOptions
5297
+ ? MapleStoryApi.toDateString({
4754
5298
  year: 2023,
4755
5299
  month: 12,
4756
5300
  day: 21,
4757
- }, dateOptions),
5301
+ }, dateOptions)
5302
+ : undefined;
5303
+ const query = {
5304
+ ocid: ocid,
5305
+ date: date,
4758
5306
  };
4759
5307
  const { data } = await this.client.get(path, {
4760
5308
  params: query,
@@ -4763,26 +5311,26 @@ class MapleStoryApi {
4763
5311
  }
4764
5312
  /**
4765
5313
  * HEXA 매트릭스에 장착한 HEXA 코어 정보를 조회합니다.
5314
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4766
5315
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4767
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5316
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4768
5317
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4769
5318
  *
4770
5319
  * @param ocid 캐릭터 식별자
4771
5320
  * @param dateOptions 조회 기준일 (KST)
4772
5321
  */
4773
- async getCharacterHexaMatrix(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4774
- hour: 1,
4775
- minute: 0,
4776
- dateOffset: 1,
4777
- })) {
5322
+ async getCharacterHexaMatrix(ocid, dateOptions) {
4778
5323
  const path = 'maplestory/v1/character/hexamatrix';
4779
- const query = {
4780
- ocid: ocid,
4781
- date: MapleStoryApi.toDateString({
5324
+ const date = dateOptions
5325
+ ? MapleStoryApi.toDateString({
4782
5326
  year: 2023,
4783
5327
  month: 12,
4784
5328
  day: 21,
4785
- }, dateOptions),
5329
+ }, dateOptions)
5330
+ : undefined;
5331
+ const query = {
5332
+ ocid: ocid,
5333
+ date: date,
4786
5334
  };
4787
5335
  const { data } = await this.client.get(path, {
4788
5336
  params: query,
@@ -4791,26 +5339,26 @@ class MapleStoryApi {
4791
5339
  }
4792
5340
  /**
4793
5341
  * HEXA 매트릭스에 설정한 HEXA 스탯 정보를 조회합니다.
5342
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4794
5343
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4795
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5344
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4796
5345
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4797
5346
  *
4798
5347
  * @param ocid 캐릭터 식별자
4799
5348
  * @param dateOptions 조회 기준일 (KST)
4800
5349
  */
4801
- async getCharacterHexaMatrixStat(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4802
- hour: 1,
4803
- minute: 0,
4804
- dateOffset: 1,
4805
- })) {
5350
+ async getCharacterHexaMatrixStat(ocid, dateOptions) {
4806
5351
  const path = 'maplestory/v1/character/hexamatrix-stat';
4807
- const query = {
4808
- ocid: ocid,
4809
- date: MapleStoryApi.toDateString({
5352
+ const date = dateOptions
5353
+ ? MapleStoryApi.toDateString({
4810
5354
  year: 2023,
4811
5355
  month: 12,
4812
5356
  day: 21,
4813
- }, dateOptions),
5357
+ }, dateOptions)
5358
+ : undefined;
5359
+ const query = {
5360
+ ocid: ocid,
5361
+ date: date,
4814
5362
  };
4815
5363
  const { data } = await this.client.get(path, {
4816
5364
  params: query,
@@ -4819,26 +5367,26 @@ class MapleStoryApi {
4819
5367
  }
4820
5368
  /**
4821
5369
  * 캐릭터 무릉도장 최고 기록 정보를 조회합니다.
5370
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4822
5371
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4823
- * - 캐릭터 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5372
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4824
5373
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4825
5374
  *
4826
5375
  * @param ocid 캐릭터 식별자
4827
5376
  * @param dateOptions 조회 기준일 (KST)
4828
5377
  */
4829
- async getCharacterDojang(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4830
- hour: 1,
4831
- minute: 0,
4832
- dateOffset: 1,
4833
- })) {
5378
+ async getCharacterDojang(ocid, dateOptions) {
4834
5379
  const path = 'maplestory/v1/character/dojang';
4835
- const query = {
4836
- ocid: ocid,
4837
- date: MapleStoryApi.toDateString({
5380
+ const date = dateOptions
5381
+ ? MapleStoryApi.toDateString({
4838
5382
  year: 2023,
4839
5383
  month: 12,
4840
5384
  day: 21,
4841
- }, dateOptions),
5385
+ }, dateOptions)
5386
+ : undefined;
5387
+ const query = {
5388
+ ocid: ocid,
5389
+ date: date,
4842
5390
  };
4843
5391
  const { data } = await this.client.get(path, {
4844
5392
  params: query,
@@ -4849,26 +5397,26 @@ class MapleStoryApi {
4849
5397
  //#region 유니온 정보 조회
4850
5398
  /**
4851
5399
  * 유니온 정보를 조회합니다.
5400
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4852
5401
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4853
- * - 유니온 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5402
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4854
5403
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4855
5404
  *
4856
5405
  * @param ocid 캐릭터 식별자
4857
5406
  * @param dateOptions 조회 기준일 (KST)
4858
5407
  */
4859
- async getUnion(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4860
- hour: 1,
4861
- minute: 0,
4862
- dateOffset: 1,
4863
- })) {
5408
+ async getUnion(ocid, dateOptions) {
4864
5409
  const path = 'maplestory/v1/user/union';
4865
- const query = {
4866
- ocid: ocid,
4867
- date: MapleStoryApi.toDateString({
5410
+ const date = dateOptions
5411
+ ? MapleStoryApi.toDateString({
4868
5412
  year: 2023,
4869
5413
  month: 12,
4870
5414
  day: 21,
4871
- }, dateOptions),
5415
+ }, dateOptions)
5416
+ : undefined;
5417
+ const query = {
5418
+ ocid: ocid,
5419
+ date: date,
4872
5420
  };
4873
5421
  const { data } = await this.client.get(path, {
4874
5422
  params: query,
@@ -4877,26 +5425,26 @@ class MapleStoryApi {
4877
5425
  }
4878
5426
  /**
4879
5427
  * 유니온 공격대 정보를 조회합니다.
5428
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4880
5429
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4881
- * - 유니온 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5430
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4882
5431
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4883
5432
  *
4884
5433
  * @param ocid 캐릭터 식별자
4885
5434
  * @param dateOptions 조회 기준일 (KST)
4886
5435
  */
4887
- async getUnionRaider(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4888
- hour: 1,
4889
- minute: 0,
4890
- dateOffset: 1,
4891
- })) {
5436
+ async getUnionRaider(ocid, dateOptions) {
4892
5437
  const path = 'maplestory/v1/user/union-raider';
4893
- const query = {
4894
- ocid: ocid,
4895
- date: MapleStoryApi.toDateString({
5438
+ const date = dateOptions
5439
+ ? MapleStoryApi.toDateString({
4896
5440
  year: 2023,
4897
5441
  month: 12,
4898
5442
  day: 21,
4899
- }, dateOptions),
5443
+ }, dateOptions)
5444
+ : undefined;
5445
+ const query = {
5446
+ ocid: ocid,
5447
+ date: date,
4900
5448
  };
4901
5449
  const { data } = await this.client.get(path, {
4902
5450
  params: query,
@@ -4905,26 +5453,26 @@ class MapleStoryApi {
4905
5453
  }
4906
5454
  /**
4907
5455
  * 유니온 아티팩트 정보를 조회합니다.
5456
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4908
5457
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4909
- * - 유니온 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5458
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4910
5459
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4911
5460
  *
4912
5461
  * @param ocid 캐릭터 식별자
4913
5462
  * @param dateOptions 조회 기준일 (KST)
4914
5463
  */
4915
- async getUnionArtifact(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4916
- hour: 1,
4917
- minute: 0,
4918
- dateOffset: 1,
4919
- })) {
5464
+ async getUnionArtifact(ocid, dateOptions) {
4920
5465
  const path = 'maplestory/v1/user/union-artifact';
4921
- const query = {
4922
- ocid: ocid,
4923
- date: MapleStoryApi.toDateString({
5466
+ const date = dateOptions
5467
+ ? MapleStoryApi.toDateString({
4924
5468
  year: 2023,
4925
5469
  month: 12,
4926
5470
  day: 21,
4927
- }, dateOptions),
5471
+ }, dateOptions)
5472
+ : undefined;
5473
+ const query = {
5474
+ ocid: ocid,
5475
+ date: date,
4928
5476
  };
4929
5477
  const { data } = await this.client.get(path, {
4930
5478
  params: query,
@@ -4935,8 +5483,9 @@ class MapleStoryApi {
4935
5483
  //#region 길드 정보 조회
4936
5484
  /**
4937
5485
  * 길드 식별자(oguild_id) 정보를 조회합니다.
5486
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4938
5487
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4939
- * - 길드 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.).
5488
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4940
5489
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4941
5490
  *
4942
5491
  * @param guildName 길드 명
@@ -4954,26 +5503,26 @@ class MapleStoryApi {
4954
5503
  }
4955
5504
  /**
4956
5505
  * 길드 기본 정보를 조회합니다.
5506
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
4957
5507
  * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
4958
- * - 길드 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.).
5508
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23 00시 사이 데이터가 조회 됩니다.)
4959
5509
  * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
4960
5510
  *
4961
5511
  * @param guildId 길드 식별자
4962
5512
  * @param dateOptions 조회 기준일 (KST)
4963
5513
  */
4964
- async getGuildBasic(guildId, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4965
- hour: 1,
4966
- minute: 0,
4967
- dateOffset: 1,
4968
- })) {
5514
+ async getGuildBasic(guildId, dateOptions) {
4969
5515
  const path = 'maplestory/v1/guild/basic';
4970
- const query = {
4971
- oguild_id: guildId,
4972
- date: MapleStoryApi.toDateString({
5516
+ const date = dateOptions
5517
+ ? MapleStoryApi.toDateString({
4973
5518
  year: 2023,
4974
5519
  month: 12,
4975
5520
  day: 21,
4976
- }, dateOptions),
5521
+ }, dateOptions)
5522
+ : undefined;
5523
+ const query = {
5524
+ oguild_id: guildId,
5525
+ date: date,
4977
5526
  };
4978
5527
  const { data } = await this.client.get(path, {
4979
5528
  params: query,
@@ -4988,7 +5537,7 @@ class MapleStoryApi {
4988
5537
  if (typeof parameter === 'string') {
4989
5538
  query.cursor = parameter;
4990
5539
  }
4991
- else if (typeof parameter === 'object') {
5540
+ else if (typeof parameter === 'object' || parameter === undefined) {
4992
5541
  query.date = MapleStoryApi.toDateString({
4993
5542
  year: 2023,
4994
5543
  month: 12,
@@ -5263,6 +5812,120 @@ class MapleStoryApi {
5263
5812
  return new AchievementRankingResponseDto(data);
5264
5813
  }
5265
5814
  //#endregion
5815
+ //#region 공지 정보 조회
5816
+ /**
5817
+ * 메이플스토리 공지사항에 최근 등록된 게시글 20개를 조회합니다.
5818
+ *
5819
+ * - 공지 정보 API는 데이터 최신화(공지 내용 수정/ 업데이트 고려)를 위해 실시간 조회 또는 최소 일배치 작업을 권장합니다.
5820
+ * - 실시간으로 정보를 제공하지 않는 경우, 신규/수정 공지 내용이 반영되지 않을 수 있으니 서비스 이용 유저에게 홈페이지 공지 사항을 확인하라는 가이드를 제공해주세요.
5821
+ */
5822
+ async getNoticeList() {
5823
+ const path = 'maplestory/v1/notice';
5824
+ const { data } = await this.client.get(path);
5825
+ return new NoticeListDto(data);
5826
+ }
5827
+ /**
5828
+ * 메이플스토리 공지사항 게시글 세부 사항을 조회합니다.
5829
+ *
5830
+ * - 공지 정보 API는 데이터 최신화(공지 내용 수정/ 업데이트 고려)를 위해 실시간 조회 또는 최소 일배치 작업을 권장합니다.
5831
+ * - 실시간으로 정보를 제공하지 않는 경우, 신규/수정 공지 내용이 반영되지 않을 수 있으니 서비스 이용 유저에게 홈페이지 공지 사항을 확인하라는 가이드를 제공해주세요.
5832
+ * @param noticeId 공지 식별자
5833
+ */
5834
+ async getNoticeDetail(noticeId) {
5835
+ const path = 'maplestory/v1/notice/detail';
5836
+ const query = {
5837
+ notice_id: noticeId,
5838
+ };
5839
+ const { data } = await this.client.get(path, {
5840
+ params: query,
5841
+ });
5842
+ return new NoticeDetailDto(data);
5843
+ }
5844
+ /**
5845
+ * 메이플스토리 업데이트에 최근 등록된 게시글 20개를 조회합니다.
5846
+ *
5847
+ * - 공지 정보 API는 데이터 최신화(공지 내용 수정/ 업데이트 고려)를 위해 실시간 조회 또는 최소 일배치 작업을 권장합니다.
5848
+ * - 실시간으로 정보를 제공하지 않는 경우, 신규/수정 공지 내용이 반영되지 않을 수 있으니 서비스 이용 유저에게 홈페이지 공지 사항을 확인하라는 가이드를 제공해주세요.
5849
+ */
5850
+ async getUpdateNoticeList() {
5851
+ const path = 'maplestory/v1/notice-update';
5852
+ const { data } = await this.client.get(path);
5853
+ return new UpdateNoticeListDto(data);
5854
+ }
5855
+ /**
5856
+ * 메이플스토리 업데이트 게시글 세부 사항을 조회합니다.
5857
+ *
5858
+ * - 공지 정보 API는 데이터 최신화(공지 내용 수정/ 업데이트 고려)를 위해 실시간 조회 또는 최소 일배치 작업을 권장합니다.
5859
+ * - 실시간으로 정보를 제공하지 않는 경우, 신규/수정 공지 내용이 반영되지 않을 수 있으니 서비스 이용 유저에게 홈페이지 공지 사항을 확인하라는 가이드를 제공해주세요.
5860
+ * @param noticeId 공지 식별자
5861
+ */
5862
+ async getUpdateNoticeDetail(noticeId) {
5863
+ const path = 'maplestory/v1/notice-update/detail';
5864
+ const query = {
5865
+ notice_id: noticeId,
5866
+ };
5867
+ const { data } = await this.client.get(path, {
5868
+ params: query,
5869
+ });
5870
+ return new UpdateNoticeDetailDto(data);
5871
+ }
5872
+ /**
5873
+ * 메이플스토리 진행 중 이벤트에 최근 등록된 공지사항 20개를 조회합니다.
5874
+ *
5875
+ * - 공지 정보 API는 데이터 최신화(공지 내용 수정/ 업데이트 고려)를 위해 실시간 조회 또는 최소 일배치 작업을 권장합니다.
5876
+ * - 실시간으로 정보를 제공하지 않는 경우, 신규/수정 공지 내용이 반영되지 않을 수 있으니 서비스 이용 유저에게 홈페이지 공지 사항을 확인하라는 가이드를 제공해주세요.
5877
+ */
5878
+ async getEventNoticeList() {
5879
+ const path = 'maplestory/v1/notice-event';
5880
+ const { data } = await this.client.get(path);
5881
+ return new EventNoticeListDto(data);
5882
+ }
5883
+ /**
5884
+ * 메이플스토리 진행 중 이벤트 게시글 세부 사항을 조회합니다.
5885
+ *
5886
+ * - 공지 정보 API는 데이터 최신화(공지 내용 수정/ 업데이트 고려)를 위해 실시간 조회 또는 최소 일배치 작업을 권장합니다.
5887
+ * - 실시간으로 정보를 제공하지 않는 경우, 신규/수정 공지 내용이 반영되지 않을 수 있으니 서비스 이용 유저에게 홈페이지 공지 사항을 확인하라는 가이드를 제공해주세요.
5888
+ * @param noticeId 공지 식별자
5889
+ */
5890
+ async getEventNoticeDetail(noticeId) {
5891
+ const path = 'maplestory/v1/notice-event/detail';
5892
+ const query = {
5893
+ notice_id: noticeId,
5894
+ };
5895
+ const { data } = await this.client.get(path, {
5896
+ params: query,
5897
+ });
5898
+ return new EventNoticeDetailDto(data);
5899
+ }
5900
+ /**
5901
+ * 메이플스토리 캐시샵 공지에 최근 등록된 공지사항 20개를 조회합니다.
5902
+ *
5903
+ * - 공지 정보 API는 데이터 최신화(공지 내용 수정/ 업데이트 고려)를 위해 실시간 조회 또는 최소 일배치 작업을 권장합니다.
5904
+ * - 실시간으로 정보를 제공하지 않는 경우, 신규/수정 공지 내용이 반영되지 않을 수 있으니 서비스 이용 유저에게 홈페이지 공지 사항을 확인하라는 가이드를 제공해주세요.
5905
+ */
5906
+ async getCashshopNoticeList() {
5907
+ const path = 'maplestory/v1/notice-cashshop';
5908
+ const { data } = await this.client.get(path);
5909
+ return new CashshopNoticeListDto(data);
5910
+ }
5911
+ /**
5912
+ * 메이플스토리 캐시샵 공지 게시글 세부 사항을 조회합니다.
5913
+ *
5914
+ * - 공지 정보 API는 데이터 최신화(공지 내용 수정/ 업데이트 고려)를 위해 실시간 조회 또는 최소 일배치 작업을 권장합니다.
5915
+ * - 실시간으로 정보를 제공하지 않는 경우, 신규/수정 공지 내용이 반영되지 않을 수 있으니 서비스 이용 유저에게 홈페이지 공지 사항을 확인하라는 가이드를 제공해주세요.
5916
+ * @param noticeId 공지 식별자
5917
+ */
5918
+ async getCashshopNoticeDetail(noticeId) {
5919
+ const path = 'maplestory/v1/notice-cashshop/detail';
5920
+ const query = {
5921
+ notice_id: noticeId,
5922
+ };
5923
+ const { data } = await this.client.get(path, {
5924
+ params: query,
5925
+ });
5926
+ return new CashshopNoticeDetailDto(data);
5927
+ }
5928
+ //#endregion
5266
5929
  /**
5267
5930
  * 서버 점검 정보를 조회합니다.
5268
5931
  */
@@ -5347,4 +6010,4 @@ class MapleStoryApi {
5347
6010
  }
5348
6011
  }
5349
6012
 
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 };
6013
+ 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 };