fix for raid_loot.sql
Added "ALT" status for !raid list !icc is now correctable by using !icc set <currently running weekly mission>
This commit is contained in:
@@ -2,13 +2,16 @@ import time
|
||||
import typing
|
||||
from datetime import datetime
|
||||
|
||||
from core.aochat.BaseModule import BaseModule
|
||||
from core.buddy_service import BuddyService
|
||||
from core.chat_blob import ChatBlob
|
||||
from core.command_alias_service import CommandAliasService
|
||||
from core.command_param_types import Options, Const
|
||||
from core.db import DB
|
||||
from core.decorators import instance, command
|
||||
from core.decorators import instance, command, setting
|
||||
from core.job_scheduler import JobScheduler
|
||||
from core.logger import Logger
|
||||
from core.setting_types import TimeSettingType, NumberSettingType
|
||||
from core.text import Text
|
||||
from core.igncore import IgnCore
|
||||
from core.util import Util
|
||||
@@ -23,15 +26,12 @@ if typing.TYPE_CHECKING:
|
||||
|
||||
|
||||
@instance()
|
||||
class WeeklyController:
|
||||
class WeeklyController(BaseModule):
|
||||
# dates = {"ai": [1618704000, 1619395200],
|
||||
# "bs": [1619913600, 1620604800],
|
||||
# "dio": [1621123200, 1621814400],
|
||||
# }
|
||||
dates = {"ai": [1627171200, 1627862400],
|
||||
"bs": [1628380800, 1629072000],
|
||||
"dio": [1629590400, 1630281600],
|
||||
}
|
||||
dates = {}
|
||||
duration = 60 * 60 * 24 * 42 # 3628800
|
||||
|
||||
def inject(self, registry):
|
||||
@@ -53,6 +53,43 @@ class WeeklyController:
|
||||
self.alias_controller: OrgAliasController = registry.get_instance("org_alias_controller")
|
||||
self.account_service: AccountService = registry.get_instance("account_service")
|
||||
|
||||
def start(self):
|
||||
self.setup_timers(self.weekly_timer().get_value())
|
||||
|
||||
@setting("weekly_timer", 1659225600, "Basis timer for ICC Daily calculations")
|
||||
def weekly_timer(self):
|
||||
return NumberSettingType()
|
||||
|
||||
@command(command="icc", params=[Const("set"), Options(["ai", "bs", "dio"])], description="Adjust the ICC Weekly timer (set currently active week)", access_level="moderator", sub_command="modify")
|
||||
def set_icc_cmd(self, _, _1, daily):
|
||||
# magic numbers:
|
||||
offset = 138240
|
||||
no_weekly = 518400
|
||||
|
||||
daily = daily.lower()
|
||||
timer = time.time()
|
||||
new = (timer//offset) * offset
|
||||
if daily == "ai":
|
||||
pass
|
||||
elif daily == "bs":
|
||||
new -= 14*24*60*60
|
||||
elif daily == "dio":
|
||||
new -= 2*14*24*60*60
|
||||
new = int(new)
|
||||
|
||||
self.setup_timers(new)
|
||||
self.weekly_timer().set_value(new)
|
||||
return f"ICC Weekly timers adjusted. Currently running mission: {daily.upper()}"
|
||||
|
||||
def setup_timers(self, ai):
|
||||
basis = ai
|
||||
duration = 691200
|
||||
none = 518400
|
||||
self.dates.clear()
|
||||
for x in ['ai', 'bs', 'dio']:
|
||||
self.dates[x] = [basis, basis+duration]
|
||||
basis += duration+none
|
||||
|
||||
@command(command="icc", params=[], description="ICC Weekly", access_level="member")
|
||||
def show_raids(self, _):
|
||||
events = [self.get_next_bs(),
|
||||
|
||||
Reference in New Issue
Block a user