LouisDeLaTech is a discord bot manager for Lyon e-Sport
Setup
Discord
Create a discord bot and get the token
- Create a google project
- Create a google service account
- Enable Google workspace delegation
- Generate keys and download the file (used by the bot
-g) - Add required scopes for the service account (see config.example for the list of scopes)
You must create user custom attribute
"custom": {
"pseudo": "",
"discordId": "",
"teeShirt": "",
"birthdate": ""
}
HelloAsso
Custom fields (Actually hard-coded)
{
"name": "Pseudonyme",
"type": "TextInput",
},
{
"name": "Date de naissance",
"type": "Date",
},
{
"name": "Adresse postale",
"type": "TextInput",
},
{
"name": "Numéro de téléphone",
"type": "TextInput",
},
{
"name": "Nom d'utilisateur Discord",
"type": "TextInput",
},
{
"name": "Taille du tee-shirt",
"type": "ChoiceList",
},
{
"name": "Je m'engage à signer l'engagement de confidentialité : https://example.fr",
"type": "YesNo",
}
To use the commands, please provide the requested form slug.
For exemple, for form at helloasso.com/associations/masuperassociation/adhesions/adhesion-2024-2025/ , the slug is adhesion-2024-2025
Resulting in, for exemple, the following command : /ha_check_update form_slug:adhesion-2024-2025
Install
pip install les_louisdelatech
Configure
Generate a secret_key to encrypt database secrets
>>> from cryptography.fernet import Fernet
>>> Fernet.generate_key()
Fill config.toml with config.example
Run
python3 -m les_louisdelatech.main -c config.toml -g google.json
Note: the bot sends provisioning/reset credentials by email (not Discord DM). Make sure your Google delegated scopes include Gmail send (see config.example).
Dev
Install uv
Install and setup dependencies with uv sync --all-extras
Run ruff
uv run ruff format .
uv run ruff check .
Licence
The code is under CeCILL license.
You can find all details here: https://cecill.info/licences/Licence_CeCILL_V2.1-en.html
Changelog
See CHANGELOG.md for step-by-step updates.
Docs
docs/ARCHITECTURE.md: high-level overview of the codebasedocs/CONFIGURATION.md: config reference and required keys/scopes
Credits
Copyright © Lyon e-Sport, 2021
Contributor(s):
- Ortega Ludovic - ludovic.ortega@lyon-esport.fr
- Etienne "PoPs" G. - etienne.guilluy@lyon-esport.fr
- Pierre "DrumSlayer" Sarret - pierre.sarret@lyon-esport.fr
Metadata
Release files for les-louisdelatech 0.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| les_louisdelatech-0.6.0.tar.gz | 125.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| les_louisdelatech-0.6.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 171.6 kB
Release files / les_louisdelatech-0.6.0.tar.gz
| Download URL | les_louisdelatech-0.6.0.tar.gz |
|---|---|
| Size | 125.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2182162749089bb232b58c6ef227bc63c8e973b0c19b9d0aed9a6df6ac551757
|
|
BLAKE2b-256 checksum How to use checksums |
12b9300e10af5139ce1b35bff2748c7403f714a6a2038e2c86e61b6e95e8ff1b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 9, 2026.
Transparency logRelease files / les_louisdelatech-0.6.0-py3-none-any.whl
| Download URL | les_louisdelatech-0.6.0-py3-none-any.whl |
|---|---|
| Size | 46.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4171aa69d4fc43031e6850442f9ed7eff7b18add58f4104c6cb11d38b0b17501
|
|
BLAKE2b-256 checksum How to use checksums |
9ccf92070d634a432315696fb52839e570085b87a1ec7a05f107e2976c332fcb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Feb 9, 2026.
Transparency log