Совсем недавно мы превратились из «Красного Сиона»...

Телеграм авг. 08, 2020

Совсем недавно мы превратились из «Красного Сиона» в «Русский Футуризм». При переименовании возникла проблема, о которой мы не подумали.

Мы частенько делаем длинные серии постов, связывая их ссылками. При переименовании все эти ссылки похерились: они стали вести на ныне несуществующий канал.

Вручную править их нереально: счётчик постов перевалил за 19 тысяч, хотя нужно лишь изменить ''redzion'' на ''rufuturism''. Стали искать решение для автоматизации процесса.

Некоторое время назад я писал на c# бота для обратной связи с рекламодателями @rf_advertising_bot поэтому было желание использовать наработки оттуда.

Но увы: фундаментальные ограничения функционала ботов не позволяют проделать процедуру редактирования: боты не имеют доступа к истории канала(или чата) и могут лишь работать только с тем, что было опубликовано в их присутствии. Т.е. если вы добавили к себе в чат бота - его авторы не смогут скачать вашу переписку, хотя смогут записывать всю текущую.

В итоге, пришлось писать утилиту-клиент, которая пройдёт по всем сообщениям в канале и поправит все ссылки. Для создания клиента воспользовался шикарной питоновской библиотекой telethon.

Основная разница между клиентом и ботом - состоит в том, что боты умеют только реагировать на действия пользователей, тогда как клиент позволяет автоматизировать все, что может сделать живой человек, скажем через Telegram Desktop.

Для работы пришлось зарегистрировать новый аккаунт в телеге, купив виртуальный номер (цена 6 р). При работе, он с дивной регулярностью выхватывал анти-спамерские санкции, которые, впрочем, оказались довольно мягкими: ограничение в постинге на 3-4 минуты. Санкции могут быть намного более суровыми: зимой все аккаунты, заходившие через мой клиент или с моего IP удалялись мгновенно и безвозвратно, а номер телефона помещался в черный список.

На написание и тестирование утилиты ушло около 5 часов, после чего, примерно в течении 2.5 часов все ссылки были восстановлены.

Eshu Marabo

Теги