From 525482202015f7e226fed9994f5a8bd27eff410a Mon Sep 17 00:00:00 2001 From: dan4ik <6057430gu@gmail.com> Date: Fri, 10 Jun 2022 12:41:32 +0700 Subject: add sample --- samples/received-text-processing/src/main.cpp | 61 +++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 samples/received-text-processing/src/main.cpp (limited to 'samples/received-text-processing/src') diff --git a/samples/received-text-processing/src/main.cpp b/samples/received-text-processing/src/main.cpp new file mode 100644 index 0000000..b6069e9 --- /dev/null +++ b/samples/received-text-processing/src/main.cpp @@ -0,0 +1,61 @@ +#include +#include +#include +#include +#include + +#include + +using namespace std; +using namespace TgBot; + +vector bot_commands = {"start", "test"}; + +int main() { + string token(getenv("TOKEN")); + printf("Token: %s\n", token.c_str()); + + bool test_text_state = false; + + Bot bot(token); + TgLongPoll long_poll(bot); + + bot.getEvents().onCommand("start", [&bot](Message::Ptr message) { + bot.getApi().sendMessage(message->chat->id, "Hi!"); + }); + + bot.getEvents().onCommand("test", [&](Message::Ptr message) { + bot.getApi().sendMessage(message->chat->id, "Enter text"); + test_text_state = true; + }); + + bot.getEvents().onAnyMessage([&](TgBot::Message::Ptr message) { + if (test_text_state) { + bot.getApi().sendMessage(message->chat->id, message->text); + test_text_state = false; + return; + } + + for (const auto& command : bot_commands) { + if ("/" + command == message->text) { + return; + } + } + + bot.getApi().sendMessage(message->chat->id, "unknown command"); + }); + + try { + printf("Bot username: %s\n", bot.getApi().getMe()->username.c_str()); + bot.getApi().deleteWebhook(); + + while (true) { + printf("Long poll started\n"); + long_poll.start(); + } + } catch (exception& e) { + printf("error: %s\n", e.what()); + } + + return 0; +} -- cgit v1.2.3