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 {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.", | ||||
|  |  | |||
							
								
								
									
										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 { | ||||
|     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); | ||||
|     } | ||||
| } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue