Skip to main content

Codacy Badge GitHub PyPI GitHub Workflow Status Docker Image Version (latest semver) GitHub Workflow Status

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

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

  1. Download .env and docker-compose.yaml files and put them in a folder.

  2. Edit them to adapt the setup to your requirements(see below).

  3. Run the containers.

    docker-compose up
    

Compile your own Docker image

  1. Clone the whole repo and init the submodule.

    git clone https://github.com/RobertoBochet/pogoraidbot-dockerized.git ./pogoraidbot
    cd pogoraidbot
    git submodule update --init
    
  2. Edit the .env and docker-compose.yaml to adapt the setup to your requirements(see below).

  3. 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:

Metadata

Release files for pogoraidbot 0.4.14

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

Source distribution (sdist)

Source distribution for pogoraidbot 0.4.14
File Size Uploaded
pogoraidbot-0.4.14.tar.gz 31.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pogoraidbot 0.4.14
File Interpreter ABI Platform
pogoraidbot-0.4.14-py3-none-any.whl Python 3 none any Details

Total release size: 76.5 kB

Release files / pogoraidbot-0.4.14.tar.gz

Download URL pogoraidbot-0.4.14.tar.gz
Size 31.9 kB
Tags Source
SHA-256 checksum
How to use checksums
e9d4d023e8b6273c10c13682c18cb985725902185e99b37927900159fd65108a
BLAKE2b-256 checksum
How to use checksums
594250932c416310449d3f8c402ef3eac7d42eb71e7cadd53822cb0e418cb5de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.8.5

Release files / pogoraidbot-0.4.14-py3-none-any.whl

Download URL pogoraidbot-0.4.14-py3-none-any.whl
Size 44.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5b25e6fdd4c5e57f85e2b23fca2c727590d01954713e48eb8bde1fd6d858d965
BLAKE2b-256 checksum
How to use checksums
160b02dff80f7fbc25f321a86f8a3147ce1357be4288b171d9c731899cb7151c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.8.5

Release history Release notifications | RSS feed

This release

0.4.14 This release

2 release files

0.4.13

2 release files

0.4.12

2 release files

0.4.11

2 release files

0.4.10

2 release files

0.4.9

2 release files

0.4.8

2 release files

0.4.7

2 release files

0.4.6

2 release files

0.3.1

2 release files

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