Previously, if someone wanted to give away a key, they posted it.
This led to lurkers and unregistered people grabbing it without saying thanks.
So, people started including them in email fields, so only registered people could use them.
Of course, this led to people hoarding them and still not thanking people.
Some threads were created to exchange keys (take one, post one) but people ruined that too by giving away $1 games and taking $60 games (or worse saying they gave away a game three days ago and they're owed a game)
So, Stump created a bot that would thank donators and remind people to thank them. It was a papertrail to see who was just here to bulk up their library and who was actually contributing.
As things progressed, changes were added. To limit the number of daily/weekly wins. To limit it to those who only donate games. To limit it to those who hadn't won yet. etc, etc. And people are actually thankful and for the most part, not leeches.
All the other functions you want exist elsewhere. Sure, you could add said functionality, but it's a waste of resources. The bot gets bombarded with PMs, has to scan AND update posts regularly, etc. Now add in the idea of having to store names, do a random contest, etc. It's doable, but unnecesary.
You don't have to F5 things either. Keep in mind, giveaways can be limited to those who haven't won already, etc.