Комментарии 8
Не совсем понял, в какой момент пропало ограничение на 48 часов?
На восстановление удаленного контента никогда не было ограничения на 48 часов.
Официальная документация Telegram говорит следующее:
Deleting the wrong chat is rarely fun – but now you'll have a chance to reconsider.
When you delete a chat or clear chat history, you'll get a detailed confirmation dialog and an option to restore the chat within the next 5 seconds. Once the time is up, the chat is irretrievably lost in the jaws of Telegram’s underground data shredders.
If you relied on “I accidentally deleted the chat with my homework” in your studies, please accept our apologies. From now on, you'll have to blame your digital dog.
Насколько я помню, история действий чата доступна всем админам и вы могли все дружно разделить историю на части, чтобы сохранить как можно больше, не? 👀
Да, ты прав! Но в таком случае проблема только в сложности ориентироваться в диапазоне id'шников сообщений, чтобы разделить ответственность:(
P.S. хотя, в целом, и не так трудно. Можно по медиа как раз ориентироваться, их легче скроллить и искать по датам и разделить диапазон между каждым админом. Звучит как план)
Крайне интересный заголовок, да и статья интересная, так как очень часто работаю с телеграм.
Правда я вообще не понял откуда в итоге в чате все данные? 🙃
В логе чата который хранится 48 часов были записи "удалено сообщение ..." так? И вы из этого лога восстанавливали, верно понял?
Да, абсолютно все действия пользователей / администраторов группы / канала сохраняются в логах (в нашем же случае абсолютно все удаленные данные) на 48 часов:
Both supergroups and channels offer a so-called admin log, a log of recent relevant supergroup and channel actions, like the modification of group/channel settings or information on behalf of an admin, user kicks and bans, and more.
Описанная в статье утилита выгружает эти сообщения как раз из admin log, используя метод итерации по журналу логирования из библиотеки Telethon:
Iterator over the admin log for the specified channel. The default order is from the most recent event to to the oldest.
Note that you must be an administrator of it to use this method.
А зачем складывать все это на диск, если можно сделать что-то в духе
await channel.send_message(target_channel, event.action.message, reply_to=event.action.message.reply_to.reply_to_msg_id)
Т.е. просто переотправить эти же сообщения туда, откуда они были удалены (у меня тут в коде удалены комменты к каналу, но можно и просто в нужный канал закинуть, убрав reply_to)?
Руководство по восстановлению удаленных сообщений и медиаданных в Telegram