Added eco monday

This commit is contained in:
WatDuhHekBro 2020-12-16 01:24:26 -06:00
parent 3d3631c65a
commit 9ab588468e
3 changed files with 39 additions and 1 deletions

View File

@ -2,6 +2,7 @@ import Command from "../../core/command";
import {isAuthorized, getMoneyEmbed} from "./subcommands/eco-utils";
import {DailyCommand, PayCommand, GuildCommand, LeaderboardCommand} from "./subcommands/eco-core";
import {BuyCommand, ShopCommand} from "./subcommands/eco-shop";
import {MondayCommand} from "./subcommands/eco-extras";
export default new Command({
description: "Economy command for Monika.",
@ -14,7 +15,8 @@ export default new Command({
guild: GuildCommand,
leaderboard: LeaderboardCommand,
buy: BuyCommand,
shop: ShopCommand
shop: ShopCommand,
monday: MondayCommand
},
user: new Command({
description: "See how much money someone else has by using their user ID or pinging them.",

View File

@ -0,0 +1,34 @@
import Command from "../../../core/command";
import {Storage} from "../../../core/structures";
import {isAuthorized, getMoneyEmbed} from "./eco-utils";
const WEEKDAY = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
export const MondayCommand = new Command({
description: "Use this on a UTC Monday to get an extra Mon. Does not affect your 22 hour timer for `eco daily`.",
async run({guild, channel, author}) {
if (isAuthorized(guild, channel)) {
const user = Storage.getUser(author.id);
const now = new Date();
const weekday = now.getUTCDay();
// If it's a UTC Monday
if (weekday === 1) {
// If the user hasn't already claimed their Monday reward (checks the last 24 hours because that'll block up the entire day)
if (now.getTime() - user.lastMonday >= 86400000) {
user.money++;
user.lastMonday = now.getTime();
Storage.save();
channel.send("It is **Mon**day, my dudes.", getMoneyEmbed(author));
} else channel.send("You've already claimed your **Mon**day reward for this week.");
} else {
const weekdayName = WEEKDAY[weekday];
const hourText = now.getUTCHours().toString().padStart(2, "0");
const minuteText = now.getUTCMinutes().toString().padStart(2, "0");
channel.send(
`Come back when it's **Mon**day. Right now, it's ${weekdayName}, ${hourText}:${minuteText} (UTC).`
);
}
}
}
});

View File

@ -23,10 +23,12 @@ class ConfigStructure extends GenericStructure {
class User {
public money: number;
public lastReceived: number;
public lastMonday: number;
constructor(data?: GenericJSON) {
this.money = select(data?.money, 0, Number);
this.lastReceived = select(data?.lastReceived, -1, Number);
this.lastMonday = select(data?.lastMonday, -1, Number);
}
}