Update README.md
Full Help
This commit is contained in:
243
README.md
243
README.md
@@ -1,3 +1,242 @@
|
||||
# thechatroom
|
||||
Irc-style Chat Room for Reticulum Nomadnet
|
||||
# π¬ **The Chat Room!** π¬
|
||||
|
||||
An IRC-style chat room built for **Reticulum NomadNet**, optimized for **MeshChat v2.1+**. Made By F.
|
||||
|
||||
---
|
||||
|
||||
## πΌοΈ The Chat Room UI
|
||||
|
||||
Screenshot from MeshChat interface:
|
||||
|
||||
<img width="1316" height="851" alt="the chat room" src="https://github.com/user-attachments/assets/371dbcc7-16df-4420-bee8-ec546e3ade3d" />
|
||||
|
||||
---
|
||||
|
||||
## π Live Demo
|
||||
|
||||
Experience the chatroom in action via the official NomadNet page:
|
||||
|
||||
**NomadNet Page Link (MeshChat v2.1+ Optimized):** `d251bfd8e30540b5bd219bbbfcc3afc5:/page/index.mu`
|
||||
|
||||
---
|
||||
|
||||
# Informations
|
||||
|
||||
Welcome to **THE CHATROOM** β v1.45a by F.
|
||||
The first Reticulum/Nomadnet IRC-style chatroom, optimized for Meshchat v2.x+.
|
||||
|
||||
Born on v1 the 10 of August 2025. Enjoy!
|
||||
|
||||
**Note:**
|
||||
This chatroom page was developed using MeshChat Browser so it's optimized for MeshChat v2.1+ only, could be unreadable on Nomadnet browser.
|
||||
|
||||
A simpler Nomadnet version is coming soon, work in progress, stay tuned!
|
||||
|
||||
---
|
||||
|
||||
## π Project Overview
|
||||
|
||||
This is a Python-based Nomadnet page script that creates a ready-to-run IRC-style chatroom.
|
||||
Just copy all files from this GitHub release into your `./nomadnetwork/storage/pages/` folder,
|
||||
make `index.mu` executable with `chmod +x`, and launch your Nomadnet node.
|
||||
|
||||
Detailed installation info below.
|
||||
|
||||
- π Decentralized mesh-based communication based on NomadNetwork
|
||||
- π§βπ» No registration requiredβjust choose a nickname and start chatting
|
||||
- π¨ Nicknames are randomly colorized and persist across sessions (user settings personalization is coming soon!)
|
||||
- π Nickname to LXMF address binding, using the Fingerprint in Meshchat v2+ to save and recover the nickname across sessions
|
||||
(THANKS TO: **THOMAS**)
|
||||
- π οΈ Built with Python and Micron components
|
||||
- π Official chat script is Hosted on a VPS for stable uptime
|
||||
|
||||
Live Demo: `d251bfd8e30540b5bd219bbbfcc3afc5:/page/index.mu`
|
||||
|
||||
Official GitHub: [https://github.com/fr33n0w/thechatroom](https://github.com/fr33n0w/thechatroom)
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
# π Help Page
|
||||
|
||||
Welcome to the Help section! This guide outlines all the modules required to run this project,
|
||||
|
||||
along with setup instructions to get you started smoothly.
|
||||
|
||||
## π§° Requirements
|
||||
|
||||
This project uses a combination of Pythonβs built-in modules and third-party libraries.
|
||||
|
||||
### β
Built-in Modules (No installation required)
|
||||
|
||||
These come bundled with Python and require no additional setup:
|
||||
|
||||
| Module | Purpose |
|
||||
|---------------------|-------------------------------------------------------------------------|
|
||||
| `os` | Interacts with the operating system (e.g., file paths, environment vars)|
|
||||
| `sys` | Accesses system-specific parameters and functions |
|
||||
| `json` | Parses and manipulates JSON data |
|
||||
| `time` | Handles time-based operations (e.g., delays, timestamps) |
|
||||
| `random` | Generates random values and selections |
|
||||
| `re` | Performs pattern matching with regular expressions |
|
||||
| `sqlite3` | Manages local SQLite database storage |
|
||||
| `shutil` | Performs high-level file operations (e.g., copying, moving files) |
|
||||
| `collections` | Provides specialized data structures like `Counter` |
|
||||
| `datetime` | Manages date and time objects |
|
||||
|
||||
### π Third-Party Libraries (Install via pip)
|
||||
|
||||
These must be installed manually:
|
||||
|
||||
| Package | Purpose |
|
||||
|-------------|-------------------------------------------------------------------------|
|
||||
| `pytz` | Timezone definitions and conversions |
|
||||
| `requests` | Simplified HTTP requests and API calls (needed for /meteo command only) |
|
||||
| `geopy` | Geolocation services (e.g., address lookup via Nominatim, as above) |
|
||||
|
||||
To install them, run:
|
||||
|
||||
```bash
|
||||
pip install pytz requests geopy
|
||||
```
|
||||
|
||||
...and of course, you need NomadNet to host the page:
|
||||
|
||||
```bash
|
||||
pip install nomadnet
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## βοΈ Installation
|
||||
|
||||
Ready to deploy **THE CHATROOM** on your NomadNet node? Follow these steps to get it running in minutes:
|
||||
|
||||
---
|
||||
|
||||
### π 1. Download the Files
|
||||
|
||||
Clone the repository or download the ZIP:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/fr33n0w/thechatroom.git
|
||||
```
|
||||
|
||||
### π 2. Copy Files to NomadNet Pages Directory
|
||||
|
||||
```bash
|
||||
cp -r thechatroom/* ~/nomadnetwork/storage/pages/
|
||||
|
||||
```
|
||||
|
||||
### π 3. Make index.mu Executable
|
||||
|
||||
```bash
|
||||
chmod +x ~/nomadnetwork/storage/pages/index.mu
|
||||
```
|
||||
|
||||
### π 4. Launch NomadNet
|
||||
|
||||
```bash
|
||||
nomadnet
|
||||
```
|
||||
|
||||
# DONE!
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
## βοΈ Technical Notes
|
||||
|
||||
Here are some important details about how **THE CHATROOM** works and what to expect:
|
||||
|
||||
- π The chatroom does **not auto-refresh** due to Micron limitations
|
||||
β Use the **Reload buttons** that you find in the bottom menubar to view new messages
|
||||
- π§ Nicknames can be stored using MeshChatβs **Fingerprint binding**
|
||||
- Usage: press fingerprint button, set a nickname and reload the page. Nick is saved.
|
||||
β This allows nickname persistence across sessions (thanks to Thomas!)
|
||||
- To recover the nickname on lost session cache, press fingerprint again and it will reappear automatically
|
||||
- π The main chat view shows the **last 30 messages** to fit MeshChat browser windows, you cn adjust the limit in the script
|
||||
β Full logs are available via the **View Logs** button on the bottom menΓΉ
|
||||
- π§ͺ The `/meteo` command uses external APIs
|
||||
β Requires `requests` and `geopy` to be installed
|
||||
- π§± Built with Python and Micron components
|
||||
β Compatible with MeshChat v2.1+ only, pure NomadNet version is coming soon!
|
||||
- π§ͺ More Features will come soon! Stay Tuned!
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
## π¬ Commands Reference
|
||||
|
||||
Hereβs the full list of available commands in **THE CHATROOM**, grouped by category for easy reference:
|
||||
|
||||
---
|
||||
|
||||
### π General Info & Utility Commands
|
||||
|
||||
| Command | Description |
|
||||
|-------------------|-----------------------------------------------------------------------------|
|
||||
| `/info` | Show chatroom information, usage, and disclaimer |
|
||||
| `/cmd` | Display all available user commands |
|
||||
| `/stats` | Show chatroom statistics, including Top 5 Chatters |
|
||||
| `/users` | List all active chatroom users |
|
||||
| `/version` | Show script version, latest updates, and news |
|
||||
|
||||
---
|
||||
|
||||
### π§ Interactive Chat Commands
|
||||
|
||||
| Command | Description |
|
||||
|-----------------------------|-----------------------------------------------------------------------------|
|
||||
| `/lastseen <nickname>` | Show last seen info and latest message from a user |
|
||||
| `/topic` or `/topic <text>` | View or change the current room topic |
|
||||
| `/search <keyword(s)>` | Search for keywords in the full chat log |
|
||||
| `/time` | Show current server time (UTC) and your local time |
|
||||
| `/ping` | Reply with PONG! to confirm chat system is active |
|
||||
| `/meteo <city>` | Get weather info for a city (requires internet + API) |
|
||||
|
||||
---
|
||||
|
||||
### π Social Interaction Commands
|
||||
|
||||
| Command | Description |
|
||||
|-----------------------------|-----------------------------------------------------------------------------|
|
||||
| `/e` | Send randomized emojis from the internal emoji list |
|
||||
| `/c <message>` | Send a colored message with randomized background and font colors |
|
||||
| `@nickname` | Mention a user with a colored highlight |
|
||||
| `$e` | Insert a random emoticon anywhere in your message |
|
||||
| `/welcome` or `/welcome <nickname>` | Send a welcome message to the room or a specific user |
|
||||
|
||||
---
|
||||
|
||||
### π€ User Status Commands
|
||||
|
||||
| Command | Description |
|
||||
|-----------------------------|-----------------------------------------------------------------------------|
|
||||
| `/hi`, `/bye`, `/brb`, `/lol`, `/exit`, `/quit`, `/away`, `/back`, `/notice` | Send status updates or reactions |
|
||||
| Example | `/hi Hello World!` β syntax works for all status commands |
|
||||
|
||||
---
|
||||
|
||||
### π Admin Commands (Restricted Access)
|
||||
|
||||
> Only available to system administrators via `/admincmd`
|
||||
|
||||
| Command | Description |
|
||||
|----------------------------------|-------------------------------------------------------------------------|
|
||||
| `/clear` | Delete the last message permanently |
|
||||
| `/clear N` | Delete the last N messages, e.g. `/clear 3` |
|
||||
| `/clear user <nickname>` | Delete all messages from a specific user |
|
||||
| `/clearall` | Clear the entire chat log and database (irreversible) |
|
||||
| `/backup` | Create a full `chat_log.json` backup in the script folder |
|
||||
|
||||
---
|
||||
|
||||
> β οΈ Some commands require internet access or third-party libraries (`requests`, `geopy`).
|
||||
> π Admin commands are protected and only executable by authorized users. (Edit SYSADMIN nickname in the script!!)
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user