From 51c0f61bde2799d8c1c903d95578b9d05778a22f Mon Sep 17 00:00:00 2001 From: Kelly Rauchenberger Date: Sat, 5 Nov 2016 03:39:00 -0400 Subject: Initial commit --- owo.cpp | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 owo.cpp (limited to 'owo.cpp') diff --git a/owo.cpp b/owo.cpp new file mode 100644 index 0000000..d6b3043 --- /dev/null +++ b/owo.cpp @@ -0,0 +1,51 @@ +#include +#include +#include +#include +#include +#include +#include + +int main(int argc, char** argv) +{ + YAML::Node config = YAML::LoadFile("config.yml"); + + twitter::auth auth; + auth.setConsumerKey(config["consumer_key"].as()); + auth.setConsumerSecret(config["consumer_secret"].as()); + auth.setAccessKey(config["access_key"].as()); + auth.setAccessSecret(config["access_secret"].as()); + + twitter::client client(auth); + + verbly::data database {"data.sqlite3"}; + + verbly::noun bp = database.nouns().with_wnid(105220461).run().front(); // body part + verbly::noun pp = database.nouns().with_wnid(104723816).run().front(); // quality + verbly::noun cp = database.nouns().with_wnid(103051540).run().front(); // clothing + verbly::filter filt {bp, pp, cp}; + filt.set_orlogic(true); + + for (;;) + { + std::cout << "Generating tweet" << std::endl; + + auto ns = database.nouns().full_hyponym_of(filt).is_not_proper().random().limit(1).run(); + verbly::noun n = ns.front(); + + std::string result = "*notices ur " + n.base_form() + "* OwO whats this..?"; + result.resize(140); + + try + { + client.updateStatus(result); + } catch (const twitter::twitter_error& e) + { + std::cout << "Twitter error: " << e.what() << std::endl; + } + + std::cout << result << std::endl; + + std::this_thread::sleep_for(std::chrono::hours(1)); + } +} -- cgit 1.4.1