diff options
Diffstat (limited to 'samples')
-rw-r--r-- | samples/echobot/CMakeLists.txt | 8 | ||||
-rw-r--r-- | samples/echobot/Dockerfile | 3 | ||||
-rw-r--r-- | samples/echobot/src/main.cpp | 9 | ||||
-rw-r--r-- | samples/inline-keyboard/CMakeLists.txt | 8 | ||||
-rw-r--r-- | samples/inline-keyboard/src/main.cpp | 9 | ||||
-rw-r--r-- | samples/photo/CMakeLists.txt | 14 | ||||
-rw-r--r-- | samples/photo/Dockerfile | 8 | ||||
-rw-r--r-- | samples/photo/example.jpg | bin | 0 -> 16770 bytes | |||
-rw-r--r-- | samples/photo/src/main.cpp | 45 |
9 files changed, 88 insertions, 16 deletions
diff --git a/samples/echobot/CMakeLists.txt b/samples/echobot/CMakeLists.txt index c54109c..5df19f7 100644 --- a/samples/echobot/CMakeLists.txt +++ b/samples/echobot/CMakeLists.txt @@ -1,10 +1,14 @@ cmake_minimum_required(VERSION 2.8.4) project(echobot) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") + +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall") set(Boost_USE_MULTITHREADED ON) + find_package(Threads REQUIRED) find_package(OpenSSL REQUIRED) -find_package(Boost COMPONENTS system iostreams unit_test_framework REQUIRED) +find_package(Boost COMPONENTS system iostreams REQUIRED) include_directories(/usr/local/include ${OPENSSL_INCLUDE_DIR} ${Boost_INCLUDE_DIR}) + add_executable(echobot src/main.cpp) + target_link_libraries(echobot /usr/local/lib/libTgBot.a ${CMAKE_THREAD_LIBS_INIT} ${OPENSSL_LIBRARIES} ${Boost_LIBRARIES}) diff --git a/samples/echobot/Dockerfile b/samples/echobot/Dockerfile index 8d8bca5..054c1c7 100644 --- a/samples/echobot/Dockerfile +++ b/samples/echobot/Dockerfile @@ -1,6 +1,5 @@ FROM reo7sp/tgbot-cpp -MAINTAINER Oleg Morozenkov -ENV REFRESHED_AT 2015-08-12 +MAINTAINER Oleg Morozenkov <a@reo7sp.ru> WORKDIR /tmp/echobot COPY . . diff --git a/samples/echobot/src/main.cpp b/samples/echobot/src/main.cpp index 05806d2..7c78112 100644 --- a/samples/echobot/src/main.cpp +++ b/samples/echobot/src/main.cpp @@ -32,11 +32,6 @@ using namespace TgBot; bool sigintGot = false; int main() { - signal(SIGINT, [](int s) { - printf("SIGINT got"); - sigintGot = true; - }); - Bot bot("PLACE YOUR TOKEN HERE"); bot.getEvents().onCommand("start", [&bot](Message::Ptr message) { bot.getApi().sendMessage(message->chat->id, "Hi!"); @@ -49,6 +44,10 @@ int main() { bot.getApi().sendMessage(message->chat->id, "Your message is: " + message->text); }); + signal(SIGINT, [](int s) { + printf("SIGINT got"); + sigintGot = true; + }); try { printf("Bot username: %s\n", bot.getApi().getMe()->username.c_str()); diff --git a/samples/inline-keyboard/CMakeLists.txt b/samples/inline-keyboard/CMakeLists.txt index c59a97a..dbcff89 100644 --- a/samples/inline-keyboard/CMakeLists.txt +++ b/samples/inline-keyboard/CMakeLists.txt @@ -1,10 +1,14 @@ cmake_minimum_required(VERSION 2.8.4) project(inline-keyboard) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") + +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall") set(Boost_USE_MULTITHREADED ON) + find_package(Threads REQUIRED) find_package(OpenSSL REQUIRED) -find_package(Boost COMPONENTS system iostreams unit_test_framework REQUIRED) +find_package(Boost COMPONENTS system iostreams REQUIRED) include_directories(/usr/local/include ${OPENSSL_INCLUDE_DIR} ${Boost_INCLUDE_DIR}) + 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}) diff --git a/samples/inline-keyboard/src/main.cpp b/samples/inline-keyboard/src/main.cpp index 4e6fb21..440f965 100644 --- a/samples/inline-keyboard/src/main.cpp +++ b/samples/inline-keyboard/src/main.cpp @@ -10,11 +10,6 @@ using namespace TgBot; bool sigintGot = false; int main() { - signal(SIGINT, [](int s) { - printf("SIGINT got"); - sigintGot = true; - }); - Bot bot("PLACE YOUR TOKEN HERE"); // Thanks Pietro Falessi for code @@ -40,6 +35,10 @@ int main() { } }); + signal(SIGINT, [](int s) { + printf("SIGINT got"); + sigintGot = true; + }); try { printf("Bot username: %s\n", bot.getApi().getMe()->username.c_str()); diff --git a/samples/photo/CMakeLists.txt b/samples/photo/CMakeLists.txt new file mode 100644 index 0000000..d431b88 --- /dev/null +++ b/samples/photo/CMakeLists.txt @@ -0,0 +1,14 @@ +cmake_minimum_required(VERSION 2.8.4) +project(photo) + +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall") +set(Boost_USE_MULTITHREADED ON) + +find_package(Threads REQUIRED) +find_package(OpenSSL REQUIRED) +find_package(Boost COMPONENTS system iostreams REQUIRED) +include_directories(/usr/local/include ${OPENSSL_INCLUDE_DIR} ${Boost_INCLUDE_DIR}) + +add_executable(photo src/main.cpp) + +target_link_libraries(photo /usr/local/lib/libTgBot.a ${CMAKE_THREAD_LIBS_INIT} ${OPENSSL_LIBRARIES} ${Boost_LIBRARIES}) diff --git a/samples/photo/Dockerfile b/samples/photo/Dockerfile new file mode 100644 index 0000000..2bdbe1f --- /dev/null +++ b/samples/photo/Dockerfile @@ -0,0 +1,8 @@ +FROM reo7sp/tgbot-cpp +MAINTAINER Oleg Morozenkov <a@reo7sp.ru> + +WORKDIR /tmp/photo +COPY . . +RUN cmake . +RUN make -j4 +CMD ./photo diff --git a/samples/photo/example.jpg b/samples/photo/example.jpg Binary files differnew file mode 100644 index 0000000..cbfd0d5 --- /dev/null +++ b/samples/photo/example.jpg diff --git a/samples/photo/src/main.cpp b/samples/photo/src/main.cpp new file mode 100644 index 0000000..1b81f27 --- /dev/null +++ b/samples/photo/src/main.cpp @@ -0,0 +1,45 @@ +// +// Created by Oleg Morozenkov on 25.01.17. +// + +#include <signal.h> +#include <stdio.h> +#include <exception> + +#include <tgbot/tgbot.h> + +using namespace std; +using namespace TgBot; + +bool sigintGot = false; + +int main() { + const string photoFilePath = "example.jpg"; + const string photoMimeType = "image/jpeg"; + + Bot bot("PLACE YOUR TOKEN HERE"); + bot.getEvents().onCommand("start", [&bot](Message::Ptr message) { + bot.getApi().sendMessage(message->chat->id, "Hi!"); + }); + bot.getEvents().onCommand("photo", [&bot, &photoFilePath, &photoMimeType](Message::Ptr message) { + bot.getApi().sendPhoto(message->chat->id, InputFile::fromFile(photoFilePath, photoMimeType)); + }); + + 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; +} |