diff --git a/docker-compose.yml b/docker-compose.yml
index e6dd6ce..b1a820f 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -53,7 +53,7 @@ services:
environment:
DEBUG: '*,-express:*'
ZNC_PROXY_URL: http://znc-proxy
- NXAPI_PRESENCE_SERVER_USER: ${NXAPI_PRESENCE_SERVER_USER}
+ NXAPI_PRESENCE_SERVER_USER: ${NXAPI_PRESENCE_SERVER_USER:-}
NXAPI_PRESENCE_SERVER_SPLATNET3_PROXY_URL: http://presence-splatnet3-proxy/api/splatnet3-presence
volumes:
- data:/data
diff --git a/src/app/browser/preferences/index.tsx b/src/app/browser/preferences/index.tsx
index 25c1c4b..96e73b5 100644
--- a/src/app/browser/preferences/index.tsx
+++ b/src/app/browser/preferences/index.tsx
@@ -243,6 +243,10 @@ export default function Preferences(props: PreferencesProps) {
label="Show approximate play time (nearest 5 hours)" />
+
+
) {
type: 'boolean',
default: false,
}).option('show-play-time', {
- describe: 'Play time format ("hidden", "nintendo", "approximate", "approximate-since", "detailed", "detailed-since")',
+ describe: 'Play time format ("hidden", "nintendo", "approximate", "approximate-since", "hour", "hour-since", "detailed", "detailed-since")',
type: 'string',
default: 'detailed-since',
}).option('friend-nsaid', {
@@ -151,6 +151,8 @@ export async function handler(argv: ArgumentsCamelCase) {
argv.showPlayTime.toLowerCase() === 'nintendo' ? DiscordPresencePlayTime.NINTENDO :
argv.showPlayTime.toLowerCase() === 'approximate' ? DiscordPresencePlayTime.APPROXIMATE_PLAY_TIME :
argv.showPlayTime.toLowerCase() === 'approximate-since' ? DiscordPresencePlayTime.APPROXIMATE_PLAY_TIME_SINCE :
+ argv.showPlayTime.toLowerCase() === 'hour' ? DiscordPresencePlayTime.HOUR_PLAY_TIME :
+ argv.showPlayTime.toLowerCase() === 'hour-since' ? DiscordPresencePlayTime.HOUR_PLAY_TIME_SINCE :
argv.showPlayTime.toLowerCase() === 'detailed' ? DiscordPresencePlayTime.DETAILED_PLAY_TIME :
argv.showPlayTime.toLowerCase() === 'detailed-since' ? DiscordPresencePlayTime.DETAILED_PLAY_TIME_SINCE :
DiscordPresencePlayTime.DETAILED_PLAY_TIME_SINCE;
diff --git a/src/cli/util/discord-activity.ts b/src/cli/util/discord-activity.ts
index de9ed83..ee71484 100644
--- a/src/cli/util/discord-activity.ts
+++ b/src/cli/util/discord-activity.ts
@@ -195,6 +195,8 @@ function getActivityFromPresence(
argv.showPlayTime.toLowerCase() === 'nintendo' ? DiscordPresencePlayTime.NINTENDO :
argv.showPlayTime.toLowerCase() === 'approximate' ? DiscordPresencePlayTime.APPROXIMATE_PLAY_TIME :
argv.showPlayTime.toLowerCase() === 'approximate-since' ? DiscordPresencePlayTime.APPROXIMATE_PLAY_TIME_SINCE :
+ argv.showPlayTime.toLowerCase() === 'hour' ? DiscordPresencePlayTime.HOUR_PLAY_TIME :
+ argv.showPlayTime.toLowerCase() === 'hour-since' ? DiscordPresencePlayTime.HOUR_PLAY_TIME_SINCE :
argv.showPlayTime.toLowerCase() === 'detailed' ? DiscordPresencePlayTime.DETAILED_PLAY_TIME :
argv.showPlayTime.toLowerCase() === 'detailed-since' ? DiscordPresencePlayTime.DETAILED_PLAY_TIME_SINCE :
DiscordPresencePlayTime.DETAILED_PLAY_TIME_SINCE;
diff --git a/src/discord/types.ts b/src/discord/types.ts
index 05096ce..a9d5bdc 100644
--- a/src/discord/types.ts
+++ b/src/discord/types.ts
@@ -120,6 +120,10 @@ export enum DiscordPresencePlayTime {
DETAILED_PLAY_TIME,
/** "Played for x hours and x minutes since dd/mm/yyyy" */
DETAILED_PLAY_TIME_SINCE,
+ /** "Played for x hours" */
+ HOUR_PLAY_TIME,
+ /** "Played for x hours since dd/mm/yyyy" */
+ HOUR_PLAY_TIME_SINCE,
}
export interface ExternalMonitorConstructor = ExternalMonitor> {
diff --git a/src/discord/util.ts b/src/discord/util.ts
index 770a5d4..bfe6193 100644
--- a/src/discord/util.ts
+++ b/src/discord/util.ts
@@ -99,6 +99,10 @@ function getPlayTimeText(type: DiscordPresencePlayTime, game: Game) {
case DiscordPresencePlayTime.APPROXIMATE_PLAY_TIME_SINCE:
if (game.totalPlayTime < 60) return null;
return 'Played for ' + hrduration(getApproximatePlayTime(game.totalPlayTime)) + ' or more since ' + since;
+ case DiscordPresencePlayTime.HOUR_PLAY_TIME:
+ return 'Played for ' + hrduration(Math.floor(game.totalPlayTime / 60) * 60);
+ case DiscordPresencePlayTime.HOUR_PLAY_TIME_SINCE:
+ return 'Played for ' + hrduration(Math.floor(game.totalPlayTime / 60) * 60) + ' since ' + since;
case DiscordPresencePlayTime.DETAILED_PLAY_TIME:
return 'Played for ' + hrduration(game.totalPlayTime);
case DiscordPresencePlayTime.DETAILED_PLAY_TIME_SINCE: