mirror of
https://github.com/tiramisulabs/seyfert.git
synced 2025-07-04 05:56:09 +00:00

* feat: add support for new Discord application emojis features * feat: add support for new Discord application emojis features * feat: applications emojis routes * chore: switch typings provider * fix: unnecesary type * feat: magic bytes * chore: move api-types * chore: ? * fix: omg npm * chore: apply formatting * fix: for fast merge --------- Co-authored-by: Tony Supremacy <165050835+VanStk@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
48 lines
1.7 KiB
TypeScript
48 lines
1.7 KiB
TypeScript
import type { UsingClient } from '../commands';
|
|
import type { MethodContext, ObjectToLower } from '../common';
|
|
import type {
|
|
APIAutoModerationRule,
|
|
RESTPatchAPIAutoModerationRuleJSONBody,
|
|
RESTPostAPIAutoModerationRuleJSONBody,
|
|
} from '../types';
|
|
import { DiscordBase } from './extra/DiscordBase';
|
|
|
|
export interface AutoModerationRule extends ObjectToLower<APIAutoModerationRule> {}
|
|
|
|
export class AutoModerationRule extends DiscordBase<APIAutoModerationRule> {
|
|
constructor(client: UsingClient, data: APIAutoModerationRule) {
|
|
super(client, data);
|
|
}
|
|
|
|
fetchCreator(force = false) {
|
|
return this.client.members.fetch(this.guildId, this.creatorId, force);
|
|
}
|
|
|
|
guild(force = false) {
|
|
return this.client.guilds.fetch(this.guildId, force);
|
|
}
|
|
|
|
fetch() {
|
|
return this.client.guilds.moderation.fetch(this.guildId, this.id);
|
|
}
|
|
|
|
edit(body: RESTPatchAPIAutoModerationRuleJSONBody, reason?: string) {
|
|
return this.client.guilds.moderation.edit(this.guildId, this.id, body, reason);
|
|
}
|
|
|
|
delete(reason?: string) {
|
|
return this.client.guilds.moderation.delete(this.guildId, this.id, reason);
|
|
}
|
|
|
|
static methods({ client, guildId }: MethodContext<{ guildId: string }>) {
|
|
return {
|
|
list: () => client.guilds.moderation.list(guildId),
|
|
create: (body: RESTPostAPIAutoModerationRuleJSONBody) => client.guilds.moderation.create(guildId, body),
|
|
delete: (ruleId: string, reason?: string) => client.guilds.moderation.delete(guildId, ruleId, reason),
|
|
fetch: (ruleId: string) => client.guilds.moderation.fetch(guildId, ruleId),
|
|
edit: (ruleId: string, body: RESTPatchAPIAutoModerationRuleJSONBody, reason?: string) =>
|
|
client.guilds.moderation.edit(guildId, ruleId, body, reason),
|
|
};
|
|
}
|
|
}
|