mirror of
https://github.com/tdlight-team/tdlight-telegram-bot-api.git
synced 2025-01-14 22:07:33 +01:00
Add chat and id fields to the class Story.
This commit is contained in:
parent
36b97bd5a7
commit
c7adc690e4
@ -836,6 +836,14 @@ class Client::JsonChat final : public td::Jsonable {
|
|||||||
LOG(ERROR) << "Not found chat sticker set " << supergroup_info->sticker_set_id;
|
LOG(ERROR) << "Not found chat sticker set " << supergroup_info->sticker_set_id;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (supergroup_info->custom_emoji_sticker_set_id != 0) {
|
||||||
|
auto sticker_set_name = client_->get_sticker_set_name(supergroup_info->custom_emoji_sticker_set_id);
|
||||||
|
if (!sticker_set_name.empty()) {
|
||||||
|
object("custom_emoji_sticker_set_name", sticker_set_name);
|
||||||
|
} else {
|
||||||
|
LOG(ERROR) << "Not found chat custom emoji sticker set " << supergroup_info->custom_emoji_sticker_set_id;
|
||||||
|
}
|
||||||
|
}
|
||||||
if (supergroup_info->can_set_sticker_set) {
|
if (supergroup_info->can_set_sticker_set) {
|
||||||
object("can_set_sticker_set", td::JsonTrue());
|
object("can_set_sticker_set", td::JsonTrue());
|
||||||
}
|
}
|
||||||
@ -1605,6 +1613,23 @@ class Client::JsonPollAnswer final : public td::Jsonable {
|
|||||||
const Client *client_;
|
const Client *client_;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class Client::JsonStory final : public td::Jsonable {
|
||||||
|
public:
|
||||||
|
JsonStory(int64 chat_id, int32 story_id, const Client *client)
|
||||||
|
: chat_id_(chat_id), story_id_(story_id), client_(client) {
|
||||||
|
}
|
||||||
|
void store(td::JsonValueScope *scope) const {
|
||||||
|
auto object = scope->enter_object();
|
||||||
|
object("chat", JsonChat(chat_id_, client_));
|
||||||
|
object("id", story_id_);
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
int64 chat_id_;
|
||||||
|
int32 story_id_;
|
||||||
|
const Client *client_;
|
||||||
|
};
|
||||||
|
|
||||||
class Client::JsonForumTopicCreated final : public td::Jsonable {
|
class Client::JsonForumTopicCreated final : public td::Jsonable {
|
||||||
public:
|
public:
|
||||||
explicit JsonForumTopicCreated(const td_api::messageForumTopicCreated *forum_topic_created)
|
explicit JsonForumTopicCreated(const td_api::messageForumTopicCreated *forum_topic_created)
|
||||||
@ -2810,9 +2835,11 @@ void Client::JsonMessage::store(td::JsonValueScope *scope) const {
|
|||||||
object("chat_shared", JsonChatShared(content));
|
object("chat_shared", JsonChatShared(content));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case td_api::messageStory::ID:
|
case td_api::messageStory::ID: {
|
||||||
object("story", JsonEmptyObject());
|
auto content = static_cast<const td_api::messageStory *>(message_->content.get());
|
||||||
|
object("story", JsonStory(content->story_sender_chat_id_, content->story_id_, client_));
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
case td_api::messageChatSetBackground::ID:
|
case td_api::messageChatSetBackground::ID:
|
||||||
break;
|
break;
|
||||||
case td_api::messagePremiumGiftCode::ID:
|
case td_api::messagePremiumGiftCode::ID:
|
||||||
@ -4415,6 +4442,36 @@ class Client::TdOnGetStickerSetCallback final : public TdQueryCallback {
|
|||||||
int64 new_message_chat_id_;
|
int64 new_message_chat_id_;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class Client::TdOnGetChatCustomEmojiStickerSetCallback final : public TdQueryCallback {
|
||||||
|
public:
|
||||||
|
TdOnGetChatCustomEmojiStickerSetCallback(Client *client, int64 chat_id, int64 pinned_message_id,
|
||||||
|
PromisedQueryPtr query)
|
||||||
|
: client_(client), chat_id_(chat_id), pinned_message_id_(pinned_message_id), query_(std::move(query)) {
|
||||||
|
}
|
||||||
|
|
||||||
|
void on_result(object_ptr<td_api::Object> result) final {
|
||||||
|
auto chat_info = client_->get_chat(chat_id_);
|
||||||
|
CHECK(chat_info != nullptr);
|
||||||
|
CHECK(chat_info->type == ChatInfo::Type::Supergroup);
|
||||||
|
auto supergroup_info = client_->add_supergroup_info(chat_info->supergroup_id);
|
||||||
|
if (result->get_id() == td_api::error::ID) {
|
||||||
|
supergroup_info->custom_emoji_sticker_set_id = 0;
|
||||||
|
} else {
|
||||||
|
CHECK(result->get_id() == td_api::stickerSet::ID);
|
||||||
|
auto sticker_set = move_object_as<td_api::stickerSet>(result);
|
||||||
|
client_->on_get_sticker_set_name(sticker_set->id_, sticker_set->name_);
|
||||||
|
}
|
||||||
|
|
||||||
|
answer_query(JsonChat(chat_id_, client_, true, pinned_message_id_), std::move(query_));
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
Client *client_;
|
||||||
|
int64 chat_id_;
|
||||||
|
int64 pinned_message_id_;
|
||||||
|
PromisedQueryPtr query_;
|
||||||
|
};
|
||||||
|
|
||||||
class Client::TdOnGetChatStickerSetCallback final : public TdQueryCallback {
|
class Client::TdOnGetChatStickerSetCallback final : public TdQueryCallback {
|
||||||
public:
|
public:
|
||||||
TdOnGetChatStickerSetCallback(Client *client, int64 chat_id, int64 pinned_message_id, PromisedQueryPtr query)
|
TdOnGetChatStickerSetCallback(Client *client, int64 chat_id, int64 pinned_message_id, PromisedQueryPtr query)
|
||||||
@ -4422,17 +4479,25 @@ class Client::TdOnGetChatStickerSetCallback final : public TdQueryCallback {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void on_result(object_ptr<td_api::Object> result) final {
|
void on_result(object_ptr<td_api::Object> result) final {
|
||||||
|
auto chat_info = client_->get_chat(chat_id_);
|
||||||
|
CHECK(chat_info != nullptr);
|
||||||
|
CHECK(chat_info->type == ChatInfo::Type::Supergroup);
|
||||||
|
auto supergroup_info = client_->add_supergroup_info(chat_info->supergroup_id);
|
||||||
if (result->get_id() == td_api::error::ID) {
|
if (result->get_id() == td_api::error::ID) {
|
||||||
auto chat_info = client_->get_chat(chat_id_);
|
supergroup_info->sticker_set_id = 0;
|
||||||
CHECK(chat_info != nullptr);
|
|
||||||
CHECK(chat_info->type == ChatInfo::Type::Supergroup);
|
|
||||||
client_->add_supergroup_info(chat_info->supergroup_id)->sticker_set_id = 0;
|
|
||||||
} else {
|
} else {
|
||||||
CHECK(result->get_id() == td_api::stickerSet::ID);
|
CHECK(result->get_id() == td_api::stickerSet::ID);
|
||||||
auto sticker_set = move_object_as<td_api::stickerSet>(result);
|
auto sticker_set = move_object_as<td_api::stickerSet>(result);
|
||||||
client_->on_get_sticker_set_name(sticker_set->id_, sticker_set->name_);
|
client_->on_get_sticker_set_name(sticker_set->id_, sticker_set->name_);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
auto sticker_set_id = supergroup_info->custom_emoji_sticker_set_id;
|
||||||
|
if (sticker_set_id != 0 && client_->get_sticker_set_name(sticker_set_id).empty()) {
|
||||||
|
return client_->send_request(make_object<td_api::getStickerSet>(sticker_set_id),
|
||||||
|
td::make_unique<TdOnGetChatCustomEmojiStickerSetCallback>(
|
||||||
|
client_, chat_id_, pinned_message_id_, std::move(query_)));
|
||||||
|
}
|
||||||
|
|
||||||
answer_query(JsonChat(chat_id_, client_, true, pinned_message_id_), std::move(query_));
|
answer_query(JsonChat(chat_id_, client_, true, pinned_message_id_), std::move(query_));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4478,6 +4543,13 @@ class Client::TdOnGetChatPinnedMessageCallback final : public TdQueryCallback {
|
|||||||
make_object<td_api::getStickerSet>(sticker_set_id),
|
make_object<td_api::getStickerSet>(sticker_set_id),
|
||||||
td::make_unique<TdOnGetChatStickerSetCallback>(client_, chat_id_, pinned_message_id, std::move(query_)));
|
td::make_unique<TdOnGetChatStickerSetCallback>(client_, chat_id_, pinned_message_id, std::move(query_)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sticker_set_id = supergroup_info->custom_emoji_sticker_set_id;
|
||||||
|
if (sticker_set_id != 0 && client_->get_sticker_set_name(sticker_set_id).empty()) {
|
||||||
|
return client_->send_request(make_object<td_api::getStickerSet>(sticker_set_id),
|
||||||
|
td::make_unique<TdOnGetChatCustomEmojiStickerSetCallback>(
|
||||||
|
client_, chat_id_, pinned_message_id, std::move(query_)));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
answer_query(JsonChat(chat_id_, client_, true, pinned_message_id), std::move(query_));
|
answer_query(JsonChat(chat_id_, client_, true, pinned_message_id), std::move(query_));
|
||||||
@ -6147,6 +6219,7 @@ void Client::on_update(object_ptr<td_api::Object> result) {
|
|||||||
supergroup_info->invite_link = std::move(
|
supergroup_info->invite_link = std::move(
|
||||||
full_info->invite_link_ != nullptr ? std::move(full_info->invite_link_->invite_link_) : td::string());
|
full_info->invite_link_ != nullptr ? std::move(full_info->invite_link_->invite_link_) : td::string());
|
||||||
supergroup_info->sticker_set_id = full_info->sticker_set_id_;
|
supergroup_info->sticker_set_id = full_info->sticker_set_id_;
|
||||||
|
supergroup_info->custom_emoji_sticker_set_id = full_info->custom_emoji_sticker_set_id_;
|
||||||
supergroup_info->can_set_sticker_set = full_info->can_set_sticker_set_;
|
supergroup_info->can_set_sticker_set = full_info->can_set_sticker_set_;
|
||||||
supergroup_info->is_all_history_available = full_info->is_all_history_available_;
|
supergroup_info->is_all_history_available = full_info->is_all_history_available_;
|
||||||
supergroup_info->slow_mode_delay = full_info->slow_mode_delay_;
|
supergroup_info->slow_mode_delay = full_info->slow_mode_delay_;
|
||||||
|
@ -165,6 +165,7 @@ class Client final : public WebhookActor::Callback {
|
|||||||
class JsonMessageReactionCountUpdated;
|
class JsonMessageReactionCountUpdated;
|
||||||
class JsonAddress;
|
class JsonAddress;
|
||||||
class JsonOrderInfo;
|
class JsonOrderInfo;
|
||||||
|
class JsonStory;
|
||||||
class JsonSuccessfulPaymentBot;
|
class JsonSuccessfulPaymentBot;
|
||||||
class JsonEncryptedPassportElement;
|
class JsonEncryptedPassportElement;
|
||||||
class JsonEncryptedCredentials;
|
class JsonEncryptedCredentials;
|
||||||
@ -214,6 +215,7 @@ class Client final : public WebhookActor::Callback {
|
|||||||
class TdOnGetMyShortDescriptionCallback;
|
class TdOnGetMyShortDescriptionCallback;
|
||||||
class TdOnGetChatFullInfoCallback;
|
class TdOnGetChatFullInfoCallback;
|
||||||
class TdOnGetChatStickerSetCallback;
|
class TdOnGetChatStickerSetCallback;
|
||||||
|
class TdOnGetChatCustomEmojiStickerSetCallback;
|
||||||
class TdOnGetChatPinnedMessageCallback;
|
class TdOnGetChatPinnedMessageCallback;
|
||||||
class TdOnGetChatPinnedMessageToUnpinCallback;
|
class TdOnGetChatPinnedMessageToUnpinCallback;
|
||||||
class TdOnGetGroupMembersCallback;
|
class TdOnGetGroupMembersCallback;
|
||||||
@ -809,6 +811,7 @@ class Client final : public WebhookActor::Callback {
|
|||||||
td::string description;
|
td::string description;
|
||||||
td::string invite_link;
|
td::string invite_link;
|
||||||
int64 sticker_set_id = 0;
|
int64 sticker_set_id = 0;
|
||||||
|
int64 custom_emoji_sticker_set_id = 0;
|
||||||
int32 date = 0;
|
int32 date = 0;
|
||||||
int32 slow_mode_delay = 0;
|
int32 slow_mode_delay = 0;
|
||||||
int32 unrestrict_boost_count = 0;
|
int32 unrestrict_boost_count = 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user