summaryrefslogtreecommitdiff
path: root/samples/inline-keyboard
diff options
context:
space:
mode:
authorOleg Morozenkov <m@oleg.rocks>2018-07-23 01:56:42 +0300
committerOleg Morozenkov <m@oleg.rocks>2018-07-23 01:56:42 +0300
commitd47ee877be5d1175bdc36f2d87881ddaf875a8e9 (patch)
tree7fd20cdc1236fe6b832ae980de12afd7071ebab9 /samples/inline-keyboard
parentcea20d4078f2088dea0dd589f1cc9dd7ee22461b (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.txt4
-rw-r--r--samples/inline-keyboard/Dockerfile2
-rw-r--r--samples/inline-keyboard/src/main.cpp92
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;
}