Update API scheme to layer 201.
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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()) {
|
||||
|
||||
@@ -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)) {
|
||||
|
||||
Reference in New Issue
Block a user