@@ -238,6 +238,40 @@ export const GuildConfigSchema = z.object({
238
238
. optional ( ) ,
239
239
reason : z . string ( ) . optional ( )
240
240
} )
241
+ . optional ( ) ,
242
+ auto_role : z
243
+ . object ( {
244
+ enabled : z . boolean ( ) . optional ( ) . default ( false ) ,
245
+ roles : z . array ( zSnowflake ) . default ( [ ] ) ,
246
+ ignore_bots : z . boolean ( ) . optional ( ) . default ( true )
247
+ } )
248
+ . optional ( ) ,
249
+ welcomer : z
250
+ . object ( {
251
+ enabled : z . boolean ( ) . default ( false ) ,
252
+ custom_message : z . string ( ) . optional ( ) ,
253
+ randomize : z . boolean ( ) . optional ( ) . default ( false ) ,
254
+ mention : z . boolean ( ) . optional ( ) . default ( false ) ,
255
+ say_hi_button : z
256
+ . object ( {
257
+ enabled : z . boolean ( ) . optional ( ) . default ( false ) ,
258
+ label : z . string ( ) . optional ( ) . default ( "Say Hi" ) ,
259
+ emoji : z . string ( ) . optional ( ) . default ( "👋" ) ,
260
+ reply : z . string ( ) . optional ( ) . default ( ":acc: said hi to you!" ) ,
261
+ expire_after : z
262
+ . number ( )
263
+ . int ( )
264
+ . min ( 5_000 )
265
+ . max ( 10 * 60_000 )
266
+ . default ( 5 * 60_000 )
267
+ . nullable ( )
268
+ } )
269
+ . optional ( ) ,
270
+ delete_after : z . number ( ) . int ( ) . optional ( ) ,
271
+ channel : zSnowflake ,
272
+ force_embeds : z . boolean ( ) . default ( true ) ,
273
+ forced_embed_color : z . number ( ) . int ( ) . optional ( )
274
+ } )
241
275
. optional ( )
242
276
/*
243
277
message_reporting: z
@@ -267,84 +301,6 @@ export const GuildConfigSchema = z.object({
267
301
.default({})
268
302
})
269
303
.optional(),
270
- message_filter: z
271
- .object({
272
- enabled: z.boolean().default(false),
273
- send_logs: z
274
- .boolean()
275
- .or(
276
- z.object({
277
- blocked_words: z.boolean().default(false),
278
- blocked_tokens: z.boolean().default(false),
279
- blocked_messages: z.boolean().default(false)
280
- })
281
- )
282
- .default(false),
283
- delete_message: z
284
- .boolean()
285
- .or(
286
- z.object({
287
- blocked_words: z.boolean().default(false),
288
- blocked_tokens: z.boolean().default(false),
289
- blocked_messages: z.boolean().default(false)
290
- })
291
- )
292
- .default(false),
293
- data: z
294
- .object({
295
- blocked_words: z.array(z.string()).optional().default([]),
296
- blocked_tokens: z.array(z.string()).optional().default([]),
297
- blocked_messages: z.array(z.string()).optional().default([])
298
- })
299
- .default({})
300
- })
301
- .optional(),
302
- antispam: z
303
- .object({
304
- enabled: z.boolean().optional().default(false),
305
- limit: z.number().int().default(-1).optional(),
306
- timeframe: z.number().int().default(-1).optional(),
307
- mute_duration: z.number().int().default(-1).optional(),
308
- similar_messages: z
309
- .object({
310
- max: z.number().int().default(-1).optional(),
311
- channels: z.array(zSnowflake).or(z.boolean()).default(false).optional(),
312
- timeframe: z.number().int().min(0).optional()
313
- })
314
- .optional(),
315
- action: z
316
- .union([
317
- z.literal("verbal_warn"),
318
- z.literal("warn"),
319
- z.literal("warn"),
320
- z.literal("mute"),
321
- z.literal("mute_clear"),
322
- z.literal("auto")
323
- ])
324
- .optional(),
325
- disabled_channels: z.array(zSnowflake).default([])
326
- })
327
- .optional(),
328
- antiraid: z
329
- .object({
330
- enabled: z.boolean().optional().default(false),
331
- max_joins: z.number().int().default(-1).optional(),
332
- timeframe: z.number().int().default(-1).optional(),
333
- action: z
334
- .union([
335
- z.literal("auto"),
336
- z.literal("lock"),
337
- z.literal("antijoin"),
338
- z.literal("lock_and_antijoin"),
339
- z.literal("none")
340
- ])
341
- .optional(),
342
- send_log: z.boolean().optional().default(true),
343
- channels: z.array(zSnowflake).default([]),
344
- channel_mode: z.literal("exclude").or(z.literal("include")).default("exclude"),
345
- ignore_private_channels: z.boolean().optional().default(true)
346
- })
347
- .optional(),
348
304
welcomer: z
349
305
.object({
350
306
enabled: z.boolean().optional().default(false),
@@ -380,76 +336,13 @@ export const GuildConfigSchema = z.object({
380
336
.or(z.string().startsWith("#"))
381
337
})
382
338
.optional(),
383
- profile_filter: z
384
- .object({
385
- enabled: z.boolean().optional().default(false),
386
- scan: z
387
- .array(z.literal("status").or(z.literal("nickname")).or(z.literal("username")))
388
- .default([]),
389
- actions: z
390
- .object({
391
- status: z
392
- .literal("mute")
393
- .or(z.literal("warn"))
394
- .or(z.literal("none"))
395
- .default("none"),
396
- nickname: z
397
- .literal("mute")
398
- .or(z.literal("warn"))
399
- .or(z.literal("none"))
400
- .default("none"),
401
- username: z
402
- .literal("mute")
403
- .or(z.literal("warn"))
404
- .or(z.literal("none"))
405
- .default("none")
406
- })
407
- .default({})
408
- .optional(),
409
- inherit_from_message_filter: z
410
- .object({
411
- tokens: z.boolean().optional().default(false),
412
- words: z.boolean().optional().default(false)
413
- })
414
- .default({})
415
- .optional(),
416
- tokens: z.array(z.string()).default([]).optional(),
417
- words: z.array(z.string()).default([]).optional()
418
- })
419
- .optional(),
420
- autorole: z
421
- .object({
422
- enabled: z.boolean().optional().default(false),
423
- roles: z.array(zSnowflake).default([]),
424
- ignore_bots: z.boolean().optional().default(true)
425
- })
426
- .optional(),
427
-
428
- create_boost_role: z
429
- .object({
430
- create_roles_after: zSnowflake.optional()
431
- })
432
- .optional(),
433
- disabled_commands: z
434
- .object({
435
- guild: z.array(z.string()).default([]),
436
- channels: z.record(zSnowflake, z.array(z.string()).default([])).default({})
437
- })
438
- .optional(),
439
339
file_filter: z
440
340
.object({
441
341
enabled: z.boolean().optional().default(false),
442
342
disabled_channels: z.array(zSnowflake).default([]),
443
343
blocked_hashes: z.record(z.string(), z.string().nullable()).default({})
444
344
})
445
345
.optional(),
446
- message_rules: z
447
- .object({
448
- enabled: z.boolean().default(false),
449
- rules: z.array(MessageRuleSchema).default([]),
450
- global_disabled_channels: z.array(zSnowflake).default([])
451
- })
452
- .optional(),
453
346
auto_triggers: z
454
347
.object({
455
348
enabled: z.boolean().default(false),
@@ -486,64 +379,7 @@ export const GuildConfigSchema = z.object({
486
379
reminder_content: z.string().min(1).optional(),
487
380
on_bump_content: z.string().min(1).optional()
488
381
})
489
- .optional(),
490
- verification: z
491
- .object({
492
- enabled: z.boolean().default(false).optional(),
493
- parameters: z.object({
494
- age_less_than: z
495
- .number()
496
- .int()
497
- .default(1000 * 60 * 60 * 24 * 3)
498
- .optional(), // 3 days
499
- no_avatar: z.boolean().optional(),
500
- always: z.boolean().optional()
501
- }),
502
- unverified_roles: z.array(zSnowflake).default([]),
503
- verified_roles: z.array(zSnowflake).default([]),
504
- action_on_fail: z
505
- .union([
506
- z.object({
507
- type: z.literal("ban")
508
- }),
509
- z.object({
510
- type: z.literal("kick")
511
- }),
512
- z.object({
513
- type: z.literal("mute")
514
- }),
515
- z.object({
516
- type: z.literal("role"),
517
- mode: z.enum(["give", "take"]),
518
- roles: z.array(zSnowflake)
519
- })
520
- ])
521
- .optional(),
522
- max_attempts: z
523
- .number()
524
- .int()
525
- .default(0)
526
- .describe("Set this to 0 to allow every attempt"),
527
- max_time: z
528
- .number()
529
- .int()
530
- .default(1000 * 60 * 60 * 2)
531
- .describe("Set this to 0 to disable time checks"),
532
- logging: z
533
- .object({
534
- enabled: z.boolean(),
535
- channel: zSnowflake.optional()
536
- })
537
- .default({
538
- enabled: true
539
- })
540
- })
541
- .optional(),
542
- statistics: z
543
- .object({
544
- enabled: z.boolean().default(false)
545
- })
546
- .optional() */
382
+ .optional(), */
547
383
} ) ;
548
384
549
385
export type GuildConfig = z . infer < typeof GuildConfigSchema > ;
0 commit comments