Skip to content

VitaliBabkin/tgbot-cpp

 
 

Repository files navigation

tgbot-cpp

Build Status Join the chat at https://gitter.im/reo7sp/tgbot-cpp Donate using Yandex.Money

C++ library for Telegram bot API.

Documentaion is located here

Compilation

Firstly you need to install some dependencies such as Boost and build tools such as CMake. On Debian-based distibutives you can do it with these commands:

sudo apt-get install g++ make binutils cmake libssl-dev libboost-system-dev libboost-iostreams-dev libboost-test-dev

To compile the library execute this commands:

cd /path/where/you/have/cloned/the/library/repository
cmake .
make -j4
sudo make install

That's all. All you have to do now is just link compiled library to your project.

If you want, you can also use Docker to build and run your bot. Just set the base image of your's Dockerfile to reo7sp/tgbot-cpp.

Samples

Simple echo bot which sends everything it recieves:

#include <stdio.h>
#include <tgbot/tgbot.h>

int main() {
    TgBot::Bot bot("PLACE YOUR TOKEN HERE");
    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;
        }
        bot.getApi().sendMessage(message->chat->id, "Your message is: " + message->text);
    });
    try {
        printf("Bot username: %s\n", bot.getApi().getMe()->username.c_str());
        TgBot::TgLongPoll longPoll(bot);
        while (true) {
            printf("Long poll started\n");
            longPoll.start();
        }
    } catch (TgBot::TgException& e) {
        printf("error: %s\n", e.what());
    }
    return 0;
}

All samples are located here

Feedback

Feel free to create new issues on GitHub or contact me on Telegram

Licence

The MIT License

About

C++ library for Telegram bot API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 99.3%
  • CMake 0.7%