В логах я заметил предупреждения о том, что плагин discourse-automation не смог отправить личные сообщения. Плагин автоматизации использует имена пользователей на момент срабатывания триггера, а не актуальные имена пользователей на момент отправки ЛС. Поскольку скрипт отправки личных сообщений поддерживает отложенную отправку, пользователи могут сменить свои имена после срабатывания триггера, но до отправки сообщения, что приводит к ошибкам.
Я считаю, что изменение DiscourseAutomation::PendingPm для записи идентификаторов пользователей вместо имён пользователей может решить эту проблему:
Что касается моего случая использования:
У меня есть задача отправлять личные сообщения новым пользователям с задержкой. Я настроил плагин автоматизации на отправку ЛС через пять минут после вступления пользователей в группу TL0. Однако некоторые новые пользователи сразу же после регистрации меняют свои имена, что приводит к ошибкам отправки.
Это удивительно хитрая кроличья нора, которая уходит довольно глубоко.
Когда вы закончите копать, вы обнаружите, что фундаментальная конструкция, которую мы имели — PostCreator — никогда не поддерживала идентификаторы пользователей.
Я думаю, что это отличное изменение, потому что всё становится гораздо менее неожиданным. Пользователи склонны немного менять свои имена пользователей, когда только начинают.