summaryrefslogtreecommitdiff
path: root/samples/inline-keyboard/src/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'samples/inline-keyboard/src/main.cpp')
-rw-r--r--samples/inline-keyboard/src/main.cpp92
1 files changed, 48 insertions, 44 deletions
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;
}