extracts has_user function in channel to make it DRY