aboutsummaryrefslogtreecommitdiff
path: root/src/lib/models/Guild.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/models/Guild.ts')
-rw-r--r--src/lib/models/Guild.ts21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/lib/models/Guild.ts b/src/lib/models/Guild.ts
index a4780fd..b155330 100644
--- a/src/lib/models/Guild.ts
+++ b/src/lib/models/Guild.ts
@@ -46,6 +46,12 @@ export const guildSettingsObj = {
description: 'Roles assigned to users on join who do not have sticky role information.',
type: 'role-array',
configurable: true
+ },
+ bypassChannelBlacklist: {
+ name: 'Bypass Channel Blacklist',
+ description: 'These users will be able to use commands in channels blacklisted.',
+ type: 'user-array',
+ configurable: true
}
};
export type GuildSettings = keyof typeof guildSettingsObj;
@@ -130,6 +136,7 @@ export interface GuildModel {
enabledFeatures: GuildFeatures[];
joinRoles: Snowflake[];
logChannels: LogChannelDB;
+ bypassChannelBlacklist: Snowflake[];
}
export interface GuildModelCreationAttributes {
@@ -147,6 +154,7 @@ export interface GuildModelCreationAttributes {
enabledFeatures?: GuildFeatures[];
joinRoles?: Snowflake[];
logChannels?: LogChannelDB;
+ bypassChannelBlacklist?: Snowflake[];
}
export class Guild extends BaseModel<GuildModel, GuildModelCreationAttributes> implements GuildModel {
@@ -290,6 +298,16 @@ export class Guild extends BaseModel<GuildModel, GuildModelCreationAttributes> i
throw new Error(NEVER_USED);
}
+ /**
+ * These users will be able to use commands in channels blacklisted
+ */
+ public get bypassChannelBlacklist(): Snowflake[] {
+ throw new Error(NEVER_USED);
+ }
+ public set bypassChannelBlacklist(_: Snowflake[]) {
+ throw new Error(NEVER_USED);
+ }
+
public static initModel(sequelize: Sequelize, client: BushClient): void {
Guild.init(
{
@@ -332,7 +350,8 @@ export class Guild extends BaseModel<GuildModel, GuildModelCreationAttributes> i
},
allowNull: false,
defaultValue: '{}'
- }
+ },
+ bypassChannelBlacklist: jsonArrayInit('bypassChannelBlacklist')
},
{ sequelize: sequelize }
);