Skip to content

Commit 09e6395

Browse files
committed
BUGFIX:
- Scheduler: /timeleft and server status embed did not show the correct time for the new "times" setting
1 parent 6986a84 commit 09e6395

File tree

3 files changed

+13
-22
lines changed

3 files changed

+13
-22
lines changed

plugins/monitoring/serverstats.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -543,7 +543,7 @@ async def render(self, server_name: str | None, interval: str | None = '1 month'
543543

544544
# Step 5: Customize plot appearance
545545
self.axes.set_title(
546-
f'Users per Mission-Time | past {interval.replace("1", "").strip()}',
546+
f'Average Users per Mission-Time | past {interval.replace("1", "").strip()}',
547547
color='white',
548548
fontsize=25
549549
)

plugins/scheduler/commands.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1339,7 +1339,7 @@ async def timeleft(self, interaction: discord.Interaction,
13391339
else:
13401340
item = f'The mission on server {_server.name}'
13411341
message = f"{item} will {what}"
1342-
if (any(key in rconf for key in ['local_times', 'utc_times', 'real_time', 'idle_time', 'cron']) or
1342+
if (any(key in rconf for key in ['times', 'real_time', 'idle_time', 'cron']) or
13431343
_server.status == Status.RUNNING):
13441344
if _server.restart_time >= datetime.now(tz=timezone.utc):
13451345
message += f" <t:{int(_server.restart_time.timestamp())}:R>"

plugins/scheduler/listener.py

Lines changed: 11 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -59,27 +59,18 @@ async def get_next_restart(self, server: Server, restart: dict | list) -> tuple[
5959
return delta, restart
6060
else:
6161
return 0, restart
62-
elif 'local_times' in restart:
62+
elif 'times' in restart:
63+
config = self.get_config(server)
64+
tz = (
65+
ZoneInfo(config.get('timezone'))
66+
if 'timezone' in config
67+
else None
68+
)
6369
min_time_difference = 86400
64-
for t in restart['local_times']:
65-
restart_time = utils.parse_time(t)
66-
check_time = datetime.now().replace(year=restart_time.year, month=restart_time.month,
67-
day=restart_time.day, second=0, microsecond=0)
68-
if restart_time <= check_time:
69-
restart_time += timedelta(days=1)
70-
time_difference_in_seconds = int((restart_time - check_time).total_seconds())
71-
if 0 < time_difference_in_seconds < min_time_difference:
72-
min_time_difference = time_difference_in_seconds
73-
if min_time_difference != 86400:
74-
return min_time_difference, restart
75-
else:
76-
return None
77-
elif 'utc_times' in restart:
78-
min_time_difference = 86400
79-
for t in restart['utc_times']:
80-
restart_time = utils.parse_time(t, tz=timezone.utc)
81-
check_time = datetime.now(tz=timezone.utc).replace(
82-
year=restart_time.year, month=restart_time.month, day=restart_time.day, second=0, microsecond=0)
70+
for t in restart['times']:
71+
restart_time = utils.parse_time(t, tz=tz)
72+
check_time = datetime.now(tz=tz).replace(year=restart_time.year, month=restart_time.month,
73+
day=restart_time.day, second=0, microsecond=0)
8374
if restart_time <= check_time:
8475
restart_time += timedelta(days=1)
8576
time_difference_in_seconds = int((restart_time - check_time).total_seconds())

0 commit comments

Comments
 (0)