pub fn explain(e: &CommandError, commands: &[CommandInfo]) -> ReplyExpand description
A command’s error as a reply, explained against commands (what the app lists). detail
keeps the error’s kind and id; an unknown command adds suggestions ([{id, params}]) and
says “did you mean …” in the message, bad parameters add takes (the command’s parameters)
and name them in the message unless it already lists them.