refactor: simplify logs plugin types; remove deprecated format.timestamp field
This commit is contained in:
parent
b28ca170ed
commit
805234acc1
75 changed files with 81 additions and 102 deletions
|
@ -9,7 +9,7 @@ import { findRecentSpam } from "./findRecentSpam";
|
|||
import { getMatchingMessageRecentActions } from "./getMatchingMessageRecentActions";
|
||||
import { getMessageSpamIdentifier } from "./getSpamIdentifier";
|
||||
|
||||
interface TMessageSpamMatchResultType {
|
||||
export interface TMessageSpamMatchResultType {
|
||||
archiveId: string;
|
||||
}
|
||||
|
||||
|
|
|
@ -118,10 +118,7 @@ function getCasesPlugin(): Promise<any> {
|
|||
const defaultOptions: PluginOptions<LogsPluginType> = {
|
||||
config: {
|
||||
channels: {},
|
||||
format: {
|
||||
timestamp: FORMAT_NO_TIMESTAMP,
|
||||
...DefaultLogMessages,
|
||||
},
|
||||
format: DefaultLogMessages,
|
||||
ping_user: true,
|
||||
allow_user_mentions: false,
|
||||
timestamp_format: "[<t:]X[>]",
|
||||
|
|
|
@ -6,7 +6,7 @@ import { userToTemplateSafeUser } from "../../../utils/templateSafeObjects";
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogAutomodActionData {
|
||||
export interface LogAutomodActionData {
|
||||
rule: string;
|
||||
user?: User | null;
|
||||
users: User[];
|
||||
|
|
|
@ -4,7 +4,7 @@ import { createTypedTemplateSafeValueContainer } from "../../../templateFormatte
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogBotAlertData {
|
||||
export interface LogBotAlertData {
|
||||
body: string;
|
||||
}
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ import { userToTemplateSafeUser } from "../../../utils/templateSafeObjects";
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogCaseCreateData {
|
||||
export interface LogCaseCreateData {
|
||||
mod: User;
|
||||
userId: string;
|
||||
caseNum: number;
|
||||
|
|
|
@ -7,7 +7,7 @@ import { caseToTemplateSafeCase, memberToTemplateSafeMember } from "../../../uti
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogCaseDeleteData {
|
||||
export interface LogCaseDeleteData {
|
||||
mod: GuildMember;
|
||||
case: Case;
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@ import { userToTemplateSafeUser } from "../../../utils/templateSafeObjects";
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogCaseUpdateData {
|
||||
export interface LogCaseUpdateData {
|
||||
mod: User;
|
||||
caseNumber: number;
|
||||
caseType: string;
|
||||
|
|
|
@ -14,7 +14,7 @@ import {
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogCensorData {
|
||||
export interface LogCensorData {
|
||||
user: User | UnknownUser;
|
||||
channel: GuildTextBasedChannel;
|
||||
reason: string;
|
||||
|
|
|
@ -7,7 +7,7 @@ import { channelToTemplateSafeChannel } from "../../../utils/templateSafeObjects
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogChannelCreateData {
|
||||
export interface LogChannelCreateData {
|
||||
channel: GuildBasedChannel;
|
||||
}
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ import { channelToTemplateSafeChannel } from "../../../utils/templateSafeObjects
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogChannelDeleteData {
|
||||
export interface LogChannelDeleteData {
|
||||
channel: GuildBasedChannel;
|
||||
}
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ import { channelToTemplateSafeChannel } from "../../../utils/templateSafeObjects
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogChannelUpdateData {
|
||||
export interface LogChannelUpdateData {
|
||||
oldChannel: GuildBasedChannel;
|
||||
newChannel: GuildBasedChannel;
|
||||
differenceString: string;
|
||||
|
|
|
@ -7,7 +7,7 @@ import { channelToTemplateSafeChannel, userToTemplateSafeUser } from "../../../u
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogCleanData {
|
||||
export interface LogCleanData {
|
||||
mod: User;
|
||||
channel: GuildTextBasedChannel;
|
||||
count: number;
|
||||
|
|
|
@ -7,7 +7,7 @@ import { userToTemplateSafeUser } from "../../../utils/templateSafeObjects";
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogDmFailedData {
|
||||
export interface LogDmFailedData {
|
||||
source: string;
|
||||
user: User | UnknownUser;
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@ import { emojiToTemplateSafeEmoji } from "../../../utils/templateSafeObjects";
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogEmojiCreateData {
|
||||
export interface LogEmojiCreateData {
|
||||
emoji: Emoji;
|
||||
}
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ import { emojiToTemplateSafeEmoji } from "../../../utils/templateSafeObjects";
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogEmojiDeleteData {
|
||||
export interface LogEmojiDeleteData {
|
||||
emoji: Emoji;
|
||||
}
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ import { emojiToTemplateSafeEmoji } from "../../../utils/templateSafeObjects";
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogEmojiUpdateData {
|
||||
export interface LogEmojiUpdateData {
|
||||
oldEmoji: Emoji;
|
||||
newEmoji: Emoji;
|
||||
differenceString: string;
|
||||
|
|
|
@ -6,7 +6,7 @@ import { userToTemplateSafeUser } from "../../../utils/templateSafeObjects";
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogMassBanData {
|
||||
export interface LogMassBanData {
|
||||
mod: User;
|
||||
count: number;
|
||||
reason: string;
|
||||
|
|
|
@ -6,7 +6,7 @@ import { userToTemplateSafeUser } from "../../../utils/templateSafeObjects";
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogMassMuteData {
|
||||
export interface LogMassMuteData {
|
||||
mod: User;
|
||||
count: number;
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@ import { userToTemplateSafeUser } from "../../../utils/templateSafeObjects";
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogMassUnbanData {
|
||||
export interface LogMassUnbanData {
|
||||
mod: User;
|
||||
count: number;
|
||||
reason: string;
|
||||
|
|
|
@ -7,7 +7,7 @@ import { userToTemplateSafeUser } from "../../../utils/templateSafeObjects";
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogMemberBanData {
|
||||
export interface LogMemberBanData {
|
||||
mod: User | UnknownUser | null;
|
||||
user: User | UnknownUser;
|
||||
caseNumber: number;
|
||||
|
|
|
@ -6,7 +6,7 @@ import { memberToTemplateSafeMember } from "../../../utils/templateSafeObjects";
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogMemberForcebanData {
|
||||
export interface LogMemberForcebanData {
|
||||
mod: GuildMember;
|
||||
userId: Snowflake;
|
||||
caseNumber: number;
|
||||
|
|
|
@ -8,7 +8,7 @@ import { memberToTemplateSafeMember } from "../../../utils/templateSafeObjects";
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogMemberJoinData {
|
||||
export interface LogMemberJoinData {
|
||||
member: GuildMember;
|
||||
}
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ import { memberToTemplateSafeMember } from "../../../utils/templateSafeObjects";
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogMemberJoinWithPriorRecordsData {
|
||||
export interface LogMemberJoinWithPriorRecordsData {
|
||||
member: GuildMember;
|
||||
recentCaseSummary: string;
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ import { userToTemplateSafeUser } from "../../../utils/templateSafeObjects";
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogMemberKickData {
|
||||
export interface LogMemberKickData {
|
||||
mod: User | UnknownUser | null;
|
||||
user: User;
|
||||
caseNumber: number;
|
||||
|
|
|
@ -6,7 +6,7 @@ import { memberToTemplateSafeMember } from "../../../utils/templateSafeObjects";
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogMemberLeaveData {
|
||||
export interface LogMemberLeaveData {
|
||||
member: GuildMember | PartialGuildMember;
|
||||
}
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ import { userToTemplateSafeUser } from "../../../utils/templateSafeObjects";
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogMemberMuteData {
|
||||
export interface LogMemberMuteData {
|
||||
mod: User | UnknownUser;
|
||||
user: User | UnknownUser;
|
||||
caseNumber: number;
|
||||
|
|
|
@ -11,7 +11,7 @@ import {
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogMemberMuteExpiredData {
|
||||
export interface LogMemberMuteExpiredData {
|
||||
member: GuildMember | UnknownUser;
|
||||
}
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ import { memberToTemplateSafeMember } from "../../../utils/templateSafeObjects";
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogMemberMuteRejoinData {
|
||||
export interface LogMemberMuteRejoinData {
|
||||
member: GuildMember;
|
||||
}
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ import { memberToTemplateSafeMember } from "../../../utils/templateSafeObjects";
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogMemberNickChangeData {
|
||||
export interface LogMemberNickChangeData {
|
||||
member: GuildMember;
|
||||
oldNick: string;
|
||||
newNick: string;
|
||||
|
|
|
@ -7,7 +7,7 @@ import { userToTemplateSafeUser } from "../../../utils/templateSafeObjects";
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogMemberNoteData {
|
||||
export interface LogMemberNoteData {
|
||||
mod: User;
|
||||
user: User | UnknownUser;
|
||||
caseNumber: number;
|
||||
|
|
|
@ -6,7 +6,7 @@ import { memberToTemplateSafeMember } from "../../../utils/templateSafeObjects";
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogMemberRestoreData {
|
||||
export interface LogMemberRestoreData {
|
||||
member: GuildMember;
|
||||
restoredData: string;
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ import { memberToTemplateSafeMember, userToTemplateSafeUser } from "../../../uti
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogMemberRoleAddData {
|
||||
export interface LogMemberRoleAddData {
|
||||
mod: User | null;
|
||||
member: GuildMember;
|
||||
roles: Array<Role | UnknownRole>;
|
||||
|
|
|
@ -7,7 +7,7 @@ import { memberToTemplateSafeMember, userToTemplateSafeUser } from "../../../uti
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogMemberRoleChangesData {
|
||||
export interface LogMemberRoleChangesData {
|
||||
mod: User | UnknownUser | null;
|
||||
member: GuildMember;
|
||||
addedRoles: Role[];
|
||||
|
|
|
@ -7,7 +7,7 @@ import { memberToTemplateSafeMember, userToTemplateSafeUser } from "../../../uti
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogMemberRoleRemoveData {
|
||||
export interface LogMemberRoleRemoveData {
|
||||
mod: User | null;
|
||||
member: GuildMember;
|
||||
roles: Array<Role | UnknownRole>;
|
||||
|
|
|
@ -7,7 +7,7 @@ import { userToTemplateSafeUser } from "../../../utils/templateSafeObjects";
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogMemberTimedBanData {
|
||||
export interface LogMemberTimedBanData {
|
||||
mod: User | UnknownUser;
|
||||
user: User | UnknownUser;
|
||||
banTime: string;
|
||||
|
|
|
@ -7,7 +7,7 @@ import { userToTemplateSafeUser } from "../../../utils/templateSafeObjects";
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogMemberTimedMuteData {
|
||||
export interface LogMemberTimedMuteData {
|
||||
mod: User | UnknownUser;
|
||||
user: User | UnknownUser;
|
||||
time: string;
|
||||
|
|
|
@ -7,7 +7,7 @@ import { userToTemplateSafeUser } from "../../../utils/templateSafeObjects";
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogMemberTimedUnbanData {
|
||||
export interface LogMemberTimedUnbanData {
|
||||
mod: User | UnknownUser;
|
||||
userId: string;
|
||||
banTime: string;
|
||||
|
|
|
@ -7,7 +7,7 @@ import { userToTemplateSafeUser } from "../../../utils/templateSafeObjects";
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogMemberTimedUnmuteData {
|
||||
export interface LogMemberTimedUnmuteData {
|
||||
mod: User;
|
||||
user: User | UnknownUser;
|
||||
time: string;
|
||||
|
|
|
@ -7,7 +7,7 @@ import { userToTemplateSafeUser } from "../../../utils/templateSafeObjects";
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogMemberUnbanData {
|
||||
export interface LogMemberUnbanData {
|
||||
mod: User | UnknownUser | null;
|
||||
userId: Snowflake;
|
||||
caseNumber: number;
|
||||
|
|
|
@ -7,7 +7,7 @@ import { userToTemplateSafeUser } from "../../../utils/templateSafeObjects";
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogMemberUnmuteData {
|
||||
export interface LogMemberUnmuteData {
|
||||
mod: User;
|
||||
user: User | UnknownUser;
|
||||
caseNumber: number;
|
||||
|
|
|
@ -6,7 +6,7 @@ import { memberToTemplateSafeMember } from "../../../utils/templateSafeObjects";
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogMemberWarnData {
|
||||
export interface LogMemberWarnData {
|
||||
mod: GuildMember;
|
||||
member: GuildMember;
|
||||
caseNumber: number;
|
||||
|
|
|
@ -15,7 +15,7 @@ import { TimeAndDatePlugin } from "../../TimeAndDate/TimeAndDatePlugin";
|
|||
import { FORMAT_NO_TIMESTAMP, LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogMessageDeleteData {
|
||||
export interface LogMessageDeleteData {
|
||||
user: User | UnknownUser;
|
||||
channel: GuildTextBasedChannel;
|
||||
message: SavedMessage;
|
||||
|
@ -31,10 +31,7 @@ export function logMessageDelete(pluginData: GuildPluginData<LogsPluginType>, da
|
|||
|
||||
// See comment on FORMAT_NO_TIMESTAMP in types.ts
|
||||
const config = pluginData.config.get();
|
||||
const timestampFormat =
|
||||
(config.format.timestamp !== FORMAT_NO_TIMESTAMP ? config.format.timestamp : null) ??
|
||||
config.timestamp_format ??
|
||||
undefined;
|
||||
const timestampFormat = config.timestamp_format ?? undefined;
|
||||
|
||||
return log(
|
||||
pluginData,
|
||||
|
|
|
@ -13,7 +13,7 @@ import {
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogMessageDeleteAutoData {
|
||||
export interface LogMessageDeleteAutoData {
|
||||
message: SavedMessage;
|
||||
user: User | UnknownUser;
|
||||
channel: GuildBasedChannel;
|
||||
|
|
|
@ -7,7 +7,7 @@ import { channelToTemplateSafeChannel } from "../../../utils/templateSafeObjects
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogMessageDeleteBareData {
|
||||
export interface LogMessageDeleteBareData {
|
||||
messageId: string;
|
||||
channel: GuildTextBasedChannel;
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ import { channelToTemplateSafeChannel } from "../../../utils/templateSafeObjects
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogMessageDeleteBulkData {
|
||||
export interface LogMessageDeleteBulkData {
|
||||
count: number;
|
||||
authorIds: string[];
|
||||
channel: GuildTextBasedChannel;
|
||||
|
|
|
@ -13,7 +13,7 @@ import {
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogMessageEditData {
|
||||
export interface LogMessageEditData {
|
||||
user: User | UnknownUser;
|
||||
channel: GuildTextBasedChannel;
|
||||
before: SavedMessage;
|
||||
|
|
|
@ -7,7 +7,7 @@ import { channelToTemplateSafeChannel, memberToTemplateSafeMember } from "../../
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogMessageSpamDetectedData {
|
||||
export interface LogMessageSpamDetectedData {
|
||||
member: GuildMember;
|
||||
channel: GuildTextBasedChannel;
|
||||
description: string;
|
||||
|
|
|
@ -6,7 +6,7 @@ import { memberToTemplateSafeMember } from "../../../utils/templateSafeObjects";
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogOtherSpamDetectedData {
|
||||
export interface LogOtherSpamDetectedData {
|
||||
member: GuildMember;
|
||||
description: string;
|
||||
limit: number;
|
||||
|
|
|
@ -7,7 +7,7 @@ import { channelToTemplateSafeChannel, userToTemplateSafeUser } from "../../../u
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogPostedScheduledMessageData {
|
||||
export interface LogPostedScheduledMessageData {
|
||||
author: User;
|
||||
channel: GuildTextBasedChannel;
|
||||
messageId: string;
|
||||
|
|
|
@ -7,7 +7,7 @@ import { channelToTemplateSafeChannel, userToTemplateSafeUser } from "../../../u
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogRepeatedMessageData {
|
||||
export interface LogRepeatedMessageData {
|
||||
author: User;
|
||||
channel: GuildTextBasedChannel;
|
||||
datetime: string;
|
||||
|
|
|
@ -6,7 +6,7 @@ import { roleToTemplateSafeRole } from "../../../utils/templateSafeObjects";
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogRoleCreateData {
|
||||
export interface LogRoleCreateData {
|
||||
role: Role;
|
||||
}
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ import { roleToTemplateSafeRole } from "../../../utils/templateSafeObjects";
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogRoleDeleteData {
|
||||
export interface LogRoleDeleteData {
|
||||
role: Role;
|
||||
}
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ import { roleToTemplateSafeRole } from "../../../utils/templateSafeObjects";
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogRoleUpdateData {
|
||||
export interface LogRoleUpdateData {
|
||||
oldRole: Role;
|
||||
newRole: Role;
|
||||
differenceString: string;
|
||||
|
|
|
@ -7,7 +7,7 @@ import { channelToTemplateSafeChannel, userToTemplateSafeUser } from "../../../u
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogScheduledMessageData {
|
||||
export interface LogScheduledMessageData {
|
||||
author: User;
|
||||
channel: GuildTextBasedChannel;
|
||||
datetime: string;
|
||||
|
|
|
@ -7,7 +7,7 @@ import { channelToTemplateSafeChannel, userToTemplateSafeUser } from "../../../u
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogScheduledRepeatedMessageData {
|
||||
export interface LogScheduledRepeatedMessageData {
|
||||
author: User;
|
||||
channel: GuildTextBasedChannel;
|
||||
datetime: string;
|
||||
|
|
|
@ -4,7 +4,7 @@ import { createTypedTemplateSafeValueContainer } from "../../../templateFormatte
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogSetAntiraidAutoData {
|
||||
export interface LogSetAntiraidAutoData {
|
||||
level: string;
|
||||
}
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ import { userToTemplateSafeUser } from "../../../utils/templateSafeObjects";
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogSetAntiraidUserData {
|
||||
export interface LogSetAntiraidUserData {
|
||||
level: string;
|
||||
user: User;
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ import { channelToTemplateSafeChannel, stageToTemplateSafeStage } from "../../..
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogStageInstanceCreateData {
|
||||
export interface LogStageInstanceCreateData {
|
||||
stageInstance: StageInstance;
|
||||
stageChannel: StageChannel;
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ import { channelToTemplateSafeChannel, stageToTemplateSafeStage } from "../../..
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogStageInstanceDeleteData {
|
||||
export interface LogStageInstanceDeleteData {
|
||||
stageInstance: StageInstance;
|
||||
stageChannel: StageChannel;
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ import { channelToTemplateSafeChannel, stageToTemplateSafeStage } from "../../..
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogStageInstanceUpdateData {
|
||||
export interface LogStageInstanceUpdateData {
|
||||
oldStageInstance: StageInstance | null;
|
||||
newStageInstance: StageInstance;
|
||||
stageChannel: StageChannel;
|
||||
|
|
|
@ -6,7 +6,7 @@ import { stickerToTemplateSafeSticker } from "../../../utils/templateSafeObjects
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogStickerCreateData {
|
||||
export interface LogStickerCreateData {
|
||||
sticker: Sticker;
|
||||
}
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ import { stickerToTemplateSafeSticker } from "../../../utils/templateSafeObjects
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogStickerDeleteData {
|
||||
export interface LogStickerDeleteData {
|
||||
sticker: Sticker;
|
||||
}
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ import { stickerToTemplateSafeSticker } from "../../../utils/templateSafeObjects
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogStickerUpdateData {
|
||||
export interface LogStickerUpdateData {
|
||||
oldSticker: Sticker;
|
||||
newSticker: Sticker;
|
||||
differenceString: string;
|
||||
|
|
|
@ -7,7 +7,7 @@ import { channelToTemplateSafeChannel } from "../../../utils/templateSafeObjects
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogThreadCreateData {
|
||||
export interface LogThreadCreateData {
|
||||
thread: AnyThreadChannel;
|
||||
}
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ import { channelToTemplateSafeChannel } from "../../../utils/templateSafeObjects
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogThreadDeleteData {
|
||||
export interface LogThreadDeleteData {
|
||||
thread: AnyThreadChannel;
|
||||
}
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ import { channelToTemplateSafeChannel } from "../../../utils/templateSafeObjects
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogThreadUpdateData {
|
||||
export interface LogThreadUpdateData {
|
||||
oldThread: AnyThreadChannel;
|
||||
newThread: AnyThreadChannel;
|
||||
differenceString: string;
|
||||
|
|
|
@ -11,7 +11,7 @@ import {
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogVoiceChannelForceDisconnectData {
|
||||
export interface LogVoiceChannelForceDisconnectData {
|
||||
mod: User;
|
||||
member: GuildMember;
|
||||
oldChannel: VoiceBasedChannel;
|
||||
|
|
|
@ -11,7 +11,7 @@ import {
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogVoiceChannelForceMoveData {
|
||||
export interface LogVoiceChannelForceMoveData {
|
||||
mod: User;
|
||||
member: GuildMember;
|
||||
oldChannel: VoiceBasedChannel;
|
||||
|
|
|
@ -7,7 +7,7 @@ import { channelToTemplateSafeChannel, memberToTemplateSafeMember } from "../../
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogVoiceChannelJoinData {
|
||||
export interface LogVoiceChannelJoinData {
|
||||
member: GuildMember;
|
||||
channel: VoiceBasedChannel;
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ import { channelToTemplateSafeChannel, memberToTemplateSafeMember } from "../../
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogVoiceChannelLeaveData {
|
||||
export interface LogVoiceChannelLeaveData {
|
||||
member: GuildMember;
|
||||
channel: VoiceBasedChannel;
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ import { channelToTemplateSafeChannel, memberToTemplateSafeMember } from "../../
|
|||
import { LogsPluginType } from "../types";
|
||||
import { log } from "../util/log";
|
||||
|
||||
interface LogVoiceChannelMoveData {
|
||||
export interface LogVoiceChannelMoveData {
|
||||
member: GuildMember;
|
||||
oldChannel: VoiceBasedChannel;
|
||||
newChannel: VoiceBasedChannel;
|
||||
|
|
|
@ -26,16 +26,9 @@ const DEFAULT_BATCH_TIME = 1000;
|
|||
const MIN_BATCH_TIME = 250;
|
||||
const MAX_BATCH_TIME = 5000;
|
||||
|
||||
type ZLogFormatsHelper = {
|
||||
-readonly [K in keyof typeof LogType]: typeof zMessageContent;
|
||||
};
|
||||
export const zLogFormats = z.strictObject(
|
||||
keys(LogType).reduce((map, logType) => {
|
||||
map[logType] = zMessageContent;
|
||||
return map;
|
||||
}, {} as ZLogFormatsHelper),
|
||||
);
|
||||
export type TLogFormats = z.infer<typeof zLogFormats>;
|
||||
// A bit of a workaround so we can pass LogType keys to z.enum()
|
||||
const logTypes = Object.keys(LogType) as [keyof typeof LogType, ...Array<keyof typeof LogType>];
|
||||
const zLogFormats = z.record(z.enum(logTypes), zMessageContent);
|
||||
|
||||
const zLogChannel = z.strictObject({
|
||||
include: z.array(zBoundedCharacters(1, 255)).default([]),
|
||||
|
@ -49,7 +42,7 @@ const zLogChannel = z.strictObject({
|
|||
excluded_threads: z.array(zSnowflake).nullable().default(null),
|
||||
exclude_bots: z.boolean().default(false),
|
||||
excluded_roles: z.array(zSnowflake).nullable().default(null),
|
||||
format: zLogFormats.partial().default({}),
|
||||
format: zLogFormats.default({}),
|
||||
timestamp_format: z.string().nullable().default(null),
|
||||
include_embed_timestamp: z.boolean().nullable().default(null),
|
||||
});
|
||||
|
@ -60,12 +53,7 @@ export type TLogChannelMap = z.infer<typeof zLogChannelMap>;
|
|||
|
||||
export const zLogsConfig = z.strictObject({
|
||||
channels: zLogChannelMap,
|
||||
format: zLogFormats.merge(
|
||||
z.strictObject({
|
||||
// Legacy/deprecated, use timestamp_format below instead
|
||||
timestamp: zBoundedCharacters(0, 64).nullable(),
|
||||
}),
|
||||
),
|
||||
format: zLogFormats,
|
||||
// Legacy/deprecated, if below is false mentions wont actually ping. In case you really want the old behavior, set below to true
|
||||
ping_user: z.boolean(),
|
||||
allow_user_mentions: z.boolean(),
|
||||
|
|
|
@ -38,10 +38,7 @@ export async function getLogMessage<TLogType extends keyof ILogTypeData>(
|
|||
if (format === "" || format == null) return null;
|
||||
|
||||
// See comment on FORMAT_NO_TIMESTAMP in types.ts
|
||||
const timestampFormat =
|
||||
opts?.timestamp_format ??
|
||||
(config.format.timestamp !== FORMAT_NO_TIMESTAMP ? config.format.timestamp : null) ??
|
||||
config.timestamp_format;
|
||||
const timestampFormat = opts?.timestamp_format ?? config.timestamp_format;
|
||||
|
||||
const includeEmbedTimestamp = opts?.include_embed_timestamp ?? config.include_embed_timestamp;
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@ export enum RecentActionType {
|
|||
VoiceChannelMove,
|
||||
}
|
||||
|
||||
interface IRecentAction<T> {
|
||||
export interface IRecentAction<T> {
|
||||
type: RecentActionType;
|
||||
userId: string;
|
||||
actionGroupId: string;
|
||||
|
|
|
@ -285,9 +285,9 @@ export type StrictMessageContent = {
|
|||
embeds?: APIEmbed[];
|
||||
};
|
||||
|
||||
export const zMessageContent = z.union([zBoundedCharacters(0, 4000), zStrictMessageContent]);
|
||||
|
||||
export type MessageContent = string | StrictMessageContent;
|
||||
export const zMessageContent = z.union([zBoundedCharacters(0, 4000), zStrictMessageContent]) as z.ZodType<MessageContent>;
|
||||
|
||||
|
||||
export function validateAndParseMessageContent(input: unknown): StrictMessageContent {
|
||||
if (input == null) {
|
||||
|
|
Loading…
Add table
Reference in a new issue