Catalog PyPI
PACKAGE EXPLORERView in registry

aa-jays-tools

PyPI

Jay's Army Tools plugin for Alliance Auth.

Versions collected1
Direct dependencies2From release 1.0.7
Last observed20 Oct, 16:57 UTC

README

Version 1.0.7 documentation

Jay's Army Tools for Alliance Auth

aa-jays-tools is an Alliance Auth plugin that currently provides:

  • Discord recruiter helper commands (via allianceauth-discordbot cogs)
  • Secure Groups smart filters for recruitment activity and low skill points

release python django license

Contents

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 the discord_cogs_hook
  • Registers Secure Groups smart filters through secure_group_filters when securegroups is installed
  • Provides a RecruitmentFilter based on approved HR applications in a configurable time window
  • Provides a CharacterSkillPointFilter (when memberaudit is 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 for CharacterSkillPointFilter)

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 securegroups is not installed, no smart filter hook is exported.
  • If memberaudit is not installed, CharacterSkillPointFilter is 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.ini
  • runtests.py
  • testauth/
  • 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.

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
1.0.723 May 20262

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
hermesdj/aa-jays-tools

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 16:57 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:bcf57494f9dd404600fc7bdd7910bc47800fd20a8895a91cff8f31000927766c