@skyhelperbot/utils 2.0.0

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 (52) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +11 -0
  3. package/dist/classes/LeaderBoardCard.d.ts +59 -0
  4. package/dist/classes/LeaderBoardCard.js +249 -0
  5. package/dist/classes/SkytimesUtils.d.ts +73 -0
  6. package/dist/classes/SkytimesUtils.js +119 -0
  7. package/dist/classes/UpdateEvent.d.ts +30 -0
  8. package/dist/classes/UpdateEvent.js +52 -0
  9. package/dist/classes/UpdateTs.d.ts +35 -0
  10. package/dist/classes/UpdateTs.js +62 -0
  11. package/dist/classes/WinnerCard.d.ts +13 -0
  12. package/dist/classes/WinnerCard.js +118 -0
  13. package/dist/classes/index.d.ts +7 -0
  14. package/dist/classes/index.js +7 -0
  15. package/dist/classes/shardsUtil.d.ts +41 -0
  16. package/dist/classes/shardsUtil.js +122 -0
  17. package/dist/classes/utils.d.ts +13 -0
  18. package/dist/classes/utils.js +22 -0
  19. package/dist/constants/eventDatas.d.ts +31 -0
  20. package/dist/constants/eventDatas.js +105 -0
  21. package/dist/constants/index.d.ts +5 -0
  22. package/dist/constants/index.js +5 -0
  23. package/dist/constants/shardsInfo.d.ts +50 -0
  24. package/dist/constants/shardsInfo.js +424 -0
  25. package/dist/constants/shardsTimeline.d.ts +19 -0
  26. package/dist/constants/shardsTimeline.js +57 -0
  27. package/dist/index.d.ts +6 -0
  28. package/dist/index.js +5 -0
  29. package/dist/typings.d.ts +62 -0
  30. package/dist/typings.js +3 -0
  31. package/dist/utils/buildTimesHTML.d.ts +14 -0
  32. package/dist/utils/buildTimesHTML.js +208 -0
  33. package/dist/utils/index.d.ts +5 -0
  34. package/dist/utils/index.js +5 -0
  35. package/dist/utils/parseDateFormat.d.ts +9 -0
  36. package/dist/utils/parseDateFormat.js +25 -0
  37. package/dist/utils/parsePerms.d.ts +49 -0
  38. package/dist/utils/parsePerms.js +54 -0
  39. package/dist/utils/postToBin.d.ts +5 -0
  40. package/dist/utils/postToBin.js +15 -0
  41. package/dist/utils/recursiveReadDir.d.ts +15 -0
  42. package/dist/utils/recursiveReadDir.js +37 -0
  43. package/package.json +44 -0
  44. package/shared/assets/Point.png +0 -0
  45. package/shared/assets/Win.png +0 -0
  46. package/shared/assets/medal_champion_award_winner_olympic_icon_207790.png +0 -0
  47. package/shared/assets/server.svg +41 -0
  48. package/shared/fonts/circularstd-black.otf +0 -0
  49. package/shared/fonts/notoemoji-bold.ttf +0 -0
  50. package/shared/fonts/notosans-black.ttf +0 -0
  51. package/shared/fonts/notosans-jp-black.ttf +0 -0
  52. package/shared/fonts/notosans-kr-black.ttf +0 -0
