Skip to main content

Location Guessing Game Telegram Bot 🏞️ 🌍 📌

Code style: black CI Pipeline Status Coverage Status Last Release Compatible Python Versions

Basic Telegram Bot Sending Random Wikimedia Commons Photos

Setup

  1. Download a dataset of photos via the WikiMap API, for instance:
    wget --restrict-file-names=windows 'https://wikimap.toolforge.org/api.php?cat=Images_with_annotations&lang=de&year=2010-2015&region=49|9|46|18'
    
  2. Generate a bot API token by sending /newbot to BotFather
  3. Install bot via pip3 install --user --upgrade location-guessing-game-telegram-bot (or use docker / podman, see below)

Usage

  1. Launch bot: location-guessing-game-telegram-bot --telegram-token-path file-containing-api-token --wikimap-export-path wikimap-export.json
  2. Open a chat with the bot in Telegram by searching for the bot's name previously sent to BotFather
  3. Send message /photo, wait, and repeat
  4. Optionally add the bot to a group chat.

Docker / Podman 🐳

Pre-built docker images are available at https://hub.docker.com/r/fphammerle/location-guessing-game-telegram-bot/tags

$ sudo docker run --name location_guessing_game_telegram_bot \
    -v /file/containing/api-token:/telegram-token:ro -e TELEGRAM_TOKEN_PATH=/telegram-token \
    -v /wikimap/export.json:/wikimap-export.json:ro -e WIKIMAP_EXPORT_PATH=/wikimap-export.json \
    --read-only --cap-drop ALL --security-opt no-new-privileges \
    --cpus 0.4 --memory 128M \
    docker.io/fphammerle/location-guessing-game-telegram-bot:latest

Optionally, replace sudo docker with podman.

Annotation of signed git tags docker/* contains docker image digests: https://github.com/fphammerle/location-guessing-game-telegram-bot/tags

Detached signatures of images are available at https://github.com/fphammerle/container-image-sigstore (exluding automatically built latest tag).

Docker Compose 🐙

  1. Clone this repository.
  2. Edit paths in docker-compose.yml.
  3. sudo docker-compose up --build

Trivia

Why create a Telegram bot instead of a web app?

I created this mini game for my family including my grandparents, who are comfortable using Telegram.

Metadata

Release files for location-guessing-game-telegram-bot 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for location-guessing-game-telegram-bot 0.1.1
File Size Uploaded Provenance
location-guessing-game-telegram-bot-0.1.1.tar.gz 47.1 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for location-guessing-game-telegram-bot 0.1.1
File Interpreter ABI Platform
location_guessing_game_telegram_bot-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 65.6 kB

Release files / location-guessing-game-telegram-bot-0.1.1.tar.gz

Download URL location-guessing-game-telegram-bot-0.1.1.tar.gz
Size 47.1 kB
Tags Source
SHA-256 checksum
How to use checksums
045b5d8c48425a107119e7fb93e618786788ad410bba418827e39592b8bae461
BLAKE2b-256 checksum
How to use checksums
e08a2291cb817fec91126181d8f2e4f24d00f26621dea9de8cc8cf1ea493e610
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.4.2 requests/2.23.0 setuptools/49.3.1 requests-toolbelt/0.8.0 tqdm/4.48.2 CPython/3.8.6

Release files / location_guessing_game_telegram_bot-0.1.1-py3-none-any.whl

Download URL location_guessing_game_telegram_bot-0.1.1-py3-none-any.whl
Size 18.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
241a908f90e4275f64919f54475d0121cd0e33b7eaf80bcd9d79694966a227e1
BLAKE2b-256 checksum
How to use checksums
88ac476e8d53a7fe9c1dc2fe5d61fe97d32849ce4f8fb7307d66e5fbd9d384a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.4.2 requests/2.23.0 setuptools/49.3.1 requests-toolbelt/0.8.0 tqdm/4.48.2 CPython/3.8.6

Security for location-guessing-game-telegram-bot 0.1.1

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page