Skip to main content

Basic Telegram Bot Sending Random Wikimedia Commons Photos

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

location-guessing-game-telegram-bot-0.1.1.tar.gz (47.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file location-guessing-game-telegram-bot-0.1.1.tar.gz.

File metadata

  • Download URL: location-guessing-game-telegram-bot-0.1.1.tar.gz
  • Upload date:
  • Size: 47.1 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for location-guessing-game-telegram-bot-0.1.1.tar.gz
Algorithm Hash digest
SHA256 045b5d8c48425a107119e7fb93e618786788ad410bba418827e39592b8bae461
MD5 f5df9f045e292d38dc7bcdc0c52df04b
BLAKE2b-256 e08a2291cb817fec91126181d8f2e4f24d00f26621dea9de8cc8cf1ea493e610

See more details on using hashes here.

File details

Details for the file location_guessing_game_telegram_bot-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: location_guessing_game_telegram_bot-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 18.5 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for location_guessing_game_telegram_bot-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 241a908f90e4275f64919f54475d0121cd0e33b7eaf80bcd9d79694966a227e1
MD5 144240c3206a07068fdd059b87dc9105
BLAKE2b-256 88ac476e8d53a7fe9c1dc2fe5d61fe97d32849ce4f8fb7307d66e5fbd9d384a2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page