← 返回
开发者工具 Key 中文

Ebusy Courts

Query eBusy-based tennis hall bookings via a small Python client.
通过小型 Python 客户端查询 eBusy 网球馆预订。
ogruenig
开发者工具 clawhub v1.0.0 1 版本 100000 Key: 需要
★ 0
Stars
📥 478
下载
💾 7
安装
1
版本
#latest

概述

eBusy Courts Skill

This skill wraps a small Python client (ebusy_api.py) to log into

eBusy-based booking systems and fetch reservations for a given

court-module and date.

It is designed to work with multiple halls by switching

configuration via environment variables. All hall- and user-specific

values are provided by the environment, not hard-coded in the skill.

> Important: No usernames/passwords should be committed into this

> skill folder. Keep real credentials in a local .env, your shell

> environment, or OpenClaw's gateway config.


Files

  • skills/ebusy-courts/ebusy_api.py – core Python client
  • skills/ebusy-courts/SKILL.md – this documentation

Optional (local-only, do not publish):

  • skills/.env – local environment file with hall-specific credentials

Python client: ebusy_api.py

The client is written to be generic; it reads all hall-specific

config from environment variables:

EBUSY_BASE_URL       # e.g. https://myclub.ebusy.de
EBUSY_USERNAME       # login user for the chosen hall
EBUSY_PASSWORD       # login password for the chosen hall
EBUSY_COURT_ID       # eBusy court-module id for this hall
EBUSY_FIRST_COURT_NO # first court number inside that module

Usage (in a venv with requests + beautifulsoup4 installed):

source venv/bin/activate
export EBUSY_BASE_URL="https://myclub.ebusy.de"
export EBUSY_USERNAME="<your-user>"
export EBUSY_PASSWORD="<your-password>"
export EBUSY_COURT_ID="<module-id>"
export EBUSY_FIRST_COURT_NO="<first-court-no>"

python skills/ebusy-courts/ebusy_api.py 03/07/2026

The script will:

  1. Log into the configured eBusy instance using the configured

username/password.

  1. Fetch the reservations JSON for the given date.
  2. Print a sorted list of reservations:

```text

Reservierung Platz 1: 09:00 - 10:00 von

Reservierung Platz 2: 10:00 - 11:00 von

...

```


Example hall profiles

This section shows example configurations for two real halls in

Germany. Other users can copy the pattern and plug in their own club

URLs and module IDs.

Example: Medenhalle Wiesbaden-Medenbach

  • Base URL: https://medenhalle.ebusy.de
  • EBUSY_COURT_ID = 1
  • EBUSY_FIRST_COURT_NO = 1
  • Credentials typically provided via:
  • MEDENHALLE_USER
  • MEDENHALLE_PASSWORD

Example shell setup:

source venv/bin/activate
# load your local secrets, e.g. from skills/.env
export EBUSY_BASE_URL="https://medenhalle.ebusy.de"
export EBUSY_USERNAME="$MEDENHALLE_USER"
export EBUSY_PASSWORD="$MEDENHALLE_PASSWORD"
export EBUSY_COURT_ID="1"
export EBUSY_FIRST_COURT_NO="1"

python skills/ebusy-courts/ebusy_api.py 03/07/2026

Example: KTEV Kelkheim

  • Base URL: https://ktev.ebusy.de
  • EBUSY_COURT_ID = 807
  • EBUSY_FIRST_COURT_NO = 2135
  • Credentials typically provided via:
  • KTEV_USER
  • KTEV_PASSWORD

Example shell setup:

source venv/bin/activate
# load your local secrets, e.g. from skills/.env
export EBUSY_BASE_URL="https://ktev.ebusy.de"
export EBUSY_USERNAME="$KTEV_USER"
export EBUSY_PASSWORD="$KTEV_PASSWORD"
export EBUSY_COURT_ID="807"
export EBUSY_FIRST_COURT_NO="2135"

python skills/ebusy-courts/ebusy_api.py 03/07/2026

How an agent can use this skill

When a user asks for availability in a given hall (e.g. "Suche freie

Zeiten in der Tennishalle XYZ am Sonntag"), an OpenClaw agent can:

  1. Map the hall name to a profile (base URL, module id, first-court-no),

either from TOOLS.md or agent-specific config.

  1. Ensure the environment variables EBUSY_* are set for that hall

(credentials supplied by the runtime or skills/.env).

  1. Call ebusy_api.py for the relevant date, parse the JSON, and build

an availability table (free vs booked) per court and time slot.

The decision logic (which profile to choose for which user request)

should live in the agent and/or TOOLS.md, not in this skill's code.


Publishing considerations

  • Do not publish skills/.env or any file containing real

credentials to ClawHub.

  • Ensure .gitignore excludes skills/.env and similar secret-bearing

files.

  • The skill itself (this SKILL.md + ebusy_api.py) contains only

generic logic and non-secret configuration; the example profiles are

illustrative and can be replaced by any other eBusy-based club.

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-03-30 17:20 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

developer-tools

Agent Browser

matrixy
专为AI智能体优化的无头浏览器自动化CLI,支持无障碍树快照和基于引用的元素选择。
★ 425 📥 118,023
developer-tools

CodeConductor.ai

larsonreever
AI驱动平台,提供快速全栈开发、智能体、工作流自动化及低代码AI集成的可扩展产品创建。
★ 65 📥 179,847
developer-tools

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 666 📥 323,799