Как получить ключ ответа для конкретного пользователя+поста?

Продолжаем обсуждение из темы Фильтр по ключу ответа в разделе «Электронная почта» > «Отправлено» больше не работает?:

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

В настоящее время эти сообщения публикуются в соответствующих категориях. Однако это неудобно по разным причинам (слишком много автоматического мусора), а также, если мы перейдём от категорий к тегам, сообщения не будут помечены тегами.

Поэтому идея заключается в следующем: вместо этого отправлять их как ответы на тему. У этой темы может быть автоматическая очистка ответов, поэтому будет отображаться только актуальная информация (также можно использовать плагин календаря для удобной визуализации).

Но… если вы не подписаны на первый пост темы календаря, как получить ключ ответа?

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

Или же можно изучить исходный код, чтобы понять, как создать ключ ответа, и/или написать плагин, который будет это делать.

Ключ ответа привязан к пользователю, верно? Значит, мне либо нужно, чтобы все записи календаря принадлежали одному и тому же человеку, либо чтобы каждый возможный будущий человек был подписан на категорию до создания темы…

Я почти уверен, что он привязан к посту и пользователю, хотя я не смотрел код. (Иначе как бы Discourse знал, к какому посту относится ответ?)

Не думаю, что я понимаю ваш случай использования.

Извините, да, это касается каждого поста и каждого пользователя. Позвольте мне попробовать объяснить более четко. :slight_smile:

Вот как выглядит календарь для определенной группы (в данном случае, Совета Fedora) в нашей текущей системе: council - Fedocal. Если вы нажмете на конкретное собрание, вы сможете получить подробности, например, что-то вроде этого:

Система Fedocal также может быть настроена для отправки напоминаний по электронной почте — не для каждого пользователя отдельно, а одно письмо, настроенное для каждого собрания. Традиционно они отправлялись на рассылку, связанную с группой, и когда мы перенесли рассылку Совета в категорию Fedora Discussion, мы оставили это без изменений, используя входящий адрес электронной почты, специфичный для категории, в Discourse. Таким образом, сейчас эти письма приходят как приглашения на собрания в нашу категорию Council Discussions, выглядя так: https://discussion.fedoraproject.org/t/fedocal-reminder-meeting-council-meeting/33370

Однако эта категория будет удалена и заменена тегами. Возможно, я смогу использовать предстоящий плагин Automation для автоматического добавления тегов к этим сообщениям. Но… или, возможно, это подходящий момент для переоценки этого процесса. Старые объявления о собраниях не имеют большой архивной ценности… они лучше подходят как временные ответы, чем как отдельные темы. Поэтому моя идея заключается в создании темы «Предстоящие собрания Совета» и настройке автоматических сообщений так, чтобы они появлялись как ответы на эту тему. Это решает проблему тегов (поскольку первый пост темы может быть создан и помечен вручную), и я думаю, что в целом это будет удобнее.

Но… как связать входящие автоматические сообщения с целевой темой? Я могу сделать так, как вы предлагаете, один раз, но если я захочу рекомендовать этот же процесс другим командам, это кажется неустойчивым.

Кроме того, если вы вернетесь к первой ссылке Fedocal, вы увидите, что в той же группе запланированы и другие собрания. Для многих групп может иметь смысл направлять все напоминания в одну и ту же тему (так же, как они могут отправляться на одну и ту же рассылку или в одну категорию). А с помощью плагина календаря и небольшого изменения формата даты в тексте они даже могут отображаться в календаре в первом посте темы.

Всё это понятно?

В конечном итоге я хотел бы действительно заменить Fedocal календарем в Discourse, но для этого плагину потребуется значительное улучшение (и функциональность «события» движется не в том направлении, которое нам нужно).

Звучит как проблема. То, что вы заменяете большинство категорий тегами, не означает, что нужно заменить их все. Но, возможно, я не до конца понимаю все нюансы ситуации.

Что ж, мы, безусловно, могли бы направлять такие приглашения на встречи в специально созданную для них категорию. Но тогда они не будут связаны с соответствующей командой (поскольку нет способа добавить теги к сообщениям, поступающим по электронной почте). Отказ от категорий «по командам» — это определённо наша цель, так как этот подход плохо масштабируется и порождает множество других проблем (если вы хотите обсудить свой опыт в этой теме, мы можем создать отдельную тему для этого!).

Мой текущий план Б — создать категорию «Автоматические приглашения на встречи» и попросить участников команд модерировать её, добавляя теги по мере поступления сообщений. Требование некоторого ручного вмешательства не необязательно является худшим вариантом, так как это предотвратит появление «зомби-приглашений» — я знаю, что в некоторых наших списках рассылки есть повторяющиеся еженедельные сообщения для команд, которые на самом деле не собирались уже годами. Однако я считаю, что это слишком далеко заходит в сторону необходимости взаимодействия.