From d47ee877be5d1175bdc36f2d87881ddaf875a8e9 Mon Sep 17 00:00:00 2001 From: Oleg Morozenkov Date: Mon, 23 Jul 2018 01:56:42 +0300 Subject: Refactor http clients, fix webhook server, add more samples, change tabs to 4 spaces --- samples/echobot-curl-client/src/main.cpp | 48 ++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 samples/echobot-curl-client/src/main.cpp (limited to 'samples/echobot-curl-client/src') diff --git a/samples/echobot-curl-client/src/main.cpp b/samples/echobot-curl-client/src/main.cpp new file mode 100644 index 0000000..1f376a5 --- /dev/null +++ b/samples/echobot-curl-client/src/main.cpp @@ -0,0 +1,48 @@ +#include +#include +#include +#include + +#include + +using namespace std; +using namespace TgBot; + +bool sigintGot = false; + +int main() { + string token(getenv("TOKEN")); + printf("Token: %s\n", token.c_str()); + + CurlHttpClient curlHttpClient; + + Bot bot(token, curlHttpClient); + bot.getEvents().onCommand("start", [&bot](Message::Ptr message) { + bot.getApi().sendMessage(message->chat->id, "Hi!"); + }); + bot.getEvents().onAnyMessage([&bot](Message::Ptr message) { + printf("User wrote %s\n", message->text.c_str()); + if (StringTools::startsWith(message->text, "/start")) { + return; + } + bot.getApi().sendMessage(message->chat->id, "Your message is: " + message->text); + }); + + signal(SIGINT, [](int s) { + printf("SIGINT got\n"); + sigintGot = true; + }); + try { + printf("Bot username: %s\n", bot.getApi().getMe()->username.c_str()); + + TgLongPoll longPoll(bot); + while (!sigintGot) { + printf("Long poll started\n"); + longPoll.start(); + } + } catch (exception& e) { + printf("error: %s\n", e.what()); + } + + return 0; +} -- cgit v1.2.3