Merge pull request #15 from QuasarApp/fix_cb

Added logout method
This commit is contained in:
Andrei Yankovich 2023-11-25 10:13:30 +01:00 committed by GitHub
commit e989530c94
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 35 additions and 3 deletions

View File

@ -17,7 +17,7 @@ namespace qTbot {
* @brief The FileWaiter class. This is a simple storage for the shared pointer of files.
* All added files will be removed (shared object) after finish donwload or upload.
*/
class FileWaiter: public QObject
class QTBOT_EXPORT FileWaiter: public QObject
{
Q_OBJECT
public:

View File

@ -21,6 +21,10 @@ IBot::~IBot() {
delete _manager;
}
void IBot::logout() {
setToken({});
}
const QByteArray &IBot::token() const {
return _token;
}

View File

@ -45,6 +45,11 @@ public:
*/
virtual bool login(const QByteArray& token) = 0;
/**
* @brief login This method remove login token of bot.
*/
virtual void logout();
/**
* @brief sendMessage This method sents text to the selected chat.
* @param chatId This is selected chat id
@ -223,6 +228,11 @@ signals:
*/
void sigReceiveUpdate(const QSharedPointer<iUpdate>& );
/**
* @brief sigStopRequire just custm event for stop bot if tou use services.
*/
void sigStopRequire();
private:
void doRemoveFinishedRequests();

View File

@ -505,8 +505,14 @@ bool ITelegramBot::sendMessageRequest(const QSharedPointer<iRequest> &rquest,
if (chatId) {
_lastMessageId[chatId] = messageID;
}
return;
}
}
if (msgIdCB) {
msgIdCB(-1);
}
});
}

View File

@ -16,7 +16,7 @@ namespace qTbot {
/**
* @brief The TelegramLocation class just simple struct with latitude and longitude
*/
class TelegramLocation: public IJsonBasedObject
class QTBOT_EXPORT TelegramLocation: public IJsonBasedObject
{
public:
TelegramLocation();

View File

@ -13,6 +13,7 @@
#include <QJsonArray>
#include <QTimer>
#include <qTbot/messages/telegrammsg.h>
#include <limits>
namespace qTbot {
@ -28,13 +29,22 @@ bool TelegramRestBot::login(const QByteArray &token) {
}
_lanstUpdateTime = QDateTime::currentMSecsSinceEpoch();
_run = true;
startUpdates();
return true;
}
void TelegramRestBot::logout() {
_run = false;
ITelegramBot::logout();
}
void TelegramRestBot::startUpdates() {
if (!_run)
return;
long long delta = QDateTime::currentMSecsSinceEpoch() - _lanstUpdateTime;

View File

@ -26,8 +26,9 @@ public:
~TelegramRestBot();
// IBot interface
bool login(const QByteArray &token);
bool login(const QByteArray &token) override;
void logout() override;
/**
* @brief updateDelay This is interval "how many msec bot will be wait for sent next request of updates" By defaul is 1000 msecs.
@ -49,6 +50,7 @@ private slots:
private:
void startUpdates();
bool _run = false;
long long _lanstUpdateTime = 0;
unsigned long long _lanstUpdateid = 0;