yatbcpp  0.0.1
Yet another Telegram Bot CPP Library
ChatMember.h
Go to the documentation of this file.
1 #ifndef YATBCPP_CHATMEMBER_H
2 #define YATBCPP_CHATMEMBER_H
3 
4 #include <string>
5 #include <optional>
6 #include "chatmember_status.h"
7 #include "User.h"
8 
9 namespace yatbcpp{
11  class ChatMember {
12  public:
14 
16 
17  void setUntil_date(const std::optional<std::int32_t> &until_date);
18 
19  void setCan_be_edited(const std::optional<bool> &can_be_edited);
20 
21  void setCan_change_info(const std::optional<bool> &can_change_info);
22 
23  void setCan_post_messages(const std::optional<bool> &can_post_messages);
24 
25  void setCan_edit_messages(const std::optional<bool> &can_edit_messages);
26 
27  void setCan_delete_messages(const std::optional<bool> &can_delete_messages);
28 
29  void setCan_invite_users(const std::optional<bool> &can_invite_users);
30 
31  void setCan_restrict_members(const std::optional<bool> &can_restrict_members);
32 
33  void setCan_pin_messages(const std::optional<bool> &can_pin_messages);
34 
35  void setCan_promote_members(const std::optional<bool> &can_promote_members);
36 
37  void setCan_send_messages(const std::optional<bool> &can_send_messages);
38 
39  void setCan_send_media_messages(const std::optional<bool> &can_send_media_messages);
40 
41  void setCan_send_other_messages(const std::optional<bool> &can_send_other_messages);
42 
43  void setCan_add_web_page_previews(const std::optional<bool> &can_add_web_page_previews);
44 
45  const User &getUser() const;
46 
47  const chatmember_status &getStatus() const;
48 
49  const std::optional<std::int32_t> &getUntil_date() const;
50 
51  const std::optional<bool> &getCan_be_edited() const;
52 
53  const std::optional<bool> &getCan_change_info() const;
54 
55  const std::optional<bool> &getCan_post_messages() const;
56 
57  const std::optional<bool> &getCan_edit_messages() const;
58 
59  const std::optional<bool> &getCan_delete_messages() const;
60 
61  const std::optional<bool> &getCan_invite_users() const;
62 
63  const std::optional<bool> &getCan_restrict_members() const;
64 
65  const std::optional<bool> &getCan_pin_messages() const;
66 
67  const std::optional<bool> &getCan_promote_members() const;
68 
69  const std::optional<bool> &getCan_send_messages() const;
70 
71  const std::optional<bool> &getCan_send_media_messages() const;
72 
73  const std::optional<bool> &getCan_send_other_messages() const;
74 
75  const std::optional<bool> &getCan_add_web_page_previews() const;
76 
77  private:
79  chatmember_status status;//creator,administrator,member,restricted,left,kicked
80  std::optional<std::int32_t> until_date;//2038 might be a problem one day
81  std::optional<bool> can_be_edited;
82  std::optional<bool> can_change_info;
83  std::optional<bool> can_post_messages;
84  std::optional<bool> can_edit_messages;
85  std::optional<bool> can_delete_messages;
86  std::optional<bool> can_invite_users;
87  std::optional<bool> can_restrict_members;
88  std::optional<bool> can_pin_messages;
89  std::optional<bool> can_promote_members;
90  std::optional<bool> can_send_messages;
91  std::optional<bool> can_send_media_messages;
92  std::optional<bool> can_send_other_messages;
93  std::optional<bool> can_add_web_page_previews;
94  };
95 
96 }
97 
98 
99 #endif //YATBCPP_CHATMEMBER_H
void setCan_edit_messages(const std::optional< bool > &can_edit_messages)
Definition: ChatMember.cc:61
std::optional< bool > can_pin_messages
Definition: ChatMember.h:88
const std::optional< bool > & getCan_delete_messages() const
Definition: ChatMember.cc:133
const std::optional< bool > & getCan_edit_messages() const
Definition: ChatMember.cc:129
void setUntil_date(const std::optional< std::int32_t > &until_date)
Definition: ChatMember.cc:45
const std::optional< bool > & getCan_add_web_page_previews() const
Definition: ChatMember.cc:165
void setCan_promote_members(const std::optional< bool > &can_promote_members)
Definition: ChatMember.cc:81
const std::optional< std::int32_t > & getUntil_date() const
Definition: ChatMember.cc:113
void setCan_post_messages(const std::optional< bool > &can_post_messages)
Definition: ChatMember.cc:57
chatmember_status status
Definition: ChatMember.h:79
void setCan_pin_messages(const std::optional< bool > &can_pin_messages)
Definition: ChatMember.cc:77
std::optional< bool > can_restrict_members
Definition: ChatMember.h:87
const User & getUser() const
Definition: ChatMember.cc:105
void setCan_send_media_messages(const std::optional< bool > &can_send_media_messages)
Definition: ChatMember.cc:89
void setCan_be_edited(const std::optional< bool > &can_be_edited)
Definition: ChatMember.cc:49
std::optional< bool > can_add_web_page_previews
Definition: ChatMember.h:93
std::optional< bool > can_post_messages
Definition: ChatMember.h:83
const std::optional< bool > & getCan_be_edited() const
Definition: ChatMember.cc:117
std::optional< bool > can_change_info
Definition: ChatMember.h:82
Definition: Bot.h:27
const std::optional< bool > & getCan_restrict_members() const
Definition: ChatMember.cc:141
void setCan_restrict_members(const std::optional< bool > &can_restrict_members)
Definition: ChatMember.cc:73
ChatMember(User user, chatmember_status status)
Definition: ChatMember.cc:14
std::optional< bool > can_send_other_messages
Definition: ChatMember.h:92
const std::optional< bool > & getCan_promote_members() const
Definition: ChatMember.cc:149
const std::optional< bool > & getCan_post_messages() const
Definition: ChatMember.cc:125
void setCan_invite_users(const std::optional< bool > &can_invite_users)
Definition: ChatMember.cc:69
void setCan_add_web_page_previews(const std::optional< bool > &can_add_web_page_previews)
Definition: ChatMember.cc:97
std::optional< bool > can_be_edited
Definition: ChatMember.h:81
std::optional< bool > can_invite_users
Definition: ChatMember.h:86
const std::optional< bool > & getCan_send_media_messages() const
Definition: ChatMember.cc:157
std::optional< bool > can_delete_messages
Definition: ChatMember.h:85
void setCan_change_info(const std::optional< bool > &can_change_info)
Definition: ChatMember.cc:53
const std::optional< bool > & getCan_pin_messages() const
Definition: ChatMember.cc:145
std::optional< std::int32_t > until_date
Definition: ChatMember.h:80
void setCan_send_other_messages(const std::optional< bool > &can_send_other_messages)
Definition: ChatMember.cc:93
void setCan_send_messages(const std::optional< bool > &can_send_messages)
Definition: ChatMember.cc:85
std::optional< bool > can_promote_members
Definition: ChatMember.h:89
const std::optional< bool > & getCan_invite_users() const
Definition: ChatMember.cc:137
std::optional< bool > can_send_messages
Definition: ChatMember.h:90
const std::optional< bool > & getCan_send_messages() const
Definition: ChatMember.cc:153
void setCan_delete_messages(const std::optional< bool > &can_delete_messages)
Definition: ChatMember.cc:65
const std::optional< bool > & getCan_send_other_messages() const
Definition: ChatMember.cc:161
const chatmember_status & getStatus() const
Definition: ChatMember.cc:109
std::optional< bool > can_send_media_messages
Definition: ChatMember.h:91
const std::optional< bool > & getCan_change_info() const
Definition: ChatMember.cc:121
std::optional< bool > can_edit_messages
Definition: ChatMember.h:84