summary refs log tree commit diff stats
path: root/owo.cpp
diff options
context:
space:
mode:
authorKelly Rauchenberger <fefferburbia@gmail.com>2021-01-10 10:56:45 -0500
committerKelly Rauchenberger <fefferburbia@gmail.com>2021-01-10 10:56:45 -0500
commit6035e62b8935130a1ad213163510f881f6ded0e4 (patch)
treee9636210c9caa353e066087ffc74177cc1d0c5f5 /owo.cpp
parenta56e585703a12e30af6b62e5e6ac8a9891d7610f (diff)
downloadowo-6035e62b8935130a1ad213163510f881f6ded0e4.tar.gz
owo-6035e62b8935130a1ad213163510f881f6ded0e4.tar.bz2
owo-6035e62b8935130a1ad213163510f881f6ded0e4.zip
Updated to the new verbly (which is a few years old at this point)
Diffstat (limited to 'owo.cpp')
-rw-r--r--owo.cpp43
1 files changed, 24 insertions, 19 deletions
diff --git a/owo.cpp b/owo.cpp index f66e689..ec9ffbb 100644 --- a/owo.cpp +++ b/owo.cpp
@@ -16,33 +16,38 @@ int main(int argc, char** argv)
16 16
17 std::string configfile(argv[1]); 17 std::string configfile(argv[1]);
18 YAML::Node config = YAML::LoadFile(configfile); 18 YAML::Node config = YAML::LoadFile(configfile);
19 19
20 twitter::auth auth; 20 twitter::auth auth;
21 auth.setConsumerKey(config["consumer_key"].as<std::string>()); 21 auth.setConsumerKey(config["consumer_key"].as<std::string>());
22 auth.setConsumerSecret(config["consumer_secret"].as<std::string>()); 22 auth.setConsumerSecret(config["consumer_secret"].as<std::string>());
23 auth.setAccessKey(config["access_key"].as<std::string>()); 23 auth.setAccessKey(config["access_key"].as<std::string>());
24 auth.setAccessSecret(config["access_secret"].as<std::string>()); 24 auth.setAccessSecret(config["access_secret"].as<std::string>());
25 25
26 twitter::client client(auth); 26 twitter::client client(auth);
27 27
28 verbly::data database {config["verbly_datafile"].as<std::string>()}; 28 verbly::database database {config["verbly_datafile"].as<std::string>()};
29 29
30 verbly::noun bp = database.nouns().with_wnid(105220461).run().front(); // body part 30 verbly::filter nounFilter =
31 verbly::noun pp = database.nouns().with_wnid(104723816).run().front(); // quality 31 (verbly::notion::partOfSpeech == verbly::part_of_speech::noun)
32 verbly::noun cp = database.nouns().with_wnid(103051540).run().front(); // clothing 32 && (verbly::form::proper == false)
33 verbly::filter<verbly::noun> filt {bp, pp, cp}; 33 && (verbly::notion::fullHypernyms %= (
34 filt.set_orlogic(true); 34 (verbly::notion::wnid == 105220461) // body part
35 35 || (verbly::notion::wnid == 104723816) // quality
36 || (verbly::notion::wnid == 103051540))); // clothing
37
36 for (;;) 38 for (;;)
37 { 39 {
38 std::cout << "Generating tweet" << std::endl; 40 std::cout << "Generating tweet" << std::endl;
39 41
40 auto ns = database.nouns().full_hyponym_of(filt).is_not_proper().random().limit(1).run(); 42 verbly::word noun = database.words(nounFilter).first();
41 verbly::noun n = ns.front(); 43 verbly::token action = {
42 44 verbly::token::quote("*", "*", { "notices ur", noun }),
43 std::string result = "*notices ur " + n.base_form() + "* OwO whats this..?"; 45 "OwO whats this..?"
46 };
47
48 std::string result = action.compile();
44 result.resize(140); 49 result.resize(140);
45 50
46 try 51 try
47 { 52 {
48 client.updateStatus(result); 53 client.updateStatus(result);
@@ -50,9 +55,9 @@ int main(int argc, char** argv)
50 { 55 {
51 std::cout << "Twitter error: " << e.what() << std::endl; 56 std::cout << "Twitter error: " << e.what() << std::endl;
52 } 57 }
53 58
54 std::cout << result << std::endl; 59 std::cout << result << std::endl;
55 60
56 std::this_thread::sleep_for(std::chrono::hours(1)); 61 std::this_thread::sleep_for(std::chrono::hours(1));
57 } 62 }
58} 63}