diff --git a/backend/src/plugins/Tags.ts b/backend/src/plugins/Tags.ts index 4a2511f1..c8e5589f 100644 --- a/backend/src/plugins/Tags.ts +++ b/backend/src/plugins/Tags.ts @@ -1,6 +1,6 @@ import { decorators as d, IPluginOptions, logger } from "knub"; import { Member, Message, TextChannel } from "eris"; -import { errorMessage, successMessage, stripObjectToScalars, tNullable } from "../utils"; +import { errorMessage, successMessage, stripObjectToScalars, tNullable, convertDelayStringToMS } from "../utils"; import { GuildTags } from "../data/GuildTags"; import { GuildSavedMessages } from "../data/GuildSavedMessages"; import { SavedMessage } from "../data/entities/SavedMessage"; @@ -101,8 +101,39 @@ export class TagsPlugin extends ZeppelinPlugin { return diff >= 0 ? result : `${result} ago`; }, + today() { + return moment(); + }, + + timeXAgo(timeDiff) { + if (typeof timeDiff !== "string") { + return 'Please pass a valid delay as a string to timeXAgo (e.g. timeXAgo("1w"))'; + } + + const delay = convertDelayStringToMS(timeDiff); + return moment(moment().valueOf() - delay).valueOf(); + }, + + humanizeTime(timems) { + if (typeof timems !== "number") { + return moment().format("DD-MM-YYYY HH:mm"); + } + + return moment(timems).format("DD-MM-YYYY HH:mm"); + }, + + discordDateFormat(timems) { + if (typeof timems !== "number") { + return moment().format("YYYY-MM-DD"); + } + + return moment(timems).format("YYYY-MM-DD"); + }, + mention: input => { - if (typeof input !== "string") return ""; + if (typeof input !== "string") { + return ""; + } if (input.match(/^<(@#)(!&)\d+>$/)) { return input; }