Bots are largely against the AUP, but learning certainly isn't.

Of the languages you seem to be leaning towards, I would say this:

If you learn C++, you will get a broad and deep understanding of programming concepts relevant to most languages in existence. However, the learning curve will be relatively steep, and you will take a long time getting to a level where you feel that you are doing anything neat. That can be pretty frustrating.

If you start with C#, the learning curve will be less, and you will be up and running quicker. Furthermore, you will learn the syntax of C++, and most of the concepts. This would make the transition to C++ a bit quicker at a later time, but at the cost that there will be concepts that you will not have fully grasped.

From this, I would lean towards C# first, as the primary language you use, while reading along in the C++ books so that you gain an understanding of both.