Skip to main content

fortunaisk Plugin for Alliance Auth

This project has been archived.

The maintainers of this project have marked this project as archived. No new releases are expected.

Project description

FortunaISK (Beta)

A lottery module for Alliance Auth to organize, manage, and track community lotteries effortlessly. This module integrates seamlessly with Alliance Auth and its ecosystem, automating lottery creation, management, and winner selection.


Feedback Welcome

This module is currently in beta testing. Your feedback, ideas for improvements, and suggestions are highly valued. Feel free to reach out with any insights or recommendations!


Features

  • Ticket Handling: Accepts and validates ticket purchases.
  • Payment Processing: Automates payment verification and tracks anomalies.
  • Winner Selection: Randomly selects winners using pre-defined criteria.
  • Lottery History: Provides a detailed history of past lotteries and winners.
  • Recurring Lotteries: Supports automated creation of recurring lotteries.
  • Administrative Tools:
    • Anomaly resolution for mismatched transactions.
    • Prize distribution tracking.
    • Comprehensive admin dashboard for statistics and management.
  • Notifications:
    • Discord notifications for major events like lottery completion or anomalies.
    • Alliance Auth notifications for users about ticket status and winnings.

Future Developments

  • Compatibility with Memberaudit and CorpTools: Provide support for both Memberaudit and CorpTools, allowing users to integrate FortunaISK with either member management tool based on their preference.

  • Bulk Ticket Purchases: Enable users to purchase multiple tickets in a single transaction, streamlining the purchasing process and improving user experience.

  • Prized Lotteries: Enhance the current lottery system by allowing administrators to offer tangible prizes instead of solely distributing the total ticket revenue. This will provide more diverse reward options and increase participant engagement.


Prerequisites


Installation

Step 1 - Install app

pip install fortunaisk

Step 2 - Configure Auth settings

Add 'fortunaisk' to your INSTALLED_APPS in local.py:

INSTALLED_APPS = [
    # ...
    "fortunaisk",
]

Step 3 - Maintain Alliance Auth

  • Run migrations:

    python manage.py makemigrations
    python manage.py migrate
    
  • Restart Auth:

    supervisorctl restart all
    

Step 4 - Configure tasks

Run the following management command to set up periodic tasks:

python manage.py setup_fortuna_tasks

Step 5 - Configure Webhooks

Visit the following URL to configure Discord webhooks:

AUTH_ADDRESS/admin/fortunaisk/webhookconfiguration/

Permissions

Permission Description
fortunaisk.can_access_app Allows access to the user's personal dashboard and viewing their winnings.
fortunaisk.can_admin_app Grants full administrative rights to manage lotteries, resolve anomalies, etc.

Usage

User Features

  • Active Lotteries: Users can view and participate in ongoing lotteries.
  • Personal Dashboard: View purchased tickets and winnings.
  • Lottery History: Access records of past lotteries and their outcomes.

Admin Features

  • Create Lotteries: Set ticket prices, duration, winner count, and prize distribution.
  • Manage Recurring Lotteries: Activate or deactivate automated lotteries.
  • Monitor Participants: View ticket purchases and participant details.
  • Resolve Anomalies: Identify and correct mismatches in ticket purchases or payments.

Contributing

Contributions are welcome! To report an issue or propose a feature:

  1. Fork this repository.

  2. Create a branch for your feature or fix:

    git checkout -b feature/your-feature-name
    
  3. Submit a pull request.


Update

Step 1 - Update app

pip install -U fortunaisk

Step 2 - Maintain Alliance Auth

  • Run migrations:

    python manage.py makemigrations
    python manage.py migrate
    
  • Restart Auth:

    supervisorctl restart all
    

License

This project is licensed under the MIT License. See the LICENSE file for details.


Thank you for using FortunaISK! For questions or feedback, feel free to open an issue or contact the maintainer.

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

fortunaisk-0.6.7.tar.gz (50.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fortunaisk-0.6.7-py3-none-any.whl (74.6 kB view details)

Uploaded Python 3

File details

Details for the file fortunaisk-0.6.7.tar.gz.

File metadata

  • Download URL: fortunaisk-0.6.7.tar.gz
  • Upload date:
  • Size: 50.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for fortunaisk-0.6.7.tar.gz
Algorithm Hash digest
SHA256 3e116aee8ef7e4e596f586e0b9314dcde18e73a4b11b4f96ded1d8eb5d2bbf22
MD5 a425f96557df4f206e7a2c458543b9e9
BLAKE2b-256 1938ae4ba01721ec17600b8faacce6c4c26a400afb591943372686ed14b2d726

See more details on using hashes here.

File details

Details for the file fortunaisk-0.6.7-py3-none-any.whl.

File metadata

  • Download URL: fortunaisk-0.6.7-py3-none-any.whl
  • Upload date:
  • Size: 74.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for fortunaisk-0.6.7-py3-none-any.whl
Algorithm Hash digest
SHA256 73998f676041d275ef7e51622ff39da0823fae293e2b40f87d1eb9612d0c43dc
MD5 0127de1fbe1ea257260ae37044d9983c
BLAKE2b-256 030e7570d7e85f037c63f804ad7eea160a638148c68d2c271e1e1ee1110ba903

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page