No program. Reason: You don't instant pick. It's just stupid. You communicate with your team to form a good setup and / or look at the other team to pick some counters.
INSTANT PICKING IS USELESS. LEARN NOT TO DO IT. PEOPLE WILL HATE YOU!
I agree with this statement, so many times my team just picks heroes that they want and not what the team needs. I shot myself in the foot when I first started playing by doing mm, I now have a low mmr and am slowly clawing my way back out of the 1400's but when I constantly land teams that think only of themselves I keep getting pushed back down.
Type "bind [key] SpawnHero [Hero_HeroName]" without the quotations, where [key] can be any key you wish and [Hero_HeroName] is the name of the hero you wish to choose.
Ex. bind 0 SpawnHero Hero_Devourer is gonna let me instapick Devourer only by holding down the 0-key while the pickingphase is starting.
Remember to exit chat box by pressing Esc before you use your bound key. Also this bind will be deleted when you exit HoN (I think) so you'll have to re-bind every time you launch your client.
1. By holding it down you issue the command very very fast. So yes, hold it down.
2. 'HeroName' is not always the hero name. It's the name in the gamefiles. To pick bramble, you'll want to do Hero_Plant. To do Wildsoul, it's Hero_BabyYaga. To do Ellonia, it's Hero_Ellonia. Check them in resources0.s2z.
3. The bind will not be deleted, as far as I'm aware. I have had my binds to pick the heroes I want through multiple openings and closings of HoN. I have one for Artillery, Flint, Devo and then one free space I change to who I want when I know they are usually picked quite fast (Nomad, Aluna, EW, etc).