A telegram bot to organize PoGo raid that it can be self hosted.
1.6K
The bot is now in beta version
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.
The bot needs Python version 3.7 or newer.
You can install pogoraidbot from pypi:
$ pip install pogoraidbot
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.
The bot requires a dedicated instance of Redis database.
Refer to this link.
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
The dockerized version of the bot requires docker and docker-compose to work.
Refer to this link.
You can choose two kinds of setup:
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
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
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)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.
In this project are used the following Python libraries:
Content type
Image
Digest
Size
256.1 MB
Last updated
about 6 years ago
docker pull robertobochet/pogoraidbot