yatbcpp  0.0.1
Yet another Telegram Bot CPP Library
sendAudio.h
Go to the documentation of this file.
1 //
2 // Created by norbert on 27.08.17.
3 //
4 
5 #ifndef YATBCPP_SENDAUDIO_H
6 #define YATBCPP_SENDAUDIO_H
7 
8 #include "../types/Chat.h"
9 #include "../types/Message.h"
10 #include "../types/ReplyKeyboardMarkup.h"
11 #include "../types/ReplyKeyboardMarkup.h"
12 #include "../types/ReplyKeyboardRemove.h"
13 #include "../types/ForceReply.h"
14 #include "telegram_methodJSON.h"
16 
17 namespace yatbcpp{
18  class sendAudio : public telegram_methodJSON<Message>, public telegram_methodMultipart<Message>{
19  public:
20 
21 
22  void add_to_post(struct curl_httppost **start, struct curl_httppost **end);
23 
24  Json::Value toJson();
25 
32  sendAudio(std::int64_t chat_id,std::string audio);
39  sendAudio(std::string chat_id,std::string audio);
46  sendAudio(Chat C, std::string audio);
47 
48  void setCaption(const std::optional<std::string> &caption);
49 
50  void setDuration(const std::optional<std::string> &duration);
51 
52  void setPerformer(const std::optional<std::string> &performer);
53 
54  void setTitle(const std::optional<std::string> &title);
55 
56  void setDisable_notification(const std::optional<bool> &disable_notification);
57 
58  void setReply_to_message_id(const std::optional<int> &reply_to_message_id);
59 
60  void setReplyMarkup(const ReplyKeyboardMarkup RKM);
61  void setReplyMarkup(const ReplyKeyboardRemove RKR);
62  void setReplyMarkup(const ForceReply FR);
63 
64  const std::string &getChat_id() const;
65 
66  const std::string &getAudio() const;
67 
68  const std::optional<std::string> &getCaption() const;
69 
70  const std::optional<std::string> &getDuration() const;
71 
72  const std::optional<std::string> &getPerformer() const;
73 
74  const std::optional<std::string> &getTitle() const;
75 
76  const std::optional<bool> &getDisable_notification() const;
77 
78  const std::optional<std::int32_t> &getReply_to_message_id() const;
79 
80  const std::optional<ReplyMarkup> &getReply_markup() const;
81 
82 
83  private:
84  std::string chat_id;
85  std::string audio;//Currently only file id
86  std::optional<std::string> caption;
87  std::optional<std::string> duration;
88  std::optional<std::string> performer;
89  std::optional<std::string> title;
90  std::optional<bool> disable_notification;
91  std::optional<std::int32_t > reply_to_message_id;
92  std::optional<ReplyMarkup> reply_markup;
93  };
94 }
95 
96 #endif //YATBCPP_SENDAUDIO_H
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
std::string chat_id
Definition: sendAudio.h:84
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::string audio
Definition: sendAudio.h:85
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