Hello everyone, long time botter here
And by long time I mean I own more than 1000 wow accounts, most of them banned of course 
There are two answers to the title of this post:
1. The bot is not detected.
2. No fucking clue.
Lets skip the "the bot is not detected" for now, I believe that it is detected somehow. Otherwise people using it for only combat routines in raids would not be banned - there is no way to actually say that these people "bot" if blizzard is not able to detect the combat routine.
There are of course a ton of ways to detect a bot, some have been deployed for years and others are more fresh.
5 years ago: Banned mainly because of player reports and then GM investigation of the account. Blizzard quickly realized that this takes too much manpower, each banned bot would cost them more to ban then the revenue that account actually created. A €4-5 account for 20 minutes of GM time, it obviously does not work. The GMs time is worth more.
3 years ago: Filter banning entered the game, botters had for a long time enjoyed being able to gather ore 24/7 indefinitely without any problems - as long as we didn't get player reported we were safe. I personally ran some dungeons for months 24/7. Blizzard introduced filters, computer code that could differentiate between "real" players and bots, mainly based on statistics. In my mind they would look soemthing like this "if fish fished within 7 days > 200000 then ban" or "if dungeon completion within 7 days > 700 then ban". The problem is always to have as low false positives as possible whilst at the same time slamming most of the bots. I've personally had friends who went a tad too hardcore and actually got a filterban for farming some stupid rep for 48 hours straight with manual play. So there is a false positive, but it's hard to get there as a regular player - too hard for most.
1 year ago: Now something happened, either just regular detection of the software or something else. I'm thinking datamining of combat logs over time, huge amounts of data crunched in data centers to detect patterns in petabytes of combat logs. Then banning the players using these combat routines.
What do you think? And is there a way to combat this? Maybe use rng timers inside the combat routines or something?


There are two answers to the title of this post:
1. The bot is not detected.
2. No fucking clue.
Lets skip the "the bot is not detected" for now, I believe that it is detected somehow. Otherwise people using it for only combat routines in raids would not be banned - there is no way to actually say that these people "bot" if blizzard is not able to detect the combat routine.
There are of course a ton of ways to detect a bot, some have been deployed for years and others are more fresh.
5 years ago: Banned mainly because of player reports and then GM investigation of the account. Blizzard quickly realized that this takes too much manpower, each banned bot would cost them more to ban then the revenue that account actually created. A €4-5 account for 20 minutes of GM time, it obviously does not work. The GMs time is worth more.
3 years ago: Filter banning entered the game, botters had for a long time enjoyed being able to gather ore 24/7 indefinitely without any problems - as long as we didn't get player reported we were safe. I personally ran some dungeons for months 24/7. Blizzard introduced filters, computer code that could differentiate between "real" players and bots, mainly based on statistics. In my mind they would look soemthing like this "if fish fished within 7 days > 200000 then ban" or "if dungeon completion within 7 days > 700 then ban". The problem is always to have as low false positives as possible whilst at the same time slamming most of the bots. I've personally had friends who went a tad too hardcore and actually got a filterban for farming some stupid rep for 48 hours straight with manual play. So there is a false positive, but it's hard to get there as a regular player - too hard for most.
1 year ago: Now something happened, either just regular detection of the software or something else. I'm thinking datamining of combat logs over time, huge amounts of data crunched in data centers to detect patterns in petabytes of combat logs. Then banning the players using these combat routines.
What do you think? And is there a way to combat this? Maybe use rng timers inside the combat routines or something?