kicktipp-bot icon indicating copy to clipboard operation
kicktipp-bot copied to clipboard

A bot which can submit tips for a Kicktipp competition based on quotes.

kicktipp-bot

This script can automatically enter tips into Kicktipp based on the quotes of the bookmakers. It is written in Python and uses Selenium to interact with the website.

If you are enjoying this project, consider buying me a coffee :)

Run

Copy the contents of the .env.example file into a new file called .env and fill in the values.

Python

If you use the fish shell, you can use the envsource .env command, from this GitHub Gist to load the environment variables.

# Install dependencies
pip install -r requirements.txt

# Run the script
python run.py

# Headless mode
python run.py --headless

Docker

Install Docker and run the following commands.

# Get Image
docker pull ghcr.io/antonengelhardt/kicktipp-bot:amd64

# Run Container and set your env variables
docker run \
-it \
--name kicktipp-bot \
--platform linux/amd64 \
--env-file .env \
-e TZ=Europe/Berlin \
ghcr.io/antonengelhardt/kicktipp-bot:amd64

or deploy with Kubernetes.

Environment Variables

Variable Description Example Required
KICKTIPP_EMAIL Your Kicktipp email [email protected] Yes
KICKTIPP_PASSWORD Your Kicktipp password password Yes
KICKTIPP_NAME_OF_COMPETITION The name of the competition you want to tip for mycoolfriendgroup Yes
KICKTIPP_HOURS_UNTIL_GAME The script will tip games which start in the next x hours 24 No
KICKTIPP_RUN_EVERY_X_MINUTES The script will run every x minutes 60 No
OVERWRITE_TIPS If set to true, tips for already tipped games will be overwritten. false No
CHROMEDRIVER_PATH The path to the chromedriver binary /usr/bin/chromedriver No
ZAPIER_URL The URL of your Zapier Webhook https://hooks.zapier.com/hooks/catch/123456/abcdef/ No
NTFY_URL The URL of your NTFY Webhook https://ntfy.your-domain.com No
NTFY_USERNAME The username for your NTFY Webhook username No
NTFY_PASSWORD The password for your NTFY Webhook password No
WEBHOOK_URL The URL of some generic webhook. https://your-home-assistant-url.com/api/webhook/your-webhook-id No
SENTRY_DSN The Sentry DSN for error reporting. https://your-sentry-dsn.com No
SENTRY_ENVIRONMENT The Sentry environment for error reporting. production No
TZ The timezone for the container. Europe/Berlin No

Sentry

If you want to use Sentry for error reporting, you can set the ENV Variable SENTRY_DSN to the DSN of your Sentry project. You can also set the ENV Variable SENTRY_ENVIRONMENT to the environment of your project.

Notifications

If you want to receive a notification when the script tips for a match, you can use the Zapier or NTFY integration.

Zapier

Please create a Zapier Account and set up the following Trigger: Custom Webhook. Please also make sure you set the ENV Variable ZAPIER_URL to the URL of your custom webhook. Then you can set up actions like sending an email or a push notification.

NTFY

Set up your ntfy server and set the ENV Variables NTFY_URL, NTFY_USERNAME and NTFY_PASSWORD to the values of your server. Create the topic kicktipp-bot and subscribe to it. Then you will receive a notification when the script tips for a match.

Generic Webhook

Set up a webhook (e.g in Home Assistant) and set the ENV Variable WEBHOOK_URL to the URL of your webhook. Then you will receive a notification when the script tips for a match.

Related projects

  • kicktipp-bot-serverless (written by tbrodbeck) uses Playwright instead of Selenium and runs as a one time job, so that it can be scheduled by other tools like Cron