League of Legends developer Riot Games has made some changes to the MOBA with the intention of making bots behave more like real human opponents, minus the comments about your mum.
In a new developer blog post, design analyst RoamingNumeral said even high level players spend a lot of time practising against bots, and both co-op and PvP players asked for more "human"-like bots. Players requested less predictable bots that focus on last hits and combos rather than just "tougher" ones.
Examining bot behaviour, Riot found that bots didn't assess threat in the same way players do; they would run away from an enemy that has caused a lot of damage, even though that enemy would be vulnerable during cooldown timers. Riot has corrected this, but admits the system still isn't perfect - bots don't learn from experience or read tooltips, so they can't accurately predict how much damage a particular Champion might be capable off.
One thing Riot couldn't fix is a request to have bots do jungling and wall jumping, as players do, because bots don't really understand the concept of walls.
The developer hit a similar problem when trying to teach bots to dodge skill shots, since bots can't see these, either, but managed a workaround where bots tracks which way an opponent is facing and what skills they've used recently.
As well as these tweaks, Riot worked on giving bots better spell combos and item builds, giving them loadouts more in line with contemporary fashions.
The full blog post goes into details on how these fixes were achieved, and also how Riot optimised bot code to compensate for their new processes.