A python-based bot for automatic resasports slot booking
Project description
No queues. Just gains.
Welcome to pysportbot!
Download pysportbot
pip install pysportbot
Quick Start
from pysportbot import SportBot
# Create bot instance, will list available centres is requested
bot = SportBot(log_level='INFO', print_centres=False)
# Connect to service with email and password as well as the name of the centre
bot.login('email', 'password', 'centre')
# List available activites
bot.activities(limit = 10)
# List bookable slots for an activity on a specific day
bot.daily_slots(activity='YourFavouriteGymClass', day = '2025-01-03', limit = 10)
# Book an activity slot on a specific day and time
bot.book(activity='YourFavouriteGymClass', start_time = '2024-12-30 07:00:00')
# Cancel an activity slot ona specific day and time
bot.cancel(activity='YourFavouriteGymClass', start_time = '2024-12-30 07:00:00')
Advanced usage as service
You can easily run pysportbot as a service to manage your bookings automatically with
python -m pysportbot.service --config config.json
The service requires a json configuration file that specifies your user data and how you would like to book your classes. Currently, three types of configuration are supported:
1. Book an upcoming class now
Let's say you would like to book Yoga next Monday at 18:00:00, then your config.json would look like:
{
"email": "your-email",
"password": "your-password",
"center": "your-gym-name",
"classes": [
{
"activity": "Yoga",
"class_day": "Monday",
"class_time": "18:00:00",
"booking_execution": "now",
"weekly": false
}
]
}
2. Book an upcoming class on a specific day and time
Let's say you would like to book Yoga next Monday at 18:00:00, but the execution of the booking should only happen on Friday at 07:30:00 then your config.json would look like:
{
"email": "your-email",
"password": "your-password",
"center": "your-gym-name",
"classes": [
{
"activity": "Yoga",
"class_day": "Monday",
"class_time": "18:00:00",
"booking_execution": "Friday 07:30:00",
"weekly": false
}
]
}
3. Schedule weekly booking at specific execution day and time
Let's say you would like to book Yoga every Monday at 18:00:00 and the booking execution should be every Friday at 07:30:00 then your config.json would look like:
{
"email": "your-email",
"password": "your-password",
"center": "your-gym-name",
"classes": [
{
"activity": "Yoga",
"class_day": "Monday",
"class_time": "18:00:00",
"booking_execution": "Friday 07:30:00",
"weekly": true
}
]
}
The service also provides various other options that can be inspected with
python -m pysportbot.service --help
Currently supported options include
--retry-attemptssets the number of retries attempted in case a booking attempt fails--retry-delay-minutessets the delay in minutes between retries for weekly bookings--time_zonesets the time zone for the service
LICENSE
pysportbot is free of use and open-source. All versions are published under the MIT License.
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 pysportbot-0.0.1.tar.gz.
File metadata
- Download URL: pysportbot-0.0.1.tar.gz
- Upload date:
- Size: 15.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.5 CPython/3.12.8 Linux/6.8.0-1017-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
20413bdb4956148fc7e31458794b8eda8e87b755b50c59aea73a265cedd59381
|
|
| MD5 |
0e1a5474b7ef4d87f15f1bceb2796d85
|
|
| BLAKE2b-256 |
54072248cdcd144e9fadc66faeb4e7fcfea27388dd5e9b8b25284d13d6eaabe8
|
File details
Details for the file pysportbot-0.0.1-py3-none-any.whl.
File metadata
- Download URL: pysportbot-0.0.1-py3-none-any.whl
- Upload date:
- Size: 20.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.5 CPython/3.12.8 Linux/6.8.0-1017-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4f578a63314a4848c8ed201f2b3eea23e581f3b5038a24d8392bb01da9a146ad
|
|
| MD5 |
3cae42d397e08d0e8bb29eebfcfbd604
|
|
| BLAKE2b-256 |
f6036d0728a468733422a5be16b2759b3d50d8160a6d2c5c2d609a2d5f43c3d3
|