Allowed to forward voice messages without full user info.

This commit is contained in:
23rd 2022-07-31 09:46:33 +03:00 committed by John Preston
parent c47e951519
commit e7b3416da8
3 changed files with 15 additions and 5 deletions

View File

@ -1377,7 +1377,17 @@ void FastShareMessage(
}
}
finish();
}).fail([=] {
}).fail([=](const MTP::Error &error) {
if (error.type() == u"VOICE_MESSAGES_FORBIDDEN"_q) {
if (show->valid()) {
Ui::Toast::Show(
show->toastParent(),
tr::lng_restricted_send_voice_messages(
tr::now,
lt_user,
peer->name));
}
}
finish();
}).afterRequest(history->sendRequestId).send();
return history->sendRequestId;

View File

@ -258,7 +258,7 @@ bool UserData::canReceiveGifts() const {
}
bool UserData::canReceiveVoices() const {
return flags() & UserDataFlag::CanReceiveVoices;
return !(flags() & UserDataFlag::VoiceMessagesForbidden);
}
bool UserData::canShareThisContactFast() const {
@ -332,8 +332,8 @@ void ApplyUserUpdate(not_null<UserData*> user, const MTPDuserFull &update) {
| (canReceiveGifts ? Flag::CanReceiveGifts : Flag())
| (update.is_can_pin_message() ? Flag::CanPinMessages : Flag())
| (update.is_blocked() ? Flag::Blocked : Flag())
| (!update.is_voice_messages_forbidden()
? Flag::CanReceiveVoices
| (update.is_voice_messages_forbidden()
? Flag::VoiceMessagesForbidden
: Flag()));
user->setIsBlocked(update.is_blocked());
user->setCallsStatus(update.is_phone_calls_private()

View File

@ -52,7 +52,7 @@ enum class UserDataFlag {
Self = (1 << 13),
Premium = (1 << 14),
CanReceiveGifts = (1 << 15),
CanReceiveVoices = (1 << 16),
VoiceMessagesForbidden = (1 << 16),
};
inline constexpr bool is_flag_type(UserDataFlag) { return true; };
using UserDataFlags = base::flags<UserDataFlag>;