A real-time Terminal-based Chatting Application using unique room IDs.
Project description
BSTK Chat (bstkchat)
bstkchat is a real-time, terminal-based, zero-configuration collaborative chat client. Anyone who launches the client and joins using the same Room ID will instantly join a shared, encrypted-by-knowledge room to text and exchange thoughts.
Features
- Zero Configuration: Connects instantly to a public MQTT infrastructure—no servers to set up or configure!
- Non-blocking Input: Messages arriving dynamically will never corrupt or break the active line you are typing into, thanks to prompt_toolkit.
- Memorable Auto-Rooms: If you don't supply a Room ID, the app will generate a fun phonetic key like quantum-beacon-55 for you.
- Deterministic Color Codes: Users are automatically allocated static text colors based on their username hashes, making conversations extremely easy to follow.
- Command Architecture: Supports built-in slash commands to change nicknames, jump rooms, see active user tables, and clear logs.
Installation
Method 1: Local Pip installation (Recommended)
-
Save the generated setup.py and bstkchat/cli.py files to your computer under a directory layout like this:
my-chat-app/
├── setup.py
└── bstkchat/
├── __init__.py (this can be empty)
└── cli.py -
Navigate into the parent directory my-chat-app and execute:
pip install . -
Once completed, simply run the global cli application from anywhere:
bstkchat
Method 2: Running directly from Python
If you do not want to install it as a system CLI tool, install dependencies and run:
pip install paho-mqtt rich prompt-toolkit
python -m bstkchat.cli
Slash Commands inside BSTK Chat
| Command | Action |
|---|---|
| /help | Displays a formatted table listing all commands |
| /room <new-room-id> | Switches context and connects you to a new room ID instantly |
| /nick <new-name> | Renames your user identity inside the room and alerts others |
| /who or /users | Lists all online participants active inside your room |
| /clear | Wipes the active console screen |
| /exit | Gracefully announces leave status and exits the CLI |
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 bstkchat-1.0.1.tar.gz.
File metadata
- Download URL: bstkchat-1.0.1.tar.gz
- Upload date:
- Size: 2.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9bbc1d770c24b121abc143d9a91ff95fe410587b37053463c985e45a9d4ad311
|
|
| MD5 |
eb1e9841457a8fcefdf68113c793410c
|
|
| BLAKE2b-256 |
621b0c091e1202e5647f57bb41b4089799190837e964073c7404fb56a58c14ee
|
File details
Details for the file bstkchat-1.0.1-py3-none-any.whl.
File metadata
- Download URL: bstkchat-1.0.1-py3-none-any.whl
- Upload date:
- Size: 2.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e8a7ad4a983c877af371c977494e25ede664405ce13ecd2d10ef151e287e4738
|
|
| MD5 |
e9ff8175139c7c00319ea072a4fc93bb
|
|
| BLAKE2b-256 |
2022d6e0f6a05edb098c79f4f097884bdc4e183000bcf16d3e917721cf17f598
|