Most will not agree with going this far for a xat Pokemon game. That is true, I understand however, read lower for a quick back-story and you may change your mind. Otherwise: Proceed to botting!
This page will provide you with a download link to a free bot which is capable of auto-catching anything that spawns while you're in the chat or, if you want to do it the fast way,
Right click on LBot.py and on Line 24, add or remove the pokemon you want to catch, (pgl = ['Infernape', 'Rayquaza', 'Pikachu', 'Golduck'] make sure to keep this formatting) change line 25's "all" to "list"
Head to xat.com/PGO and wait.
When whatever you're looking to catch spawns, your client will automatically /go to the spawn location and !pgo catch it for you then return to PGO ready to repeat.
I'd advise against using the "all" setting as it's very easy for xat to disconnect you for being a "bot" and triggering their flood detect, otherwise it should function properly.
A lot of people won't want to actually be branded as botters so I've got a second solution.
A new feature included in my own bot, you can now be bumped anytime your chosen Pokemon spawns.
How it works is simple:
I. Catching WITH preferred list.
To catch specific pokemon of your choosing, create a new paste (I recommend having a pastebin account so you can edit your list) and in this paste you will list pokemon separated by a single comma ",". Example: https://pastebin.com/raw/rszLSQZT.
Once you have your pastebin list make sure you get the RAW link and type "@alert *link*" Example: @alert https://pastebin.com/raw/rszLSQZT
[!] Once again this part is important you need to post the /raw/ link else it will not work.
If it works correctly you should get a message saying you are now in allowed list and you will be bumped anytime a pokemon you've listed spawns.
[?] By default you're alerted anytime a shiny or a mega spawns as well.
II. Catching without a list.
This method is far simpler, you will be alerted only when shinies, megas, legendaries or mythical pokemon spawn. All that is required on your part is to type @alert.
Enjoy your pokemon hunting! :)
If you have any suggestions let me know.