diff options
Diffstat (limited to 'src/Api.cpp')
-rw-r--r-- | src/Api.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/Api.cpp b/src/Api.cpp index 6e01807..0a08353 100644 --- a/src/Api.cpp +++ b/src/Api.cpp @@ -1155,6 +1155,22 @@ Poll::Ptr Api::stopPoll(std::int64_t chatId, std::int64_t messageId, const Inlin return _tgTypeParser.parseJsonAndGetPoll(sendRequest("stopPoll", args)); } +bool Api::setMyCommands(const std::vector<BotCommand::Ptr>& commands) const { + + vector<HttpReqArg> args; + args.reserve(5); + + string commandsJson = _tgTypeParser.parseArray<BotCommand>(&TgTypeParser::parseBotCommand, commands); + args.emplace_back("commands", commandsJson); + + return sendRequest("setMyCommands",args).get<bool>("",false); +} + +std::vector<BotCommand::Ptr> Api::getMyCommands() const +{ + return _tgTypeParser.parseJsonAndGetArray<BotCommand>(&TgTypeParser::parseJsonAndGetBotCommand, sendRequest("getMyCommands")); +} + ptree Api::sendRequest(const string& method, const vector<HttpReqArg>& args) const { string url = "https://api.telegram.org/bot"; url += _token; @@ -1189,4 +1205,6 @@ string Api::downloadFile(const string& filePath, const std::vector<HttpReqArg>& return serverResponse; } + + } |