Какие проверки можно обойти и как при использовании API для создания тем/постов

Какие именно валидации можно обойти и как это сделать? Я пытаюсь использовать API для публикации и натыкаюсь на такие ограничения, как:

  • Слишком низкая энтропия
  • Тема слишком короткая
  • Текст слишком похож

Проблема в том, что трудно понять, какие ещё проверки могут сработать, поэтому я просто останавливаюсь при первой ошибке, прерываю выполнение и запускаю процесс заново.

Если вы импортируете более нескольких сообщений из существующей базы данных, вам следует использовать скрипт миграции.

Существует параметр skip_validations, который можно передать в Ruby, но я не знаю, можно ли передать его через API.

Кроме того, действительно ли вы хотите создать множество коротких сообщений с очень небольшим количеством уникальных символов, которые почти идентичны другим сообщениям? Для этого есть настройки сайта, которые вы можете изменить, если поищете в настройках сайта следующие слова: entropy (энтропия), minimum post length (минимальная длина сообщения), min title similar length (минимальная длина похожих заголовков) или allow duplicate titles (разрешить дубликаты заголовков).

Да, это должно сработать :+1: (например, WP-Discourse использует его)

Кажется, в функции пропуска проверок есть ошибка.

Когда я использую пропуск проверок для создания темы, всё работает: пользователь может создать тему в категории, даже если обычно у него нет на это прав.

Однако при попытке ответить на эту же тему проверка не пропускается, и создание сообщения не удаётся.

Не могли бы вы подробнее объяснить, о каких именно проверках после публикации вы говорите? Какие ошибки вы получаете?

Вы уверены в этом? Как я понимаю, skip_validations делает именно то, что указано в разделе опций в нижней части post_creator.rb:

Он в первую очередь используется для игнорирования ограничений, добавленных через настройки сайта, таких как:

  • минимальная длина поста
  • минимальная энтропия тела сообщения
  • минимальная длина заголовка темы

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

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