@@ -0,0 +1,424 @@
1
+ export const shardConfig = {
2
+ a: { type: "<:ShardBlue:1233057106903699497> Black Shard", colors: "#000000", weekdays: [6, 0] },
3
+ A: { type: "<:ShardRed:1233057065799254106> Red Shard", colors: "#FF0000", weekdays: [2, 3] },
4
+ b: { type: "<:ShardBlue:1233057106903699497> Black Shard", colors: "#000000", weekdays: [0, 1] },
5
+ B: { type: "<:ShardRed:1233057065799254106> Red Shard", colors: "#FF0000", weekdays: [3, 4] },
6
+ C: { type: "<:ShardRed:1233057065799254106> Red Shard", colors: "#FF0000", weekdays: [1, 2] },
7
+ };
8
+ /**
9
+ * Returns the shard information for each area
10
+ * @example
11
+ * const info = shardsInfo[currentRealm][currentShard]
12
+ */
13
+ export const shardsInfo = {
14
+ prairie: {
15
+ a: {
16
+ area: "Butterfly Fields, <:r5Prairie:1150596314883690607> Daylight Prairie",
17
+ rewards: "200 Wax <:wax:1125091974869946369>",
18
+ image: "https://media.discordapp.net/attachments/867638574571323424/1159226741731119165/ButterflyFields.png",
19
+ ...shardConfig.a,
20
+ locations: [
21
+ {
22
+ description: "**Shard Location: Butterfly Fields, <:r5Prairie:1150596314883690607> Daylight Prairie**",
23
+ image: "https://media.discordapp.net/attachments/575827924343848960/1119162577126178846/01_Daylight_Prairie_-_Butterfly_Field.png",
24
+ },
25
+ {
26
+ description: "**Shard Data: Butterfly Fields, <:r5Prairie:1150596314883690607> Daylight Prairie**",
27
+ image: "https://media.discordapp.net/attachments/575827924343848960/1053249686422687784/dp-b_Butterfly_Field.png",
28
+ },
29
+ ],
30
+ },
31
+ A: {
32
+ area: "Bird's Nest, <:r5Prairie:1150596314883690607> Daylight Prairie",
33
+ rewards: "2.5 AC <a:ac5:1125338720183267390>",
34
+ image: "https://media.discordapp.net/attachments/867638574571323424/1159226742024708187/BirdsNest.png",
35
+ ...shardConfig.A,
36
+ locations: [
37
+ {
38
+ description: "**Shard Location: Bird's Nest, <:r5Prairie:1150596314883690607> Daylight Prairie**",
39
+ image: "https://media.discordapp.net/attachments/575827924343848960/1109738791268257812/01_Daylight_Prairie_-_Birds_Nest.png",
40
+ },
41
+ {
42
+ description: "**Shard Data: Bird's Nest, <:r5Prairie:1150596314883690607> Daylight Prairie**",
43
+ image: "https://media.discordapp.net/attachments/575827924343848960/1044197796577824839/dp-r_Bird_Nest.png",
44
+ },
45
+ ],
46
+ },
47
+ b: {
48
+ area: "Village Island, <:r5Prairie:1150596314883690607> Daylight Prairie",
49
+ rewards: "200 Wax <:wax:1125091974869946369>",
50
+ image: "https://media.discordapp.net/attachments/867638574571323424/1159226741412343989/VillageIsland.png",
51
+ ...shardConfig.b,
52
+ locations: [
53
+ {
54
+ description: "**Shard Location: Village Island/Koi Pond, <:r5Prairie:1150596314883690607> Daylight Prairie**",
55
+ image: "https://media.discordapp.net/attachments/575827924343848960/1115536957875945604/01_Daylight_Prairie_-_Village_Islands_and_Koi_Pond.png",
56
+ },
57
+ {
58
+ description: "**Shard Data: Village Island/Koi Pod, <:r5Prairie:1150596314883690607> Daylight Prairie**",
59
+ image: "https://media.discordapp.net/attachments/575827924343848960/1049635543421550652/dp-b_Village-Koi.png",
60
+ },
61
+ ],
62
+ },
63
+ B: {
64
+ area: "Sanctuary Island, <:r5Prairie:1150596314883690607> Daylight Prairie",
65
+ rewards: "3.5 AC <a:ac5:1125338720183267390>",
66
+ image: "https://media.discordapp.net/attachments/867638574571323424/1159226740741263510/SanctuaryIsland.png",
67
+ ...shardConfig.B,
68
+ locations: [
69
+ {
70
+ description: "**Shard Location: Sanctuary Island, <:r5Prairie:1150596314883690607> Daylight Prairie**",
71
+ image: "https://media.discordapp.net/attachments/575827924343848960/1117348946390564934/IMG_4458.png",
72
+ },
73
+ {
74
+ description: "**Shard Data: Sanctuary Island, <:r5Prairie:1150596314883690607> Daylight Prairie**",
75
+ image: "https://media.discordapp.net/attachments/575827924343848960/1051464559065583637/dp-r_Sanctuary_Islands.png",
76
+ },
77
+ ],
78
+ },
79
+ C: {
80
+ area: "Prairie Caves, <:r5Prairie:1150596314883690607> Daylight Prairie",
81
+ rewards: "2 AC <a:ac5:1125338720183267390>",
82
+ image: "https://media.discordapp.net/attachments/867638574571323424/1159226741110349925/PrairieCave.png",
83
+ ...shardConfig.C,
84
+ locations: [
85
+ {
86
+ description: "**Shard Location: Prairie Caves, <:r5Prairie:1150596314883690607> Daylight Prairie**",
87
+ image: "https://media.discordapp.net/attachments/575827924343848960/1124597919178313749/01_Daylight_Prairie_-_Prairie_Caves.png",
88
+ },
89
+ {
90
+ description: "**Shard Data: Prairie Caves, <:r5Prairie:1150596314883690607> Daylight Prairie**",
91
+ image: "https://media.discordapp.net/attachments/1123347180988661902/1126113425286766702/dp-r_Caves.jpg",
92
+ },
93
+ ],
94
+ },
95
+ },
96
+ forest: {
97
+ a: {
98
+ area: "Forest Brook, <:r4Forest:1150596343354630235> Hidden Forest",
99
+ rewards: "200 Wax <:wax:1125091974869946369>",
100
+ image: "https://media.discordapp.net/attachments/867638574571323424/1159226847062671400/ForestBrook.png",
101
+ ...shardConfig.a,
102
+ locations: [
103
+ {
104
+ description: "**Shard Location: Forest Brook, <:r4Forest:1150596343354630235> Hidden Forest**",
105
+ image: "https://media.discordapp.net/attachments/575827924343848960/1117712849217781871/IMG_3543.png",
106
+ },
107
+ {
108
+ description: "**Shard Data: Forest Brook, <:r4Forest:1150596343354630235> Hidden Forest**",
109
+ image: "https://media.discordapp.net/attachments/575827924343848960/1051802895634399242/hf-b_Forest_Brook.png",
110
+ },
111
+ ],
112
+ },
113
+ A: {
114
+ area: "Treehouse, <:r4Forest:1150596343354630235> Hidden Forest",
115
+ rewards: "3.5 AC <a:ac5:1125338720183267390>",
116
+ image: "https://media.discordapp.net/attachments/867638574571323424/1159226739713650788/Treehouse.png",
117
+ ...shardConfig.A,
118
+ locations: [
119
+ {
120
+ description: "**Shard Location: Treehouse, <:r4Forest:1150596343354630235> Hidden Forest**",
121
+ image: "https://media.discordapp.net/attachments/575827924343848960/1111912764420665394/02_Hidden_Forest_-_Assembly_Treehouse.png",
122
+ },
123
+ {
124
+ description: "**Shard Data: Treehouse, <:r4Forest:1150596343354630235> Hidden Forest**",
125
+ image: "https://media.discordapp.net/attachments/575827924343848960/1046371999586451597/png_20221027_180854_0000.png",
126
+ },
127
+ ],
128
+ },
129
+ b: {
130
+ area: "Boneyard, <:r4Forest:1150596343354630235> Hidden Forest",
131
+ rewards: "200 Wax <:wax:1125091974869946369>",
132
+ image: "https://media.discordapp.net/attachments/867638574571323424/1159226740472819793/Boneyard.png",
133
+ ...shardConfig.b,
134
+ locations: [
135
+ {
136
+ description: "**Shard Location: Broken Bridge/Boneyard, <:r4Forest:1150596343354630235> Hidden Forest**",
137
+ image: "https://media.discordapp.net/attachments/575827924343848960/1121336759633059890/02_Hidden_Forest_-_Broken_Bridge.png",
138
+ },
139
+ {
140
+ description: "**Shard Data: Broken Bridge/Boneyard, <:r4Forest:1150596343354630235> Hidden Forest**",
141
+ image: "https://media.discordapp.net/attachments/575827924343848960/1048189111145603072/hf-b_Boneyard.png",
142
+ },
143
+ ],
144
+ },
145
+ B: {
146
+ area: "Sunny Forest, <:r4Forest:1150596343354630235> Hidden Forest",
147
+ rewards: "3.5 AC <a:ac5:1125338720183267390>",
148
+ image: "https://media.discordapp.net/attachments/867638574571323424/1159226659518558298/ElevatedClearing.png",
149
+ ...shardConfig.B,
150
+ locations: [
151
+ {
152
+ description: "**Shard Location: Elevated Clearing(Sunny Forest), <:r4Forest:1150596343354630235> Hidden Forest**",
153
+ image: "https://media.discordapp.net/attachments/575827924343848960/1119522919983349780/02_Hidden_Forest_-_Elevated_Clearing.png",
154
+ },
155
+ {
156
+ description: "**Shard Data: Elevated Clearing(Sunny Forest), <:r4Forest:1150596343354630235> Hidden Forest**",
157
+ image: "https://media.discordapp.net/attachments/575827924343848960/1053645676870897724/hf-r_Elevated_Clearing.png",
158
+ },
159
+ ],
160
+ },
161
+ C: {
162
+ area: "Forest End, <:r4Forest:1150596343354630235> Hidden Forest",
163
+ rewards: "2.5 AC <a:ac5:1125338720183267390>",
164
+ image: "https://media.discordapp.net/attachments/867638574571323424/1159226740099534868/ForestEnd.png",
165
+ ...shardConfig.C,
166
+ locations: [
167
+ {
168
+ description: "**Shard Location: Forest End, <:r4Forest:1150596343354630235> Hidden Forest**",
169
+ image: "https://media.discordapp.net/attachments/575827924343848960/1115899669847998526/02_Hidden_Forest_-_Forest_End.png",
170
+ },
171
+ {
172
+ description: "**Shard Data: Forest End, <:r4Forest:1150596343354630235> Hidden Forest**",
173
+ image: "https://media.discordapp.net/attachments/575827924343848960/1050078656015376496/hf-r_Forest_End.png",
174
+ },
175
+ ],
176
+ },
177
+ },
178
+ valley: {
179
+ a: {
180
+ area: "Ice Rink, <:r3Valley:1150596376930037850> Valley of Triumph",
181
+ rewards: "200 Wax <:wax:1125091974869946369>",
182
+ image: "https://media.discordapp.net/attachments/867638574571323424/1159226659262693446/IceRink.png",
183
+ ...shardConfig.a,
184
+ locations: [
185
+ {
186
+ description: "**Shard Location: Ice Rink, <:r3Valley:1150596376930037850> Valley of Triumph**",
187
+ image: "https://media.discordapp.net/attachments/575827924343848960/1116263531101306940/03_Valley_of_Triumph_-_Ice_Rink.png",
188
+ },
189
+ {
190
+ description: "**Shard Data: Ice Rink, <:r3Valley:1150596376930037850> Valley of Triumph**",
191
+ image: "https://media.discordapp.net/attachments/575827924343848960/1050351219383730186/vt-b_Ice_Rink.png",
192
+ },
193
+ ],
194
+ },
195
+ A: {
196
+ area: "Village of Dreams, <:r3Valley:1150596376930037850> Valley of Triumph",
197
+ rewards: "2.5 AC <a:ac5:1125338720183267390>",
198
+ image: "https://media.discordapp.net/attachments/867638574571323424/1159226658918780948/VillageOfDreams.png",
199
+ ...shardConfig.A,
200
+ locations: [
201
+ {
202
+ description: "**Shard Location: Village of Dreams, <:r3Valley:1150596376930037850> Valley of Triumph**",
203
+ image: "https://media.discordapp.net/attachments/575827924343848960/1114449712070799360/03_Valley_of_Triumph_-_Village_of_Dreams.png",
204
+ },
205
+ {
206
+ description: "**Shard Data: Village of Dreams, <:r3Valley:1150596376930037850> Valley of Triumph**",
207
+ image: "https://media.discordapp.net/attachments/575827924343848960/1048546903702384721/vt-r_Village_of_Dreams.png",
208
+ },
209
+ ],
210
+ },
211
+ b: {
212
+ area: "Ice Rink, <:r3Valley:1150596376930037850> Valley of Triumph",
213
+ rewards: "200 Wax <:wax:1125091974869946369>",
214
+ image: "https://media.discordapp.net/attachments/867638574571323424/1159226659262693446/IceRink.png",
215
+ ...shardConfig.b,
216
+ locations: [
217
+ {
218
+ description: "**Shard Location: Ice Rink, <:r3Valley:1150596376930037850> Valley of Triumph**",
219
+ image: "https://media.discordapp.net/attachments/575827924343848960/1116263531101306940/03_Valley_of_Triumph_-_Ice_Rink.png",
220
+ },
221
+ {
222
+ description: "**Shard Data: Ice Rink, <:r3Valley:1150596376930037850> Valley of Triumph**",
223
+ image: "https://media.discordapp.net/attachments/575827924343848960/1050351219383730186/vt-b_Ice_Rink.png",
224
+ },
225
+ ],
226
+ },
227
+ B: {
228
+ area: "Hermit's Valley, <:r3Valley:1150596376930037850> Valley of Triumph",
229
+ rewards: "3.5 AC <a:ac5:1125338720183267390>",
230
+ image: "https://media.discordapp.net/attachments/867638574571323424/1159226658629365770/HermitsValley.png",
231
+ ...shardConfig.B,
232
+ locations: [
233
+ {
234
+ description: "**Shard Location: Hermits Valley, <:r3Valley:1150596376930037850> Valley of Triumph**",
235
+ image: "https://media.discordapp.net/attachments/575827924343848960/1110464646911115314/03_Valley_of_Triumph_-_Hermit_Valley.png",
236
+ },
237
+ {
238
+ description: "**Shard Data: Hermits Valley, <:r3Valley:1150596376930037850> Valley of Triumph**",
239
+ image: "https://media.discordapp.net/attachments/575827924343848960/1055814361026936952/vt-r_Hermit_Valley.png",
240
+ },
241
+ ],
242
+ },
243
+ C: {
244
+ area: "Village of Dreams, <:r3Valley:1150596376930037850> Valley of Triumph",
245
+ rewards: "2.5 AC <a:ac5:1125338720183267390>",
246
+ image: "https://media.discordapp.net/attachments/867638574571323424/1159226658918780948/VillageOfDreams.png",
247
+ ...shardConfig.C,
248
+ locations: [
249
+ {
250
+ description: "**Shard Location: Village of Dreams, <:r3Valley:1150596376930037850> Valley of Triumph**",
251
+ image: "https://media.discordapp.net/attachments/575827924343848960/1114449712070799360/03_Valley_of_Triumph_-_Village_of_Dreams.png",
252
+ },
253
+ {
254
+ description: "**Shard Data: Village of Dreams, <:r3Valley:1150596376930037850> Valley of Triumph**",
255
+ image: "https://media.discordapp.net/attachments/575827924343848960/1048546903702384721/vt-r_Village_of_Dreams.png",
256
+ },
257
+ ],
258
+ },
259
+ },
260
+ wasteland: {
261
+ a: {
262
+ area: "Broken Temple, <:r2Wasteland:1150596423822356511> Golden Wasteland",
263
+ rewards: "200 Wax <:wax:1125091974869946369>",
264
+ image: "https://media.discordapp.net/attachments/867638574571323424/1159226658209923202/BrokenTemple.png",
265
+ ...shardConfig.a,
266
+ locations: [
267
+ {
268
+ description: "**Shard Location: Broken Temple, <:r2Wasteland:1150596423822356511> Golden Wasteland**",
269
+ image: "https://media.discordapp.net/attachments/575827924343848960/1125685677384806531/04_Golden_Wasteland_-_Broken_Temple.png",
270
+ },
271
+ {
272
+ description: "**Shard Data: , Broken Temple <:r2Wasteland:1150596423822356511> Golden Wasteland**",
273
+ image: "https://media.discordapp.net/attachments/575827924343848960/1045297714474254396/gw-b_Broken_Temple.png",
274
+ },
275
+ ],
276
+ },
277
+ A: {
278
+ area: "Crab Fields, <:r2Wasteland:1150596423822356511> Golden Wasteland",
279
+ rewards: "2.5 AC <a:ac5:1125338720183267390>",
280
+ image: "https://media.discordapp.net/attachments/867638574571323424/1159226846794231919/CrabFields.png",
281
+ ...shardConfig.A,
282
+ locations: [
283
+ {
284
+ description: "**Shard Location: Crab Fields/Shipwreck, <:r2Wasteland:1150596423822356511> Golden Wasteland**",
285
+ image: "https://media.discordapp.net/attachments/575827924343848960/1094518173262417990/04_Golden_Wasteland_-_Crab_Fields.png",
286
+ },
287
+ {
288
+ description: "**Shard Data: Crab Fields, <:r2Wasteland:1150596423822356511> Golden Wasteland**",
289
+ image: "https://media.discordapp.net/attachments/575827924343848960/1050722076681568256/gw-r_Shipwreck.png",
290
+ },
291
+ ],
292
+ },
293
+ b: {
294
+ area: "Battlefield, <:r2Wasteland:1150596423822356511> Golden Wasteland",
295
+ rewards: "200 Wax <:wax:1125091974869946369>",
296
+ image: "https://media.discordapp.net/attachments/867638574571323424/1159226657148784680/Battlefield.png",
297
+ ...shardConfig.b,
298
+ locations: [
299
+ {
300
+ description: "**Shard Location: Battlefield, <:r2Wasteland:1150596423822356511> Golden Wasteland**",
301
+ image: "https://media.discordapp.net/attachments/575827924343848960/1118435910615302164/04_Golden_Wasteland_-_Battlefield.png",
302
+ },
303
+ {
304
+ description: "**Shard Data: Battlefield, <:r2Wasteland:1150596423822356511> Golden Wasteland**",
305
+ image: "https://media.discordapp.net/attachments/575827924343848960/1052530499668688957/gw-b_Battlefield.png",
306
+ },
307
+ ],
308
+ },
309
+ B: {
310
+ area: "Forgotten Ark, <:r2Wasteland:1150596423822356511> Golden Wasteland",
311
+ rewards: "3.5 AC <a:ac5:1125338720183267390>",
312
+ image: "https://media.discordapp.net/attachments/867638574571323424/1159226657933119508/ForgottenArk.png",
313
+ ...shardConfig.B,
314
+ locations: [
315
+ {
316
+ description: "**Shard Location: Forgotten Ark, <:r2Wasteland:1150596423822356511> Golden Wasteland**",
317
+ image: "https://media.discordapp.net/attachments/575827924343848960/1112639178048548884/IMG_3148.png",
318
+ },
319
+ {
320
+ description: "**Shard Data: Forgotten Ark, <:r2Wasteland:1150596423822356511> Golden Wasteland**",
321
+ image: "https://media.discordapp.net/attachments/575827924343848960/1069221627918827622/Forgotten_Ark_1.png",
322
+ },
323
+ ],
324
+ },
325
+ C: {
326
+ area: "Graveyard, <:r2Wasteland:1150596423822356511> Golden Wasteland",
327
+ rewards: "2 AC <a:ac5:1125338720183267390>",
328
+ image: "https://media.discordapp.net/attachments/867638574571323424/1159226742263787623/Graveyard.png",
329
+ ...shardConfig.C,
330
+ locations: [
331
+ {
332
+ description: "**Shard Location: Graveyard, <:r2Wasteland:1150596423822356511> Golden Wasteland**",
333
+ image: "https://media.discordapp.net/attachments/575827924343848960/1109015846753419294/04_Golden_Wasteland_-_Graveyard.png",
334
+ },
335
+ {
336
+ description: "**Shard Data: Graveyard, <:r2Wasteland:1150596423822356511> Golden Wasteland**",
337
+ image: "https://media.discordapp.net/attachments/575827924343848960/1043553879289253919/gw-r_Graveyard.png",
338
+ },
339
+ ],
340
+ },
341
+ },
342
+ vault: {
343
+ a: {
344
+ area: "Starlight Desert, <:r1Vault:1150596447679553636> Vault of Knowledge",
345
+ rewards: "200 Wax <:wax:1125091974869946369>",
346
+ image: "https://media.discordapp.net/attachments/867638574571323424/1159226657656287392/StarlightDesert.png",
347
+ ...shardConfig.a,
348
+ locations: [
349
+ {
350
+ description: "**Shard Location: Starlight Desert, <:r1Vault:1150596447679553636> Vault of Knowledge**",
351
+ image: "https://media.discordapp.net/attachments/575827924343848960/1090896818604347392/IMG_1525.png",
352
+ },
353
+ {
354
+ description: "**Shard Data: Starlight Desert, <:r1Vault:1150596447679553636> Vault of Knowledge**",
355
+ image: "https://media.discordapp.net/attachments/575827924343848960/1077178980051984455/vk-b_Starlight_Desert.png",
356
+ },
357
+ ],
358
+ },
359
+ A: {
360
+ area: "Jellyfish Cove, Starlight Desert, <:r1Vault:1150596447679553636> Vault of Knowledge",
361
+ rewards: "3.5 AC <a:ac5:1125338720183267390>",
362
+ image: "https://media.discordapp.net/attachments/867638574571323424/1159226657404616756/JellyfishCove.png",
363
+ ...shardConfig.A,
364
+ locations: [
365
+ {
366
+ description: "**Shard Location: Jellyfish Cove, <:r1Vault:1150596447679553636> Vault of Knowledge**",
367
+ image: "https://media.discordapp.net/attachments/575827924343848960/1089082330305544242/05_Vault_of_Knowledge_-_Jellyfish_Cove.png",
368
+ },
369
+ {
370
+ description: "**Shard Data: Jellyfish Cove, <:r1Vault:1150596447679553636> Vault of Knowledge**",
371
+ image: "https://media.discordapp.net/attachments/575827924343848960/1049290746190106694/vk-r_Starlight_Desert.png",
372
+ },
373
+ ],
374
+ },
375
+ b: {
376
+ area: "Starlight Desert, <:r1Vault:1150596447679553636> Vault of Knowledge",
377
+ rewards: "200 Wax <:wax:1125091974869946369>",
378
+ image: "https://media.discordapp.net/attachments/867638574571323424/1159226657656287392/StarlightDesert.png",
379
+ ...shardConfig.b,
380
+ locations: [
381
+ {
382
+ description: "**Shard Location: Starlight Desert, <:r1Vault:1150596447679553636> Vault of Knowledge**",
383
+ image: "https://media.discordapp.net/attachments/575827924343848960/1090896818604347392/IMG_1525.png",
384
+ },
385
+ {
386
+ description: "**Shard Data: Starlight Desert, <:r1Vault:1150596447679553636> Vault of Knowledge**",
387
+ image: "https://media.discordapp.net/attachments/575827924343848960/1077178980051984455/vk-b_Starlight_Desert.png",
388
+ },
389
+ ],
390
+ },
391
+ B: {
392
+ area: "Jellyfish Cove, Starlight Desert, <:r1Vault:1150596447679553636> Vault of Knowledge",
393
+ rewards: "3.5 AC <a:ac5:1125338720183267390>",
394
+ image: "https://media.discordapp.net/attachments/867638574571323424/1159226657404616756/JellyfishCove.png",
395
+ ...shardConfig.B,
396
+ locations: [
397
+ {
398
+ description: "**Shard Location: Jellyfish Cove, <:r1Vault:1150596447679553636> Vault of Knowledge**",
399
+ image: "https://media.discordapp.net/attachments/575827924343848960/1089082330305544242/05_Vault_of_Knowledge_-_Jellyfish_Cove.png",
400
+ },
401
+ {
402
+ description: "**Shard Data: Jellyfish Cove, <:r1Vault:1150596447679553636> Vault of Knowledge**",
403
+ image: "https://media.discordapp.net/attachments/575827924343848960/1049290746190106694/vk-r_Starlight_Desert.png",
404
+ },
405
+ ],
406
+ },
407
+ C: {
408
+ area: "Jellyfish Cove, Starlight Desert, <:r1Vault:1150596447679553636> Vault of Knowledge",
409
+ rewards: "3.5 AC <a:ac5:1125338720183267390>",
410
+ image: "https://media.discordapp.net/attachments/867638574571323424/1159226657404616756/JellyfishCove.png",
411
+ ...shardConfig.C,
412
+ locations: [
413
+ {
414
+ description: "**Shard Location: Jellyfish Cove, <:r1Vault:1150596447679553636> Vault of Knowledge**",
415
+ image: "https://media.discordapp.net/attachments/575827924343848960/1089082330305544242/05_Vault_of_Knowledge_-_Jellyfish_Cove.png",
416
+ },
417
+ {
418
+ description: "**Shard Data: Jellyfish Cove, <:r1Vault:1150596447679553636> Vault of Knowledge**",
419
+ image: "https://media.discordapp.net/attachments/575827924343848960/1049290746190106694/vk-r_Starlight_Desert.png",
420
+ },
421
+ ],
422
+ },
423
+ },
424
+ };
@@ -0,0 +1,19 @@
1
+ import moment from "moment-timezone";
2
+ declare const shardSequence: readonly ["C", "b", "A", "a", "B", "b", "C", "a", "A", "b", "B", "a"];
3
+ export type TimelineType = {
4
+ readonly earlySky: moment.Moment;
5
+ readonly gateShard: moment.Moment;
6
+ readonly start: moment.Moment;
7
+ readonly end: moment.Moment;
8
+ readonly shardMusic: string;
9
+ };
10
+ export type TimelineReturnType = Record<(typeof shardSequence)[number], [TimelineType, TimelineType, TimelineType]>;
11
+ /**
12
+ * Returns shards fall - end times for a given date
13
+ * @param currentDate The date to get the timeline for
14
+ * @example
15
+ * const timelines = shardsTimeline(moment())
16
+ * const times = timelines[currentShard]
17
+ */
18
+ export declare const shardsTimeline: (currentDate: moment.Moment) => TimelineReturnType;
19
+ export {};
@@ -0,0 +1,57 @@
1
+ import moment from "moment-timezone";
2
+ const shardSequence = ["C", "b", "A", "a", "B", "b", "C", "a", "A", "b", "B", "a"];
3
+ /**
4
+ * Returns shards fall - end times for a given date
5
+ * @param currentDate The date to get the timeline for
6
+ * @example
7
+ * const timelines = shardsTimeline(moment())
8
+ * const times = timelines[currentShard]
9
+ */
10
+ export const shardsTimeline = (currentDate) => {
11
+ const getTimes = (earlySkyHours, earlySkyMinutes, earlySkySeconds, gateShardHours, gateShardMinutes, shardLandHours, shardLandMinutes, shardLandSeconds, shardEndHours, shardEndMinutes, shardMusic) => {
12
+ return {
13
+ earlySky: currentDate
14
+ .clone()
15
+ .startOf("day")
16
+ .add(earlySkyHours, "hours")
17
+ .add(earlySkyMinutes, "minutes")
18
+ .add(earlySkySeconds, "seconds"),
19
+ gateShard: currentDate.clone().startOf("day").add(gateShardHours, "hours").add(gateShardMinutes, "minutes"),
20
+ start: currentDate
21
+ .clone()
22
+ .startOf("day")
23
+ .add(shardLandHours, "hours")
24
+ .add(shardLandMinutes, "minutes")
25
+ .add(shardLandSeconds, "seconds"),
26
+ end: currentDate.clone().startOf("day").add(shardEndHours, "hours").add(shardEndMinutes, "minutes"),
27
+ shardMusic: shardMusic,
28
+ };
29
+ };
30
+ return {
31
+ C: [
32
+ getTimes(7, 7, 50, 7, 40, 7, 48, 40, 11, 40, "Lights Afar"),
33
+ getTimes(13, 7, 50, 13, 40, 13, 48, 40, 17, 40, "Lights Afar"),
34
+ getTimes(19, 7, 50, 19, 40, 19, 48, 40, 23, 40, "Lights Afar"),
35
+ ],
36
+ b: [
37
+ getTimes(1, 37, 50, 2, 10, 2, 18, 40, 6, 10, "An Abrupt Premonition"),
38
+ getTimes(9, 37, 50, 10, 10, 10, 18, 40, 14, 10, "An Abrupt Premonition"),
39
+ getTimes(17, 37, 50, 18, 10, 18, 18, 40, 22, 10, "An Abrupt Premonition"),
40
+ ],
41
+ A: [
42
+ getTimes(1, 47, 50, 2, 20, 2, 28, 40, 6, 20, "Lights Afar"),
43
+ getTimes(7, 47, 50, 8, 20, 8, 28, 40, 12, 20, "Lights Afar"),
44
+ getTimes(13, 47, 50, 14, 20, 14, 28, 40, 18, 20, "Lights Afar"),
45
+ ],
46
+ a: [
47
+ getTimes(1, 17, 50, 1, 50, 1, 58, 40, 5, 50, "An Abrupt Premonition"),
48
+ getTimes(9, 17, 50, 9, 50, 9, 58, 40, 13, 50, "An Abrupt Premonition"),
49
+ getTimes(17, 17, 50, 17, 50, 17, 58, 40, 21, 50, "An Abrupt Premonition"),
50
+ ],
51
+ B: [
52
+ getTimes(2, 57, 50, 3, 30, 3, 38, 40, 7, 30, "Of The Essence"),
53
+ getTimes(8, 57, 50, 9, 30, 9, 38, 40, 13, 30, "Of The Essence"),
54
+ getTimes(14, 57, 50, 15, 30, 15, 38, 40, 19, 30, "Of The Essence"),
55
+ ],
56
+ };
57
+ };
@@ -0,0 +1,6 @@
1
+ import { buildTimesHTML, parsePerms, postToHaste, recursiveReadDir, type Field, parseDateFormat } from "./utils/index.js";
2
+ export * from "./classes/index.js";
3
+ export { type Permission } from "./utils/parsePerms.js";
4
+ export { buildTimesHTML, parsePerms, postToHaste, parseDateFormat, type Field, recursiveReadDir };
5
+ export * from "./constants/index.js";
6
+ export type * from "./typings.ts";
package/dist/index.js ADDED
@@ -0,0 +1,5 @@
1
+ import { buildTimesHTML, parsePerms, postToHaste, recursiveReadDir, parseDateFormat } from "./utils/index.js";
2
+ export * from "./classes/index.js";
3
+ export {} from "./utils/parsePerms.js";
4
+ export { buildTimesHTML, parsePerms, postToHaste, parseDateFormat, recursiveReadDir };
5
+ export * from "./constants/index.js";
@@ -0,0 +1,62 @@
1
+ import { Client, Collection } from "discord.js";
2
+ import moment from "moment-timezone";
3
+ import { Document } from "mongoose";
4
+ /** Data of users provided for making a game leaderboard card */
5
+ export interface userData {
6
+ /** The position of the player in the leaderboard */
7
+ top: Number;
8
+ /** The Avatar of the player */
9
+ avatar: string;
10
+ /** The username of the player */
11
+ tag: string;
12
+ /** The score of the player */
13
+ score: number;
14
+ /** Number of the games played by the user */
15
+ games: number;
16
+ }
17
+ /** Customize colors for the game Leaderboard Card */
18
+ export interface colorsType {
19
+ box: string;
20
+ username: string;
21
+ score: string;
22
+ firstRank: string;
23
+ secondRank: string;
24
+ thirdRank: string;
25
+ }
26
+ export interface LeaderboardOptions {
27
+ usersData: userData[];
28
+ colors?: colorsType;
29
+ }
30
+ export interface Background {
31
+ type: string;
32
+ background: string;
33
+ }
34
+ export interface SkyEvent {
35
+ eventActive: Boolean;
36
+ eventName: string;
37
+ eventStarts: moment.Moment;
38
+ eventEnds: moment.Moment;
39
+ eventDuration: string;
40
+ }
41
+ export interface SkyHelper extends Client {
42
+ skyEvents: Collection<string, SkyEvent>;
43
+ }
44
+ export interface TSData extends Document {
45
+ name: string;
46
+ visitDate: string;
47
+ value: string;
48
+ index: number;
49
+ }
50
+ export interface SpecialEventData extends Document {
51
+ startDate: string;
52
+ endDate: string;
53
+ name: string;
54
+ }
55
+ export interface ShardsCountdown {
56
+ index: number;
57
+ active?: boolean;
58
+ ended?: boolean;
59
+ start: moment.Moment;
60
+ end: moment.Moment;
61
+ duration: string;
62
+ }
@@ -0,0 +1,3 @@
1
+ import { Client, Collection } from "discord.js";
2
+ import moment from "moment-timezone";
3
+ import { Document } from "mongoose";
@@ -0,0 +1,14 @@
1
+ import { type ChatInputCommandInteraction } from "discord.js";
2
+ export interface Field {
3
+ name: string;
4
+ example: string;
5
+ value: string;
6
+ }
7
+ /**
8
+ * Dynamically builds a timestamp sweb page html with the given data
9
+ * @param interaction The interaction that intiated this
10
+ * @param fieldsData The data about times
11
+ * @param offset Offset of the timezone
12
+ * @param providedTime
13
+ */
14
+ export declare const buildTimesHTML: (interaction: ChatInputCommandInteraction, fieldsData: Field[], offset: string, providedTime: string) => string;