yatbcpp  0.0.1
Yet another Telegram Bot CPP Library
ReplyKeyboardMarkup_fromJson.cc
Go to the documentation of this file.
1 // From JSON Specialication //
4 #include <jsoncpp/json/json.h>
5 #include "types/telegram_type.h"
8 
9 using namespace std;
10 
11 namespace yatbcpp {
17  template<> ReplyKeyboardMarkup fromJson(Json::Value Data) {
18  std::vector<std::vector<KeyboardButton>> keyboardbuttons;
19  for (int i = 0; i < Data["photos"].size(); i++) {
20  std::vector<KeyboardButton> keyboardbutton;
21  for (int j = 0; j < Data["photos"][i].size(); j++) {
22  keyboardbutton.push_back(fromJson<KeyboardButton>(Data["keyboard"][i]));
23  }
24  keyboardbuttons.push_back(keyboardbutton);
25  }
26 
27 
28  ReplyKeyboardMarkup ret(keyboardbuttons);
29 
30  if (Data.isMember("resize_keyboard")) {
31  ret.setResize_keyboard(Data["resize_keyboard"].asBool());
32  }
33  if (Data.isMember("one_time_keyboard")) {
34  ret.setOne_time_keyboard(Data["one_time_keyboard"].asBool());
35  }
36  if (Data.isMember("selective")) {
37  ret.setSelective(Data["selective"].asBool());
38  }
39 
40 
41  return ret;
42  }
43 }
44 
void setResize_keyboard(const std::optional< bool > &resize_keyboard)
void setSelective(const std::optional< bool > &selective)
Definition: Bot.h:27
void setOne_time_keyboard(const std::optional< bool > &one_time_keyboard)
ReplyKeyboardMarkup fromJson(Json::Value Data)