Merge branch 'ts-rewrite' of https://git.corgi.wtf/Galactic/galactic-bot into ts-rewrite

This commit is contained in:
D3vision 2023-12-07 23:44:00 +01:00
commit 2703460b84
6 changed files with 24 additions and 36 deletions

View File

@ -499,7 +499,6 @@ class ModerationManager implements Initialisable
points, expiration, timestamp: response.infraction.timestamp, id: response.infraction.id points, expiration, timestamp: response.infraction.timestamp, id: response.infraction.id
}); });
return result; return result;
} }
async _handleArguments (invoker: InvokerWrapper, targets: ModerationTargets, args: {[key: string]: CommandOption | undefined}) async _handleArguments (invoker: InvokerWrapper, targets: ModerationTargets, args: {[key: string]: CommandOption | undefined})
@ -614,9 +613,7 @@ class ModerationManager implements Initialisable
}, callBackAt - currentDate), }, callBackAt - currentDate),
infraction infraction
}); });
} }
} }
async removeCallback (infraction: InfractionClass | InfractionJSON, updateCase = false) async removeCallback (infraction: InfractionClass | InfractionJSON, updateCase = false)
@ -668,7 +665,6 @@ class ModerationManager implements Initialisable
async findLatestInfraction (type: InfractionType, target: ModerationTarget) async findLatestInfraction (type: InfractionType, target: ModerationTarget)
{ {
const callback = this.#callbacks.filter((c) => const callback = this.#callbacks.filter((c) =>
{ {
return c.infraction.type === type return c.infraction.type === type
@ -683,7 +679,6 @@ class ModerationManager implements Initialisable
{ sort: { timestamp: -1 } } { sort: { timestamp: -1 } }
); );
return result || null; return result || null;
} }
} }

View File

@ -175,7 +175,6 @@ class LockdownInfraction extends Infraction
async verify () async verify ()
{ {
const perms = (this.target as GuildChannel).permissionsFor(this.client.user!); const perms = (this.target as GuildChannel).permissionsFor(this.client.user!);
const missing = perms?.missing([ 'ManageRoles', 'SendMessages', 'AddReactions', 'ViewChannel' ]); const missing = perms?.missing([ 'ManageRoles', 'SendMessages', 'AddReactions', 'ViewChannel' ]);
if (!perms || missing?.length) if (!perms || missing?.length)

View File

@ -191,7 +191,6 @@ class MuteInfraction extends Infraction
return this._fail('COMMAND_MUTE_MISSING_MANAGEROLE_PERM'); return this._fail('COMMAND_MUTE_MISSING_MANAGEROLE_PERM');
return super._verify(); return super._verify();
} }
async resolve (_staff: UserWrapper, _reason: string, _notify: boolean): Promise<void | ResolveResult> async resolve (_staff: UserWrapper, _reason: string, _notify: boolean): Promise<void | ResolveResult>
@ -208,7 +207,6 @@ class MuteInfraction extends Infraction
error = false; error = false;
const settings = await this.guild.settings(); const settings = await this.guild.settings();
const { removedRoles = [], muteType = settings.mute.type, muteRole = settings.mute.role } = this.data || {}; const { removedRoles = [], muteType = settings.mute.type, muteRole = settings.mute.role } = this.data || {};
// TODO: Change this to not rely on the member // TODO: Change this to not rely on the member
const member = await this.guild.memberWrapper(this.targetId!).catch(() => null); const member = await this.guild.memberWrapper(this.targetId!).catch(() => null);

View File

