You can't really use them with bots because how are you going to make them fight each other?
There first need to be some decent AI where you are 100% sure they will fight each other before it will work.
Plus if all bots are catchable, normal NPCs would also be catchable.
*catches Officer Jenny*
You can create an event that changes a variable of the bot when it spawns to make it uncatchable.
But I am not going to put time into making that, I am sorry.
The code isn't that difficult to understand anyway.
Just compare the Masterball and Pokeball code.