Vale, entendido. El problema lo tienes en que, en esta línea:
on 77:TEXT:!op:#: { mode $chan +o $2 }
El evento no se dispara porque TEXT no es !op nunca, sino que es !op manolo. Te recomiendo el siguiente código.
on 77:TEXT:*:#: {
if ( $1 == !meop ) { mode $chan +o $nick }
if ( $1 == !medeop ) { mode $chan -o $nick }
if ( $1 == !mevoic ) { mode $chan +v $nick }
if ( $1 == !medevoic ) { mode $chan -v $nick }
if ( $1 == !op ) { mode $chan +o $2 }
if ($1 == !deop ) { mode $chan -o $2 }
}
Usa como truco en debug, insertar líneas que contengan echo, por ejemplo echo -s text1 para ver donde "casca". Algo así:
on 77:TEXT:!op:#: { echo -s prueba op | mode $chan +o $2 }
Si el echo no sale, puedes descartar un fallo en el código siguiente, y estar seguro que el evento no se ha disparado. Así puedes basar tu búsqueda en cual es la razón por la que el evento no se ejecuta. Evidentemente esos trozos de código debug se retiran cuando todo funciona adecuadamente.
Saludos.