Good job done there, but being honest this could be done in a much easier to configure way, what you need:
1 instance of fake player controllable by normal player with an auto-farm function attached on - for example:
Add a bypass to send the GMInventoryWnd to player containing all bot's items.
Modify RequestItemUse (add proper objectIds / ownerIds checks).
You can still implement the inventory idea on your current version. Good luck with your sales!