greetings new loletal developer.
because you asked a page earlier:
I just played a custom game 1v1 vs soraka on a lvl 4 account.
Stat screen shows 20:07 minutes for 63 xp.
Mind you, I took ezreal and farmed last hit for gold to buy AD.
So you would need to work out a way that works for every champ.
Alternatively, you could make it for yi(since his E gives him passive AD), who would easily be buyable after winning the battle training (gives ~470 ip).
though this introduces the store to the bot and any problems with the store would momentarily stop the bot and you also have to absolve battle training.
Which brings me to a probably much easier task:
What you could try to, in any case, is make the bot win the battle training.
Since my pc is to weak for VMs

, I've been doing them manually, since it gives 120 xp for winning and manually doing it (garen with teleport/exhaust, mid with soraka) takes ~10 minutes (8:37 is my record^^)
!disregard that. even loosing(!!!!) the battle tutorial, or surrender at 20(!!) gives the full IP and XP!
So I suggest a surrender at 20 minutes battle tutorial implementation.
That alone saves about 3-4 usual custom games. (and gives the IP to work on a winning master yi bot)
notes for battle training:
-Stepping into bushes gives a pop up to click away. (you have to leave the base to start the battle)
-After gaining a certain amount of gold (1499) there is also a message to click away.
-After doing it once, battle tutorial /ff at 20 gives 26 IP and 24 XP.
-Defeat at 24 minutes gave 122xp, an increase so minimal that there is no need to go longer than 20. (unless you need a few extra XP to not start an extra custom game if you use the /ff at 2o formula for the following custom games)
-the bots will always stay your level or below, so its highly unlikely that they will push into your base before the ff at 20.