diff options
author | Oleg Morozenkov <omorozenkov@gmail.com> | 2018-04-01 03:09:34 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-01 03:09:34 +0300 |
commit | 525861d940f2361531e4cd61b831a94f7d079ea9 (patch) | |
tree | ab18481c4775b76c7e021c5b36d272709cb1776d | |
parent | 59b1f98679bd4f9b21cc92a861db6655ec314605 (diff) | |
parent | 297e5bc0f8cb6a7fd0f3fbf1a722da7d47d6dea3 (diff) |
Merge pull request #58 from wtdcode/master
remove hard-code parameters in TgLongPoll() for getUpdates()
-rw-r--r-- | include/tgbot/net/TgLongPoll.h | 7 | ||||
-rw-r--r-- | src/net/TgLongPoll.cpp | 8 |
2 files changed, 10 insertions, 5 deletions
diff --git a/include/tgbot/net/TgLongPoll.h b/include/tgbot/net/TgLongPoll.h index 949a2a4..93ace5b 100644 --- a/include/tgbot/net/TgLongPoll.h +++ b/include/tgbot/net/TgLongPoll.h @@ -36,8 +36,8 @@ namespace TgBot { class TgLongPoll { public: - TgLongPoll(const Api* api, const EventHandler* eventHandler); - TgLongPoll(const Bot& bot); + TgLongPoll(const Api* api, const EventHandler* eventHandler, int32_t, int32_t, const std::shared_ptr<std::vector<std::string>>&); + TgLongPoll(const Bot& bot, int32_t = 100, int32_t = 60, const std::shared_ptr<std::vector<std::string>>& = nullptr); /** * Starts long poll. After new update will come, this method will parse it and send to EventHandler which invokes your listeners. Designed to be executed in a loop. @@ -46,6 +46,9 @@ public: private: int32_t _lastUpdateId = 0; + int32_t _limit; + int32_t _timeout; + std::shared_ptr<std::vector<std::string>> _allowupdates; const Api* _api; const EventHandler* _eventHandler; }; diff --git a/src/net/TgLongPoll.cpp b/src/net/TgLongPoll.cpp index 91bf058..30ce815 100644 --- a/src/net/TgLongPoll.cpp +++ b/src/net/TgLongPoll.cpp @@ -24,14 +24,16 @@ namespace TgBot { -TgLongPoll::TgLongPoll(const Api* api, const EventHandler* eventHandler) : _api(api), _eventHandler(eventHandler) { +TgLongPoll::TgLongPoll(const Api* api, const EventHandler* eventHandler, int32_t limit, int32_t timeout, const std::shared_ptr<std::vector<std::string>>& allowupdates) + : _api(api), _eventHandler(eventHandler), _limit(limit), _timeout(timeout), _allowupdates(allowupdates) { } -TgLongPoll::TgLongPoll(const Bot& bot) : TgLongPoll(&bot.getApi(), &bot.getEventHandler()) { +TgLongPoll::TgLongPoll(const Bot& bot, int32_t limit, int32_t timeout, const std::shared_ptr<std::vector<std::string>>& allowupdates) : + TgLongPoll(&bot.getApi(), &bot.getEventHandler(), limit, timeout, allowupdates) { } void TgLongPoll::start() { - std::vector<Update::Ptr> updates = _api->getUpdates(_lastUpdateId, 100, 60); + std::vector<Update::Ptr> updates = _api->getUpdates(_lastUpdateId, _limit, _timeout, _allowupdates); for (Update::Ptr& item : updates) { if (item->updateId >= _lastUpdateId) { _lastUpdateId = item->updateId + 1; |