Alliance Auth Plugin
Project description
High Performance Pings
Leverage the corptools data to notify via discord certain events at a corp/alliance level
filter on/off regions/const/system/corps/alliances/types/strucutre type/notification type via admin. end specific notifications to different places via webhooks
configurable @ settings
What Pings are Available
Structures
- Attack/Reinforce
- StructureLostShields
- StructureLostArmor
- StructureUnderAttack
- low fuel ()
- abandoned ()
- destroyed (StructureDestroyed)
- low power (StructureWentLowPower)
- anchoring (StructureAnchoring)
- unanchoring (StructureUnanchoring)
- high power (StructureWentHighPower)
- transfer (OwnershipTransferred)
POS
- Attack/Reinforce
- TowerAlertMsg
Sov
- Attacks
- SovStructureReinforced
- EntosisCaptureStarted
- POS Anchoring (AllAnchoringMsg) - Currently disabled by CCP
Moons
- Extraction Started (MoonminingExtractionStarted)
- Extraction Complete (MoonminingExtractionFinished)
- Laser Fired (MoonminingLaserFired)
- Auto Fracture (MoonminingAutomaticFracture)
HR
- New Application (CorpAppNewMsg)
Installation
- This app requires Corp-Tools to leverage Notification Data, install this first.
- Assumptions made:
- All characters that can provide notifications for the pings are loaded into the Character Audit module with at least notifications and roles modules enabled
- All corporations that need to be monitored for fuel have a structures token loaded in the Corporation Audit Module.
- All corporations that need to get fuel/lo/gas notifications have an assets token loaded in the Corporation Audit Module.
pip install allianceauth-corptools-pinger
- Add
'pinger',
to yourINSTALLED_APPS
in your projectslocal.py
- Migrate, Collectstatic, Restart Auth.
- Configure Pinger at
/admin/pinger/pingerconfig/1/change/
- Verify pinger is setup with
python manage.py pinger_stats
Setup
add periodic task, default timing below.
pinger.tasks.bootstrap_notification_tasks
make a new cron */10 * * * * *
Optional Optimization
This is only required if you have issues with backlog on your main workers. Generally not an issue for smaller installations.
Separate Worker Queue
Edit myauth/myauth/celery.py
app.conf.task_routes = {.....
'pinger.tasks.corporation_notification_update': {'queue':'pingbot'},
.....
}
Bare Metal
Add program block to supervisor.conf
[program:pingbot]
command=/path/to/venv/venv/bin/celery -A myauth worker --pool=threads --concurrency=5 -Q pingbot
directory=/home/allianceserver/myauth
user=allianceserver
numprocs=1
stdout_logfile=/home/allianceserver/myauth/log/pingbot.log
stderr_logfile=/home/allianceserver/myauth/log/pingbot.log
autostart=true
autorestart=true
startsecs=10
stopwaitsecs=60
killasgroup=true
priority=998
Docker
add a new worker container
allianceauth_worker_pingbot:
container_name: allianceauth_worker_pingbot
<<: [*allianceauth-base, *allianceauth-health-checks]
entrypoint: ["celery","-A","myauth","worker","--pool=threads","--concurrency=10","-Q","pingbot","-n","P_%n"]
Settings
Name | Description | Default |
---|---|---|
CT_PINGER_VALID_STATES |
A List of Valid States to be queries for Pinger notifications | ["Member"] |
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file allianceauth-corptools-pinger-0.5.1.tar.gz
.
File metadata
- Download URL: allianceauth-corptools-pinger-0.5.1.tar.gz
- Upload date:
- Size: 34.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0dd94b67eda2d8820d1a567881783ab898e55c9f531aad7a55572978449b8380 |
|
MD5 | 3e64a527d237b79ded8ee3fde65b7581 |
|
BLAKE2b-256 | c6e2c62910b10bcb958f282ef4316e40a2d4685f8443751cd2b46944304fba57 |