Jay's Army Tools plugin for Alliance Auth.
Project description
Jay's Army Tools for Alliance Auth
aa-jays-tools is an Alliance Auth plugin that currently provides:
- Discord recruiter helper commands (via
allianceauth-discordbotcogs) - Secure Groups smart filters for recruitment activity and low skill points
Contents
- Overview
- Features
- Requirements
- Installation
- Configuration
- Smart filters
- Discord recruiter cog
- Development
- Changelog
Overview
This plugin extends Alliance Auth with small operational tools used by Jay's Army workflows.
It integrates through Alliance Auth hooks in jaystools/auth_hooks.py and keeps optional integrations guarded by install checks.
Features
- Registers a Discord cog (
jaystools.cogs.me_recruter) through thediscord_cogs_hook - Registers Secure Groups smart filters through
secure_group_filterswhensecuregroupsis installed - Provides a
RecruitmentFilterbased on approved HR applications in a configurable time window - Provides a
CharacterSkillPointFilter(whenmemberauditis installed) to match users below a skillpoint threshold
Requirements
- Alliance Auth 4.x
allianceauth-discordbot(optional, required for Discord cog usage)allianceauth-secure-groups(optional, required for smart filters)aa-memberaudit(optional, required forCharacterSkillPointFilter)
Installation
1 - Install the package
pip install aa-jays-tools
2 - Add app to Alliance Auth
Add jaystools to INSTALLED_APPS in your local.py:
INSTALLED_APPS += [
"jaystools",
]
3 - Run migrations and collect static files
python manage.py migrate
python manage.py collectstatic
4 - Restart services
Restart web and worker processes so hooks and app registration are loaded.
Configuration
Required settings for Discord recruiter cog
If you use the recruiter cog, define these settings in your host AA local.py:
# Command scope (single guild or list)
DISCORD_GUILD_ID = "1234567890"
# DISCORD_GUILD_IDS = [1234567890, 9876543210]
# Recruiter workflow channels/roles
RECRUIT_CHANNEL_ID = 123456789012345678
RECRUITER_GROUP_ID = 987654321098765432
jaystools.app_settings.get_all_servers() merges DISCORD_GUILD_IDS and DISCORD_GUILD_ID for command registration.
Optional integration behavior
- If
securegroupsis not installed, no smart filter hook is exported. - If
memberauditis not installed,CharacterSkillPointFilteris not exported.
Smart filters
RecruitmentFilter
Model: jaystools.models.smart_filters.RecruitmentFilter
Checks whether a user approved at least recruitments_needed HR applications within the last days.
CharacterSkillPointFilter
Model: jaystools.models.smart_filters.CharacterSkillPointFilter
Available only with memberaudit installed. Matches users with at least one character at or below sp_threshold.
Can optionally ignore alts (ignore_alts=True) and evaluate mains only.
Discord recruiter cog
Cog module: jaystools.cogs.me_recruter
Registered commands include:
- slash command:
me_recruter - message context command:
Créer un fil de recrutement - user context command:
Me Recruter
Each command creates a private recruitment thread in RECRUIT_CHANNEL_ID and pings RECRUITER_GROUP_ID.
Development
This repository includes a standard Alliance Auth plugin test layout:
tox.iniruntests.pytestauth/jaystools/tests/
Run tests:
python -u runtests.py jaystools.tests -v 2
Run lint:
pylint jaystools
If tox is installed:
tox -e py312-django42
tox -e pylint
Changelog
See CHANGELOG.md.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aa_jays_tools-1.0.4.tar.gz.
File metadata
- Download URL: aa_jays_tools-1.0.4.tar.gz
- Upload date:
- Size: 23.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c95d936a7441e53b93c15fcf9d3ad1226258fc32fec92c88a9fe31670e51136
|
|
| MD5 |
865ab9ece57250910d15c1abe19eb513
|
|
| BLAKE2b-256 |
2f8a446acc46d6b4653490d2cbc839e6107ee3184015d0ee7087e6461ec8a87b
|
Provenance
The following attestation bundles were made for aa_jays_tools-1.0.4.tar.gz:
Publisher:
publish.yml on hermesdj/aa-jays-tools
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aa_jays_tools-1.0.4.tar.gz -
Subject digest:
5c95d936a7441e53b93c15fcf9d3ad1226258fc32fec92c88a9fe31670e51136 - Sigstore transparency entry: 1396367042
- Sigstore integration time:
-
Permalink:
hermesdj/aa-jays-tools@f0435025d67e6226fa889b59e1a657a43b617098 -
Branch / Tag:
refs/tags/1.0.4 - Owner: https://github.com/hermesdj
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f0435025d67e6226fa889b59e1a657a43b617098 -
Trigger Event:
release
-
Statement type:
File details
Details for the file aa_jays_tools-1.0.4-py3-none-any.whl.
File metadata
- Download URL: aa_jays_tools-1.0.4-py3-none-any.whl
- Upload date:
- Size: 33.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a7c91ee855ac838956c1c76abeaf5e33ee1b7b592dadcc30d7768ace2d1de406
|
|
| MD5 |
3b0b784af60b69a4653a25f3ab9c7d68
|
|
| BLAKE2b-256 |
baaeb3ed5adc45b9cd5d9b0d82d05ea4388dca52ef1a75d105886fe8ab2c2351
|
Provenance
The following attestation bundles were made for aa_jays_tools-1.0.4-py3-none-any.whl:
Publisher:
publish.yml on hermesdj/aa-jays-tools
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aa_jays_tools-1.0.4-py3-none-any.whl -
Subject digest:
a7c91ee855ac838956c1c76abeaf5e33ee1b7b592dadcc30d7768ace2d1de406 - Sigstore transparency entry: 1396367058
- Sigstore integration time:
-
Permalink:
hermesdj/aa-jays-tools@f0435025d67e6226fa889b59e1a657a43b617098 -
Branch / Tag:
refs/tags/1.0.4 - Owner: https://github.com/hermesdj
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@f0435025d67e6226fa889b59e1a657a43b617098 -
Trigger Event:
release
-
Statement type: