A Discord bot for managing game server status embeds.
Project description
ministatus
A Discord bot for managing game server status embeds.
Setup
This project requires Python 3.11 or newer. You can manually install this project into a virtual environment:
$ python3 -m venv
$ .venv/bin/activate
(.venv) $ pip install ministatus
(.venv) $ ministatus # or python3 -m ministatus
Or use one of pipx or uv to manage the virtual environment for you:
$ pipx install ministatus
$ ministatus
# Or:
$ uv tool install ministatus
$ ministatus
# Or:
$ uvx ministatus
Usage
$ ministatus
Usage: ministatus [OPTIONS] COMMAND [ARGS]...
A Discord bot for managing game server status embeds.
Options:
-p, --password SECRET The password to unlock the database, if any
-v, --verbose Increase logging verbosity.
-V, --version Show the version and exit.
-h, --help Show this message and exit.
Commands:
appdirs Show directories and important files used by this application.
config Get or set a configuration setting.
db Manage the application database.
invite Print the bot's invite link.
start Start the Discord bot in the current process.
View where files are saved:
$ ministatus appdirs
user_data_path = /home/thegamecracks/.local/share/ministatus
user_log_path = /home/thegamecracks/.local/state/ministatus/log
DB_PATH = /home/thegamecracks/.local/share/ministatus/ministatus.db
Enable database encryption (see notes below):
$ export MIST_PASSWORD=abc123
$ ministatus db encrypt
Successfully encrypted!
# Alteneratively use -p/--password:
$ ministatus -p abc123 db encrypt
Database is already encrypted 😴
# Or type the password interactively:
$ unset MIST_PASSWORD
$ ministatus config
Database Password:
There are no settings defined 🙁
[!NOTE] This requires SQLite3MultipleCiphers, SQLCipher, or an equivalent library with
PRAGMA keyandPRAGMA rekeysupport. This is only possible if you are able to replace the sqlite3.dll or .so shared library used by Python.In the case of uv-managed Python installations, they are statically built against SQLite and cannot be replaced with encryption extensions.
Start the bot and store your bot token:
$ ministatus start
2025-10-23 04:01:17 INFO ministatus.db.migrations Migrating database to v1
2025-10-23 04:01:17 INFO ministatus.db.migrations Migrating database to v2
No Discord bot token found in config.
Would you like to enter your token now?
You can change your token at any time using the 'config' command.
[y/N]: y
Your Discord bot token should look something like this:
MTI0NjgyNjg0MTIzMTMyNzI3NQ.GTIAZm.x2fbSNuYJgpAocvMM53ROlMC23NixWt-0NOjMc
Token:
2025-10-23 04:01:21 WARNING discord.client PyNaCl is not installed, voice will NOT be supported
2025-10-23 04:01:21 INFO discord.client logging in using static token
2025-10-23 04:01:21 INFO ministatus.bot.bot Loading extension ministatus.bot.cogs.status
2025-10-23 04:01:21 INFO ministatus.bot.bot Loaded jishaku extension (v2.6.3)
2025-10-23 04:01:21 INFO ministatus.bot.cogs.status.cog Waiting 38.22s before starting query loop...
2025-10-23 04:01:22 INFO discord.gateway Shard ID None has connected to Gateway (Session ID: 9bd2e577bbc4a21be5eed933900d076f).
To synchronize the bot's application commands with Discord, invite the bot to
a server and send the message, @mention sync, to run the sync command.
Alternatively, you can synchronize application commands during startup
by using the --sync flag:
$ ministatus start --sync
Make sure to only synchronize once to avoid being ratelimited by Discord. If ministatus is updated with changes to application commands, you may need to synchronize them again.
View or change configuration settings:
$ ministatus config
Settings:
token = ****
$ ministatus config token xyz
$ ministatus config token
xyz
License
This project is written under the MIT 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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ministatus-0.3.2.tar.gz.
File metadata
- Download URL: ministatus-0.3.2.tar.gz
- Upload date:
- Size: 40.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0ff19459adde3b18ecc3e5562cbd17f629339289406c1ce86ead12ad2fe3a40c
|
|
| MD5 |
f6ddb031db91e1bbabcae42a7ddac9b7
|
|
| BLAKE2b-256 |
90b0a925343628f1aa38efc0abcd237f58323ae667bccf0e7a49e78cc6b3a0de
|
Provenance
The following attestation bundles were made for ministatus-0.3.2.tar.gz:
Publisher:
publish.yml on thegamecracks/ministatus
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ministatus-0.3.2.tar.gz -
Subject digest:
0ff19459adde3b18ecc3e5562cbd17f629339289406c1ce86ead12ad2fe3a40c - Sigstore transparency entry: 649624613
- Sigstore integration time:
-
Permalink:
thegamecracks/ministatus@c547b1a1ce9b41901fb5c9e20e05ed22141ac906 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/thegamecracks
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c547b1a1ce9b41901fb5c9e20e05ed22141ac906 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file ministatus-0.3.2-py3-none-any.whl.
File metadata
- Download URL: ministatus-0.3.2-py3-none-any.whl
- Upload date:
- Size: 61.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7dd8a2d4a6516a1b72fc33b01a9b0fbf549ec2197721696b108126affc0c649d
|
|
| MD5 |
c56894556c40037ffde88d42fd91f6c5
|
|
| BLAKE2b-256 |
2c5d347ea598b450228b96027383f7b7068bf985f23320e63681091424562906
|
Provenance
The following attestation bundles were made for ministatus-0.3.2-py3-none-any.whl:
Publisher:
publish.yml on thegamecracks/ministatus
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ministatus-0.3.2-py3-none-any.whl -
Subject digest:
7dd8a2d4a6516a1b72fc33b01a9b0fbf549ec2197721696b108126affc0c649d - Sigstore transparency entry: 649624623
- Sigstore integration time:
-
Permalink:
thegamecracks/ministatus@c547b1a1ce9b41901fb5c9e20e05ed22141ac906 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/thegamecracks
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c547b1a1ce9b41901fb5c9e20e05ed22141ac906 -
Trigger Event:
workflow_dispatch
-
Statement type: