yatbcpp  0.0.1
Yet another Telegram Bot CPP Library
ChatMember_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"
7 #include "types/ChatMember.h"
8 
9 using namespace std;
10 
11 namespace yatbcpp {
17  template<> ChatMember fromJson(Json::Value Data) {
18  if (!Data.isMember("user")) {
19  throw essential_key_missing("ChatMember::user is missing");
20  }
21  if (!Data.isMember("status")) {
22  throw essential_key_missing("ChatMember::status is missing");
23  }
24 
25  // yatbcpp<User>::fromJson()
26  User user = yatbcpp::fromJson<User>(Data["user"]);
27  //string status = Data["status"].asString();
28  chatmember_status status = yatbcpp::fromString<chatmember_status>(Data["status"].asString());
29 
30  ChatMember ret(user, status);
31 
32  if (Data.isMember("until_date")) {
33  ret.setUntil_date(Data["until_date"].asInt());
34  }
35  if (Data.isMember("can_be_edited")) {
36  ret.setCan_be_edited(Data["can_be_edited"].asBool());
37  }
38  if (Data.isMember("can_change_info")) {
39  ret.setCan_change_info(Data["can_change_info"].asBool());
40  }
41  if (Data.isMember("can_post_messages")) {
42  ret.setCan_post_messages(Data["can_post_messages"].asBool());
43  }
44  if (Data.isMember("can_edit_messages")) {
45  ret.setCan_edit_messages(Data["can_edit_messages"].asBool());
46  }
47  if (Data.isMember("can_delete_messages")) {
48  ret.setCan_delete_messages(Data["can_delete_messages"].asBool());
49  }
50  if (Data.isMember("can_invite_users")) {
51  ret.setCan_invite_users(Data["can_invite_users"].asBool());
52  }
53  if (Data.isMember("can_restrict_members")) {
54  ret.setCan_restrict_members(Data["can_restrict_members"].asBool());
55  }
56  if (Data.isMember("can_pin_messages")) {
57  ret.setCan_pin_messages(Data["can_pin_messages"].asBool());
58  }
59  if (Data.isMember("can_promote_members")) {
60  ret.setCan_promote_members(Data["can_promote_members"].asBool());
61  }
62  if (Data.isMember("can_send_messages")) {
63  ret.setCan_send_messages(Data["can_send_messages"].asBool());
64  }
65  if (Data.isMember("can_send_media_messages")) {
66  ret.setCan_send_media_messages(Data["can_send_media_messages"].asBool());
67  }
68  if (Data.isMember("can_send_other_messages")) {
69  ret.setCan_send_other_messages(Data["can_send_other_messages"].asBool());
70  }
71  if (Data.isMember("can_add_web_page_previews")) {
72  ret.setCan_add_web_page_previews(Data["can_add_web_page_previews"].asBool());
73  }
74  return ret;
75  }
76 }
Definition: Bot.h:27
ChatMember fromJson(Json::Value Data)
User fromJson< User >(Json::Value Data)