pinger-bot#

Support Ukraine Build Status codecov Documentation Build Status Code style: black Python support versions badge DeepSource

Simple discord bot for tracking your Minecraft servers.

Features#

  • Free! We don’t want any money from you!

  • Can be self Hosted - the bot is fully under your control!

  • You can use it without any hosting!

  • Can grab MOTD from any server in one command!

  • Supports both Java and Bedrock servers!

  • Can be easily localized to your language!

Try it out!#

Check the invite link to invite the bot to your server.

Screenshots#

/ping /alias /statistic

Installing#

git clone https://github.com/PerchunPak/pinger-bot.git
cd pinger-bot

Installing poetry#

Next we need install poetry with recommended way.

If you use Linux, use command:

curl -sSL https://install.python-poetry.org | python -

If you use Windows, open PowerShell with admin privilages and use:

(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | python -

Installing dependencies#

poetry install --only main

Also, for bot working, you need specify which database you will use. For now, we only support SQLite, MySQL and PostgreSQL. For installing required dependence, we need just use argument -E with lower-cased database name.

Example:

poetry install --only main -E mysql

Compiling translations#

This requered even if you want just use english.

pybabel compile -d locales

Database migrations#

Those will create database for you. You do not need to create any tables by hand, just run this command:

alembic -c pinger_bot/migrations/alembic.ini upgrade head

Configuration#

All bot configuration happens in config.yml, or with enviroment variables. All configuration settings described in config.py.

Database#

When setting up a database, there are a few additional nuances:

  • If you want use SQLite, you need specify path to file. I recomend set absolute path.

  • What specify in field db_uri? See this page.

Run the bot#

python pinger_bot

If something is not clear#

You can always write me!

Using in Docker#

See docs.

Updating#

For updating, just redownload repository (do not forget save config and database), if you used git for donwloading, just run git pull.

After that, you need update translations and database, commands the same as in installing section:

pybabel compile -d locales
alembic -c pinger_bot/migrations/alembic.ini upgrade head

Thanks#

This project was generated with python-template.

Pages#

Indexes and tables#