Update API scheme to layer 201.

This commit is contained in:
John Preston
2025-03-10 14:54:34 +04:00
parent 9f1e90d007
commit 7f53a19647
13 changed files with 137 additions and 15 deletions

View File

@@ -1704,6 +1704,15 @@ ServiceAction ParseServiceAction(
.giftId = uint64(gift.vid().v),
};
});
}, [&](const MTPDmessageActionPaidMessagesRefunded &data) {
result.content = ActionPaidMessagesRefunded{
.messages = data.vcount().v,
.stars = int64(data.vstars().v),
};
}, [&](const MTPDmessageActionPaidMessagesPrice &data) {
result.content = ActionPaidMessagesPrice{
.stars = int(data.vstars().v),
};
}, [](const MTPDmessageActionEmpty &data) {});
return result;
}

View File

@@ -662,6 +662,15 @@ struct ActionStarGift {
bool limited = false;
};
struct ActionPaidMessagesRefunded {
int messages = 0;
int64 stars = 0;
};
struct ActionPaidMessagesPrice {
int stars = 0;
};
struct ServiceAction {
std::variant<
v::null_t,
@@ -707,7 +716,9 @@ struct ServiceAction {
ActionPaymentRefunded,
ActionGiftStars,
ActionPrizeStars,
ActionStarGift> content;
ActionStarGift,
ActionPaidMessagesRefunded,
ActionPaidMessagesPrice> content;
};
ServiceAction ParseServiceAction(

View File

@@ -1367,6 +1367,26 @@ auto HtmlWriter::Wrap::pushMessage(
+ " sent you a gift of "
+ QByteArray::number(data.stars)
+ " Telegram Stars.";
}, [&](const ActionPaidMessagesRefunded &data) {
auto result = message.out
? ("You refunded "
+ QString::number(data.stars).toUtf8()
+ " Stars for "
+ QString::number(data.messages).toUtf8()
+ " messages to "
+ peers.wrapPeerName(dialog.peerId))
: (peers.wrapPeerName(dialog.peerId)
+ " refunded "
+ QString::number(data.stars).toUtf8()
+ " Stars for "
+ QString::number(data.messages).toUtf8()
+ " messages to you");
return result;
}, [&](const ActionPaidMessagesPrice &data) {
auto result = "Price per messages changed to "
+ QString::number(data.stars).toUtf8()
+ " Telegram Stars.";
return result;
}, [](v::null_t) { return QByteArray(); });
if (!serviceText.isEmpty()) {

View File

@@ -663,6 +663,15 @@ QByteArray SerializeMessage(
push("is_limited", data.limited);
push("is_anonymous", data.anonymous);
pushBare("gift_text", SerializeText(context, data.text));
}, [&](const ActionPaidMessagesRefunded &data) {
pushActor();
pushAction("paid_messages_refund");
push("messages_count", data.messages);
push("stars_count", data.stars);
}, [&](const ActionPaidMessagesPrice &data) {
pushActor();
pushAction("paid_messages_price_change");
push("price_stars", data.stars);
}, [](v::null_t) {});
if (v::is_null(message.action.content)) {