Generate boost links for supergroups and in new format,
This commit is contained in:
parent
7b6c5b3517
commit
49003c5cce
@ -3793,7 +3793,10 @@ chatBoostStatus boost_url:string applied_slot_ids:vector<int32> level:int32 gift
|
|||||||
//@expiration_date Point in time (Unix timestamp) when the boost will expire
|
//@expiration_date Point in time (Unix timestamp) when the boost will expire
|
||||||
chatBoost id:string count:int32 source:ChatBoostSource start_date:int32 expiration_date:int32 = ChatBoost;
|
chatBoost id:string count:int32 source:ChatBoostSource start_date:int32 expiration_date:int32 = ChatBoost;
|
||||||
|
|
||||||
//@description Contains a list of boosts applied to a chat @total_count Total number of boosts applied to the chat @boosts List of boosts @next_offset The offset for the next request. If empty, then there are no more results
|
//@description Contains a list of boosts applied to a chat
|
||||||
|
//@total_count Total number of boosts applied to the chat
|
||||||
|
//@boosts List of boosts
|
||||||
|
//@next_offset The offset for the next request. If empty, then there are no more results
|
||||||
foundChatBoosts total_count:int32 boosts:vector<chatBoost> next_offset:string = FoundChatBoosts;
|
foundChatBoosts total_count:int32 boosts:vector<chatBoost> next_offset:string = FoundChatBoosts;
|
||||||
|
|
||||||
//@description Describes a slot for chat boost
|
//@description Describes a slot for chat boost
|
||||||
|
@ -414,22 +414,20 @@ Result<std::pair<string, bool>> BoostManager::get_dialog_boost_link(DialogId dia
|
|||||||
if (!td_->dialog_manager_->have_input_peer(dialog_id, AccessRights::Read)) {
|
if (!td_->dialog_manager_->have_input_peer(dialog_id, AccessRights::Read)) {
|
||||||
return Status::Error(400, "Can't access the chat");
|
return Status::Error(400, "Can't access the chat");
|
||||||
}
|
}
|
||||||
if (dialog_id.get_type() != DialogType::Channel ||
|
if (dialog_id.get_type() != DialogType::Channel) {
|
||||||
!td_->contacts_manager_->is_broadcast_channel(dialog_id.get_channel_id())) {
|
|
||||||
return Status::Error(400, "Can't boost the chat");
|
return Status::Error(400, "Can't boost the chat");
|
||||||
}
|
}
|
||||||
|
|
||||||
SliceBuilder sb;
|
SliceBuilder sb;
|
||||||
sb << LinkManager::get_t_me_url();
|
sb << LinkManager::get_t_me_url() << "boost";
|
||||||
|
|
||||||
auto username = td_->contacts_manager_->get_channel_first_username(dialog_id.get_channel_id());
|
auto username = td_->contacts_manager_->get_channel_first_username(dialog_id.get_channel_id());
|
||||||
bool is_public = !username.empty();
|
bool is_public = !username.empty();
|
||||||
if (is_public) {
|
if (is_public) {
|
||||||
sb << username;
|
sb << '/' << username;
|
||||||
} else {
|
} else {
|
||||||
sb << "c/" << dialog_id.get_channel_id().get();
|
sb << "?c=" << dialog_id.get_channel_id().get();
|
||||||
}
|
}
|
||||||
sb << "?boost";
|
|
||||||
|
|
||||||
return std::make_pair(sb.as_cslice().str(), is_public);
|
return std::make_pair(sb.as_cslice().str(), is_public);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user