summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorray-pixar <pixar@chmail.ir>2015-09-10 19:19:15 +0430
committerray-pixar <pixar@chmail.ir>2015-09-10 19:19:15 +0430
commit6bb048c991a52c0b974bd4a316579f0a622a70ec (patch)
treea46258645f3647431c60379335d217445a22ab81 /include
parenta4954856e680b85eebdcfa5dddf5c9baf8102077 (diff)
Fix for send files using multipart/form
Diffstat (limited to 'include')
-rw-r--r--include/tgbot/Api.h12
-rw-r--r--include/tgbot/net/HttpReqArg.h9
-rw-r--r--include/tgbot/types/InputFile.h9
3 files changed, 22 insertions, 8 deletions
diff --git a/include/tgbot/Api.h b/include/tgbot/Api.h
index ebebfd7..1881015 100644
--- a/include/tgbot/Api.h
+++ b/include/tgbot/Api.h
@@ -46,7 +46,7 @@ class Bot;
*/
class Api {
-friend Bot;
+friend class Bot;
public:
Api(const std::string& token);
@@ -97,7 +97,7 @@ public:
* @param replyMarkup Optional. Additional interface options. An object for a custom reply keyboard, instructions to hide keyboard or to force a reply from the user.
* @return On success, the sent message is returned.
*/
- Message::Ptr sendPhoto(int32_t chatId, const std::string& photo, const std::string& caption = "", int32_t replyToMessageId = 0, const GenericReply::Ptr& replyMarkup = GenericReply::Ptr()) const;
+ Message::Ptr sendPhoto(int32_t chatId, const std::string& photoId, const std::string& caption = "", int32_t replyToMessageId = 0, const GenericReply::Ptr& replyMarkup = GenericReply::Ptr()) const;
/**
* Use this method to send audio files, if you want Telegram clients to display the file as a playable voice message. For this to work, your audio must be in an .ogg file encoded with OPUS (other formats may be sent as Document).
@@ -119,7 +119,7 @@ public:
* @param replyMarkup Optional. Additional interface options. An object for a custom reply keyboard, instructions to hide keyboard or to force a reply from the user.
* @return On success, the sent message is returned.
*/
- Message::Ptr sendAudio(int32_t chatId, const std::string& audio, int32_t duration = 0, int32_t replyToMessageId = 0, const GenericReply::Ptr& replyMarkup = GenericReply::Ptr()) const;
+ Message::Ptr sendAudio(int32_t chatId, const std::string& audioId, int32_t duration = 0, int32_t replyToMessageId = 0, const GenericReply::Ptr& replyMarkup = GenericReply::Ptr()) const;
/**
* Use this method to send general files.
@@ -139,7 +139,7 @@ public:
* @param replyMarkup Optional. Additional interface options. An object for a custom reply keyboard, instructions to hide keyboard or to force a reply from the user.
* @return On success, the sent message is returned.
*/
- Message::Ptr sendDocument(int32_t chatId, const std::string& document, int32_t replyToMessageId = 0, const GenericReply::Ptr& replyMarkup = GenericReply::Ptr()) const;
+ Message::Ptr sendDocument(int32_t chatId, const std::string& documentId, int32_t replyToMessageId = 0, const GenericReply::Ptr& replyMarkup = GenericReply::Ptr()) const;
/**
* Use this method to send .webp stickers.
@@ -159,7 +159,7 @@ public:
* @param replyMarkup Optional. Additional interface options. A object for a custom reply keyboard, instructions to hide keyboard or to force a reply from the user.
* @return On success, the sent message is returned.
*/
- Message::Ptr sendSticker(int32_t chatId, const std::string& sticker, int32_t replyToMessageId = 0, const GenericReply::Ptr& replyMarkup = GenericReply::Ptr()) const;
+ Message::Ptr sendSticker(int32_t chatId, const std::string& stickerId, int32_t replyToMessageId = 0, const GenericReply::Ptr& replyMarkup = GenericReply::Ptr()) const;
/**
* Use this method to send video files, Telegram clients support mp4 videos (other formats may be sent as Document).
@@ -179,7 +179,7 @@ public:
* @param replyMarkup Optional. Additional interface options. A object for a custom reply keyboard, instructions to hide keyboard or to force a reply from the user.
* @return On success, the sent message is returned.
*/
- Message::Ptr sendVideo(int32_t chatId, const std::string& video, int32_t replyToMessageId = 0, const GenericReply::Ptr& replyMarkup = GenericReply::Ptr()) const;
+ Message::Ptr sendVideo(int32_t chatId, const std::string& videoId, int32_t replyToMessageId = 0, const GenericReply::Ptr& replyMarkup = GenericReply::Ptr()) const;
/**
* Use this method to send point on the map.
diff --git a/include/tgbot/net/HttpReqArg.h b/include/tgbot/net/HttpReqArg.h
index 65f4f52..683c2b0 100644
--- a/include/tgbot/net/HttpReqArg.h
+++ b/include/tgbot/net/HttpReqArg.h
@@ -37,8 +37,8 @@ class HttpReqArg {
public:
template<typename T>
- HttpReqArg(const std::string& name, const T& value, bool isFile = false, const std::string& mimeType = "text/plain") :
- name(name), value(boost::lexical_cast<std::string>(value)), isFile(isFile), mimeType(mimeType)
+ HttpReqArg(const std::string& name, const T& value, bool isFile = false, const std::string& mimeType = "text/plain", std::string fileName = "") :
+ name(name), value(boost::lexical_cast<std::string>(value)), isFile(isFile), mimeType(mimeType), fileName(fileName)
{
}
@@ -61,6 +61,11 @@ public:
* Mime type of an argument value. This field makes sense only if isFile is true.
*/
std::string mimeType = "text/plain";
+
+ /**
+ * Should be set if an argument value hold some file contents
+ */
+ std::string fileName;
};
}
diff --git a/include/tgbot/types/InputFile.h b/include/tgbot/types/InputFile.h
index 825e677..1228885 100644
--- a/include/tgbot/types/InputFile.h
+++ b/include/tgbot/types/InputFile.h
@@ -36,6 +36,10 @@ namespace TgBot {
class InputFile {
public:
+ InputFile() {
+ fileName = "set_file_name.ext";
+ }
+
typedef std::shared_ptr<InputFile> Ptr;
/**
@@ -47,6 +51,11 @@ public:
* Mime type of a file.
*/
std::string mimeType;
+
+ /**
+ * File name.
+ */
+ std::string fileName;
};
}