summaryrefslogtreecommitdiff
path: root/samples
diff options
context:
space:
mode:
Diffstat (limited to 'samples')
-rw-r--r--samples/echobot/CMakeLists.txt8
-rw-r--r--samples/echobot/Dockerfile3
-rw-r--r--samples/echobot/src/main.cpp9
-rw-r--r--samples/inline-keyboard/CMakeLists.txt8
-rw-r--r--samples/inline-keyboard/src/main.cpp9
-rw-r--r--samples/photo/CMakeLists.txt14
-rw-r--r--samples/photo/Dockerfile8
-rw-r--r--samples/photo/example.jpgbin0 -> 16770 bytes
-rw-r--r--samples/photo/src/main.cpp45
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
new file mode 100644
index 0000000..cbfd0d5
--- /dev/null
+++ b/samples/photo/example.jpg
Binary files differ
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;
+}