Have global botops and botops that are channel based. If a user has +a or +o in a channel, they automatically get botop auth 3 for that channel only. If they have +h, then they get botop auth 2 or 1, levels like this should be editable using chansettings. Any commands used by a channel-botop are local to that channel only, so an ignore would only be for that channel, can't use the say command to say anything in another channel either, etc.