diff options
author | Oleg Morozenkov <m@oleg.rocks> | 2018-07-23 01:56:42 +0300 |
---|---|---|
committer | Oleg Morozenkov <m@oleg.rocks> | 2018-07-23 01:56:42 +0300 |
commit | d47ee877be5d1175bdc36f2d87881ddaf875a8e9 (patch) | |
tree | 7fd20cdc1236fe6b832ae980de12afd7071ebab9 /samples/inline-keyboard | |
parent | cea20d4078f2088dea0dd589f1cc9dd7ee22461b (diff) |
Refactor http clients, fix webhook server, add more samples, change tabs to 4 spaces
Diffstat (limited to 'samples/inline-keyboard')
-rw-r--r-- | samples/inline-keyboard/CMakeLists.txt | 4 | ||||
-rw-r--r-- | samples/inline-keyboard/Dockerfile | 2 | ||||
-rw-r--r-- | samples/inline-keyboard/src/main.cpp | 92 |
3 files changed, 51 insertions, 47 deletions
diff --git a/samples/inline-keyboard/CMakeLists.txt b/samples/inline-keyboard/CMakeLists.txt index c149c0b..fe7c9bd 100644 --- a/samples/inline-keyboard/CMakeLists.txt +++ b/samples/inline-keyboard/CMakeLists.txt @@ -10,8 +10,8 @@ find_package(Boost COMPONENTS system REQUIRED) find_package(CURL) include_directories(/usr/local/include ${OPENSSL_INCLUDE_DIR} ${Boost_INCLUDE_DIR}) if (CURL_FOUND) -include_directories(${CURL_INCLUDE_DIRS}) -add_definitions(-DHAVE_CURL) + include_directories(${CURL_INCLUDE_DIRS}) + add_definitions(-DHAVE_CURL) endif() add_executable(inline-keyboard src/main.cpp) diff --git a/samples/inline-keyboard/Dockerfile b/samples/inline-keyboard/Dockerfile index 4598595..a65d5a1 100644 --- a/samples/inline-keyboard/Dockerfile +++ b/samples/inline-keyboard/Dockerfile @@ -1,7 +1,7 @@ FROM reo7sp/tgbot-cpp MAINTAINER Oleg Morozenkov <a@reo7sp.ru> -WORKDIR /tmp/inline-keyboard +WORKDIR /usr/src/inline-keyboard COPY . . RUN cmake . RUN make diff --git a/samples/inline-keyboard/src/main.cpp b/samples/inline-keyboard/src/main.cpp index 440f965..0976989 100644 --- a/samples/inline-keyboard/src/main.cpp +++ b/samples/inline-keyboard/src/main.cpp @@ -1,5 +1,6 @@ -#include <signal.h> -#include <stdio.h> +#include <csignal> +#include <cstdio> +#include <cstdlib> #include <exception> #include <tgbot/tgbot.h> @@ -10,46 +11,49 @@ using namespace TgBot; bool sigintGot = false; int main() { - Bot bot("PLACE YOUR TOKEN HERE"); - - // Thanks Pietro Falessi for code - InlineKeyboardMarkup::Ptr keyboard(new InlineKeyboardMarkup); - vector<InlineKeyboardButton::Ptr> row0; - InlineKeyboardButton::Ptr checkButton(new InlineKeyboardButton); - checkButton->text = "check"; - checkButton->callbackData = "check"; - row0.push_back(checkButton); - keyboard->inlineKeyboard.push_back(row0); - - bot.getEvents().onCommand("start", [&bot, &keyboard](Message::Ptr message) { - bot.getApi().sendMessage(message->chat->id, "Hi!", false, 0, keyboard); - }); - bot.getEvents().onCommand("check", [&bot, &keyboard](Message::Ptr message) { - string response = "ok"; - bot.getApi().sendMessage(message->chat->id, response, false, 0, keyboard, "Markdown"); - }); - bot.getEvents().onCallbackQuery([&bot, &keyboard](CallbackQuery::Ptr query) { - if (StringTools::startsWith(query->data, "check")) { - string response = "ok"; - bot.getApi().sendMessage(query->message->chat->id, response, false, 0, keyboard, "Markdown"); - } - }); - - signal(SIGINT, [](int s) { - printf("SIGINT got"); - 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; + string token(getenv("TOKEN")); + printf("Token: %s\n", token.c_str()); + + Bot bot(token); + + // Thanks Pietro Falessi for code + InlineKeyboardMarkup::Ptr keyboard(new InlineKeyboardMarkup); + vector<InlineKeyboardButton::Ptr> row0; + InlineKeyboardButton::Ptr checkButton(new InlineKeyboardButton); + checkButton->text = "check"; + checkButton->callbackData = "check"; + row0.push_back(checkButton); + keyboard->inlineKeyboard.push_back(row0); + + bot.getEvents().onCommand("start", [&bot, &keyboard](Message::Ptr message) { + bot.getApi().sendMessage(message->chat->id, "Hi!", false, 0, keyboard); + }); + bot.getEvents().onCommand("check", [&bot, &keyboard](Message::Ptr message) { + string response = "ok"; + bot.getApi().sendMessage(message->chat->id, response, false, 0, keyboard, "Markdown"); + }); + bot.getEvents().onCallbackQuery([&bot, &keyboard](CallbackQuery::Ptr query) { + if (StringTools::startsWith(query->data, "check")) { + string response = "ok"; + bot.getApi().sendMessage(query->message->chat->id, response, false, 0, keyboard, "Markdown"); + } + }); + + 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; } |