aboutsummaryrefslogtreecommitdiffhomepage
path: root/td/telegram/DialogActionBar.cpp
diff options
context:
space:
mode:
authorlevlam <levlam@telegram.org>2024-04-08 02:37:52 +0300
committerlevlam <levlam@telegram.org>2024-04-08 02:37:52 +0300
commit7aad37608f360f19840625c337821b4ce68be424 (patch)
tree79acd23e5c0f38013911bc06533e0dc09e4fa973 /td/telegram/DialogActionBar.cpp
parente7ff4688fc89d818b420b257cd40ed225e19a8d0 (diff)
Add separate BusinessBotManageBar.
Diffstat (limited to 'td/telegram/DialogActionBar.cpp')
-rw-r--r--td/telegram/DialogActionBar.cpp62
1 files changed, 6 insertions, 56 deletions
diff --git a/td/telegram/DialogActionBar.cpp b/td/telegram/DialogActionBar.cpp
index f65a2864b..75cb342bb 100644
--- a/td/telegram/DialogActionBar.cpp
+++ b/td/telegram/DialogActionBar.cpp
@@ -7,7 +7,6 @@
#include "td/telegram/DialogActionBar.h"
#include "td/telegram/ChatManager.h"
-#include "td/telegram/Dependencies.h"
#include "td/telegram/Td.h"
#include "td/telegram/UserManager.h"
@@ -19,9 +18,7 @@ unique_ptr<DialogActionBar> DialogActionBar::create(bool can_report_spam, bool c
bool can_share_phone_number, bool can_report_location,
bool can_unarchive, int32 distance, bool can_invite_members,
string join_request_dialog_title, bool is_join_request_broadcast,
- int32 join_request_date, bool is_business_bot_paused,
- bool can_business_bot_reply, UserId business_bot_user_id,
- string business_bot_manage_url) {
+ int32 join_request_date) {
auto action_bar = make_unique<DialogActionBar>();
action_bar->can_report_spam_ = can_report_spam;
action_bar->can_add_contact_ = can_add_contact;
@@ -34,10 +31,6 @@ unique_ptr<DialogActionBar> DialogActionBar::create(bool can_report_spam, bool c
action_bar->join_request_dialog_title_ = std::move(join_request_dialog_title);
action_bar->is_join_request_broadcast_ = is_join_request_broadcast;
action_bar->join_request_date_ = join_request_date;
- action_bar->is_business_bot_paused_ = is_business_bot_paused;
- action_bar->can_business_bot_reply_ = can_business_bot_reply;
- action_bar->business_bot_user_id_ = business_bot_user_id;
- action_bar->business_bot_manage_url_ = std::move(business_bot_manage_url);
if (action_bar->is_empty()) {
return nullptr;
}
@@ -46,8 +39,7 @@ unique_ptr<DialogActionBar> DialogActionBar::create(bool can_report_spam, bool c
bool DialogActionBar::is_empty() const {
return !can_report_spam_ && !can_add_contact_ && !can_block_user_ && !can_share_phone_number_ &&
- !can_report_location_ && !can_invite_members_ && join_request_dialog_title_.empty() &&
- !business_bot_user_id_.is_valid();
+ !can_report_location_ && !can_invite_members_ && join_request_dialog_title_.empty();
}
void DialogActionBar::fix(Td *td, DialogId dialog_id, bool is_dialog_blocked, FolderId folder_id) {
@@ -57,22 +49,6 @@ void DialogActionBar::fix(Td *td, DialogId dialog_id, bool is_dialog_blocked, Fo
distance_ = -1;
}
- if (business_bot_user_id_.is_valid()) {
- if (dialog_type != DialogType::User || business_bot_manage_url_.empty()) {
- LOG(ERROR) << "Receive business bot " << business_bot_user_id_ << " in " << dialog_id << " with manage URL "
- << business_bot_manage_url_;
- business_bot_user_id_ = {};
- business_bot_manage_url_ = {};
- is_business_bot_paused_ = false;
- can_business_bot_reply_ = false;
- }
- } else if (!business_bot_manage_url_.empty() || is_business_bot_paused_ || can_business_bot_reply_) {
- LOG(ERROR) << "Receive business bot " << business_bot_user_id_ << " in " << dialog_id << " with manage URL "
- << business_bot_manage_url_;
- business_bot_manage_url_ = {};
- is_business_bot_paused_ = false;
- can_business_bot_reply_ = false;
- }
if (!join_request_dialog_title_.empty()) {
if (dialog_type != DialogType::User || join_request_date_ <= 0) {
LOG(ERROR) << "Receive join_request_date = " << join_request_date_ << " in " << dialog_id;
@@ -204,7 +180,7 @@ void DialogActionBar::fix(Td *td, DialogId dialog_id, bool is_dialog_blocked, Fo
}
}
-td_api::object_ptr<td_api::ChatActionBar> DialogActionBar::get_chat_action_bar_object(Td *td, DialogType dialog_type,
+td_api::object_ptr<td_api::ChatActionBar> DialogActionBar::get_chat_action_bar_object(DialogType dialog_type,
bool hide_unarchive) const {
if (!join_request_dialog_title_.empty()) {
CHECK(dialog_type == DialogType::User);
@@ -248,12 +224,6 @@ td_api::object_ptr<td_api::ChatActionBar> DialogActionBar::get_chat_action_bar_o
if (can_report_spam_) {
return td_api::make_object<td_api::chatActionBarReportSpam>(can_unarchive_);
}
- if (business_bot_user_id_.is_valid()) {
- CHECK(dialog_type == DialogType::User);
- return td_api::make_object<td_api::chatActionBarManageBusinessBot>(
- td->user_manager_->get_user_id_object(business_bot_user_id_, "chatActionBarManageBusinessBot"),
- business_bot_manage_url_, is_business_bot_paused_, can_business_bot_reply_);
- }
return nullptr;
}
@@ -282,15 +252,11 @@ bool DialogActionBar::on_user_contact_added() {
}
bool DialogActionBar::on_user_deleted() {
- if (!business_bot_user_id_.is_valid() && join_request_dialog_title_.empty() && !can_share_phone_number_ &&
- !can_block_user_ && !can_add_contact_ && distance_ < 0) {
+ if (join_request_dialog_title_.empty() && !can_share_phone_number_ && !can_block_user_ && !can_add_contact_ &&
+ distance_ < 0) {
return false;
}
- business_bot_user_id_ = {};
- business_bot_manage_url_.clear();
- is_business_bot_paused_ = false;
- can_business_bot_reply_ = false;
join_request_dialog_title_.clear();
is_join_request_broadcast_ = false;
join_request_date_ = 0;
@@ -310,18 +276,6 @@ bool DialogActionBar::on_outgoing_message() {
return true;
}
-bool DialogActionBar::set_business_bot_is_paused(bool is_paused) {
- if (!business_bot_user_id_.is_valid() || is_business_bot_paused_ == is_paused) {
- return false;
- }
- is_business_bot_paused_ = is_paused;
- return true;
-}
-
-void DialogActionBar::add_dependencies(Dependencies &dependencies) const {
- dependencies.add(business_bot_user_id_);
-}
-
bool operator==(const unique_ptr<DialogActionBar> &lhs, const unique_ptr<DialogActionBar> &rhs) {
if (lhs == nullptr) {
return rhs == nullptr;
@@ -335,11 +289,7 @@ bool operator==(const unique_ptr<DialogActionBar> &lhs, const unique_ptr<DialogA
lhs->distance_ == rhs->distance_ && lhs->can_invite_members_ == rhs->can_invite_members_ &&
lhs->join_request_dialog_title_ == rhs->join_request_dialog_title_ &&
lhs->is_join_request_broadcast_ == lhs->is_join_request_broadcast_ &&
- lhs->join_request_date_ == rhs->join_request_date_ &&
- lhs->business_bot_user_id_ == rhs->business_bot_user_id_ &&
- lhs->business_bot_manage_url_ == rhs->business_bot_manage_url_ &&
- lhs->is_business_bot_paused_ == rhs->is_business_bot_paused_ &&
- lhs->can_business_bot_reply_ == rhs->can_business_bot_reply_;
+ lhs->join_request_date_ == rhs->join_request_date_;
}
} // namespace td