Telegram готовит кнопку «Delete Gift»: обычный подарок можно будет удалить насовсем, а не только скрыть из профиля. Строки этого окна появились на платформе переводов Telegram для iOS 20 октября, метод удаления — в бете Telegram для Android 13.1.0 от 19 октября. Сервер запрос уже принимает: на тестовом аккаунте два подарка удалились, и вернуть их нельзя. В документации API метода пока нет.
Как это выглядит
На платформе переводов у iOS появились четыре строки: пункт «Delete Gift» в меню подарка, заголовок окна с тем же текстом, уведомление «Gift Deleted» и само предупреждение: «Do you want to delete this gift? It will disappear from your profile and can't be restored». По-русски — подарок исчезнет из профиля, и восстановить его будет нельзя.
В бете для Android то же окно собрано из своих строк: заголовок, текст предупреждения и две кнопки, «Delete» и «Cancel». Нажатие «Delete» отправляет на сервер один запрос с единственным параметром — ссылкой на сохранённый подарок.
Чем удаление отличается от скрытия
Скрыть подарок из профиля можно давно. Скрытый подарок остаётся в списке ваших подарков с пометкой «не показывать», и его можно вернуть в профиль в любой момент. Удалённый из списка пропадает совсем.
Разница видна в ответах сервера. Список подарков аккаунта клиент получает запросом payments.getSavedStarGifts. 20 октября на тестовом аккаунте один и тот же подарок сначала скрыли, потом удалили:
| Действие | Подарок в списке | Сообщение с подарком в личке |
|---|---|---|
| Скрыть из профиля | остаётся, с флагом unsaved | остаётся, снята отметка «сохранён» |
| Удалить | пропадает | остаётся, снята отметка «сохранён» |
Сообщение, которым подарок пришёл, после удаления остаётся в переписке. Отдельного флага «удалён» у него нет: и при скрытии, и при удалении снимается одна и та же отметка, а различить два случая можно только по тому, есть ли подарок в списке. Удалить можно и подарок, который уже был скрыт, — в замере удаляли именно такой.
Ни скрытие, ни удаление не присылают открытым сессиям аккаунта никакого уведомления: изменение видно только при повторном чтении списка.
Что пропадает вместе с подарком
Обычный подарок первые семь дней можно обменять на звёзды. Срок задаёт серверный параметр stargifts_convert_period_max, сейчас он равен 604 800 секундам. В замере удалили подарок за 15 звёзд, который ещё можно было обменять на 13. После удаления предложение обмена из сообщения исчезло, а отметки о том, что обмен состоялся, не появилось.
Поэтому подарок младше недели, от которого вы хотите избавиться, выгоднее обменять: обмен тоже убирает его из профиля, но возвращает звёзды. Удалять имеет смысл то, что обменять уже нельзя. Продать или передать можно только коллекционные подарки, и как это сделать, разобрано отдельно.
Где это уже есть
| Где | Что | Дата |
|---|---|---|
| Бета Telegram для Android 13.1.0, сборка 7227 | метод payments.deleteStarGift в схеме, слой 232 | 19 октября |
| Бета Telegram для Android 13.1.0, сборка 7229 | в списке изменений: «не перезагружать весь список подарков при удалении» | 19 октября |
| Платформа переводов, iOS | четыре строки окна удаления | 20 октября |
| Telegram Desktop, ветка dev | нет, схема на слое 231 | — |
| Документация API | только удаление коллекции подарков | — |
Метод на core.telegram.org пока отвечает «Page not found». Описанный там payments.deleteStarGiftCollection — другое: он удаляет подборку, в которую вы сгруппировали подарки в профиле, а сами подарки остаются.
В замере удаляли только обычные подарки. Можно ли так же удалить коллекционный подарок и видит ли отправитель, что его подарок удалён, пока не проверялось.




