topgg-api-types 0.0.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.
@@ -0,0 +1,605 @@
1
+ import * as z from "zod/mini";
2
+
3
+ //#region src/v0/validators.d.ts
4
+
5
+ /**
6
+ * The type of a webhook event.
7
+ */
8
+ declare const WebhookEventTypeSchema: z.ZodMiniEnum<{
9
+ upvote: "upvote";
10
+ test: "test";
11
+ }>;
12
+ /**
13
+ * Webhook payload for bot votes (deprecated).
14
+ *
15
+ * @deprecated Use `v1` types instead.
16
+ */
17
+ declare const BotWebhookPayloadSchema: z.ZodMiniObject<{
18
+ /**
19
+ * Discord ID of the bot that received a vote.
20
+ */
21
+ bot: z.ZodMiniString<string>;
22
+ /**
23
+ * Discord ID of the user that voted.
24
+ */
25
+ user: z.ZodMiniString<string>;
26
+ /**
27
+ * The type of the vote (should always be "upvote" except when using the test button it's "test").
28
+ */
29
+ type: z.ZodMiniEnum<{
30
+ upvote: "upvote";
31
+ test: "test";
32
+ }>;
33
+ /**
34
+ * Whether the weekend multiplier is in effect, meaning users votes count as two.
35
+ */
36
+ isWeekend: z.ZodMiniBoolean<boolean>;
37
+ /**
38
+ * Query string params found on the /bot/:ID/vote page.
39
+ *
40
+ * @example
41
+ * "?a=1&b=2&c=3"
42
+ */
43
+ query: z.ZodMiniOptional<z.ZodMiniString<string>>;
44
+ }, z.core.$strip>;
45
+ /**
46
+ * Webhook payload for server votes (deprecated).
47
+ *
48
+ * @deprecated Use `v1` types instead.
49
+ */
50
+ declare const ServerWebhookPayloadSchema: z.ZodMiniObject<{
51
+ /**
52
+ * Discord ID of the server that received a vote.
53
+ */
54
+ guild: z.ZodMiniString<string>;
55
+ /**
56
+ * Discord ID of the user that voted.
57
+ */
58
+ user: z.ZodMiniString<string>;
59
+ /**
60
+ * The type of the vote (should always be "upvote" except when using the test button it's "test").
61
+ */
62
+ type: z.ZodMiniEnum<{
63
+ upvote: "upvote";
64
+ test: "test";
65
+ }>;
66
+ /**
67
+ * Whether the weekend multiplier is in effect, meaning users votes count as two.
68
+ */
69
+ query: z.ZodMiniOptional<z.ZodMiniString<string>>;
70
+ }, z.core.$strip>;
71
+ /**
72
+ * A bot listed on Top.gg.
73
+ */
74
+ declare const BotSchema: z.ZodMiniObject<{
75
+ /**
76
+ * The Discord ID of the bot
77
+ */
78
+ id: z.ZodMiniString<string>;
79
+ /**
80
+ * The username of the bot
81
+ */
82
+ username: z.ZodMiniString<string>;
83
+ /**
84
+ * The discriminator of the bot (legacy Discord feature)
85
+ */
86
+ discriminator: z.ZodMiniString<string>;
87
+ /**
88
+ * The avatar hash of the bot's avatar
89
+ */
90
+ avatar: z.ZodMiniOptional<z.ZodMiniString<string>>;
91
+ /**
92
+ * The cdn hash of the bot's avatar if the bot has none
93
+ */
94
+ defAvatar: z.ZodMiniOptional<z.ZodMiniString<string>>;
95
+ /**
96
+ * The command prefix of the bot
97
+ */
98
+ prefix: z.ZodMiniString<string>;
99
+ /**
100
+ * The short description of the bot
101
+ */
102
+ shortdesc: z.ZodMiniString<string>;
103
+ /**
104
+ * The detailed long description of the bot
105
+ */
106
+ longdesc: z.ZodMiniOptional<z.ZodMiniString<string>>;
107
+ /**
108
+ * Array of tags associated with the bot
109
+ */
110
+ tags: z.ZodMiniArray<z.ZodMiniString<string>>;
111
+ /**
112
+ * The official website URL of the bot
113
+ */
114
+ website: z.ZodMiniOptional<z.ZodMiniString<string>>;
115
+ /**
116
+ * The support server URL for the bot
117
+ */
118
+ support: z.ZodMiniOptional<z.ZodMiniString<string>>;
119
+ /**
120
+ * The GitHub repository URL of the bot
121
+ */
122
+ github: z.ZodMiniOptional<z.ZodMiniString<string>>;
123
+ /**
124
+ * Array of snowflake identifiers of the bot owners
125
+ */
126
+ owners: z.ZodMiniArray<z.ZodMiniString<string>>;
127
+ /**
128
+ * Array of guild snowflake identifiers where the bot is present
129
+ */
130
+ guilds: z.ZodMiniArray<z.ZodMiniString<string>>;
131
+ /**
132
+ * The OAuth2 invite URL of the bot
133
+ */
134
+ invite: z.ZodMiniOptional<z.ZodMiniString<string>>;
135
+ /**
136
+ * The date when the bot was approved on Top.gg in ISO 8601 format
137
+ */
138
+ date: z.iso.ZodMiniISODate;
139
+ /**
140
+ * The amount of servers the bot has according to posted stats.
141
+ */
142
+ server_count: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
143
+ /**
144
+ * The amount of shards the bot has according to posted stats.
145
+ */
146
+ shard_count: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
147
+ /**
148
+ * Whether the bot is certified on Top.gg
149
+ */
150
+ certifiedBot: z.ZodMiniBoolean<boolean>;
151
+ /**
152
+ * The vanity URL of the bot on Top.gg
153
+ */
154
+ vanity: z.ZodMiniOptional<z.ZodMiniString<string>>;
155
+ /**
156
+ * The amount of upvotes the bot has
157
+ */
158
+ points: z.ZodMiniNumber<number>;
159
+ /**
160
+ * The amount of upvotes the bot has this month
161
+ */
162
+ monthlyPoints: z.ZodMiniNumber<number>;
163
+ /**
164
+ * The guild id for the donatebot setup
165
+ */
166
+ donatebotguildid: z.ZodMiniString<string>;
167
+ }, z.core.$strip>;
168
+ /**
169
+ * Query parameters for searching bots on Top.gg.
170
+ *
171
+ * @see https://docs.top.gg/docs/API/v0/bot#search-bots
172
+ */
173
+ declare const GetSearchBotsQuerySchema: z.ZodMiniObject<{
174
+ /**
175
+ * The amount of bots to return.
176
+ *
177
+ * @minimum 1
178
+ * @maximum 500
179
+ * @default 50
180
+ */
181
+ limit: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
182
+ /**
183
+ * The amount of bots to skip (for pagination).
184
+ *
185
+ * @minimum 0
186
+ * @default 0
187
+ */
188
+ offset: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
189
+ /**
190
+ * The field to sort the bots by. Prefix with `-` for descending order.
191
+ *
192
+ * There is no documented default.
193
+ */
194
+ sort: z.ZodMiniString<string>;
195
+ /**
196
+ * Comma separated list of fields to include in the response. If not provided, all fields will be included.
197
+ */
198
+ fields: z.ZodMiniOptional<z.ZodMiniString<string>>;
199
+ }, z.core.$strip>;
200
+ /**
201
+ * Response for searching bots on Top.gg.
202
+ */
203
+ declare const GetSearchBotsResponseSchema: z.ZodMiniObject<{
204
+ /**
205
+ * The array of bots that match the search query.
206
+ */
207
+ results: z.ZodMiniArray<z.ZodMiniObject<{
208
+ /**
209
+ * The Discord ID of the bot
210
+ */
211
+ id: z.ZodMiniString<string>;
212
+ /**
213
+ * The username of the bot
214
+ */
215
+ username: z.ZodMiniString<string>;
216
+ /**
217
+ * The discriminator of the bot (legacy Discord feature)
218
+ */
219
+ discriminator: z.ZodMiniString<string>;
220
+ /**
221
+ * The avatar hash of the bot's avatar
222
+ */
223
+ avatar: z.ZodMiniOptional<z.ZodMiniString<string>>;
224
+ /**
225
+ * The cdn hash of the bot's avatar if the bot has none
226
+ */
227
+ defAvatar: z.ZodMiniOptional<z.ZodMiniString<string>>;
228
+ /**
229
+ * The command prefix of the bot
230
+ */
231
+ prefix: z.ZodMiniString<string>;
232
+ /**
233
+ * The short description of the bot
234
+ */
235
+ shortdesc: z.ZodMiniString<string>;
236
+ /**
237
+ * The detailed long description of the bot
238
+ */
239
+ longdesc: z.ZodMiniOptional<z.ZodMiniString<string>>;
240
+ /**
241
+ * Array of tags associated with the bot
242
+ */
243
+ tags: z.ZodMiniArray<z.ZodMiniString<string>>;
244
+ /**
245
+ * The official website URL of the bot
246
+ */
247
+ website: z.ZodMiniOptional<z.ZodMiniString<string>>;
248
+ /**
249
+ * The support server URL for the bot
250
+ */
251
+ support: z.ZodMiniOptional<z.ZodMiniString<string>>;
252
+ /**
253
+ * The GitHub repository URL of the bot
254
+ */
255
+ github: z.ZodMiniOptional<z.ZodMiniString<string>>;
256
+ /**
257
+ * Array of snowflake identifiers of the bot owners
258
+ */
259
+ owners: z.ZodMiniArray<z.ZodMiniString<string>>;
260
+ /**
261
+ * Array of guild snowflake identifiers where the bot is present
262
+ */
263
+ guilds: z.ZodMiniArray<z.ZodMiniString<string>>;
264
+ /**
265
+ * The OAuth2 invite URL of the bot
266
+ */
267
+ invite: z.ZodMiniOptional<z.ZodMiniString<string>>;
268
+ /**
269
+ * The date when the bot was approved on Top.gg in ISO 8601 format
270
+ */
271
+ date: z.iso.ZodMiniISODate;
272
+ /**
273
+ * The amount of servers the bot has according to posted stats.
274
+ */
275
+ server_count: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
276
+ /**
277
+ * The amount of shards the bot has according to posted stats.
278
+ */
279
+ shard_count: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
280
+ /**
281
+ * Whether the bot is certified on Top.gg
282
+ */
283
+ certifiedBot: z.ZodMiniBoolean<boolean>;
284
+ /**
285
+ * The vanity URL of the bot on Top.gg
286
+ */
287
+ vanity: z.ZodMiniOptional<z.ZodMiniString<string>>;
288
+ /**
289
+ * The amount of upvotes the bot has
290
+ */
291
+ points: z.ZodMiniNumber<number>;
292
+ /**
293
+ * The amount of upvotes the bot has this month
294
+ */
295
+ monthlyPoints: z.ZodMiniNumber<number>;
296
+ /**
297
+ * The guild id for the donatebot setup
298
+ */
299
+ donatebotguildid: z.ZodMiniString<string>;
300
+ }, z.core.$strip>>;
301
+ /**
302
+ * The total number of bots that match the search query.
303
+ */
304
+ total: z.ZodMiniNumber<number>;
305
+ /**
306
+ * The limit used in the query.
307
+ */
308
+ limit: z.ZodMiniNumber<number>;
309
+ /**
310
+ * The amount of bots skipped (for pagination).
311
+ */
312
+ offset: z.ZodMiniNumber<number>;
313
+ /**
314
+ * The amount of items in the current page of results.
315
+ */
316
+ count: z.ZodMiniNumber<number>;
317
+ }, z.core.$strip>;
318
+ /**
319
+ * Response for getting a bot.
320
+ *
321
+ * - GET `/bots/:bot_id`
322
+ */
323
+ declare const GetBotResponseSchema: z.ZodMiniObject<{
324
+ /**
325
+ * The Discord ID of the bot
326
+ */
327
+ id: z.ZodMiniString<string>;
328
+ /**
329
+ * The username of the bot
330
+ */
331
+ username: z.ZodMiniString<string>;
332
+ /**
333
+ * The discriminator of the bot (legacy Discord feature)
334
+ */
335
+ discriminator: z.ZodMiniString<string>;
336
+ /**
337
+ * The avatar hash of the bot's avatar
338
+ */
339
+ avatar: z.ZodMiniOptional<z.ZodMiniString<string>>;
340
+ /**
341
+ * The cdn hash of the bot's avatar if the bot has none
342
+ */
343
+ defAvatar: z.ZodMiniOptional<z.ZodMiniString<string>>;
344
+ /**
345
+ * The command prefix of the bot
346
+ */
347
+ prefix: z.ZodMiniString<string>;
348
+ /**
349
+ * The short description of the bot
350
+ */
351
+ shortdesc: z.ZodMiniString<string>;
352
+ /**
353
+ * The detailed long description of the bot
354
+ */
355
+ longdesc: z.ZodMiniOptional<z.ZodMiniString<string>>;
356
+ /**
357
+ * Array of tags associated with the bot
358
+ */
359
+ tags: z.ZodMiniArray<z.ZodMiniString<string>>;
360
+ /**
361
+ * The official website URL of the bot
362
+ */
363
+ website: z.ZodMiniOptional<z.ZodMiniString<string>>;
364
+ /**
365
+ * The support server URL for the bot
366
+ */
367
+ support: z.ZodMiniOptional<z.ZodMiniString<string>>;
368
+ /**
369
+ * The GitHub repository URL of the bot
370
+ */
371
+ github: z.ZodMiniOptional<z.ZodMiniString<string>>;
372
+ /**
373
+ * Array of snowflake identifiers of the bot owners
374
+ */
375
+ owners: z.ZodMiniArray<z.ZodMiniString<string>>;
376
+ /**
377
+ * Array of guild snowflake identifiers where the bot is present
378
+ */
379
+ guilds: z.ZodMiniArray<z.ZodMiniString<string>>;
380
+ /**
381
+ * The OAuth2 invite URL of the bot
382
+ */
383
+ invite: z.ZodMiniOptional<z.ZodMiniString<string>>;
384
+ /**
385
+ * The date when the bot was approved on Top.gg in ISO 8601 format
386
+ */
387
+ date: z.iso.ZodMiniISODate;
388
+ /**
389
+ * The amount of servers the bot has according to posted stats.
390
+ */
391
+ server_count: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
392
+ /**
393
+ * The amount of shards the bot has according to posted stats.
394
+ */
395
+ shard_count: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
396
+ /**
397
+ * Whether the bot is certified on Top.gg
398
+ */
399
+ certifiedBot: z.ZodMiniBoolean<boolean>;
400
+ /**
401
+ * The vanity URL of the bot on Top.gg
402
+ */
403
+ vanity: z.ZodMiniOptional<z.ZodMiniString<string>>;
404
+ /**
405
+ * The amount of upvotes the bot has
406
+ */
407
+ points: z.ZodMiniNumber<number>;
408
+ /**
409
+ * The amount of upvotes the bot has this month
410
+ */
411
+ monthlyPoints: z.ZodMiniNumber<number>;
412
+ /**
413
+ * The guild id for the donatebot setup
414
+ */
415
+ donatebotguildid: z.ZodMiniString<string>;
416
+ }, z.core.$strip>;
417
+ /**
418
+ * A bot voter.
419
+ */
420
+ declare const BotVoterSchema: z.ZodMiniObject<{
421
+ /**
422
+ * The Discord ID of the user that voted.
423
+ */
424
+ id: z.ZodMiniString<string>;
425
+ /**
426
+ * The username of the user that voted, including discriminator (e.g., "wumpus#0000").
427
+ */
428
+ username: z.ZodMiniString<string>;
429
+ /**
430
+ * The avatar hash of the user that voted.
431
+ */
432
+ avatar: z.ZodMiniOptional<z.ZodMiniString<string>>;
433
+ }, z.core.$strip>;
434
+ /**
435
+ * Gets the last 1000 voters for your bot.
436
+ *
437
+ * - GET `/bots/:bot_id/votes`
438
+ */
439
+ declare const GetLast1000BotVotesResponseSchema: z.ZodMiniArray<z.ZodMiniObject<{
440
+ /**
441
+ * The Discord ID of the user that voted.
442
+ */
443
+ id: z.ZodMiniString<string>;
444
+ /**
445
+ * The username of the user that voted, including discriminator (e.g., "wumpus#0000").
446
+ */
447
+ username: z.ZodMiniString<string>;
448
+ /**
449
+ * The avatar hash of the user that voted.
450
+ */
451
+ avatar: z.ZodMiniOptional<z.ZodMiniString<string>>;
452
+ }, z.core.$strip>>;
453
+ /**
454
+ * Specific stats about a bot.
455
+ *
456
+ * - GET `/bots/:bot_id/stats`
457
+ */
458
+ declare const GetBotStatsResponseSchema: z.ZodMiniObject<{
459
+ /**
460
+ * The amount of servers the bot is in
461
+ */
462
+ server_count: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
463
+ /**
464
+ * The amount of servers the bot is in per shard. Always present but can be empty.
465
+ */
466
+ shards: z.ZodMiniArray<z.ZodMiniNumber<number>>;
467
+ /**
468
+ * The amount of shards a bot has according to posted stats.
469
+ */
470
+ shard_count: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
471
+ }, z.core.$strip>;
472
+ /**
473
+ * Query parameters for checking whether or not a user has voted for your bot.
474
+ *
475
+ * - GET `/bots/:bot_id/check`
476
+ */
477
+ declare const GetUserVoteCheckQuerySchema: z.ZodMiniObject<{
478
+ /**
479
+ * The Discord ID of the user to check for a vote.
480
+ */
481
+ userId: z.ZodMiniString<string>;
482
+ }, z.core.$strip>;
483
+ /**
484
+ * Response for checking whether or not a user has voted for your bot.
485
+ *
486
+ * - GET `/bots/:bot_id/check`
487
+ */
488
+ declare const GetUserVoteCheckResponseSchema: z.ZodMiniObject<{
489
+ /**
490
+ * 0 if the user has not voted for this bot in the last 12 hours, 1 if they have.
491
+ */
492
+ voted: z.ZodMiniXor<readonly [z.ZodMiniLiteral<0>, z.ZodMiniLiteral<1>]>;
493
+ }, z.core.$strip>;
494
+ /**
495
+ * Request body for posting bot stats.
496
+ */
497
+ declare const PostBotStatsBodySchema: z.ZodMiniObject<{
498
+ /**
499
+ * The amount of servers the bot is in. Required if the bot has less than 100 servers, otherwise optional but recommended.
500
+ *
501
+ * If an Array, it acts like shards.
502
+ */
503
+ server_count: z.ZodMiniXor<readonly [z.ZodMiniNumber<number>, z.ZodMiniArray<z.ZodMiniNumber<number>>]>;
504
+ /**
505
+ * Amount of servers the bot is in per shard.
506
+ */
507
+ shards: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniNumber<number>>>;
508
+ /**
509
+ * The zero-indexed id of the shard posting. Makes server_count set the shard specific server count.
510
+ */
511
+ shard_id: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
512
+ /**
513
+ * The amount of shards the bot has.
514
+ */
515
+ shard_count: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
516
+ }, z.core.$strip>;
517
+ /**
518
+ * A user on Top.gg.
519
+ *
520
+ * - GET `/users/:user_id`
521
+ */
522
+ declare const UserSchema: z.ZodMiniObject<{
523
+ /**
524
+ * The Discord ID for this user.
525
+ */
526
+ id: z.ZodMiniString<string>;
527
+ /**
528
+ * The username of the user, not including discriminator (e.g., "wumpus").
529
+ */
530
+ username: z.ZodMiniString<string>;
531
+ /**
532
+ * The discriminator of the user (legacy Discord feature, e.g., "0000").
533
+ */
534
+ discriminator: z.ZodMiniString<string>;
535
+ /**
536
+ * The avatar hash of the user's avatar.
537
+ */
538
+ avatar: z.ZodMiniOptional<z.ZodMiniString<string>>;
539
+ /**
540
+ * The cdn hash of the user's avatar if the user has none.
541
+ */
542
+ defAvatar: z.ZodMiniOptional<z.ZodMiniString<string>>;
543
+ /**
544
+ * The bio of the user. This is a short description that the user can set on their profile. It may be empty or null if the user has not set a bio.
545
+ *
546
+ * This is NOT their in-discord bio.
547
+ */
548
+ bio: z.ZodMiniOptional<z.ZodMiniString<string>>;
549
+ /**
550
+ * The banner image URL of the user.
551
+ */
552
+ banner: z.ZodMiniOptional<z.ZodMiniString<string>>;
553
+ /**
554
+ * The social usernames of the user
555
+ */
556
+ social: z.ZodMiniObject<{
557
+ /**
558
+ * The YouTube channel ID of the user. This is not the full URL, just the channel ID (e.g., "UC_x5XG1OV2P6uZZ5FSM9Ttw").
559
+ */
560
+ youtube: z.ZodMiniOptional<z.ZodMiniString<string>>;
561
+ /**
562
+ * The Reddit username of the user (e.g., "spez"). This is not the full URL, just the username.
563
+ */
564
+ reddit: z.ZodMiniOptional<z.ZodMiniString<string>>;
565
+ /**
566
+ * The Twitter username of the user (e.g., "jack"). This is not the full URL, just the username.
567
+ */
568
+ twitter: z.ZodMiniOptional<z.ZodMiniString<string>>;
569
+ /**
570
+ * The Instagram username of the user (e.g., "instagram"). This is not the full URL, just the username.
571
+ */
572
+ instagram: z.ZodMiniOptional<z.ZodMiniString<string>>;
573
+ /**
574
+ * The GitHub username of the user (e.g., "torvalds"). This is not the full URL, just the username.
575
+ */
576
+ github: z.ZodMiniOptional<z.ZodMiniString<string>>;
577
+ }, z.core.$strip>;
578
+ /**
579
+ * The custom hex color of the user (not guaranteed to be valid hex). This is a color that the user can set on their profile.
580
+ */
581
+ color: z.ZodMiniOptional<z.ZodMiniString<string>>;
582
+ /**
583
+ * The supporter status of the user. This is true if the user has voted for any bot in the last month.
584
+ */
585
+ supporter: z.ZodMiniBoolean<boolean>;
586
+ /**
587
+ * The certified status of the user.
588
+ */
589
+ certifiedDev: z.ZodMiniBoolean<boolean>;
590
+ /**
591
+ * The mod status of the user. This is true if the user is a moderator on Top.gg.
592
+ */
593
+ mod: z.ZodMiniBoolean<boolean>;
594
+ /**
595
+ * The website moderator status of the user. This is true if the user is a website moderator on Top.gg.
596
+ */
597
+ webMod: z.ZodMiniBoolean<boolean>;
598
+ /**
599
+ * The admin status of the user.
600
+ */
601
+ admin: z.ZodMiniBoolean<boolean>;
602
+ }, z.core.$strip>;
603
+ //#endregion
604
+ export { BotSchema, BotVoterSchema, BotWebhookPayloadSchema, GetBotResponseSchema, GetBotStatsResponseSchema, GetLast1000BotVotesResponseSchema, GetSearchBotsQuerySchema, GetSearchBotsResponseSchema, GetUserVoteCheckQuerySchema, GetUserVoteCheckResponseSchema, PostBotStatsBodySchema, ServerWebhookPayloadSchema, UserSchema, WebhookEventTypeSchema };
605
+ //# sourceMappingURL=validators.d.ts.map