EnotPRO Logo EnotPRO

updateContent

updateContent — принудительно обновляет все опубликованные копии указанного контента.

📝 Назначение

Используется для ручного запуска обновления всех опубликованных сообщений контента. В отличие от автоматического обновления (которое срабатывает при изменении контента, если включён флаг «Автообновление»), эта реакция позволяет обновить публикации в любой момент.

Когда это нужно:

  • После изменения контента, если «Автообновление» было выключено
  • Принудительное обновление после исправления ошибок
  • Массовое обновление нескольких контентов по расписанию
  • Перепубликация после восстановления доступа к чату

💡 Совет: Если у контента включён флаг «Автообновление», изменения применяются автоматически. updateContent нужен для ручного управления или для случаев, когда автообновление отключено.

⚙️ Параметры

Параметр Тип Обязательный Описание
Контент Выбор из списка ✅ Да Имя контента, все опубликованные копии которого нужно обновить

📍 Результат

  • Бот проходит по всем связям (опубликованным сообщениям) контента
  • Каждое сообщение обновляется в соответствии с текущим содержимым контента
  • При успехе — сообщения обновлены
  • При ошибке (бот удалён из чата, нет прав) — связь удаляется или в неё записывается ошибка

🔄 Отличие от автообновления

Характеристика Автообновление updateContent
Запуск Автоматически при изменении контента Вручную (реакция)
Зависит от флага ✅ Да (требуется включить) ❌ Нет (работает всегда)
Очередь обновлений ✅ Да (5 секунд на бота) ✅ Да (та же очередь)

💡 Совет: Если контент не обновляется автоматически — проверьте, включён ли флаг «Автообновление» в настройках контента.

🔐 Требуемые права бота

Тип чата Требуемые права
Группа/супергруппа Бот должен быть участником и иметь право редактировать сообщения
Канал Бот должен быть администратором канала

⚠️ Важно: Если бот потерял права в каком-то чате, сообщение в этом чате не обновится, а связь будет помечена ошибкой или удалена.

🧪 Примеры использования

Пример 1: Принудительное обновление после изменения контента

Задача: Контент «Новости» был изменён, но автообновление выключено. Нужно обновить все публикации вручную.

Реакция updateContent:

  • Контент: Новости

Пример 2: Массовое обновление нескольких контентов

Задача: Обновить три контента по очереди.

Реакции в триггере:

  1. updateContent → Контент: Анонс
  2. updateContent → Контент: Новости
  3. updateContent → Контент: Отчёт

Пример 3: Обновление по расписанию

Задача: Каждый день в 00:00 обновлять контент «Ежедневный дайджест».

Расписание: Ежедневно в 00:00

Реакция updateContent:

  • Контент: Ежедневный дайджест

Пример 4: Обновление после восстановления прав

Задача: Бот был временно удалён из канала, затем добавлен снова. Нужно переопубликовать контент.

Обработчик: Тип my_chat_member (бот снова стал администратором)

Реакция updateContent:

  • Контент: Важные объявления

Пример 5: Обновление по команде администратора

Задача: Администратор может обновить любой контент командой /updatecontent Название.

Обработчик: Регулярное выражение /updatecontent (.+)

Реакции:

  1. updateContent → Контент: ${update.match.1}
  2. SendMessage → текст: Контент "${update.match.1}" обновлён.

🔄 Особенности поведения

Ситуация Поведение
У контента нет опубликованных копий Реакция завершается успешно (ничего не делает)
Бот удалён из чата Связь удаляется из истории
Нет прав на редактирование Ошибка записывается в связь
Сообщение удалено вручную Связь удаляется из истории
Контент не существует Реакция вызовет ошибку
Одновременно несколько вызовов Обновления ставятся в очередь (FIFO)

📊 Очередь обновлений

updateContent, как и автообновление, использует общую очередь на бота:

Ограничение Значение
Минимальный интервал между циклами 5 секунд (на всего бота)
Скорость правки внутри цикла ~10 сообщений/сек
Коалесценция Пачка вызовов схлопывается в один цикл

💡 Совет: При массовом обновлении нескольких контентов они будут обрабатываться последовательно, с интервалом 5 секунд между циклами.

🔗 Связанные реакции

Реакция Назначение
SendContent Отправить контент
LoadContent Загрузить контент в контекст
LoadRandomContent Выбрать случайный контент

🔗 Связанные разделы

Раздел Описание
Публикации (Content) Создание и управление контентом
Автообновление Как работает автоматическое обновление
История публикаций (Связи) Управление опубликованными сообщениями

🔗 Быстрая навигация

  • Вверх
  • Параметры
  • Отличие от автообновления
  • Требуемые права
  • Примеры
  • Особенности
  • Очередь обновлений

🔗 Ссылка на официальную документацию

(Функция реализована на стороне платформы EnotPro, не является методом Telegram Bot API)

© 2025 EnotPRO. Все права защищены.