#include #include #include #include #include #include using namespace std; using namespace TgBot; int main() { string token(getenv("TOKEN")); printf("Token: %s\n", token.c_str()); Bot bot(token); bot.getEvents().onCommand("start", [&bot](Message::Ptr message) { bot.getApi().sendMessage(message->chat->id, "Hi!"); }); bot.getEvents().onAnyMessage([&bot](Message::Ptr message) { printf("User wrote %s\n", message->text.c_str()); if (StringTools::startsWith(message->text, "/start")) { return; } File::Ptr file = bot.getApi().getFile(message->document->fileId); string fileContent = bot.getApi().downloadFile(file->filePath); bot.getApi().sendMessage(message->chat->id, "Your file content: " + fileContent); }); signal(SIGINT, [](int s) { printf("SIGINT got\n"); exit(0); }); try { printf("Bot username: %s\n", bot.getApi().getMe()->username.c_str()); bot.getApi().deleteWebhook(); TgLongPoll longPoll(bot); while (true) { printf("Long poll started\n"); longPoll.start(); } } catch (exception& e) { printf("error: %s\n", e.what()); } return 0; }