mirror of
				https://github.com/keanuplayz/TravBot-v3.git
				synced 2024-08-15 02:33:12 +00:00 
			
		
		
		
	Added eco monday
This commit is contained in:
		
							parent
							
								
									3d3631c65a
								
							
						
					
					
						commit
						9ab588468e
					
				
					 3 changed files with 39 additions and 1 deletions
				
			
		|  | @ -2,6 +2,7 @@ import Command from "../../core/command"; | ||||||
| import {isAuthorized, getMoneyEmbed} from "./subcommands/eco-utils"; | import {isAuthorized, getMoneyEmbed} from "./subcommands/eco-utils"; | ||||||
| import {DailyCommand, PayCommand, GuildCommand, LeaderboardCommand} from "./subcommands/eco-core"; | import {DailyCommand, PayCommand, GuildCommand, LeaderboardCommand} from "./subcommands/eco-core"; | ||||||
| import {BuyCommand, ShopCommand} from "./subcommands/eco-shop"; | import {BuyCommand, ShopCommand} from "./subcommands/eco-shop"; | ||||||
|  | import {MondayCommand} from "./subcommands/eco-extras"; | ||||||
| 
 | 
 | ||||||
| export default new Command({ | export default new Command({ | ||||||
|     description: "Economy command for Monika.", |     description: "Economy command for Monika.", | ||||||
|  | @ -14,7 +15,8 @@ export default new Command({ | ||||||
|         guild: GuildCommand, |         guild: GuildCommand, | ||||||
|         leaderboard: LeaderboardCommand, |         leaderboard: LeaderboardCommand, | ||||||
|         buy: BuyCommand, |         buy: BuyCommand, | ||||||
|         shop: ShopCommand |         shop: ShopCommand, | ||||||
|  |         monday: MondayCommand | ||||||
|     }, |     }, | ||||||
|     user: new Command({ |     user: new Command({ | ||||||
|         description: "See how much money someone else has by using their user ID or pinging them.", |         description: "See how much money someone else has by using their user ID or pinging them.", | ||||||
|  |  | ||||||
							
								
								
									
										34
									
								
								src/commands/fun/subcommands/eco-extras.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								src/commands/fun/subcommands/eco-extras.ts
									
										
									
									
									
										Normal 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).` | ||||||
|  |                 ); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | }); | ||||||
|  | @ -23,10 +23,12 @@ class ConfigStructure extends GenericStructure { | ||||||
| class User { | class User { | ||||||
|     public money: number; |     public money: number; | ||||||
|     public lastReceived: number; |     public lastReceived: number; | ||||||
|  |     public lastMonday: number; | ||||||
| 
 | 
 | ||||||
|     constructor(data?: GenericJSON) { |     constructor(data?: GenericJSON) { | ||||||
|         this.money = select(data?.money, 0, Number); |         this.money = select(data?.money, 0, Number); | ||||||
|         this.lastReceived = select(data?.lastReceived, -1, Number); |         this.lastReceived = select(data?.lastReceived, -1, Number); | ||||||
|  |         this.lastMonday = select(data?.lastMonday, -1, Number); | ||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue