Add td_api::editBusinessChatLink.
This commit is contained in:
parent
c0abb6348b
commit
1d77c95fb2
@ -9773,8 +9773,13 @@ removeBusinessConnectedBotFromChat chat_id:int53 = Ok;
|
||||
getBusinessChatLinks = BusinessChatLinks;
|
||||
|
||||
//@description Creates a business chat link for the current account. Requires Telegram Business subscription. There can be up to getOption("business_chat_link_count_max") links created. Returns the created link
|
||||
//@link Description of the link to create
|
||||
createBusinessChatLink link:inputBusinessChatLink = BusinessChatLink;
|
||||
//@link_info Description of the link to create
|
||||
createBusinessChatLink link_info:inputBusinessChatLink = BusinessChatLink;
|
||||
|
||||
//@description Edits existing business chat link for the current account. Requires Telegram Business subscription. Returns the edited link
|
||||
//@link The link to edit
|
||||
//@link_info New description of the link
|
||||
editBusinessChatLink link:string link_info:inputBusinessChatLink = BusinessChatLink;
|
||||
|
||||
|
||||
//@description Returns an HTTPS link, which can be used to get information about the current user
|
||||
|
@ -249,6 +249,37 @@ class CreateBusinessChatLinkQuery final : public Td::ResultHandler {
|
||||
}
|
||||
};
|
||||
|
||||
class EditBusinessChatLinkQuery final : public Td::ResultHandler {
|
||||
Promise<td_api::object_ptr<td_api::businessChatLink>> promise_;
|
||||
|
||||
public:
|
||||
explicit EditBusinessChatLinkQuery(Promise<td_api::object_ptr<td_api::businessChatLink>> &&promise)
|
||||
: promise_(std::move(promise)) {
|
||||
}
|
||||
|
||||
void send(const string &link, InputBusinessChatLink &&input_link) {
|
||||
send_query(
|
||||
G()->net_query_creator().create(telegram_api::account_editBusinessChatLink(
|
||||
link, input_link.get_input_business_chat_link(td_->user_manager_.get())),
|
||||
{{"me"}}));
|
||||
}
|
||||
|
||||
void on_result(BufferSlice packet) final {
|
||||
auto result_ptr = fetch_result<telegram_api::account_editBusinessChatLink>(packet);
|
||||
if (result_ptr.is_error()) {
|
||||
return on_error(result_ptr.move_as_error());
|
||||
}
|
||||
|
||||
auto ptr = result_ptr.move_as_ok();
|
||||
LOG(INFO) << "Receive result for EditBusinessChatLinkQuery: " << to_string(ptr);
|
||||
promise_.set_value(BusinessChatLink(td_->user_manager_.get(), std::move(ptr)).get_business_chat_link_object());
|
||||
}
|
||||
|
||||
void on_error(Status status) final {
|
||||
promise_.set_error(std::move(status));
|
||||
}
|
||||
};
|
||||
|
||||
class UpdateBusinessLocationQuery final : public Td::ResultHandler {
|
||||
Promise<Unit> promise_;
|
||||
DialogLocation location_;
|
||||
@ -479,10 +510,17 @@ void BusinessManager::get_business_chat_links(Promise<td_api::object_ptr<td_api:
|
||||
td_->create_handler<GetBusinessChatLinksQuery>(std::move(promise))->send();
|
||||
}
|
||||
|
||||
void BusinessManager::create_business_chat_link(td_api::object_ptr<td_api::inputBusinessChatLink> &&link,
|
||||
void BusinessManager::create_business_chat_link(td_api::object_ptr<td_api::inputBusinessChatLink> &&link_info,
|
||||
Promise<td_api::object_ptr<td_api::businessChatLink>> &&promise) {
|
||||
td_->create_handler<CreateBusinessChatLinkQuery>(std::move(promise))
|
||||
->send(InputBusinessChatLink(td_, std::move(link)));
|
||||
->send(InputBusinessChatLink(td_, std::move(link_info)));
|
||||
}
|
||||
|
||||
void BusinessManager::edit_business_chat_link(const string &link,
|
||||
td_api::object_ptr<td_api::inputBusinessChatLink> &&link_info,
|
||||
Promise<td_api::object_ptr<td_api::businessChatLink>> &&promise) {
|
||||
td_->create_handler<EditBusinessChatLinkQuery>(std::move(promise))
|
||||
->send(link, InputBusinessChatLink(td_, std::move(link_info)));
|
||||
}
|
||||
|
||||
void BusinessManager::set_business_location(DialogLocation &&location, Promise<Unit> &&promise) {
|
||||
|
@ -40,9 +40,12 @@ class BusinessManager final : public Actor {
|
||||
|
||||
void get_business_chat_links(Promise<td_api::object_ptr<td_api::businessChatLinks>> &&promise);
|
||||
|
||||
void create_business_chat_link(td_api::object_ptr<td_api::inputBusinessChatLink> &&link,
|
||||
void create_business_chat_link(td_api::object_ptr<td_api::inputBusinessChatLink> &&link_info,
|
||||
Promise<td_api::object_ptr<td_api::businessChatLink>> &&promise);
|
||||
|
||||
void edit_business_chat_link(const string &link, td_api::object_ptr<td_api::inputBusinessChatLink> &&link_info,
|
||||
Promise<td_api::object_ptr<td_api::businessChatLink>> &&promise);
|
||||
|
||||
void set_business_location(DialogLocation &&location, Promise<Unit> &&promise);
|
||||
|
||||
void set_business_work_hours(BusinessWorkHours &&work_hours, Promise<Unit> &&promise);
|
||||
|
@ -7994,7 +7994,14 @@ void Td::on_request(uint64 id, const td_api::getBusinessChatLinks &request) {
|
||||
void Td::on_request(uint64 id, td_api::createBusinessChatLink &request) {
|
||||
CHECK_IS_USER();
|
||||
CREATE_REQUEST_PROMISE();
|
||||
business_manager_->create_business_chat_link(std::move(request.link_), std::move(promise));
|
||||
business_manager_->create_business_chat_link(std::move(request.link_info_), std::move(promise));
|
||||
}
|
||||
|
||||
void Td::on_request(uint64 id, td_api::editBusinessChatLink &request) {
|
||||
CHECK_IS_USER();
|
||||
CLEAN_INPUT_STRING(request.link_);
|
||||
CREATE_REQUEST_PROMISE();
|
||||
business_manager_->edit_business_chat_link(request.link_, std::move(request.link_info_), std::move(promise));
|
||||
}
|
||||
|
||||
void Td::on_request(uint64 id, td_api::setSupergroupUsername &request) {
|
||||
|
@ -1447,6 +1447,8 @@ class Td final : public Actor {
|
||||
|
||||
void on_request(uint64 id, td_api::createBusinessChatLink &request);
|
||||
|
||||
void on_request(uint64 id, td_api::editBusinessChatLink &request);
|
||||
|
||||
void on_request(uint64 id, td_api::setSupergroupUsername &request);
|
||||
|
||||
void on_request(uint64 id, td_api::toggleSupergroupUsernameIsActive &request);
|
||||
|
@ -6177,6 +6177,13 @@ class CliClient final : public Actor {
|
||||
get_args(args, text, title);
|
||||
send_request(td_api::make_object<td_api::createBusinessChatLink>(
|
||||
td_api::make_object<td_api::inputBusinessChatLink>(as_formatted_text(text), title)));
|
||||
} else if (op == "ebcl") {
|
||||
string link;
|
||||
string text;
|
||||
string title;
|
||||
get_args(args, link, text, title);
|
||||
send_request(td_api::make_object<td_api::editBusinessChatLink>(
|
||||
link, td_api::make_object<td_api::inputBusinessChatLink>(as_formatted_text(text), title)));
|
||||
} else if (op == "gbc") {
|
||||
send_request(td_api::make_object<td_api::getBusinessConnection>(args.empty() ? business_connection_id_ : args));
|
||||
} else if (op == "sco") {
|
||||
|
Loading…
x
Reference in New Issue
Block a user