Fabian Peter Hammerle 3935612d88 pipeline: remove broken coveralls (log below, `pytest --cov-fail-under=100 …` in place) | hai 3 meses | |
---|---|---|
.github | hai 3 meses | |
docs | %!s(int64=3) %!d(string=hai) anos | |
location_guessing_game_telegram_bot | hai 9 meses | |
tests | hai 3 meses | |
.dockerignore | %!s(int64=3) %!d(string=hai) anos | |
.gitignore | %!s(int64=3) %!d(string=hai) anos | |
.pylintrc | %!s(int64=2) %!d(string=hai) anos | |
CHANGELOG.md | hai 1 ano | |
COPYING | %!s(int64=3) %!d(string=hai) anos | |
Dockerfile | %!s(int64=3) %!d(string=hai) anos | |
Makefile | %!s(int64=3) %!d(string=hai) anos | |
Pipfile | hai 1 ano | |
Pipfile.lock | hai 7 meses | |
README.md | hai 3 meses | |
ansible-playbook-example.yml | %!s(int64=3) %!d(string=hai) anos | |
docker-compose.yml | %!s(int64=3) %!d(string=hai) anos | |
mypy.ini | %!s(int64=3) %!d(string=hai) anos | |
pyproject.toml | %!s(int64=3) %!d(string=hai) anos | |
setup.py | hai 1 ano |
Basic Telegram Bot Sending Random Wikimedia Commons Photos
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®ion=49|9|46|18'
Generate a bot API token by sending /newbot
to BotFather
Install bot via pip3 install --user --upgrade location-guessing-game-telegram-bot
(or use docker / podman, see below)
location-guessing-game-telegram-bot --telegram-token-path file-containing-api-token --wikimap-export-path wikimap-export.json
/photo
, wait, and repeatPre-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.yml
.sudo docker-compose up --build
See ansible-playbook-example.yml.
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.