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
- Attack/Reinforce
- StructureLostShields
- StructureLostArmor
- StructureUnderAttack
- low fuel ()
- abandoned ()
- destroyed (StructureDestroyed)
- low power (StructureWentLowPower)
- anchoring (StructureAnchoring)
- unanchoring (StructureUnanchoring)
- high power (StructureWentHighPower)
- transfer (OwnershipTransferred)
- Attack/Reinforce
- TowerAlertMsg
- Attacks
- SovStructureReinforced
- EntosisCaptureStarted
- POS Anchoring (AllAnchoringMsg) - Currently disabled by CCP
- Extraction Started (MoonminingExtractionStarted)
- Extraction Complete (MoonminingExtractionFinished)
- Laser Fired (MoonminingLaserFired)
- Auto Fracture (MoonminingAutomaticFracture)
- New Application (CorpAppNewMsg)
- 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
add periodic task, default timing below.
pinger.tasks.bootstrap_notification_tasks
make a new cron */10 * * * * *
This is only required if you have issues with backlog on your main workers. Generally not an issue for smaller installations.
Edit myauth/myauth/celery.py
app.conf.task_routes = {.....
'pinger.tasks.corporation_notification_update': {'queue':'pingbot'},
.....
}
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
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"]
Name | Description | Default |
---|---|---|
CT_PINGER_VALID_STATES |
A List of Valid States to be queries for Pinger notifications | ["Member"] |