Package: aa-structuretimers
Structure Timers IIAn app for keeping track of Eve Online structure timers with Alliance Auth and Discord.ContentsOverviewScreenshotsInstallationSettingsNotification RulesPermissionsManagement commandsChange LogOverviewStructure Timers IIis an enhanced version of the Alliance Auth's Structure Timers app, with many additional useful features and an improved UI. Here is a overview of it's main features in comparison to Auth's basic variant.FeatureAuthStructure Timer IICreate and edit timers for structuresxxSee all pending timers at a glance and with live countdownsxxRestrict timer access to your corporationxxRestrict ability to create and delete timers to certain usersxxGet automatic notifications about upcoming timers on Discord-xDefine a timer type (e.g. armor or hull)-xRestrict timer access to your alliance-xRestrict timer access to people with special clearance ("OPSEC")-xAdd screenshots to timers (e.g. with the structure's fitting)-xCreate timers more quickly and precisely with autocomplete for solar system and structure types-xFind timers more quickly with filters and full text search-xAutomatic cleanup of elapsed timers-xHintIf you like to see all timers in a calendar view please consider checking out the amazing appAllianceauth Opcalendar, which is fully integrated withStructure Timers II.ScreenshotsList of timersDetails for a timerCreating a new timerNotification on DiscordInstallationStep 1 - Check PreconditionsPlease make sure you meet all preconditions before proceeding:Structure Timers is a plugin forAlliance Auth. If you don't have Alliance Auth running already, please install it first before proceeding. (see the officialAA installation guidefor details)Structure Timers needs the appdjango-eveuniverseto function. Please make sure it is installed, before continuing.Note that Structure Timers is compatible with Alliance Auth's Structure Timer app and can be installed in parallel.Step 2 - Install appMake sure you are in the virtual environment (venv) of your Alliance Auth installation. Then install the newest release from PyPI:pipinstallaa-structuretimersStep 3 - Configure settingsConfigure your Auth settings (local.py) as follows:Add'structuretimers'toINSTALLED_APPSAdd the following lines to your settings file:CELERYBEAT_SCHEDULE['structuretimers_housekeeping']={'task':'structuretimers.tasks.housekeeping','schedule':crontab(minute=0,hour=3),}Optional: Add additional settings if you want to change any defaults. SeeSettingsfor the full list.Step 4 - Finalize installationRun migrations & copy static filespythonmanage.pymigrate
pythonmanage.pycollectstaticRestart your supervisor services for AuthStep 5 - Preload Eve Universe dataIn order to be able to select solar systems and structure types for timers you need to preload some data from ESI once. If you already have run those commands previously you can skip this step.Load Eve Online map:pythonmanage.pyeveuniverse_load_datamappythonmanage.pystructuretimers_load_eveYou may want to wait until the data loading is complete before starting to create new timers.Step 6 - Migrate existing timersIf you have already been using the classic app from Auth, you can migrate your existing timers over toStructure Timers II. Just run the following command:pythonmanage.pystructuretimers_migrate_timersNote: We suggest migration timers before setting up notification rules to avoid potential notification spam for migrated timers.Step 7 - Setup notification rulesIf you want to receive notifications about timers on Discord you can setup notification rules on the admin site. e.g. you can setup a rule to sent notifications 60 minutes before a timer elapses. Please seeNotification Rulesfor details.Step 8 - Setup permissionsAnother important step is to setup permissions, to ensure the right people have access features. Please seePermissionsfor an overview of all permissions.SettingsHere is a list of available settings for this app. They can be configured by adding them to your Auth settings file (local.py).Note that all settings are optional and the app will use the documented default settings if they are not used.NameDescriptionDefaultSTRUCTURETIMERS_MAX_AGE_FOR_NOTIFICATIONSWill not sent notifications for timers, which event time is older than the given minutes60STRUCTURETIMERS_NOTIFICATIONS_ENABLEDWether notifications for timers are scheduled at allTrueSTRUCTURETIMERS_TIMERS_OBSOLETE_AFTER_DAYSMinimum age in days for a timer to be considered obsolete. Obsolete timers will automatically be deleted. If you want to keep all timers, set toNone30STRUCTURETIMERS_DEFAULT_PAGE_LENGTHDefault page size for timerboard. Must be an integer value from the available options in the app.10STRUCTURETIMERS_PAGING_ENABLEDWether paging is enabled on the timerboard.TrueSTRUCTURETIMER_NOTIFICATION_SET_AVATARWether structures sets the name and avatar icon of a webhook. When False the webhook will use it's own values as set on the platform.TrueNotification RulesInStructure Timers IIyou can receive automatic notifications on Discord for timers by setting up notification rules. Notification rules allow you to define in detail what event and which kind of timers should trigger notifications.Note that in general all rules are independent from each other and all enabled rules will be executed for every timer one by one.Example setupHere is an example for a basic setup of rules:Example 1: Notify about new every newly created timer without ping (e.g. into a scouts channel)Trigger: New timer createdScheduled Time: -Webhook: YOUR-WEBHOOKPing Type: (no ping)Example 2: Notify 45 minutes before any timer elapses with ping (e.g. into the FC channel)Trigger: Scheduled timer reachedScheduled Time: T - 45 minutesWebhook: YOUR-WEBHOOKPing Type: @hereKey conceptsHere are some key concepts. For all details please see the onscreen help text when creating rules.TriggersNotifications can be triggered by two kinds of events:When a new timers is createdWhen the remaining time of timer has reached a defined threshold (e.g. 10 minutes before timer elapses)WebhooksEach rule has exactly one webhook. You can of course define multiple rules for the same webhook or define rules for different webhooks.Timer clausesAlmost every property of a timer can be used to define rules. For example you can define to get notifications only for timers which hostile objective or only for final timers.Note that setting a timer clause is optional and clauses that are not set, it will always match any.Staging systemYou can define one or multiple staging systems. Then you can see the distance in jumps and LY from your currently selected staging system to any timer (except for WH systems).Staging systems can be added or modified on the admin site under: Structure Timers/Staging Systems.PermissionsHere are all relevant permissions:CodenameDescriptiongeneral - Can access this app and see timersBasic permission required by anyone to access this app. Gives access to the list of timers (which timers a user sees can depend on other permissions and settings for a timers)general - Can create new timers and edit own timersUsers with this permission can create new timers and edit or delete their own timers.general - Can edit and delete any timerUsers with this permission can edit and delete any timer.general - Can create and see opsec timersUsers with this permission can create and view timers that are opsec restricted.Management commandsThe following management commands are available:structuretimers_load_eve: Preload all eve objects required for this app to functionstructuretimers_migrate_timers: Migrate pending timers from Auth's Structure Timers apps