mirror of
https://github.com/ZeppelinBot/Zeppelin.git
synced 2025-05-10 12:25:02 +00:00
Typed log functions + more
This commit is contained in:
parent
d2ac700143
commit
bed6589d48
166 changed files with 4021 additions and 869 deletions
|
@ -70,9 +70,8 @@ export const MutesPlugin = zeppelinGuildPlugin<MutesPluginType>()({
|
|||
},
|
||||
|
||||
configSchema: ConfigSchema,
|
||||
defaultOptions,
|
||||
|
||||
dependencies: [CasesPlugin, LogsPlugin],
|
||||
defaultOptions,
|
||||
|
||||
// prettier-ignore
|
||||
commands: [
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
import { Snowflake } from "discord.js";
|
||||
import { memberToConfigAccessibleMember } from "../../../utils/configAccessibleObjects";
|
||||
import { memberToTemplateSafeMember } from "../../../utils/templateSafeObjects";
|
||||
import { LogType } from "../../../data/LogType";
|
||||
import { memberRolesLock } from "../../../utils/lockNameHelpers";
|
||||
import { mutesEvt } from "../types";
|
||||
import { LogsPlugin } from "../../Logs/LogsPlugin";
|
||||
|
||||
/**
|
||||
* Reapply active mutes on join
|
||||
|
@ -20,8 +21,8 @@ export const ReapplyActiveMuteOnJoinEvt = mutesEvt({
|
|||
memberRoleLock.unlock();
|
||||
}
|
||||
|
||||
pluginData.state.serverLogs.log(LogType.MEMBER_MUTE_REJOIN, {
|
||||
member: memberToConfigAccessibleMember(member),
|
||||
pluginData.getPlugin(LogsPlugin).logMemberMuteRejoin({
|
||||
member,
|
||||
});
|
||||
}
|
||||
},
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
import { Snowflake } from "discord.js";
|
||||
import { GuildPluginData } from "knub";
|
||||
import { memberToConfigAccessibleMember } from "../../../utils/configAccessibleObjects";
|
||||
import { memberToTemplateSafeMember } from "../../../utils/templateSafeObjects";
|
||||
import { LogType } from "../../../data/LogType";
|
||||
import { resolveMember, UnknownUser } from "../../../utils";
|
||||
import { resolveMember, UnknownUser, verboseUserMention } from "../../../utils";
|
||||
import { memberRolesLock } from "../../../utils/lockNameHelpers";
|
||||
import { MutesPluginType } from "../types";
|
||||
import { LogsPlugin } from "../../Logs/LogsPlugin";
|
||||
|
||||
export async function clearExpiredMutes(pluginData: GuildPluginData<MutesPluginType>) {
|
||||
const expiredMutes = await pluginData.state.mutes.getExpiredMutes();
|
||||
|
@ -32,19 +33,16 @@ export async function clearExpiredMutes(pluginData: GuildPluginData<MutesPluginT
|
|||
|
||||
lock.unlock();
|
||||
} catch {
|
||||
pluginData.state.serverLogs.log(LogType.BOT_ALERT, {
|
||||
body: `Failed to remove mute role from {userMention(member)}`,
|
||||
member: memberToConfigAccessibleMember(member),
|
||||
pluginData.getPlugin(LogsPlugin).logBotAlert({
|
||||
body: `Failed to remove mute role from ${verboseUserMention(member.user)}`,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
await pluginData.state.mutes.clear(mute.user_id);
|
||||
|
||||
pluginData.state.serverLogs.log(LogType.MEMBER_MUTE_EXPIRED, {
|
||||
member: member
|
||||
? memberToConfigAccessibleMember(member)
|
||||
: { id: mute.user_id, user: new UnknownUser({ id: mute.user_id }) },
|
||||
pluginData.getPlugin(LogsPlugin).logMemberMuteExpired({
|
||||
member: member ? memberToTemplateSafeMember(member) : new UnknownUser({ id: mute.user_id }),
|
||||
});
|
||||
|
||||
pluginData.state.events.emit("unmute", mute.user_id);
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { Snowflake, TextChannel, User } from "discord.js";
|
||||
import humanizeDuration from "humanize-duration";
|
||||
import { GuildPluginData } from "knub";
|
||||
import { userToConfigAccessibleUser } from "../../../utils/configAccessibleObjects";
|
||||
import { userToTemplateSafeUser } from "../../../utils/templateSafeObjects";
|
||||
import { CaseTypes } from "../../../data/CaseTypes";
|
||||
import { Case } from "../../../data/entities/Case";
|
||||
import { LogType } from "../../../data/LogType";
|
||||
|
@ -93,7 +93,7 @@ export async function muteUser(
|
|||
const actualMuteRole = pluginData.guild.roles.cache.get(muteRole as Snowflake);
|
||||
if (!actualMuteRole) {
|
||||
lock.unlock();
|
||||
logs.log(LogType.BOT_ALERT, {
|
||||
logs.logBotAlert({
|
||||
body: `Cannot mute users, specified mute role Id is invalid`,
|
||||
});
|
||||
throw new RecoverablePluginError(ERRORS.INVALID_MUTE_ROLE_ID);
|
||||
|
@ -104,14 +104,14 @@ export async function muteUser(
|
|||
// If we have roles and one of them is above the muted role, throw generic error
|
||||
if (zepRoles.size >= 0 && zepRoles.some(zepRole => zepRole.position > actualMuteRole.position)) {
|
||||
lock.unlock();
|
||||
logs.log(LogType.BOT_ALERT, {
|
||||
logs.logBotAlert({
|
||||
body: `Cannot mute user ${member.id}: ${e}`,
|
||||
});
|
||||
throw e;
|
||||
} else {
|
||||
// Otherwise, throw error that mute role is above zeps roles
|
||||
lock.unlock();
|
||||
logs.log(LogType.BOT_ALERT, {
|
||||
logs.logBotAlert({
|
||||
body: `Cannot mute users, specified mute role is above Zeppelin in the role hierarchy`,
|
||||
});
|
||||
throw new RecoverablePluginError(ERRORS.MUTE_ROLE_ABOVE_ZEP);
|
||||
|
@ -156,7 +156,7 @@ export async function muteUser(
|
|||
reason: reason || "None",
|
||||
time: timeUntilUnmute,
|
||||
moderator: muteOptions.caseArgs?.modId
|
||||
? userToConfigAccessibleUser(await resolveUser(pluginData.client, muteOptions.caseArgs.modId))
|
||||
? userToTemplateSafeUser(await resolveUser(pluginData.client, muteOptions.caseArgs.modId))
|
||||
: "",
|
||||
}));
|
||||
|
||||
|
@ -224,19 +224,19 @@ export async function muteUser(
|
|||
// Log the action
|
||||
const mod = await resolveUser(pluginData.client, muteOptions.caseArgs?.modId);
|
||||
if (muteTime) {
|
||||
pluginData.state.serverLogs.log(LogType.MEMBER_TIMED_MUTE, {
|
||||
mod: userToConfigAccessibleUser(mod),
|
||||
user: userToConfigAccessibleUser(user),
|
||||
pluginData.getPlugin(LogsPlugin).logMemberTimedMute({
|
||||
mod,
|
||||
user,
|
||||
time: timeUntilUnmute,
|
||||
caseNumber: theCase.case_number,
|
||||
reason,
|
||||
reason: reason ?? "",
|
||||
});
|
||||
} else {
|
||||
pluginData.state.serverLogs.log(LogType.MEMBER_MUTE, {
|
||||
mod: userToConfigAccessibleUser(mod),
|
||||
user: userToConfigAccessibleUser(user),
|
||||
pluginData.getPlugin(LogsPlugin).logMemberMute({
|
||||
mod,
|
||||
user,
|
||||
caseNumber: theCase.case_number,
|
||||
reason,
|
||||
reason: reason ?? "",
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import { Snowflake } from "discord.js";
|
||||
import humanizeDuration from "humanize-duration";
|
||||
import { GuildPluginData } from "knub";
|
||||
import { userToConfigAccessibleUser } from "../../../utils/configAccessibleObjects";
|
||||
import { userToTemplateSafeUser } from "../../../utils/templateSafeObjects";
|
||||
import { CaseTypes } from "../../../data/CaseTypes";
|
||||
import { LogType } from "../../../data/LogType";
|
||||
import { resolveMember, resolveUser } from "../../../utils";
|
||||
|
@ -10,6 +10,7 @@ import { CasesPlugin } from "../../Cases/CasesPlugin";
|
|||
import { CaseArgs } from "../../Cases/types";
|
||||
import { MutesPluginType, UnmuteResult } from "../types";
|
||||
import { memberHasMutedRole } from "./memberHasMutedRole";
|
||||
import { LogsPlugin } from "../../Logs/LogsPlugin";
|
||||
|
||||
export async function unmuteUser(
|
||||
pluginData: GuildPluginData<MutesPluginType>,
|
||||
|
@ -87,17 +88,17 @@ export async function unmuteUser(
|
|||
// Log the action
|
||||
const mod = await pluginData.client.users.fetch(modId as Snowflake);
|
||||
if (unmuteTime) {
|
||||
pluginData.state.serverLogs.log(LogType.MEMBER_TIMED_UNMUTE, {
|
||||
mod: userToConfigAccessibleUser(mod),
|
||||
user: userToConfigAccessibleUser(user),
|
||||
pluginData.getPlugin(LogsPlugin).logMemberTimedUnmute({
|
||||
mod,
|
||||
user,
|
||||
caseNumber: createdCase.case_number,
|
||||
time: timeUntilUnmute,
|
||||
reason: caseArgs.reason,
|
||||
});
|
||||
} else {
|
||||
pluginData.state.serverLogs.log(LogType.MEMBER_UNMUTE, {
|
||||
mod: userToConfigAccessibleUser(mod),
|
||||
user: userToConfigAccessibleUser(user),
|
||||
pluginData.getPlugin(LogsPlugin).logMemberUnmute({
|
||||
mod,
|
||||
user,
|
||||
caseNumber: createdCase.case_number,
|
||||
reason: caseArgs.reason,
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue