mirror of
https://github.com/tdlib/telegram-bot-api
synced 2025-08-22 09:57:44 +00:00
Add Message.checklist.
This commit is contained in:
parent
2477e5c19e
commit
cdf2f74c04
@ -2027,6 +2027,53 @@ class Client::JsonPollAnswer final : public td::Jsonable {
|
|||||||
const Client *client_;
|
const Client *client_;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class Client::JsonChecklistTask final : public td::Jsonable {
|
||||||
|
public:
|
||||||
|
JsonChecklistTask(const td_api::checklistTask *task, const Client *client) : task_(task), client_(client) {
|
||||||
|
}
|
||||||
|
void store(td::JsonValueScope *scope) const {
|
||||||
|
auto object = scope->enter_object();
|
||||||
|
object("id", task_->id_);
|
||||||
|
object("text", task_->text_->text_);
|
||||||
|
if (!task_->text_->entities_.empty()) {
|
||||||
|
object("text_entities", JsonVectorEntities(task_->text_->entities_, client_));
|
||||||
|
}
|
||||||
|
if (task_->completed_by_user_id_ != 0 && task_->completion_date_ != 0) {
|
||||||
|
object("completed_by_user", JsonUser(task_->completed_by_user_id_, client_));
|
||||||
|
object("completion_date", task_->completion_date_);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
const td_api::checklistTask *task_;
|
||||||
|
const Client *client_;
|
||||||
|
};
|
||||||
|
|
||||||
|
class Client::JsonChecklist final : public td::Jsonable {
|
||||||
|
public:
|
||||||
|
JsonChecklist(const td_api::checklist *checklist, const Client *client) : checklist_(checklist), client_(client) {
|
||||||
|
}
|
||||||
|
void store(td::JsonValueScope *scope) const {
|
||||||
|
auto object = scope->enter_object();
|
||||||
|
object("title", checklist_->title_->text_);
|
||||||
|
if (!checklist_->title_->entities_.empty()) {
|
||||||
|
object("title_entities", JsonVectorEntities(checklist_->title_->entities_, client_));
|
||||||
|
}
|
||||||
|
object("tasks", td::json_array(checklist_->tasks_,
|
||||||
|
[client = client_](auto &task) { return JsonChecklistTask(task.get(), client); }));
|
||||||
|
if (checklist_->others_can_add_tasks_) {
|
||||||
|
object("others_can_add_tasks", td::JsonTrue());
|
||||||
|
}
|
||||||
|
if (checklist_->others_can_mark_tasks_as_done_) {
|
||||||
|
object("others_can_mark_tasks_as_done", td::JsonTrue());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
const td_api::checklist *checklist_;
|
||||||
|
const Client *client_;
|
||||||
|
};
|
||||||
|
|
||||||
class Client::JsonStory final : public td::Jsonable {
|
class Client::JsonStory final : public td::Jsonable {
|
||||||
public:
|
public:
|
||||||
JsonStory(int64 chat_id, int32 story_id, const Client *client)
|
JsonStory(int64 chat_id, int32 story_id, const Client *client)
|
||||||
@ -3722,8 +3769,11 @@ void Client::JsonMessage::store(td::JsonValueScope *scope) const {
|
|||||||
object("direct_message_price_changed", JsonDirectMessagePriceChanged(content));
|
object("direct_message_price_changed", JsonDirectMessagePriceChanged(content));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case td_api::messageChecklist::ID:
|
case td_api::messageChecklist::ID: {
|
||||||
|
auto content = static_cast<const td_api::messageChecklist *>(message_->content.get());
|
||||||
|
object("checklist", JsonChecklist(content->list_.get(), client_));
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
case td_api::messageChecklistTasksDone::ID:
|
case td_api::messageChecklistTasksDone::ID:
|
||||||
break;
|
break;
|
||||||
case td_api::messageChecklistTasksAdded::ID:
|
case td_api::messageChecklistTasksAdded::ID:
|
||||||
@ -15535,8 +15585,6 @@ bool Client::need_skip_update_message(int64 chat_id, const object_ptr<td_api::me
|
|||||||
return true;
|
return true;
|
||||||
case td_api::messageGroupCall::ID:
|
case td_api::messageGroupCall::ID:
|
||||||
return true;
|
return true;
|
||||||
case td_api::messageChecklist::ID:
|
|
||||||
return true;
|
|
||||||
case td_api::messageChecklistTasksDone::ID:
|
case td_api::messageChecklistTasksDone::ID:
|
||||||
return true;
|
return true;
|
||||||
case td_api::messageChecklistTasksAdded::ID:
|
case td_api::messageChecklistTasksAdded::ID:
|
||||||
|
@ -133,6 +133,8 @@ class Client final : public WebhookActor::Callback {
|
|||||||
class JsonPollOption;
|
class JsonPollOption;
|
||||||
class JsonPoll;
|
class JsonPoll;
|
||||||
class JsonPollAnswer;
|
class JsonPollAnswer;
|
||||||
|
class JsonChecklistTask;
|
||||||
|
class JsonChecklist;
|
||||||
class JsonEntity;
|
class JsonEntity;
|
||||||
class JsonVectorEntities;
|
class JsonVectorEntities;
|
||||||
class JsonWebAppInfo;
|
class JsonWebAppInfo;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user