A telegram bot to organize PoGo raid that it can be self hosted
Project description
Important
The bot is now in beta version
Description
A telegram bot to organize PoGo raid that it can be self hosted.
If you publish a raid screenshot in a group where this bot is present, it identifies the raid an provides you a poll to organize the raid.
Requirements
Python
The bot needs Python version 3.7 or newer.
You can install pogoraidbot
from pypi
:
$ pip install pogoraidbot
Tesseract
The bot needs an installation of Tesseract OCR and a pre-trained neural network for english. Both can be found from the official Arch and Ubuntu repositories.
Refer to this link.
Redis
The bot requires a dedicated instance of Redis database.
Refer to this link.
Run
The bot needs to know, the bot api token, that you can obtain from @BotFather and the address of redis instance.
To understand how to provide these information to the bot:
$ python3 -m pogoraidbot
usage: pogoraidbot [-h] [-t TOKEN] [-r REDIS] [-a SUPERADMIN] [-b BOSSES_FILE] [-o BOSSES_EXPIRATION]
[-g GYMS_FILE] [-y GYMS_EXPIRATION] [-e] [-d DEBUG_FOLDER] [-v] [--info] [--debug]
optional arguments:
-h, --help show this help message and exit
-t TOKEN, --token TOKEN
telegram bot token
-r REDIS, --redis REDIS
redis url in "redis://{host}[:port]/{db}" format
-a SUPERADMIN, --superadmin SUPERADMIN
superadmin's id
-b BOSSES_FILE, --bosses-file BOSSES_FILE
JSON or CSV file contains possible pokémons in the raids. It can be also
provided over http(s)
-o BOSSES_EXPIRATION, --bosses-expiration BOSSES_EXPIRATION
Validity of the bosses list in hours
-g GYMS_FILE, --gyms-file GYMS_FILE
JSON file contains gyms and their coordinates. It can be also provided over
http(s)
-y GYMS_EXPIRATION, --gyms-expiration GYMS_EXPIRATION
Validity of the gyms list in hours
-e, --env Use environment variables for the configuration
-d DEBUG_FOLDER, --debug-folder DEBUG_FOLDER
debug folder
-v number of -v specifics level of verbosity
--info equal to -vv
--debug equal to -vvv
An example:
$ python3 -m pogoraidbot -t [BOT_TOKEN] -r redis://192.168.15.2:4044/3
Dockerized version [recommended]
Requirements
The dockerized version of the bot requires docker
and docker-compose
to work.
Refer to this link.
Installation
You can choose two kinds of setup:
Use the image on Docker Hub
-
Download .env and docker-compose.yaml files and put them in a folder.
-
Edit them to adapt the setup to your requirements(see below).
-
Run the containers.
docker-compose up
Compile your own Docker image
-
Clone the whole repo and init the submodule.
git clone https://github.com/RobertoBochet/pogoraidbot-dockerized.git ./pogoraidbot cd pogoraidbot git submodule update --init
-
Edit the .env and docker-compose.yaml to adapt the setup to your requirements(see below).
-
Build and start the containers.
docker-compose build docker-compose up
Configuration
Required
In .env replace:
[BOT_TOKEN]
with your bot's token[SUPERADMIN_ID]
with the Telegram id of the main admin[TIME_ZONE]
with your time zone (refer to this table on column TZ database name)
Optional
-
Add support to gym identification
In .env set the env
PGRB_BOT_GYMS_FILE
with the position of your gyms file. -
Add support to boss identification
In .env set the env
PGRB_BOT_BOSSES_FILE
with the position of your bosses file. -
Make redis data persistent
Uncomment the line
command: ["redis-server", "--appendonly", "yes"]
in docker-compose.yaml.If you want make the redis data persistent also to container destruction uncomment also the volumes section of the redis service and set the env
PGRB_REDIS_PATH
. -
Assign static IP for the virtual network
Uncomment all the three networks sections in docker-compose.yaml and set the three env
PGRB_NETWORK_*
with IP and subnet in .env.
Credits
In this project are used the following Python libraries:
- python-telegram-bot (LGPLv3 License)
- opencv-python (MIT License)
- pytesseract (GPLv3 License)
- redis (MIT License)
- requests (Apache 2.0 License)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pogoraidbot-0.4.8.tar.gz
.
File metadata
- Download URL: pogoraidbot-0.4.8.tar.gz
- Upload date:
- Size: 30.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa64e443a3478c26e4dc8844fd0c8cd4f29692d18000f99564547b9bbf2567f3 |
|
MD5 | 85e20265d6b277fd171417cb6257ab7a |
|
BLAKE2b-256 | d6252cddb8273e137a3941d43cd3b2f80e7ba2ce090ad558fdfb13606e2a8d00 |
File details
Details for the file pogoraidbot-0.4.8-py3-none-any.whl
.
File metadata
- Download URL: pogoraidbot-0.4.8-py3-none-any.whl
- Upload date:
- Size: 43.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32c47a8fc87df73547d3694799d2198517c8ea8e4c8075f8b624761912d16249 |
|
MD5 | c45382fbab9fc535ccb44afde8f5770f |
|
BLAKE2b-256 | 6dff96ed19cc20da40deaeb3f6408328b55174a1167419b7df2009a90e9e7067 |