What's certainly OK is to make your bot's behavior dependant on the opponent's behavior (not its identity).
You can build a memory and upload it together with your code, like of the form "when the opponent does that in the first turn, do this",
or "if the opponent does this, assume he's of this kind, and react so and so".
And you're free to download and analyse any game you can find to build such a memory.
I suspect that as long as you don't try to lose intentionally as part of some collusion scheme, nobody will object (or even notice)
if you figure out an opponent's identity and react to it (or, technically, to its behavior)
