diff options
author | Oleg Morozenkov <m@oleg.rocks> | 2018-07-23 02:35:50 +0300 |
---|---|---|
committer | Oleg Morozenkov <m@oleg.rocks> | 2018-07-23 02:35:50 +0300 |
commit | 98b8b7e4338b71ee46c4301b0bf2ae667be9a99d (patch) | |
tree | 32f8b0d32048b2d83b57773c0efa3db9600b8701 /samples/inline-keyboard | |
parent | 1dd3affe306793d2129f121c11e43c45ae8690da (diff) | |
parent | 167e3e7607e43a0f06c7f87ced94f481e6525b0e (diff) |
Merge branch 'master' into nicholascw-master
Diffstat (limited to 'samples/inline-keyboard')
-rw-r--r-- | samples/inline-keyboard/CMakeLists.txt | 7 | ||||
-rw-r--r-- | samples/inline-keyboard/Dockerfile | 2 | ||||
-rw-r--r-- | samples/inline-keyboard/src/main.cpp | 92 |
3 files changed, 55 insertions, 46 deletions
diff --git a/samples/inline-keyboard/CMakeLists.txt b/samples/inline-keyboard/CMakeLists.txt index 4790800..fe7c9bd 100644 --- a/samples/inline-keyboard/CMakeLists.txt +++ b/samples/inline-keyboard/CMakeLists.txt @@ -7,8 +7,13 @@ set(Boost_USE_MULTITHREADED ON) find_package(Threads REQUIRED) find_package(OpenSSL REQUIRED) 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) +endif() add_executable(inline-keyboard src/main.cpp) -target_link_libraries(inline-keyboard /usr/local/lib/libTgBot.a ${CMAKE_THREAD_LIBS_INIT} ${OPENSSL_LIBRARIES} ${Boost_LIBRARIES}) +target_link_libraries(inline-keyboard /usr/local/lib/libTgBot.a ${CMAKE_THREAD_LIBS_INIT} ${OPENSSL_LIBRARIES} ${Boost_LIBRARIES} ${CURL_LIBRARIES}) 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; } |