Sorry, it looks like the @ prefix works for the JOIN event but not the TEXT event. So to get the TEXT to not react to non-ops, the event will need to have added back the line at the top of that event:

on @*:text:!open:#: {
  if ($nick !isop $chan) return
  if (!$istok(aribun21 aribun21 aribun21,$nick,32)) return
  if (%list.status != closed) { msg $chan The list is already open | return }
  unset %list.status
  msg $chan OK $chan the list is now open!

The first line ignores someone if they're not an OP. The 2nd line ignores them if their nick isn't on the approved list.