Yep, that's the big thing that Virtjs allows compared to the others: listen to runtime events.
The Pokelib is currently a kind of proof-of-concept and, as such, doesn't map all Pokemon game events (yet!), but it already have a few nice abstractions, and it should get better over the time.
In the meantime, you can hack an Input Device to make a bot :)