Base bot class and features