Python Messenger
This is a python single-chat application separated on client-side and server-side. General-purpose of the project is to message between hosts in the local network. Additionally, you can download a desktop application in two versions.
Table of content
Installation
Clone the project from GitHub, then you'll need Git installed on your computer:
# Clone this repository
$ git clone https://github.com/marik348/python-messegner
Usage
The next steps explain how to use the messenger in your local network.
To run this application, you'll need Python 3.6+ installed on your computer. In your working environment from the command line:
# Go into the repository
$ cd python-messenger
# Install dependencies
$ pip3 install -r requirements.txt
Once you've installed all the dependencies, run the server on your local network in the first command prompt with arguments [username] [password] to create an administrator account:
# Navigate to server-side
$ cd ./messenger/server
# Run server and create [username] with administrator role
$ python server.py [username] [password]
From that moment, your computer will work as a server (receive requests)
in the local network.
You can stop the server with Ctrl+C combination pressed twice in the terminal.
Next time it's not necessary to run the server with arguments to create an
admin account unless you've deleted the database.sqlite3 file.
After running the server, everyone from your network can run a messenger. Go to the root directory of the project and run the messenger client in the second command line prompt:
# Navigate to client-side
$ cd ./messenger/client
# Run client
$ python messenger.py
To connect to the server, everyone from your local network should change the IP address in Preferences to the local IP address with 9000 port (the local IP of the computer which runs the server).
Register an account or log in to the administrator account. Finally, you can use the messenger to communicate in the local network.
P.S. Originally project was developed on Debian family distribution, that's why it causes some UI problems on Windows.
Download
There are two executable desktop versions with the ability to chat in the:
- local network
- global network
Get them for Windows and Linux from here.
The main difference between versions is that the second one has the deployed server IP address by default without the ability to change the IP address in Preferences.
Features
- Shortcuts
- Gradient Design
- Lots of commands
- Ability to change a server IP address
- Ability to check server status in the login form
- Ability to promote/demote users (for admins)
- Ability to ban users (for moderators and above)
- Cross-platform
- Windows and Linux ready
There are 3 roles in messenger:
- User: Has standard commands
- Moderator: The above + permissions to ban/unban users
- Administrator: All the above + the ability to change the role of the user
Available user commands:
| COMMAND | VARIABLES | DESCRIPTION |
|---|---|---|
| /close | Closes the messenger | |
| /logout | Logs out from the account | |
| /reload | Clears commands messages | |
| /help | [command] | Prints available commands or detailed description about [command] if specified |
| /myself | Prints info about user | |
| /status | Prints server status | |
| /online | [users] | Prints online users or [users] status if specified |
| /reg | Prints registered users |
Available moderator commands:
| COMMAND | VARIABLES | DESCRIPTION |
|---|---|---|
| /ban | [users] | Bans [users] |
| /unban | [users] | Unbans [users] |
Available administrator commands:
| COMMAND | VARIABLES | DESCRIPTION |
|---|---|---|
| /role | [user] [1-3] | Changes [user] role |
License
You can check out the full license here.
This project is licensed under the terms of the MIT license.
Gmail vadimich348@gmail.com · GitHub @marik348 · LinkedIn @mariiechko
Metadata
Release files for py-messenger 1.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| py-messenger-1.2.1.tar.gz | 365.9 kB | Without provenance | Details for py-messenger-1.2.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| py_messenger-1.2.1-py3-none-any.whl | Python 3 | none | any | Details for py_messenger-1.2.1-py3-none-any.whl |
Total release size: 738.3 kB
Release files / py-messenger-1.2.1.tar.gz
| Download URL | py-messenger-1.2.1.tar.gz |
|---|---|
| Size | 365.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
052879a14b1b4d8a7ea6811c5c3bc89d8b7f44b68d416cfa7c467ee5e79bf260
|
|
BLAKE2b-256 checksum How to use checksums |
544a8152f958f1d64495c27a113c807283418461ff65825adb25d4c239c40eed
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.6.1 requests/2.23.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.0 CPython/3.8.0
|
Release files / py_messenger-1.2.1-py3-none-any.whl
| Download URL | py_messenger-1.2.1-py3-none-any.whl |
|---|---|
| Size | 372.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
009c6e6bb2ef0ccb8cb95e0bab4bcdaf4d049e9d042a2d9333b407ccb625242a
|
|
BLAKE2b-256 checksum How to use checksums |
0179cf05d926aa89acbf88014f3f8a56b0c99ea6f99117d77b05680df7453378
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.6.1 requests/2.23.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.0 CPython/3.8.0
|
Security for py-messenger 1.2.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.