Keying
How a transport turns an incoming update into a ConversationKey.
The default is PerUserInChat and that is a deliberate choice rather than a neutral one: it is correct in a group and indistinguishable from PerChat in a private chat, where the only sender is the only member. A bot that genuinely wants shared state in a group asks for PerChat; a bot that wants something else again — per forum topic, say — builds the key itself and calls Telek.onInput directly, which is what the input adapters are public for.