update readme
This commit is contained in:
@@ -13,7 +13,7 @@ Edge Node (client machine)
|
|||||||
│
|
│
|
||||||
└── MQTT commands ◄─────────────────────────────── c2-core
|
└── MQTT commands ◄─────────────────────────────── c2-core
|
||||||
│
|
│
|
||||||
└── discord_join ──► edge node joins Discord voice + streams Icecast
|
└── discord_join ──► edge node joins Discord voice + streams PulseAudio
|
||||||
|
|
||||||
Discord User
|
Discord User
|
||||||
└── /join /leave /status /help ──► discord-bot ──► c2-core ──► MQTT ──► edge node
|
└── /join /leave /status /help ──► discord-bot ──► c2-core ──► MQTT ──► edge node
|
||||||
@@ -204,7 +204,7 @@ Edge nodes join Discord voice channels using bot tokens managed by the server. A
|
|||||||
1. Discord bot sends a `discord_join` command to c2-core with the target guild and channel IDs.
|
1. Discord bot sends a `discord_join` command to c2-core with the target guild and channel IDs.
|
||||||
2. c2-core picks a free token (optionally the one requested via autocomplete), marks it `in_use`, and forwards the token + channel info to the target edge node over MQTT.
|
2. c2-core picks a free token (optionally the one requested via autocomplete), marks it `in_use`, and forwards the token + channel info to the target edge node over MQTT.
|
||||||
3. The edge node starts a `discord.py` bot with that token and joins the voice channel.
|
3. The edge node starts a `discord.py` bot with that token and joins the voice channel.
|
||||||
4. The bot streams live Icecast audio — only when radio is actively transmitting (speaking ring on = call active).
|
4. The bot streams live audio continuously from PulseAudio (`drb_sink.monitor` on the edge node). Icecast is for browser listening only.
|
||||||
5. On `/leave`, c2-core releases the token back to the pool.
|
5. On `/leave`, c2-core releases the token back to the pool.
|
||||||
|
|
||||||
## Node Lifecycle
|
## Node Lifecycle
|
||||||
|
|||||||
Reference in New Issue
Block a user