git-svn-id: svn://db.shs.com.ru/libs@132 a8b55f48-bf90-11e4-a774-851b48703e85
This commit is contained in:
54
telegram_bot/telegrambotbase.h
Normal file
54
telegram_bot/telegrambotbase.h
Normal file
@@ -0,0 +1,54 @@
|
||||
#ifndef TELEGRAMBOTBASE_H
|
||||
#define TELEGRAMBOTBASE_H
|
||||
|
||||
#include <QObject>
|
||||
#include "telegrambotapi.h"
|
||||
|
||||
class TelegramBotBase : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit TelegramBotBase(QObject *parent = 0);
|
||||
TelegramBotAPI * getAPI() {return &api;}
|
||||
|
||||
|
||||
|
||||
public slots:
|
||||
void sendMessageToAll(const QString & message);
|
||||
void setBotToken(QString token) {api.setBotToken(token);}
|
||||
|
||||
protected:
|
||||
struct User {
|
||||
User() {
|
||||
user_id = 0;
|
||||
logged_in = false;
|
||||
}
|
||||
uint user_id;
|
||||
bool logged_in;
|
||||
QString user_name;
|
||||
QDateTime last_timestamp;
|
||||
};
|
||||
|
||||
const User & getUser(uint id) {return users[id];}
|
||||
virtual QString welcome(uint id);
|
||||
virtual QString loginMessage(uint id);
|
||||
virtual QString help();
|
||||
virtual bool loginUser(uint id, const QString & msg);
|
||||
virtual void messageFromUser(uint id, const QString & msg);
|
||||
virtual void newUser(uint id, User user);
|
||||
void disconnectUser(uint id);
|
||||
|
||||
private slots:
|
||||
void processMessage(TelegramBotAPI::Message msg);
|
||||
|
||||
private:
|
||||
QMap<uint, User> users;
|
||||
TelegramBotAPI api;
|
||||
|
||||
QString m_botToken;
|
||||
|
||||
signals:
|
||||
|
||||
};
|
||||
|
||||
#endif // TELEGRAMBOTBASE_H
|
||||
Reference in New Issue
Block a user