telebotxx/README.md

1.8 KiB

telebotxx

Build Status

Telegram Bot API 2.0 for C++14. It uses C++ Requests library to perform HTTP requests and RapidJSON to work with JSON data. In development, so you are welcome to contribute.

Requirements

  • C++14-compatible compiler
  • CMake 2.8 or newer
  • Boost 1.54+
  • Boost Unit Test Framework (only for tests)

Building

You can set available options in CMakeLists.txt before running configure script.

git submodule update --init --recursive
./configure
make

Usage

Sending text message

Here is a simple example of how to send text message:

#include <telebotxx/BotApi.hpp>

std::string token = "YOUR:BOT:TOKEN";
int main()
{
  using namespace telebotxx;
  BotApi bot(token);
  Message answer = bot.sendMessage(ChatId{"@chat_name"},
                                   Text{"Hello, world!"}
                                  );
  return 0;
}

Member function BotApi::sendMessage() returns information about sent message on success or throws an exception.

You can pass additional options in any combination and order:

int messageId = ...; // ID of the original message to reply
Message answer = bot.sendMessage(ChatId{"@chat_name"},
                                 Text{"Hello, world!"},
                                 ReplyTo{messageId},
                                 ParseMode::Markdown,
                                 DisableNotification(),
                                 DisableWebPagePreview()                                 
                                );

Note, that ChatId argument can be specified with its name or id:

ChatId{"@chat_name"}
ChatId{123456}