The status feature answers whether this prototype process is connected and configured. It does not perform profile or appearance changes.
classDiagram
direction LR
class PrototypeStatusPlugin {
+start() void
+stop() void
-commandSuite: PrototypeCommandSuite
}
class PrototypeCommandSuite {
+register() Dispose
}
class BotCommandParser
class CharacterCommunicationApi {
+whisper(memberNumber, text) ActionOutcome
}
class SendWhisperAction
class ActionCoordinator
class ActionJournal
class BcClient
PrototypeStatusPlugin --> PrototypeCommandSuite
PrototypeCommandSuite --> BotCommandParser : registers prototype
PrototypeCommandSuite --> CharacterCommunicationApi
CharacterCommunicationApi --> SendWhisperAction
SendWhisperAction --> ActionCoordinator
ActionCoordinator --> ActionJournal
SendWhisperAction --> BcClient : ChatRoomChat Whisper
stateDiagram-v2
[*] --> CommandReceived
CommandReceived --> Ignored: not a recognized command input
CommandReceived --> ReplyRequested: !prototype or /bot prototype
ReplyRequested --> DispatchedUnconfirmed: local Whisper emit succeeds
ReplyRequested --> Failed: validation, journal, or transport failure
DispatchedUnconfirmed --> [*]
Failed --> [*]
Ignored --> [*]
Room Chat/Emote/targeted Whisper !prototype commands use the shared command parser. Native /bot prototype arrives as a targeted Hidden ChatRoomBot prototype packet. In both cases, the bot privately whispers Veratown prototype is online. The action is reported as dispatched_unconfirmed; BC provides no sender-side delivery receipt.