Typed log functions + more

This commit is contained in:
Dragory 2021-08-18 01:51:42 +03:00
parent d2ac700143
commit bed6589d48
No known key found for this signature in database
GPG key ID: 5F387BA66DF8AAC1
166 changed files with 4021 additions and 869 deletions

View file

@ -1,12 +1,17 @@
import { Guild, Snowflake } from "discord.js";
import { Guild, Snowflake, User } from "discord.js";
import moment from "moment-timezone";
import { isDefaultSticker } from "src/utils/isDefaultSticker";
import { getRepository, Repository } from "typeorm";
import { renderTemplate } from "../templateFormatter";
import { renderTemplate, TemplateSafeValueContainer } from "../templateFormatter";
import { trimLines } from "../utils";
import { BaseGuildRepository } from "./BaseGuildRepository";
import { ArchiveEntry } from "./entities/ArchiveEntry";
import { SavedMessage } from "./entities/SavedMessage";
import {
channelToTemplateSafeChannel,
guildToTemplateSafeGuild,
userToTemplateSafeUser,
} from "../utils/templateSafeObjects";
const DEFAULT_EXPIRY_DAYS = 30;
@ -75,9 +80,9 @@ export class GuildArchives extends BaseGuildRepository {
const msgLines: string[] = [];
for (const msg of savedMessages) {
const channel = guild.channels.cache.get(msg.channel_id as Snowflake);
const user = { ...msg.data.author, id: msg.user_id };
const partialUser = new TemplateSafeValueContainer({ ...msg.data.author, id: msg.user_id });
const line = await renderTemplate(MESSAGE_ARCHIVE_MESSAGE_FORMAT, {
const values = new TemplateSafeValueContainer({
id: msg.id,
timestamp: moment.utc(msg.posted_at).format("YYYY-MM-DD HH:mm:ss"),
content: msg.data.content,
@ -87,9 +92,10 @@ export class GuildArchives extends BaseGuildRepository {
stickers: msg.data.stickers?.map(sti => {
return JSON.stringify({ name: sti.name, id: sti.id, isDefault: isDefaultSticker(sti.id) });
}),
user,
channel,
user: partialUser,
channel: channel ? channelToTemplateSafeChannel(channel) : null,
});
const line = await renderTemplate(MESSAGE_ARCHIVE_MESSAGE_FORMAT, {});
msgLines.push(line);
}
return msgLines;
@ -100,7 +106,9 @@ export class GuildArchives extends BaseGuildRepository {
expiresAt = moment.utc().add(DEFAULT_EXPIRY_DAYS, "days");
}
const headerStr = await renderTemplate(MESSAGE_ARCHIVE_HEADER_FORMAT, { guild });
const headerStr = await renderTemplate(MESSAGE_ARCHIVE_HEADER_FORMAT, {
guild: guildToTemplateSafeGuild(guild),
});
const msgLines = await this.renderLinesFromSavedMessages(savedMessages, guild);
const messagesStr = msgLines.join("\n");