3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-05-10 12:25:02 +00:00

Add support for server-specific timezone and date format settings

This commit is contained in:
Dragory 2020-08-10 00:24:06 +03:00
parent ddbbc543c2
commit c67a1df11d
No known key found for this signature in database
GPG key ID: 5F387BA66DF8AAC1
51 changed files with 326 additions and 168 deletions

View file

@ -26,7 +26,7 @@ const defaultOptions: PluginOptions<LogsPluginType> = {
config: {
channels: {},
format: {
timestamp: "YYYY-MM-DD HH:mm:ss",
timestamp: "YYYY-MM-DD HH:mm:ss z",
...DefaultLogMessages,
},
ping_user: true,

View file

@ -11,8 +11,8 @@ export const LogsGuildMemberAddEvt = logsEvent({
const pluginData = meta.pluginData;
const member = meta.args.member;
const newThreshold = moment().valueOf() - 1000 * 60 * 60;
const accountAge = humanizeDuration(moment().valueOf() - member.createdAt, {
const newThreshold = moment.utc().valueOf() - 1000 * 60 * 60;
const accountAge = humanizeDuration(moment.utc().valueOf() - member.createdAt, {
largest: 2,
round: true,
});

View file

@ -13,6 +13,7 @@ import { SavedMessage } from "src/data/entities/SavedMessage";
import { renderTemplate, TemplateParseError } from "src/templateFormatter";
import { logger } from "src/logger";
import moment from "moment-timezone";
import { inGuildTz } from "../../../utils/timezones";
export async function getLogMessage(
pluginData: PluginData<LogsPluginType>,
@ -87,7 +88,7 @@ export async function getLogMessage(
const timestampFormat = config.format.timestamp;
if (timestampFormat) {
const timestamp = moment().format(timestampFormat);
const timestamp = inGuildTz(pluginData).format(timestampFormat);
formatted = `\`[${timestamp}]\` ${formatted}`;
}
}

View file

@ -5,6 +5,7 @@ import { LogType } from "src/data/LogType";
import moment from "moment-timezone";
import { PluginData } from "knub";
import { LogsPluginType } from "../types";
import { inGuildTz } from "../../../utils/timezones";
export async function onMessageDelete(pluginData: PluginData<LogsPluginType>, savedMessage: SavedMessage) {
const user = await resolveUser(pluginData.client, savedMessage.user_id);
@ -23,7 +24,9 @@ export async function onMessageDelete(pluginData: PluginData<LogsPluginType>, sa
{
user: stripObjectToScalars(user),
channel: stripObjectToScalars(channel),
messageDate: moment(savedMessage.data.timestamp, "x").format(pluginData.config.get().format.timestamp),
messageDate: inGuildTz(pluginData, moment.utc(savedMessage.data.timestamp, "x")).format(
pluginData.config.get().format.timestamp,
),
message: savedMessage,
},
savedMessage.id,