les-louisdelatech


Nameles-louisdelatech JSON
Version 0.5.0 PyPI version JSON
download
home_pageNone
SummaryLouisDeLaTech is a discord bot manager for Lyon e-Sport
upload_time2024-10-18 10:02:33
maintainerNone
docs_urlNone
authorNone
requires_python<4.0.0,>=3.9
licenseNone
keywords discord google
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # LouisDeLaTech is a discord bot manager for Lyon e-Sport

[![PyPI](https://img.shields.io/pypi/v/les-louisdelatech.svg)](https://pypi.python.org/pypi/les-louisdelatech)
[![PyPI versions](https://img.shields.io/pypi/pyversions/les-louisdelatech.svg)](https://pypi.python.org/pypi/les-louisdelatech)
[![Python test](https://github.com/lyon-esport/LouisDeLaTech/actions/workflows/test.yml/badge.svg)](https://github.com/lyon-esport/LouisDeLaTech/actions/workflows/test.yml)
[![Code Style](https://img.shields.io/badge/code%20style-ruff-000000.svg)](https://github.com/astral-sh/ruff)

# Setup

## Discord

Create a [discord bot](https://discord.com/developers/applications) and get the token

## Google

- Create a [google project](https://console.cloud.google.com/iam-admin)
- Create a [google service account](https://console.cloud.google.com/iam-admin/serviceaccounts)
- Enable Google workspace delegation
- Generate keys and download the file (used by the bot `-g`)
- [Add required scopes](https://admin.google.com/ac/owl/domainwidedelegation) for the service account (see config.example for the list of scopes)

You must create [user custom attribute](https://admin.google.com/ac/customschema?hl=fr)

```json
"custom": {
 "pseudo": "",
 "discordId": "",
 "teeShirt": "",
 "birthdate": ""
}
```

## Hello asso
[Documentation](https://centredaide.helloasso.com/s/article/api-comment-fonctionne-l-api-helloasso)

Custom fields
```json
{
    "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",
}
```

# Install

```bash
pip install les_louisdelatech
```

# Configure

Generate a secret_key to encrypt database secrets

```python
>>> from cryptography.fernet import Fernet
>>> Fernet.generate_key()
```

Fill `config.toml` with `config.example`

# Run

```bash
python3 -m les_louisdelatech.main -c config.toml -g google.json
```

# Dev
Install [uv](https://docs.astral.sh/uv/getting-started/installation/)

Install and setup dependencies with `uv sync`

### Run unit test
```
uv run pytest --cov
```

### 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>

## 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

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "les-louisdelatech",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0.0,>=3.9",
    "maintainer_email": null,
    "keywords": "discord, google",
    "author": null,
    "author_email": "Ludovic Ortega <ludovic.ortega@lyon-esport.fr>, \"Etienne 'PoPs' G.\" <etienne.guilluy@lyon-esport.fr>, Pierre 'DrumSlayer' Sarret <pierre.sarret@lyon-esport.fr>",
    "download_url": "https://files.pythonhosted.org/packages/9e/df/11c40e3c1a06e1b288410a108873415ac19ff3b4856c8ec96c488c5012f6/les_louisdelatech-0.5.0.tar.gz",
    "platform": null,
    "description": "# LouisDeLaTech is a discord bot manager for Lyon e-Sport\n\n[![PyPI](https://img.shields.io/pypi/v/les-louisdelatech.svg)](https://pypi.python.org/pypi/les-louisdelatech)\n[![PyPI versions](https://img.shields.io/pypi/pyversions/les-louisdelatech.svg)](https://pypi.python.org/pypi/les-louisdelatech)\n[![Python test](https://github.com/lyon-esport/LouisDeLaTech/actions/workflows/test.yml/badge.svg)](https://github.com/lyon-esport/LouisDeLaTech/actions/workflows/test.yml)\n[![Code Style](https://img.shields.io/badge/code%20style-ruff-000000.svg)](https://github.com/astral-sh/ruff)\n\n# Setup\n\n## Discord\n\nCreate a [discord bot](https://discord.com/developers/applications) and get the token\n\n## Google\n\n- Create a [google project](https://console.cloud.google.com/iam-admin)\n- Create a [google service account](https://console.cloud.google.com/iam-admin/serviceaccounts)\n- Enable Google workspace delegation\n- Generate keys and download the file (used by the bot `-g`)\n- [Add required scopes](https://admin.google.com/ac/owl/domainwidedelegation) for the service account (see config.example for the list of scopes)\n\nYou must create [user custom attribute](https://admin.google.com/ac/customschema?hl=fr)\n\n```json\n\"custom\": {\n \"pseudo\": \"\",\n \"discordId\": \"\",\n \"teeShirt\": \"\",\n \"birthdate\": \"\"\n}\n```\n\n## Hello asso\n[Documentation](https://centredaide.helloasso.com/s/article/api-comment-fonctionne-l-api-helloasso)\n\nCustom fields\n```json\n{\n    \"name\": \"Pseudonyme\",\n    \"type\": \"TextInput\",\n},\n{\n    \"name\": \"Date de naissance\",\n    \"type\": \"Date\",\n},\n{\n    \"name\": \"Adresse postale\",\n    \"type\": \"TextInput\",\n},\n{\n    \"name\": \"Num\u00e9ro de t\u00e9l\u00e9phone\",\n    \"type\": \"TextInput\",\n},\n{\n    \"name\": \"Nom d'utilisateur Discord\",\n    \"type\": \"TextInput\",\n},\n{\n    \"name\": \"Taille du tee-shirt\",\n    \"type\": \"ChoiceList\",\n},\n{\n    \"name\": \"Je m'engage \u00e0 signer l'engagement de confidentialit\u00e9 : https://example.fr\",\n    \"type\": \"YesNo\",\n}\n```\n\n# Install\n\n```bash\npip install les_louisdelatech\n```\n\n# Configure\n\nGenerate a secret_key to encrypt database secrets\n\n```python\n>>> from cryptography.fernet import Fernet\n>>> Fernet.generate_key()\n```\n\nFill `config.toml` with `config.example`\n\n# Run\n\n```bash\npython3 -m les_louisdelatech.main -c config.toml -g google.json\n```\n\n# Dev\nInstall [uv](https://docs.astral.sh/uv/getting-started/installation/)\n\nInstall and setup dependencies with `uv sync`\n\n### Run unit test\n```\nuv run pytest --cov\n```\n\n### Run ruff\n```\nuv run ruff format . \nuv run ruff check .\n```\n\n## Licence\n\nThe code is under CeCILL license.\n\nYou can find all details here: <https://cecill.info/licences/Licence_CeCILL_V2.1-en.html>\n\n## Credits\n\nCopyright \u00a9 Lyon e-Sport, 2021\n\nContributor(s):\n\n- Ortega Ludovic - ludovic.ortega@lyon-esport.fr\n- Etienne \"PoPs\" G. - etienne.guilluy@lyon-esport.fr\n- Pierre \"DrumSlayer\" Sarret - pierre.sarret@lyon-esport.fr\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "LouisDeLaTech is a discord bot manager for Lyon e-Sport",
    "version": "0.5.0",
    "project_urls": {
        "Homepage": "https://github.com/lyon-esport/LouisDeLaTech",
        "Issues": "https://github.com/lyon-esport/LouisDeLaTech/issues",
        "Repository": "https://github.com/lyon-esport/LouisDeLaTech"
    },
    "split_keywords": [
        "discord",
        " google"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7b7f58dc4709883330cc93be14941f1a8d235a787f5ab054a8e9b75425cd3fcf",
                "md5": "61338ae7825499f8f1cabc4a51f4f2e6",
                "sha256": "fb8854399d31995d4d30555ca6fc72d3e82bd1292e3bfd63a43a00ab59f0c751"
            },
            "downloads": -1,
            "filename": "les_louisdelatech-0.5.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "61338ae7825499f8f1cabc4a51f4f2e6",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0.0,>=3.9",
            "size": 38947,
            "upload_time": "2024-10-18T10:02:31",
            "upload_time_iso_8601": "2024-10-18T10:02:31.474612Z",
            "url": "https://files.pythonhosted.org/packages/7b/7f/58dc4709883330cc93be14941f1a8d235a787f5ab054a8e9b75425cd3fcf/les_louisdelatech-0.5.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9edf11c40e3c1a06e1b288410a108873415ac19ff3b4856c8ec96c488c5012f6",
                "md5": "7cfe156003e0641a3bb259663aa625bd",
                "sha256": "97850c13c83a266c9b1160ebfc7494f55f56ff95d52cfc298c5542660d0ebaae"
            },
            "downloads": -1,
            "filename": "les_louisdelatech-0.5.0.tar.gz",
            "has_sig": false,
            "md5_digest": "7cfe156003e0641a3bb259663aa625bd",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0.0,>=3.9",
            "size": 108818,
            "upload_time": "2024-10-18T10:02:33",
            "upload_time_iso_8601": "2024-10-18T10:02:33.357285Z",
            "url": "https://files.pythonhosted.org/packages/9e/df/11c40e3c1a06e1b288410a108873415ac19ff3b4856c8ec96c488c5012f6/les_louisdelatech-0.5.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-18 10:02:33",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "lyon-esport",
    "github_project": "LouisDeLaTech",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "les-louisdelatech"
}
        
Elapsed time: 0.34381s