@ -21,12 +21,10 @@ class WarnInfraction extends Infraction
constructor (client: DiscordClient, logger: LoggerClient, opts: WarnData) constructor (client: DiscordClient, logger: LoggerClient, opts: WarnData)
{ {
if (opts.fetched) if (opts.fetched)
super(client, logger, opts); super(client, logger, opts);
else else
{ {
super(client, logger, { super(client, logger, {
targetType: 'USER', targetType: 'USER',
type: opts.type, type: opts.type,
@ -47,9 +45,7 @@ class WarnInfraction extends Infraction
if (!(opts.target instanceof MemberWrapper)) if (!(opts.target instanceof MemberWrapper))
throw new Error('Guild member required'); throw new Error('Guild member required');
this.member = opts.target; this.member = opts.target;
} }
} }
async execute () async execute ()
@ -60,13 +56,11 @@ class WarnInfraction extends Infraction
async verify () async verify ()
{ {
// NOTE: If I want to readd permission checking for escalations. // NOTE: If I want to readd permission checking for escalations.
// const permissions = await this.client.permissions.execute(this.message, this.message.command); // const permissions = await this.client.permissions.execute(this.message, this.message.command);
// if(permissions.error) return super._fail('COMMAND_WARN_INSUFFICIENTPERMISSIONS'); // if(permissions.error) return super._fail('COMMAND_WARN_INSUFFICIENTPERMISSIONS');
return super._verify(); return super._verify();
} }
} }

View File

@ -82,8 +82,8 @@ class CommandOption
throw new Error('Type cannot be an array here'); throw new Error('Type cannot be an array here');
this.#type = options.type ?? CommandOptionType.STRING; this.#type = options.type ?? CommandOptionType.STRING;
this.#required = Boolean(options.required); this.#required = Boolean(options.required);
this.#autocomplete = options.autocomplete || false; this.#autocomplete = options.autocomplete ?? false;
this.#choices = options.choices || []; // Used for STRING/INTEGER/NUMBER types. this.#choices = options.choices ?? []; // Used for STRING/INTEGER/NUMBER types.
this.#options = []; this.#options = [];
if (options.options) if (options.options)
@ -104,7 +104,7 @@ class CommandOption
if (typeof this.#maximum === 'undefined' || this.#maximum > Number.MAX_SAFE_INTEGER) if (typeof this.#maximum === 'undefined' || this.#maximum > Number.MAX_SAFE_INTEGER)
this.#maximum = Number.MAX_SAFE_INTEGER; this.#maximum = Number.MAX_SAFE_INTEGER;
this.#slashOption = options.slashOption || false; this.#slashOption = options.slashOption ?? false;
this.#flag = options.flag ?? false; // used with message based command options this.#flag = options.flag ?? false; // used with message based command options
this.#valueOptional = options.valueOptional ?? false; this.#valueOptional = options.valueOptional ?? false;
if (this.#valueOptional && typeof options.defaultValue === 'undefined') if (this.#valueOptional && typeof options.defaultValue === 'undefined')
@ -115,7 +115,7 @@ class CommandOption
// this.words = options.words ?? null; // Used when parsing strings if the command has multiple string types that aren't flags // this.words = options.words ?? null; // Used when parsing strings if the command has multiple string types that aren't flags
// Used in cloned options when parsing final value // Used in cloned options when parsing final value
this.#guild = options.guild || null; this.#guild = options.guild ?? null;
this.#rawValue = options.rawValue ?? null; // Raw value input from Discord. -- use ?? where the value is potentially false, otherwise we end up with false -> null this.#rawValue = options.rawValue ?? null; // Raw value input from Discord. -- use ?? where the value is potentially false, otherwise we end up with false -> null
} }
@ -294,7 +294,8 @@ class CommandOption
continue; continue;
if (PointsReg.test(str)) if (PointsReg.test(str))
{ {
value = num; removed = [ str ]; value = num;
removed = [ str ];
break; break;
} }
const index = this.#rawValue.indexOf(str); const index = this.#rawValue.indexOf(str);
@ -302,7 +303,8 @@ class CommandOption
const tmp = str + next; const tmp = str + next;
if (PointsReg.test(tmp)) if (PointsReg.test(tmp))
{ {
value = num; removed = [ str, next ]; value = num;
removed = [ str, next ];
break; break;
} }
} }