The only thing it needs is a bit more politics to figure out the signature. I think it the 'Act' function returns the Actions protobuf, but I haven't gotten anything to move yet though. I think Observe is supposed to connect with itself through the worldstate sockets. I am 99% positive this is what OpenAI uses for their 5v5 bot. I think it's a bit sad that this isn't Open information though.

I built a custom game mode of DotA2. the custom game did some calculation on some of the player features like "kills, deaths, ... etc" every five minutes. I need to record all the results of the calculation with the features values to use them later in my research.

I've seen some post about AI about creation of bots, altought, I ask for your help (and if you know any tutorial, it would be perfect) to create a very simple AI bot and then simulate games without having to play the game - for what I've seen, it's using mainly python, but I don't know how to trigger the game that way. My goal is to create the AI and then apply machine learning.

TL;DR: I calculated the MMR of bot scripts from 3 months of bot vs. bot matches. But Valve's bot vs. bot server isn't executing bot scripts in the same way as other servers/clients, so the performance of the bot scripts in these matches isn't reflective of their perfomance when executed elsewhere.

About 4 months ago, Valve announced that they are running matches between a handful of workshop bot scripts and tracking their MMRs internally (dev forum post).

Curious and impatient for Valve to make bot script MMRs public, I copy-pasted all the bot games from Dotabuff into a spreadsheet and calculated the MMRs of the bot scripts across the last 3 months. Dotabuff's history goes back further, but bot script names weren't recorded properly before then. (Probably an issue on Valve's end.)

The first chart can be deceptive as it appears that Default bots got better after 7.07. Since the MMR system is a zero-sum game, the reason for this apparent improvement is most likely that the other bots got worse.
Apart from keeping item builds up to date as gameplay patches remove, change or add items, there is no sign that Valve is actively working on improving their bots. So it's safe to assume that the skill of the Default bots is fairly static. Setting the MMR of Default bots to a fixed point and seeing the other bots' MMR in relation to this, as the second chart shows, is more informative about the unfolding of bot script performance.

The Full Bot Overwrite script sat around 250 MMR below Default bots until it was removed. Meanwhile, the other scripts were all around 250 MMR above Default bots until 7.07. BotExperiment came out on the other side unscathed, but Ranked Matchmaking AI is now slightly worse than Default bots. And PubSimulator appears to be broken, as spectating them in-game will confirm. Most heroes idle in base indefinitely, some will ward suicidally, while only a select few heroes play sensibly. Every so often the original roster of Zeus, Timbersaw, Nature's Prophet, Bloodseeker and Treant Protector will appear and they'll win the odd game, keeping their MMR at roughly 750 MMR below Default bots. PubSimulator acts differently in private lobbies however, where it appears to be reverting to default bot behaviour instead of idling.

Since PubSimulator behaves so differently in the Valve-run bot matches, the numbers presented here can't be used to say much about PubSimulator's performance in co-op bot matches or in private lobbies. If anyone has access to the dev forum, please alert Valve of this discrepancy.

Edit: The above caveat about PubSimulator should be extended to all the bot scripts. In the Valve-run matches, the bot scripts will very rarely draft outside the Default bots' smaller hero pool, not even BotExperiment do this with any consistency (compare these drafts with these heroes). This drafting issue, and the apparent failure to fall back on default implementations (which may not be limited to PubSimulator, and could explain Ranked Matchmaking AI's performance decline), makes Valve's bot environment very different from the one where players interact with bot scripts in co-op and lobby matches. Until Valve can make their environment the same as these, calculations like the ones made in this post won't have any bearing on how challenging the different bot scripts will be for players.

The question is in the title.
I would like certain bots to value farming higher at all times.
E.g. Anti-mage.
I do not want them to join the teamfights and die a million times.
Can anyone help me please?