Для автоматизации контента обычно строят два контура: публикация в каналы и реакция в чатах/комментариях. Ошибка новичка — один бот на всё. Правильнее разделять роли: отдельная сессия для постинга, отдельная — для чтения апдейтов и отправки комментариев. Так проще ловить RPC-ошибки, изолировать FloodWait и не терять весь пайплайн из-за одного лимита.
Для кросс-постинга держите очередь задач: источник -> нормализация текста -> маппинг медиа -> отправка в целевой чат. Важны не «красивые обёртки», а idempotency: если сообщение уже ушло, повтор не должен создавать дубль. Храните связку source_msg_id / target_msg_id, иначе при ретраях начнётся мусор в ленте. Эффективность скрипта напрямую зависит от качества прокси и подготовки профилей.
С комментированием сложнее. Бот должен не просто слать текст, а проверять контекст: доступен ли тред, не ушёл ли пост под ограничение, есть ли право писать от текущей сессии. Перед отправкой полезно сверять entity, права участника и тип диалога. Если в логах видите CHAT_WRITE_FORBIDDEN или USER_BOT_INVALID — это не баг Telegram, а ошибка выбора аккаунта или канала.
Схема надёжности простая: ретраи только на сетевые сбои, FloodWait — в отдельный обработчик, все ответы API логировать с request name и peer id. Дебаг — наш лучший друг в борьбе с FloodWait. Если строите систему на месяцами живущем контенте, сначала проектируйте очередь, дедупликацию и изоляцию сессий, а уже потом UI.
Telethon мастерская
@telethon_workshops_ubt
Кросс-постинг и комментирование в Telegram ломаются не на коде, а на логике сессий и лимитах
Этот пост опубликован в Telegram-канале Telethon мастерская. Подписаться можно по ссылке: @telethon_workshops_ubt.