yatbcpp  0.0.1
Yet another Telegram Bot CPP Library
sendAudio.cc
Go to the documentation of this file.
1 
2 #include <string>
3 #include <optional>
4 #include "methods/sendAudio.h"
5 
6 using namespace std;
7 using namespace yatbcpp;
8 
10 // Constructor Section //
12 
13 sendAudio::sendAudio(Chat C, string audio) :
14  telegram_methodJSON("sendAudio"), telegram_methodMultipart("sendAudio"),
15  chat_id(to_string(C.getId())), audio(move(audio))
16 {
17 
18 }
19 
20 sendAudio::sendAudio(int64_t chat_id, string audio) :
21  telegram_methodJSON("sendAudio"),telegram_methodMultipart("sendAudio"),
22  chat_id(to_string(chat_id)) , audio(move(audio))
23 {
24 
25 }
26 
27 sendAudio::sendAudio(string chat_id, string audio) :
28  telegram_methodJSON("sendAudio"),telegram_methodMultipart("sendAudio"),
29  chat_id(move(chat_id)) , audio(move(audio))
30 {
31 
32 }
33 
35 // Outgoing Section //
37 
38 
39 Json::Value sendAudio::toJson() {
40  Json::Value Outgoing;
41  Outgoing["chat_id"] = getChat_id();
42  Outgoing["audio"] = getAudio();
43 
44  if(getCaption()){
45  Outgoing["caption"] = getCaption().value();
46  }
47  if(getDuration()){
48  Outgoing["duration"] = getDuration().value();
49  }
50  if(getPerformer()){
51  Outgoing["performer"] = getPerformer().value();
52  }
53  if(getTitle()){
54  Outgoing["title"] = getTitle().value();
55  }
56  if(getDisable_notification()){
57  Outgoing["disable_notification"] = getDisable_notification().value();
58  }
59  if(getReply_to_message_id()){
60  Outgoing["reply_to_message_id"] = getReply_to_message_id().value();
61  }
62 
63  return Outgoing;
64 
65 }
66 
67 void sendAudio::add_to_post(struct curl_httppost **start, struct curl_httppost **end) {
68  curl_formadd(start,end,
69  CURLFORM_COPYNAME,"chat_id",
70  CURLFORM_COPYCONTENTS,chat_id.c_str(),
71  CURLFORM_END);
72  curl_formadd(start,end,
73  CURLFORM_COPYNAME,"audio",
74  CURLFORM_FILE,audio.c_str(),
75  CURLFORM_END);
76  if(caption){
77  curl_formadd(start,end,
78  CURLFORM_COPYNAME,"caption",
79  CURLFORM_COPYCONTENTS,caption.value().c_str(),
80  CURLFORM_END);
81  }
82  //TODO add other fields
83 }
84 
86 // Setter Section //
88 
89 void sendAudio::setCaption(const optional<string> &caption) {
90  sendAudio::caption = caption;
91 }
92 
93 
94 void sendAudio::setDuration(const optional<string> &duration) {
95  sendAudio::duration = duration;
96 }
97 
98 void sendAudio::setPerformer(const optional<string> &performer) {
99  sendAudio::performer = performer;
100 }
101 
102 void sendAudio::setTitle(const optional<string> &title) {
103  sendAudio::title = title;
104 }
105 
106 void sendAudio::setDisable_notification(const optional<bool> &disable_notification) {
107  sendAudio::disable_notification = disable_notification;
108 }
109 
110 void sendAudio::setReply_to_message_id(const optional<int32_t> &reply_to_message_id) {
111  sendAudio::reply_to_message_id = reply_to_message_id;
112 }
113 
120 }
121 
128 }
129 
136 }
137 
139 // Getter Section //
141 
142 const string &sendAudio::getChat_id() const {
143  return chat_id;
144 }
145 
146 const string &sendAudio::getAudio() const {
147  return audio;
148 }
149 
150 const optional<string> &sendAudio::getCaption() const {
151  return caption;
152 }
153 
154 const optional<string> &sendAudio::getDuration() const {
155  return duration;
156 }
157 
158 const optional<string> &sendAudio::getPerformer() const {
159  return performer;
160 }
161 
162 const optional<string> &sendAudio::getTitle() const {
163  return title;
164 }
165 
166 const optional<bool> &sendAudio::getDisable_notification() const {
167  return disable_notification;
168 }
169 
170 const optional<int32_t> &sendAudio::getReply_to_message_id() const {
171  return reply_to_message_id;
172 }
173 
174 const optional<ReplyMarkup> &sendAudio::getReply_markup() const {
175  return reply_markup;
176 }
const std::optional< std::string > & getCaption() const
Definition: sendAudio.cc:150
void setCaption(const std::optional< std::string > &caption)
Definition: sendAudio.cc:89
Json::Value toJson()
Definition: sendAudio.cc:39
const std::optional< std::string > & getPerformer() const
Definition: sendAudio.cc:158
sendAudio(std::int64_t chat_id, std::string audio)
void setDisable_notification(const std::optional< bool > &disable_notification)
Definition: sendAudio.cc:106
const std::string & getChat_id() const
Definition: sendAudio.cc:142
Definition: Bot.h:27
const std::string & getAudio() const
Definition: sendAudio.cc:146
void setTitle(const std::optional< std::string > &title)
Definition: sendAudio.cc:102
void setReply_to_message_id(const std::optional< int > &reply_to_message_id)
Definition: sendAudio.cc:110
void setReplyMarkup(const ReplyKeyboardMarkup RKM)
Definition: sendAudio.cc:118
const std::optional< std::string > & getTitle() const
Definition: sendAudio.cc:162
const std::optional< ReplyMarkup > & getReply_markup() const
Definition: sendAudio.cc:174
std::optional< bool > disable_notification
Definition: sendAudio.h:90
std::optional< ReplyMarkup > reply_markup
Definition: sendAudio.h:92
const std::optional< std::string > & getDuration() const
Definition: sendAudio.cc:154
const std::optional< std::int32_t > & getReply_to_message_id() const
Definition: sendAudio.cc:170
void add_to_post(struct curl_httppost **start, struct curl_httppost **end)
Definition: sendAudio.cc:67
std::optional< std::int32_t > reply_to_message_id
Definition: sendAudio.h:91
std::optional< std::string > duration
Definition: sendAudio.h:87
void setDuration(const std::optional< std::string > &duration)
Definition: sendAudio.cc:94
const std::optional< bool > & getDisable_notification() const
Definition: sendAudio.cc:166
std::optional< std::string > title
Definition: sendAudio.h:89
std::optional< std::string > caption
Definition: sendAudio.h:86
void setPerformer(const std::optional< std::string > &performer)
Definition: sendAudio.cc:98
std::optional< std::string > performer
Definition: sendAudio.h:88