This is extracted from #22390. This patch introduces a scope to avoid duplication and a new method, `Chat::Channel.find_by_id_or_slug` to allow finding a channel either by its id or by its slug (or its category slug).