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

Add time_and_date plugin. Use it for timezones and date formats around the bot.

This commit is contained in:
Dragory 2020-08-19 00:19:12 +03:00
parent cffb0dbd6b
commit 4ae8cf85a3
No known key found for this signature in database
GPG key ID: 5F387BA66DF8AAC1
67 changed files with 543 additions and 177 deletions

View file

@ -22,6 +22,7 @@ import { discardRegExpRunner, getRegExpRunner } from "../../regExpRunners";
import { disableCodeBlocks } from "../../utils";
import { logger } from "../../logger";
import { CasesPlugin } from "../Cases/CasesPlugin";
import { TimeAndDatePlugin } from "../TimeAndDate/TimeAndDatePlugin";
const defaultOptions: PluginOptions<LogsPluginType> = {
config: {
@ -49,7 +50,7 @@ export const LogsPlugin = zeppelinPlugin<LogsPluginType>()("logs", {
prettyName: "Logs",
},
dependencies: [CasesPlugin],
dependencies: [TimeAndDatePlugin, CasesPlugin],
configSchema: ConfigSchema,
defaultOptions,

View file

@ -13,7 +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";
import { TimeAndDatePlugin } from "../../TimeAndDate/TimeAndDatePlugin";
export async function getLogMessage(
pluginData: PluginData<LogsPluginType>,
@ -88,7 +88,10 @@ export async function getLogMessage(
const timestampFormat = config.format.timestamp;
if (timestampFormat) {
const timestamp = inGuildTz(pluginData).format(timestampFormat);
const timestamp = pluginData
.getPlugin(TimeAndDatePlugin)
.inGuildTz()
.format(timestampFormat);
formatted = `\`[${timestamp}]\` ${formatted}`;
}
}

View file

@ -5,7 +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";
import { TimeAndDatePlugin } from "../../TimeAndDate/TimeAndDatePlugin";
export async function onMessageDelete(pluginData: PluginData<LogsPluginType>, savedMessage: SavedMessage) {
const user = await resolveUser(pluginData.client, savedMessage.user_id);
@ -24,9 +24,10 @@ export async function onMessageDelete(pluginData: PluginData<LogsPluginType>, sa
{
user: stripObjectToScalars(user),
channel: stripObjectToScalars(channel),
messageDate: inGuildTz(pluginData, moment.utc(savedMessage.data.timestamp, "x")).format(
pluginData.config.get().format.timestamp,
),
messageDate: pluginData
.getPlugin(TimeAndDatePlugin)
.inGuildTz(moment.utc(savedMessage.data.timestamp, "x"))
.format(pluginData.config.get().format.timestamp),
message: savedMessage,
},
savedMessage.id,