1
0
mirror of https://github.com/toast-ts/Daggerbot-TS.git synced 2024-11-17 20:30:58 -05:00

Move player functions into MPModule

This commit is contained in:
AnxietyisReal 2024-01-17 06:45:01 +11:00
parent 11fcbdcad2
commit 165c0bf159
2 changed files with 25 additions and 36 deletions

View File

@ -1,26 +0,0 @@
import {FSPlayer} from '../interfaces';
export default class FormatPlayer {
static convertUptime(playTime:number) {
let Minutes:number;
let Hours:number;
let Days:number;
playTime = Math.floor(playTime);
if (playTime >= 60) {
Hours = Math.floor(playTime/60);
Minutes = playTime-Hours*60;
} else Minutes = playTime
if (Hours >= 24) {
Days = Math.floor(Hours/24);
Hours = Hours-Days*24;
}
return (Days > 0 ? Days+' d ':'')+(Hours > 0 ? Hours+' h ':'')+(Minutes > 0 ? Minutes+' m':'')
}
static decoratePlayerIcons(player:FSPlayer) {
let decorator = player.isAdmin ? ':detective:' : '';
decorator += player.name.includes('Toast') ? '<:toast:1132681026662056079>' : '';
return decorator
}
}

View File

@ -2,7 +2,6 @@ import Undici from 'undici';
import Discord from 'discord.js'; import Discord from 'discord.js';
import TClient from '../client.js'; import TClient from '../client.js';
import ConfigHelper from '../helpers/ConfigHelper.js'; import ConfigHelper from '../helpers/ConfigHelper.js';
import FormatPlayer from '../helpers/FormatPlayer.js';
import Logger from '../helpers/Logger.js'; import Logger from '../helpers/Logger.js';
import HookMgr from '../components/HookManager.js'; import HookMgr from '../components/HookManager.js';
import {IServer} from '../models/MPServer.js'; import {IServer} from '../models/MPServer.js';
@ -121,10 +120,6 @@ async function multifarmWebhook(client:TClient, server:IServer, webhookId:string
}) })
} }
async function storePlayerCount(client:TClient, server:IServer, playerCount:number) {
return await client.MPServer.incrementPlayerCount(server.serverName, playerCount);
}
export async function requestServerData(client:TClient, server:IServer):Promise<{dss:FSData, csg:FSCareerSavegame}|undefined>{ export async function requestServerData(client:TClient, server:IServer):Promise<{dss:FSData, csg:FSCareerSavegame}|undefined>{
async function retryReqs(url:string) { async function retryReqs(url:string) {
// Attempt to reduce the failure rate of the requests before giving up and retrying in next refresh. // Attempt to reduce the failure rate of the requests before giving up and retrying in next refresh.
@ -156,11 +151,31 @@ export async function requestServerData(client:TClient, server:IServer):Promise<
} }
} }
export function mpModuleDisabled(client:TClient) { export const mpModuleDisabled =(client:TClient)=>new client.embed().setColor(client.config.embedColorInvis).setTitle('MPModule is currently disabled.');
return new client.embed().setColor(client.config.embedColorInvis).setTitle('MPModule is currently disabled.'); export const playtimeStat =(player:FSPlayer)=>`**${player.name}${decoratePlayerIcons(player)}**\n${player.uptime < 1 ? 'Just joined' : `Playing for ${convertPlayerUptime(player.uptime)}`}`;
const storePlayerCount = async(client:TClient, server:IServer, playerCount:number)=>await client.MPServer.incrementPlayerCount(server.serverName, playerCount);
function decoratePlayerIcons(player:FSPlayer) {
let decorator = player.isAdmin ? ':detective:' : '';
decorator += player.name.includes('Toast') ? '<:toast:1132681026662056079>' : '';
return decorator
} }
export function playtimeStat(player:FSPlayer) { function convertPlayerUptime(playTime:number) {
let uptimeTxt = player.uptime < 1 ? 'Just joined' : `Playing for ${FormatPlayer.convertUptime(player.uptime)}`; let Minutes:number;
return `**${player.name}${FormatPlayer.decoratePlayerIcons(player)}**\n${uptimeTxt}` let Hours:number;
let Days:number;
playTime = Math.floor(playTime);
if (playTime >= 60) {
Hours = Math.floor(playTime/60);
Minutes = playTime-Hours*60;
} else Minutes = playTime
if (Hours >= 24) {
Days = Math.floor(Hours/24);
Hours = Hours-Days*24;
}
return (Days > 0 ? Days+' d ':'')+(Hours > 0 ? Hours+' h ':'')+(Minutes > 0 ? Minutes+' m':'')
} }