This also will effect, harvesting, fishing, mining, etc.
I will use mining as a example:
You mine iron at level 20 mining, while in the iron mine area there are numbers between 1-10 7 are success and 3 are not successful (for example)
When you mine it is 12 seconds (something like that) of your character to mine for you to find out if it is successful of not in getting ore.
My way:
At level 20 mining, your mining Iron. You get given a number between 10-100 lets say you get 50, 50 seconds of mining till you get some ore. There is no unsuccessful's and it means people don't have to occupy there character while they are mining. I don't know if this could help to stop boting but it is a way to, I do guess they will try going for 100seconds so... If a GM thinks this person is boting they can make it so that the next mining time they automatically get out of the timezone (random number between 100-???) GMs will be told to send a /tell before doing this to stop annoyances. then the GM will see if it tries to mine again after the 100seconds. Then this is far better for all of us and means a fair play!
Rather complicated, but what do you think?