paper: v0.1.6 — document whisper (private DM) and inventory commands
- Added whisper to §3.5 integration table and §3.7 command table - Added whisper design paragraph: cross-room private messaging, type isolation, validation - Added inventory stub to §3.7 command table - Updated closing paragraph to include whisper isolation guarantee
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
**Authors:** Timmy Foundation
|
||||
**Date:** 2026-04-12
|
||||
**Version:** 0.1.5-draft
|
||||
**Version:** 0.1.6-draft
|
||||
**Branch:** feat/multi-user-bridge
|
||||
|
||||
---
|
||||
@@ -164,6 +164,7 @@ The bridge translates between HTTP/WebSocket (for web clients) and Evennia's com
|
||||
|---|---|---|
|
||||
| `look` / `l` | `look` | ✅ Implemented |
|
||||
| `say <text>` | `say` | ✅ Implemented (room broadcast) |
|
||||
| `whisper <user> <msg>` | `whisper` | ✅ Implemented (private DM) |
|
||||
| `who` | `who` | ✅ Implemented |
|
||||
| `move <room>` | `goto` / `teleport` | ✅ Implemented (WS) |
|
||||
|
||||
@@ -189,13 +190,17 @@ The bridge implements classic MUD (Multi-User Dungeon) commands that enable rich
|
||||
|---------|--------|-------------|
|
||||
| `look` / `l` | `look` | View current room and its occupants |
|
||||
| `say` | `say <message>` | Broadcast speech to room occupants |
|
||||
| `whisper` | `whisper <user_id> <message>` | Private message to any online user (cross-room) |
|
||||
| `go` / `move` | `go <room>` | Move to a new room, notifying previous occupants |
|
||||
| `emote` / `/me` | `emote <action>` | Third-person action broadcast (e.g., "Alice waves hello") |
|
||||
| `who` | `who` | List all online users with their rooms and command counts |
|
||||
| `inventory` / `i` | `inventory` | Check inventory (stub for future item system) |
|
||||
|
||||
The `go` command enables room transitions over HTTP—previously only possible via WebSocket `move` messages. When a user moves, the bridge atomically updates room occupancy tracking and delivers departure notifications to remaining occupants via the room events queue. The `emote` command broadcasts third-person actions to co-present users while returning first-person confirmation to the actor, matching classic MUD semantics.
|
||||
|
||||
All commands maintain the same session isolation guarantees: a `say` in the Tower is invisible to users in the Chapel, and room transitions are consistent across concurrent requests.
|
||||
The `whisper` command implements private directed messaging between any two online users, regardless of room. Whisper events use `type: "whisper"` (distinct from `type: "room_broadcast"`) and are delivered only to the target user's room events queue—third parties in either room cannot observe the exchange. This cross-room whisper capability means a user in the Tower can secretly contact a user in the Chapel, enabling private coordination within the multi-user world. The bridge validates: target must be online, sender cannot whisper to self, and message content is required.
|
||||
|
||||
All commands maintain the same session isolation guarantees: a `say` in the Tower is invisible to users in the Chapel, room transitions are consistent across concurrent requests, and whispers are private by design.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user