I'm not sure about Knytes suggestion with branches since there is some common code which references all bots.
Branches are supposed to have common code...
You could simply have a master branch for the "official" version of the bot, the "dev" branch for the bleeding edge version, and feature branches for each suggested improvement to the bot. You test the feature branch against the latest dev branch before allowing any pull requests merging a feature branch back into dev.