From 64c87158afe212d73e5007d48097c4877d56b19b Mon Sep 17 00:00:00 2001 From: Kelly Rauchenberger Date: Thu, 17 Mar 2016 01:16:51 -0400 Subject: Initial commit --- .gitmodules | 6 + CMakeLists.txt | 15 + blessed.cpp | 92 ++++++ emojis.txt | 845 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ vendor/twitcurl | 1 + vendor/verbly | 1 + 6 files changed, 960 insertions(+) create mode 100644 .gitmodules create mode 100644 CMakeLists.txt create mode 100644 blessed.cpp create mode 100644 emojis.txt create mode 160000 vendor/twitcurl create mode 160000 vendor/verbly diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..16192d6 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,6 @@ +[submodule "vendor/verbly"] + path = vendor/verbly + url = https://github.com/hatkirby/verbly +[submodule "vendor/twitcurl"] + path = vendor/twitcurl + url = https://github.com/swatkat/twitcurl diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..872dbe3 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,15 @@ +cmake_minimum_required (VERSION 2.6) +project (blessed) + +add_subdirectory(vendor/twitcurl/libtwitcurl) +add_subdirectory(vendor/verbly) + +find_package(PkgConfig) +pkg_check_modules(YamlCpp yaml-cpp REQUIRED) +pkg_check_modules(sqlite3 sqlite3 REQUIRED) + +include_directories(vendor/twitcurl/libtwitcurl ${sqlite3_INCLUDE_DIR} vendor/verbly/lib) +add_executable(blessed blessed.cpp) +set_property(TARGET blessed PROPERTY CXX_STANDARD 11) +set_property(TARGET blessed PROPERTY CXX_STANDARD_REQUIRED ON) +target_link_libraries(blessed ${sqlite3_LIBRARIES} ${YamlCpp_LIBRARIES} twitcurl curl verbly) diff --git a/blessed.cpp b/blessed.cpp new file mode 100644 index 0000000..367d0d1 --- /dev/null +++ b/blessed.cpp @@ -0,0 +1,92 @@ +#include +#include +#include +#include +#include +#include +#include + +int main(int argc, char** argv) +{ + srand(time(NULL)); + + YAML::Node config = YAML::LoadFile("config.yml"); + + 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()); + + verbly::data database {"data.sqlite3"}; + + std::vector emojis; + std::ifstream emojifile("emojis.txt"); + if (!emojifile.is_open()) + { + std::cout << "Could not find emoji." << std::endl; + return -1; + } + + for (;;) + { + std::string line; + if (!getline(emojifile, line)) + { + break; + } + + if (line.back() == '\r') + { + line.pop_back(); + } + + emojis.push_back(line); + } + + for (;;) + { + std::cout << "Generating tweet" << std::endl; + + std::string exclamation; + for (;;) + { + verbly::verb v = database.verbs().random(true).limit(1).has_pronunciation(true).run().front(); + auto rhyms = database.nouns().rhymes_with(v).random(true).limit(1).not_derived_from(v).is_not_proper(true).run(); + if (!rhyms.empty()) + { + auto n = rhyms.front(); + if (n.base_form() != v.base_form()) + { + exclamation = "god " + v.base_form() + " this " + n.base_form(); + break; + } + } + } + + std::string emojibef; + std::string emojiaft; + do + { + std::string em = emojis[rand() % emojis.size()]; + emojibef += em; + emojiaft = em + emojiaft; + } while (rand() % 4 < 3); + + std::string result = emojibef + " " + exclamation + " " + emojiaft; + result.resize(140); + + std::string replyMsg; + if (twitter.statusUpdate(result)) + { + twitter.getLastWebResponse(replyMsg); + std::cout << "Twitter message: " << replyMsg << std::endl; + } else { + twitter.getLastCurlError(replyMsg); + std::cout << "Curl error: " << replyMsg << std::endl; + } + + std::cout << "Waiting" << std::endl; + sleep(60 * 60); + } +} diff --git a/emojis.txt b/emojis.txt new file mode 100644 index 0000000..fc120e0 --- /dev/null +++ b/emojis.txt @@ -0,0 +1,845 @@ +๐Ÿ˜„ +๐Ÿ˜ƒ +๐Ÿ˜€ +๐Ÿ˜Š +โ˜บ๏ธ +๐Ÿ˜‰ +๐Ÿ˜ +๐Ÿ˜˜ +๐Ÿ˜š +๐Ÿ˜— +๐Ÿ˜™ +๐Ÿ˜œ +๐Ÿ˜ +๐Ÿ˜› +๐Ÿ˜ณ +๐Ÿ˜ +๐Ÿ˜” +๐Ÿ˜Œ +๐Ÿ˜’ +๐Ÿ˜ž +๐Ÿ˜ฃ +๐Ÿ˜ข +๐Ÿ˜‚ +๐Ÿ˜ญ +๐Ÿ˜ช +๐Ÿ˜ฅ +๐Ÿ˜ฐ +๐Ÿ˜… +๐Ÿ˜“ +๐Ÿ˜ฉ +๐Ÿ˜ซ +๐Ÿ˜จ +๐Ÿ˜ฑ +๐Ÿ˜  +๐Ÿ˜ก +๐Ÿ˜ค +๐Ÿ˜– +๐Ÿ˜† +๐Ÿ˜‹ +๐Ÿ˜ท +๐Ÿ˜Ž +๐Ÿ˜ด +๐Ÿ˜ต +๐Ÿ˜ฒ +๐Ÿ˜Ÿ +๐Ÿ˜ฆ +๐Ÿ˜ง +๐Ÿ˜ˆ +๐Ÿ‘ฟ +๐Ÿ˜ฎ +๐Ÿ˜ฌ +๐Ÿ˜ +๐Ÿ˜• +๐Ÿ˜ฏ +๐Ÿ˜ถ +๐Ÿ˜‡ +๐Ÿ˜ +๐Ÿ˜‘ +๐Ÿ‘ฒ +๐Ÿ‘ณ +๐Ÿ‘ฎ +๐Ÿ‘ท +๐Ÿ’‚ +๐Ÿ‘ถ +๐Ÿ‘ฆ +๐Ÿ‘ง +๐Ÿ‘จ +๐Ÿ‘ฉ +๐Ÿ‘ด +๐Ÿ‘ต +๐Ÿ‘ฑ +๐Ÿ‘ผ +๐Ÿ‘ธ +๐Ÿ˜บ +๐Ÿ˜ธ +๐Ÿ˜ป +๐Ÿ˜ฝ +๐Ÿ˜ผ +๐Ÿ™€ +๐Ÿ˜ฟ +๐Ÿ˜น +๐Ÿ˜พ +๐Ÿ‘น +๐Ÿ‘บ +๐Ÿ™ˆ +๐Ÿ™‰ +๐Ÿ™Š +๐Ÿ’€ +๐Ÿ‘ฝ +๐Ÿ’ฉ +๐Ÿ”ฅ +โœจ +๐ŸŒŸ +๐Ÿ’ซ +๐Ÿ’ฅ +๐Ÿ’ข +๐Ÿ’ฆ +๐Ÿ’ง +๐Ÿ’ค +๐Ÿ’จ +๐Ÿ‘‚ +๐Ÿ‘€ +๐Ÿ‘ƒ +๐Ÿ‘… +๐Ÿ‘„ +๐Ÿ‘ +๐Ÿ‘Ž +๐Ÿ‘Œ +๐Ÿ‘Š +โœŠ +โœŒ๏ธ +๐Ÿ‘‹ +โœ‹ +๐Ÿ‘ +๐Ÿ‘† +๐Ÿ‘‡ +๐Ÿ‘‰ +๐Ÿ‘ˆ +๐Ÿ™Œ +๐Ÿ™ +โ˜๏ธ +๐Ÿ‘ +๐Ÿ’ช +๐Ÿšถ +๐Ÿƒ +๐Ÿ’ƒ +๐Ÿ‘ซ +๐Ÿ‘ช +๐Ÿ‘ฌ +๐Ÿ‘ญ +๐Ÿ’ +๐Ÿ’‘ +๐Ÿ‘ฏ +๐Ÿ™† +๐Ÿ™… +๐Ÿ’ +๐Ÿ™‹ +๐Ÿ’† +๐Ÿ’‡ +๐Ÿ’… +๐Ÿ‘ฐ +๐Ÿ™Ž +๐Ÿ™ +๐Ÿ™‡ +๐ŸŽฉ +๐Ÿ‘‘ +๐Ÿ‘’ +๐Ÿ‘Ÿ +๐Ÿ‘ž +๐Ÿ‘ก +๐Ÿ‘  +๐Ÿ‘ข +๐Ÿ‘• +๐Ÿ‘” +๐Ÿ‘š +๐Ÿ‘— +๐ŸŽฝ +๐Ÿ‘– +๐Ÿ‘˜ +๐Ÿ‘™ +๐Ÿ’ผ +๐Ÿ‘œ +๐Ÿ‘ +๐Ÿ‘› +๐Ÿ‘“ +๐ŸŽ€ +๐ŸŒ‚ +๐Ÿ’„ +๐Ÿ’› +๐Ÿ’™ +๐Ÿ’œ +๐Ÿ’š +โค๏ธ +๐Ÿ’” +๐Ÿ’— +๐Ÿ’“ +๐Ÿ’• +๐Ÿ’– +๐Ÿ’ž +๐Ÿ’˜ +๐Ÿ’Œ +๐Ÿ’‹ +๐Ÿ’ +๐Ÿ’Ž +๐Ÿ‘ค +๐Ÿ‘ฅ +๐Ÿ’ฌ +๐Ÿ‘ฃ +๐Ÿ’ญ +๐Ÿถ +๐Ÿบ +๐Ÿฑ +๐Ÿญ +๐Ÿน +๐Ÿฐ +๐Ÿธ +๐Ÿฏ +๐Ÿจ +๐Ÿป +๐Ÿท +๐Ÿฝ +๐Ÿฎ +๐Ÿ— +๐Ÿต +๐Ÿ’ +๐Ÿด +๐Ÿ‘ +๐Ÿ˜ +๐Ÿผ +๐Ÿง +๐Ÿฆ +๐Ÿค +๐Ÿฅ +๐Ÿฃ +๐Ÿ” +๐Ÿ +๐Ÿข +๐Ÿ› +๐Ÿ +๐Ÿœ +๐Ÿž +๐ŸŒ +๐Ÿ™ +๐Ÿš +๐Ÿ  +๐ŸŸ +๐Ÿฌ +๐Ÿณ +๐Ÿ‹ +๐Ÿ„ +๐Ÿ +๐Ÿ€ +๐Ÿƒ +๐Ÿ… +๐Ÿ‡ +๐Ÿ‰ +๐ŸŽ +๐Ÿ +๐Ÿ“ +๐Ÿ• +๐Ÿ– +๐Ÿ +๐Ÿ‚ +๐Ÿฒ +๐Ÿก +๐ŸŠ +๐Ÿซ +๐Ÿช +๐Ÿ† +๐Ÿˆ +๐Ÿฉ +๐Ÿพ +๐Ÿ’ +๐ŸŒธ +๐ŸŒท +๐Ÿ€ +๐ŸŒน +๐ŸŒป +๐ŸŒบ +๐Ÿ +๐Ÿƒ +๐Ÿ‚ +๐ŸŒฟ +๐ŸŒพ +๐Ÿ„ +๐ŸŒต +๐ŸŒด +๐ŸŒฒ +๐ŸŒณ +๐ŸŒฐ +๐ŸŒฑ +๐ŸŒผ +๐ŸŒ +๐ŸŒž +๐ŸŒ +๐ŸŒš +๐ŸŒ‘ +๐ŸŒ’ +๐ŸŒ“ +๐ŸŒ” +๐ŸŒ• +๐ŸŒ– +๐ŸŒ— +๐ŸŒ˜ +๐ŸŒœ +๐ŸŒ› +๐ŸŒ™ +๐ŸŒ +๐ŸŒŽ +๐ŸŒ +๐ŸŒ‹ +๐ŸŒŒ +๐ŸŒ  +โญ +โ˜€๏ธ +โ›… +โ˜๏ธ +โšก +โ˜” +โ„๏ธ +โ›„ +๐ŸŒ€ +๐ŸŒ +๐ŸŒˆ +๐ŸŒŠ +๐ŸŽ +๐Ÿ’ +๐ŸŽŽ +๐ŸŽ’ +๐ŸŽ“ +๐ŸŽ +๐ŸŽ† +๐ŸŽ‡ +๐ŸŽ +๐ŸŽ‘ +๐ŸŽƒ +๐Ÿ‘ป +๐ŸŽ… +๐ŸŽ„ +๐ŸŽ +๐ŸŽ‹ +๐ŸŽ‰ +๐ŸŽŠ +๐ŸŽˆ +๐ŸŽŒ +๐Ÿ”ฎ +๐ŸŽฅ +๐Ÿ“ท +๐Ÿ“น +๐Ÿ“ผ +๐Ÿ’ฟ +๐Ÿ“€ +๐Ÿ’ฝ +๐Ÿ’พ +๐Ÿ’ป +๐Ÿ“ฑ +โ˜Ž๏ธ +๐Ÿ“ž +๐Ÿ“Ÿ +๐Ÿ“  +๐Ÿ“ก +๐Ÿ“บ +๐Ÿ“ป +๐Ÿ”Š +๐Ÿ”‰ +๐Ÿ”ˆ +๐Ÿ”‡ +๐Ÿ”” +๐Ÿ”• +๐Ÿ“ข +๐Ÿ“ฃ +โณ +โŒ› +โฐ +โŒš +๐Ÿ”“ +๐Ÿ”’ +๐Ÿ” +๐Ÿ” +๐Ÿ”‘ +๐Ÿ”Ž +๐Ÿ’ก +๐Ÿ”ฆ +๐Ÿ”† +๐Ÿ”… +๐Ÿ”Œ +๐Ÿ”‹ +๐Ÿ” +๐Ÿ› +๐Ÿ›€ +๐Ÿšฟ +๐Ÿšฝ +๐Ÿ”ง +๐Ÿ”ฉ +๐Ÿ”จ +๐Ÿšช +๐Ÿšฌ +๐Ÿ’ฃ +๐Ÿ”ซ +๐Ÿ”ช +๐Ÿ’Š +๐Ÿ’‰ +๐Ÿ’ฐ +๐Ÿ’ด +๐Ÿ’ต +๐Ÿ’ท +๐Ÿ’ถ +๐Ÿ’ณ +๐Ÿ’ธ +๐Ÿ“ฒ +๐Ÿ“ง +๐Ÿ“ฅ +๐Ÿ“ค +โœ‰๏ธ +๐Ÿ“ฉ +๐Ÿ“จ +๐Ÿ“ฏ +๐Ÿ“ซ +๐Ÿ“ช +๐Ÿ“ฌ +๐Ÿ“ญ +๐Ÿ“ฎ +๐Ÿ“ฆ +๐Ÿ“ +๐Ÿ“„ +๐Ÿ“ƒ +๐Ÿ“‘ +๐Ÿ“Š +๐Ÿ“ˆ +๐Ÿ“‰ +๐Ÿ“œ +๐Ÿ“‹ +๐Ÿ“… +๐Ÿ“† +๐Ÿ“‡ +๐Ÿ“ +๐Ÿ“‚ +โœ‚๏ธ +๐Ÿ“Œ +๐Ÿ“Ž +โœ’๏ธ +โœ๏ธ +๐Ÿ“ +๐Ÿ“ +๐Ÿ“• +๐Ÿ“— +๐Ÿ“˜ +๐Ÿ“™ +๐Ÿ““ +๐Ÿ“” +๐Ÿ“’ +๐Ÿ“š +๐Ÿ“– +๐Ÿ”– +๐Ÿ“› +๐Ÿ”ฌ +๐Ÿ”ญ +๐Ÿ“ฐ +๐ŸŽจ +๐ŸŽฌ +๐ŸŽค +๐ŸŽง +๐ŸŽผ +๐ŸŽต +๐ŸŽถ +๐ŸŽน +๐ŸŽป +๐ŸŽบ +๐ŸŽท +๐ŸŽธ +๐Ÿ‘พ +๐ŸŽฎ +๐Ÿƒ +๐ŸŽด +๐Ÿ€„ +๐ŸŽฒ +๐ŸŽฏ +๐Ÿˆ +๐Ÿ€ +โšฝ +โšพ๏ธ +๐ŸŽพ +๐ŸŽฑ +๐Ÿ‰ +๐ŸŽณ +โ›ณ +๐Ÿšต +๐Ÿšด +๐Ÿ +๐Ÿ‡ +๐Ÿ† +๐ŸŽฟ +๐Ÿ‚ +๐ŸŠ +๐Ÿ„ +๐ŸŽฃ +โ˜• +๐Ÿต +๐Ÿถ +๐Ÿผ +๐Ÿบ +๐Ÿป +๐Ÿธ +๐Ÿน +๐Ÿท +๐Ÿด +๐Ÿ• +๐Ÿ” +๐ŸŸ +๐Ÿ— +๐Ÿ– +๐Ÿ +๐Ÿ› +๐Ÿค +๐Ÿฑ +๐Ÿฃ +๐Ÿฅ +๐Ÿ™ +๐Ÿ˜ +๐Ÿš +๐Ÿœ +๐Ÿฒ +๐Ÿข +๐Ÿก +๐Ÿณ +๐Ÿž +๐Ÿฉ +๐Ÿฎ +๐Ÿฆ +๐Ÿจ +๐Ÿง +๐ŸŽ‚ +๐Ÿฐ +๐Ÿช +๐Ÿซ +๐Ÿฌ +๐Ÿญ +๐Ÿฏ +๐ŸŽ +๐Ÿ +๐ŸŠ +๐Ÿ‹ +๐Ÿ’ +๐Ÿ‡ +๐Ÿ‰ +๐Ÿ“ +๐Ÿ‘ +๐Ÿˆ +๐ŸŒ +๐Ÿ +๐Ÿ +๐Ÿ  +๐Ÿ† +๐Ÿ… +๐ŸŒฝ +๐Ÿ  +๐Ÿก +๐Ÿซ +๐Ÿข +๐Ÿฃ +๐Ÿฅ +๐Ÿฆ +๐Ÿช +๐Ÿฉ +๐Ÿจ +๐Ÿ’’ +โ›ช +๐Ÿฌ +๐Ÿค +๐ŸŒ‡ +๐ŸŒ† +๐Ÿฏ +๐Ÿฐ +โ›บ +๐Ÿญ +๐Ÿ—ผ +๐Ÿ—พ +๐Ÿ—ป +๐ŸŒ„ +๐ŸŒ… +๐ŸŒƒ +๐Ÿ—ฝ +๐ŸŒ‰ +๐ŸŽ  +๐ŸŽก +โ›ฒ +๐ŸŽข +๐Ÿšข +โ›ต +๐Ÿšค +๐Ÿšฃ +โš“ +๐Ÿš€ +โœˆ๏ธ +๐Ÿ’บ +๐Ÿš +๐Ÿš‚ +๐ŸšŠ +๐Ÿš‰ +๐Ÿšž +๐Ÿš† +๐Ÿš„ +๐Ÿš… +๐Ÿšˆ +๐Ÿš‡ +๐Ÿš +๐Ÿš‹ +๐Ÿšƒ +๐ŸšŽ +๐ŸšŒ +๐Ÿš +๐Ÿš™ +๐Ÿš˜ +๐Ÿš— +๐Ÿš• +๐Ÿš– +๐Ÿš› +๐Ÿšš +๐Ÿšจ +๐Ÿš“ +๐Ÿš” +๐Ÿš’ +๐Ÿš‘ +๐Ÿš +๐Ÿšฒ +๐Ÿšก +๐ŸšŸ +๐Ÿš  +๐Ÿšœ +๐Ÿ’ˆ +๐Ÿš +๐ŸŽซ +๐Ÿšฆ +๐Ÿšฅ +โš ๏ธ +๐Ÿšง +๐Ÿ”ฐ +โ›ฝ +๐Ÿฎ +๐ŸŽฐ +โ™จ๏ธ +๐Ÿ—ฟ +๐ŸŽช +๐ŸŽญ +๐Ÿ“ +๐Ÿšฉ +๐Ÿ‡ฏ๐Ÿ‡ต +๐Ÿ‡ฐ๐Ÿ‡ท +๐Ÿ‡ฉ๐Ÿ‡ช +๐Ÿ‡จ๐Ÿ‡ณ +๐Ÿ‡บ๐Ÿ‡ธ +๐Ÿ‡ซ๐Ÿ‡ท +๐Ÿ‡ช๐Ÿ‡ธ +๐Ÿ‡ฎ๐Ÿ‡น +๐Ÿ‡ท๐Ÿ‡บ +๐Ÿ‡ฌ๐Ÿ‡ง +1๏ธโƒฃ +2๏ธโƒฃ +3๏ธโƒฃ +4๏ธโƒฃ +5๏ธโƒฃ +6๏ธโƒฃ +7๏ธโƒฃ +8๏ธโƒฃ +9๏ธโƒฃ +0๏ธโƒฃ +๐Ÿ”Ÿ +๐Ÿ”ข +#๏ธโƒฃ +๐Ÿ”ฃ +โฌ†๏ธ +โฌ‡๏ธ +โฌ…๏ธ +โžก๏ธ +๐Ÿ”  +๐Ÿ”ก +๐Ÿ”ค +โ†—๏ธ +โ†–๏ธ +โ†˜๏ธ +โ†™๏ธ +โ†”๏ธ +โ†•๏ธ +๐Ÿ”„ +โ—€๏ธ +โ–ถ๏ธ +๐Ÿ”ผ +๐Ÿ”ฝ +โ†ฉ๏ธ +โ†ช๏ธ +โ„น๏ธ +โช +โฉ +โซ +โฌ +โคต๏ธ +โคด๏ธ +๐Ÿ†— +๐Ÿ”€ +๐Ÿ” +๐Ÿ”‚ +๐Ÿ†• +๐Ÿ†™ +๐Ÿ†’ +๐Ÿ†“ +๐Ÿ†– +๐Ÿ“ถ +๐ŸŽฆ +๐Ÿˆ +๐Ÿˆฏ +๐Ÿˆณ +๐Ÿˆต +๐Ÿˆด +๐Ÿˆฒ +๐Ÿ‰ +๐Ÿˆน +๐Ÿˆบ +๐Ÿˆถ +๐Ÿˆš +๐Ÿšป +๐Ÿšน +๐Ÿšบ +๐Ÿšผ +๐Ÿšพ +๐Ÿšฐ +๐Ÿšฎ +๐Ÿ…ฟ๏ธ +โ™ฟ +๐Ÿšญ +๐Ÿˆท๏ธ +๐Ÿˆธ +๐Ÿˆ‚๏ธ +โ“‚๏ธ +๐Ÿ›‚ +๐Ÿ›„ +๐Ÿ›… +๐Ÿ›ƒ +๐Ÿ‰‘ +ใŠ™๏ธ +ใŠ—๏ธ +๐Ÿ†‘ +๐Ÿ†˜ +๐Ÿ†” +๐Ÿšซ +๐Ÿ”ž +๐Ÿ“ต +๐Ÿšฏ +๐Ÿšฑ +๐Ÿšณ +๐Ÿšท +๐Ÿšธ +โ›” +โœณ๏ธ +โ‡๏ธ +โŽ +โœ… +โœด๏ธ +๐Ÿ’Ÿ +๐Ÿ†š +๐Ÿ“ณ +๐Ÿ“ด +๐Ÿ…ฐ๏ธ +๐Ÿ…ฑ๏ธ +๐Ÿ†Ž +๐Ÿ…พ๏ธ +๐Ÿ’  +โžฟ +โ™ป๏ธ +โ™ˆ +โ™‰ +โ™Š +โ™‹ +โ™Œ +โ™ +โ™Ž +โ™ +โ™ +โ™‘ +โ™’ +โ™“ +โ›Ž +๐Ÿ”ฏ +๐Ÿง +๐Ÿ’น +๐Ÿ’ฒ +๐Ÿ’ฑ +ยฉ๏ธ +ยฎ๏ธ +โ„ข๏ธ +โŒ +โ€ผ๏ธ +โ‰๏ธ +โ— +โ“ +โ• +โ” +โญ• +๐Ÿ” +๐Ÿ”š +๐Ÿ”™ +๐Ÿ”› +๐Ÿ”œ +๐Ÿ”ƒ +๐Ÿ•› +๐Ÿ•ง +๐Ÿ• +๐Ÿ•œ +๐Ÿ•‘ +๐Ÿ• +๐Ÿ•’ +๐Ÿ•ž +๐Ÿ•“ +๐Ÿ•Ÿ +๐Ÿ•” +๐Ÿ•  +๐Ÿ•• +๐Ÿ•– +๐Ÿ•— +๐Ÿ•˜ +๐Ÿ•™ +๐Ÿ•š +๐Ÿ•ก +๐Ÿ•ข +๐Ÿ•ฃ +๐Ÿ•ค +๐Ÿ•ฅ +๐Ÿ•ฆ +โœ–๏ธ +โž• +โž– +โž— +โ™ ๏ธ +โ™ฅ๏ธ +โ™ฃ๏ธ +โ™ฆ๏ธ +๐Ÿ’ฎ +๐Ÿ’ฏ +โœ”๏ธ +โ˜‘๏ธ +๐Ÿ”˜ +๐Ÿ”— +โžฐ +ใ€ฐ๏ธ +ใ€ฝ๏ธ +๐Ÿ”ฑ +โ—ผ๏ธ +โ—ป๏ธ +โ—พ +โ—ฝ +โ–ช๏ธ +โ–ซ๏ธ +๐Ÿ”บ +๐Ÿ”ฒ +๐Ÿ”ณ +โšซ +โšช +๐Ÿ”ด +๐Ÿ”ต +๐Ÿ”ป +โฌœ +โฌ› +๐Ÿ”ถ +๐Ÿ”ท +๐Ÿ”ธ +๐Ÿ”น \ No newline at end of file diff --git a/vendor/twitcurl b/vendor/twitcurl new file mode 160000 index 0000000..6659e86 --- /dev/null +++ b/vendor/twitcurl @@ -0,0 +1 @@ +Subproject commit 6659e86de7481e50977b7569c75138f7f69ad3c7 diff --git a/vendor/verbly b/vendor/verbly new file mode 160000 index 0000000..dc210ee --- /dev/null +++ b/vendor/verbly @@ -0,0 +1 @@ +Subproject commit dc210ee6eba3b1d173808bd858113f6abd90bff1 -- cgit 1.4.1