abstract sclass GazelleAutoBot { // return string (text) or createPost abstract O calc(); long postID; S post; // text of post we are replying to S postType; // type of post we are replying to O createPost(O... _) { ret dm_call(dm_current_generic(), "createPost", _); } GazellePost getPost(long postID) { ret (GazellePost) quickImport(dm_call(dm_current_generic(), "getPost", postID)); } L repliesTo(GazellePost post) { ret (L) dm_callWithImportExport(dm_current_generic(), "repliesTo", post); } bool runOnAutoBotPost() { false; } }