#include #include #include #include "kgramstats.h" #include #include #include #include #include #include #include #include int main(int argc, char** args) { srand(time(NULL)); YAML::Node config = YAML::LoadFile("config.yml"); int delay = config["delay"].as(); std::ifstream infile(config["corpus"].as().c_str()); std::string corpus; std::string line; while (getline(infile, line)) { corpus += line + "\n "; } std::cout << "Preprocessing corpus..." << std::endl; kgramstats* stats = new kgramstats(corpus, 4); twitCurl twitter; twitter.getOAuth().setConsumerKey(config["consumer_key"].as()); twitter.getOAuth().setConsumerSecret(config["consumer_secret"].as()); twitter.getOAuth().setOAuthTokenKey(config["access_key"].as()); twitter.getOAuth().setOAuthTokenSecret(config["access_secret"].as()); std::cout << "Generating..." << std::endl; for (;;) { std::string doc = stats->randomSentence(rand() % 45 + 5); std::string hi = doc; hi.resize(140); std::string replyMsg; if (twitter.statusUpdate(hi)) { twitter.getLastWebResponse(replyMsg); std::cout << "Twitter message: " << replyMsg << std::endl; } else { twitter.getLastCurlError(replyMsg); std::cout << "Curl error: " << replyMsg << std::endl; } sleep(rand() % delay); } return 0; }