Плагин или другой способ требовать пост и лайк?

Принятие правил можно реализовать с помощью плагина политики: Discourse Policy

Вы можете добавить политику с текстом «Я принимаю эти правила» в конец соответствующей темы с правилами. После принятия политики пользователи могут автоматически добавляться в созданную вами группу, например: accepted_guidelines.

Затем вы можете настроить категории так, чтобы публиковать сообщения в них могли только участники группы accepted_guidelines.

Создание поста-знакомства немного сложнее… На мой взгляд, у нас нет способа управлять членством в группах на основе того, где именно пользователь опубликовал сообщение. Один из возможных обходных путей — использование Discourse Automation.

Там есть скрипт под названием «User Group Membership through Badge» (Членство в группе через значок). Вы можете потребовать от пользователей включать эмодзи в их пост-знакомство… Это даст значок «Первый эмодзи», а автоматизация добавит их в группу posted_introduction.

Это немного более продвинутый вариант: вы можете создать специальный значок за публикацию поста-знакомства, а затем настроить автоматизацию для использования этого значка для управления членством в группе. Дополнительная информация здесь: Creating triggered custom badge queries

Запрос на получение значка за пост в конкретной теме может выглядеть примерно так:

SELECT p.user_id, min(p.created_at) granted_at, MIN(p.id) post_id
FROM badge_posts p
WHERE p.topic_id = TOPIC-ID-HERE
AND (:backfill OR p.id IN (:post_ids))
GROUP BY p.user_id
2 лайка