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 в схеме, слой 23219 октября
Бета Telegram для Android 13.1.0, сборка 7229в списке изменений: «не перезагружать весь список подарков при удалении»19 октября
Платформа переводов, iOSчетыре строки окна удаления20 октября
Telegram Desktop, ветка devнет, схема на слое 231—
Документация APIтолько удаление коллекции подарков—

Метод на core.telegram.org пока отвечает «Page not found». Описанный там payments.deleteStarGiftCollection — другое: он удаляет подборку, в которую вы сгруппировали подарки в профиле, а сами подарки остаются.

В замере удаляли только обычные подарки. Можно ли так же удалить коллекционный подарок и видит ли отправитель, что его подарок удалён, пока не проверялось.