There is a funny situation with Dota 2 invites lately: many people simply cannot obtain an invite while others don't know how to give away thiers 10 or more invites. My friend DrKoljan made a bot (based on his excellent libraries for node.js), that should simplify an invite distribution.
So, how to get invite to Dota 2 automatically (you'll need a Steam account with at least one game on it)
Add Dota 2 Dispenser to your friends.
Chat to bot saying exactly give dota and you'll get Dota 2 as a gift.
Accept the gift and choose Add to library. That's all, now you can install it from your games list and play.
If you don't have a Steam account
Newly created Steam accounts are somewhat limited you won't be able to add friends, so getting invite from the bot is impossible. But there are other ways to get an invite.
Either way you'll need to install and sign up to Steam. Get Steam
Buy any game on Steam, there are many cheap games. Right after purchasing you'll be able to add Dota 2 Dispenser to your friends and get an invite from it. Moreover, there are resources such as Humble Bundle, Indie Royale, and Groupees that often offer many Steam games in bundles for low price.
Find a promo, where you can get a Steam key for free. One of the latest is an Alienware keys giveaway of Transcripted demo. (Step by step instructions video). After the key activation you will be able to add the bot.
You can get an invite from me. Create a Steam Community profile and leave a comment with the link to your profile here. You must sign in using disqus, twitter, Facebook, or Google+ or your comment will be ignored.