yatbcpp  0.0.1
Yet another Telegram Bot CPP Library
sendVoice.h
Go to the documentation of this file.
1 //
2 // Created by norbert on 27.08.17.
3 //
4 
5 #ifndef YATBCPP_SENDVOICE_H
6 #define YATBCPP_SENDVOICE_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 sendVoice : 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  sendVoice(std::int64_t chat_id,std::string voice);
39  sendVoice(std::string chat_id,std::string voice);
46  sendVoice(Chat C, std::string voice);
47 
48  void setCaption(const std::optional<std::string> &caption);
49 
50  void setDuration(const std::optional<unsigned int> &duration);
51 
52  void setDisable_notification(const std::optional<bool> &disable_notification);
53 
54  void setReply_to_message_id(const std::optional<int> &reply_to_message_id);
55 
56  void setReplyMarkup(const ReplyKeyboardMarkup RKM);
57  void setReplyMarkup(const ReplyKeyboardRemove RKR);
58  void setReplyMarkup(const ForceReply FR);
59 
60  const std::string &getChat_id() const;
61 
62  const std::string &getVoice() const;
63 
64  const std::optional<std::string> &getCaption() const;
65 
66  const std::optional<unsigned int> &getDuration() const;
67 
68  const std::optional<bool> &getDisable_notification() const;
69 
70  const std::optional<int> &getReply_to_message_id() const;
71 
72  const std::optional<ReplyMarkup> &getReply_markup() const;
73 
74 
75  private:
76  std::string chat_id;
77  std::string voice;
78  std::optional<std::string> caption;
79  std::optional<unsigned int> duration;
80  std::optional<bool> disable_notification;
81  std::optional<int> reply_to_message_id;
82  std::optional<ReplyMarkup> reply_markup;
83  };
84 }
85 
86 #endif //YATBCPP_SENDVOICE_H
Json::Value toJson()
Definition: sendVoice.cc:39
std::optional< unsigned int > duration
Definition: sendVoice.h:79
const std::optional< bool > & getDisable_notification() const
Definition: sendVoice.cc:143
const std::optional< int > & getReply_to_message_id() const
Definition: sendVoice.cc:147
void setReply_to_message_id(const std::optional< int > &reply_to_message_id)
Definition: sendVoice.cc:95
void setDuration(const std::optional< unsigned int > &duration)
Definition: sendVoice.cc:87
void setCaption(const std::optional< std::string > &caption)
Definition: sendVoice.cc:82
const std::optional< std::string > & getCaption() const
Definition: sendVoice.cc:135
void setReplyMarkup(const ReplyKeyboardMarkup RKM)
Definition: sendVoice.cc:103
std::optional< bool > disable_notification
Definition: sendVoice.h:80
const std::string & getChat_id() const
Definition: sendVoice.cc:127
Definition: Bot.h:27
const std::optional< unsigned int > & getDuration() const
Definition: sendVoice.cc:139
void setDisable_notification(const std::optional< bool > &disable_notification)
Definition: sendVoice.cc:91
const std::optional< ReplyMarkup > & getReply_markup() const
Definition: sendVoice.cc:151
std::optional< ReplyMarkup > reply_markup
Definition: sendVoice.h:82
std::string voice
Definition: sendVoice.h:77
sendVoice(std::int64_t chat_id, std::string voice)
const std::string & getVoice() const
Definition: sendVoice.cc:131
void add_to_post(struct curl_httppost **start, struct curl_httppost **end)
Definition: sendVoice.cc:61
std::string chat_id
Definition: sendVoice.h:76
std::optional< int > reply_to_message_id
Definition: sendVoice.h:81
std::optional< std::string > caption
Definition: sendVoice.h:78