3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-05-11 20:55:01 +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

@ -4,8 +4,7 @@ import { convertDelayStringToMS, messageLink } from "src/utils";
import humanizeDuration from "humanize-duration";
import { sendErrorMessage, sendSuccessMessage } from "src/pluginUtils";
import { remindersCommand } from "../types";
import { getGuildTz, inGuildTz } from "../../../utils/timezones";
import { getDateFormat } from "../../../utils/dateFormats";
import { TimeAndDatePlugin } from "../../TimeAndDate/TimeAndDatePlugin";
export const RemindCmd = remindersCommand({
trigger: ["remind", "remindme"],
@ -18,8 +17,10 @@ export const RemindCmd = remindersCommand({
},
async run({ message: msg, args, pluginData }) {
const timeAndDate = pluginData.getPlugin(TimeAndDatePlugin);
const now = moment.utc();
const tz = getGuildTz(pluginData);
const tz = await timeAndDate.getMemberTz(msg.author.id);
let reminderTime: moment.Moment;
if (args.time.match(/^\d{4}-\d{1,2}-\d{1,2}$/)) {
@ -62,7 +63,10 @@ export const RemindCmd = remindersCommand({
const msUntilReminder = reminderTime.diff(now);
const timeUntilReminder = humanizeDuration(msUntilReminder, { largest: 2, round: true });
const prettyReminderTime = inGuildTz(pluginData, reminderTime).format(getDateFormat(pluginData, "pretty_datetime"));
const prettyReminderTime = (await timeAndDate.inMemberTz(msg.author.id, reminderTime)).format(
pluginData.getPlugin(TimeAndDatePlugin).getDateFormat("pretty_datetime"),
);
sendSuccessMessage(
pluginData,
msg.channel,