Implements more bot functionality

Classes/interface is still incomplete, and untested