You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
1.7 KiB
78 lines
1.7 KiB
#ifndef _TG_MESSAGE_H_ |
|
#define _TG_MESSAGE_H_ |
|
|
|
#include <json/json.h> |
|
|
|
#include <string> |
|
#include <vector> |
|
|
|
#include <Telegram/Audio.h> |
|
#include <Telegram/Chat.h> |
|
#include <Telegram/Contact.h> |
|
#include <Telegram/Document.h> |
|
#include <Telegram/Location.h> |
|
#include <Telegram/MessageEntity.h> |
|
#include <Telegram/PhotoSize.h> |
|
#include <Telegram/Sticker.h> |
|
#include <Telegram/User.h> |
|
#include <Telegram/Venue.h> |
|
#include <Telegram/Video.h> |
|
#include <Telegram/Voice.h> |
|
|
|
namespace Telegram { |
|
|
|
/** |
|
* See https://core.telegram.org/bots/api#message |
|
*/ |
|
class Message { |
|
public: |
|
// Constructors |
|
Message(void); |
|
Message(Json::Value); |
|
Message(std::string); |
|
|
|
void setEntities(Json::Value); |
|
std::vector<PhotoSize*> setPhotos(Json::Value); |
|
|
|
Telegram::Chat *getChat(); |
|
std::string getText(); |
|
Telegram::TMessageEntities getEntities(); |
|
|
|
private: |
|
Json::UInt64 message_id; |
|
User *from; |
|
Json::Int64 date; |
|
Chat *chat; |
|
User *forward_from; |
|
Json::Int64 forward_date; |
|
Message *reply_to_message; |
|
std::string text; |
|
Telegram::TMessageEntities entities; |
|
Audio *audio; |
|
Document *document; |
|
std::vector<PhotoSize*> photo; |
|
Sticker *sticker; |
|
Video *video; |
|
Voice *voice; |
|
std::string caption; |
|
Contact *contact; |
|
Location *location; |
|
Venue *venue; |
|
User *new_chat_member; |
|
User *left_chat_member; |
|
std::string new_chat_title; |
|
std::vector<PhotoSize*> new_chat_photo; |
|
int delete_chat_photo; |
|
int group_chat_created; |
|
int supergroup_chat_created; |
|
Json::Int64 migrate_to_chat_id; |
|
Json::Int64 migrate_from_chat_id; |
|
Message *pinned_message; |
|
|
|
// Methods |
|
void init(void); |
|
void init(Json::Value); |
|
}; |
|
} |
|
|
|
#endif
|
|
|