If you're using a script that runs commands for other users, like !roll or something, and you want to use it yourself in the same way as others do, it's best to have an alias that handles the action, and trigger both on ON TEXT and ON INPUT.
on *:text:!rol*:#: if $1 == !roll { roll $nick $2- )
on *:input:!rol*:#: if $1 == !roll { roll $me $2- )
roll .timer 1 0 msg $chan $1 rolled 1d20 and got $rand(1, 20)
That's assuming you want to use it as a visible command. If you do not, an alias is cleaner.