The capability names, as acknowledged.
The nick the server actually gave us, which may differ from the one we asked for.
The token name, such as CHANMODES.
Its value, absent for a boolean token, present and empty for TOKEN=.
The account the server logged us in as.
Why it ended.
The nick that was refused.
What is being tried instead.
What changed.
How long the host should wait first.
The command that went unanswered.
The bot the server told us about.
Where to present it.
The service it is for, as the server spells it.
The token itself.
The channel the room belongs to.
The frame.
True when they are composing now.
Who.
The channel or conversation they are composing in.
Who.
True when they are here now.
The machine-readable code, such as ACCOUNT_REQUIRED_TO_CONNECT.
The command it concerns, or * when the server did not say.
Any further parameters the server gave, before the description.
How serious it is.
The human-readable description.
The parsed line.
Something the host needs to know about.
Events are drained with [
Client::poll_event] rather than delivered through a callback, because a callback needs a different lifetime, threading and re-entrancy contract in every language this engine is bound into.