Hace algún tiempo, nos encontramos con un problema en Discourse-Automation que nos impedía enviar mensajes de chat de forma regular. Lo utilizamos para enviar noticias semanales en el canal de chat. Noté en los registros (/logs) que los mensajes de chat no se enviaron debido a problemas de permisos.
Creo que el remitente configurado en Discourse-Automation debería ignorar simplemente la configuración de permisos del canal, ya que esta es establecida por el administrador. De hecho, estoy utilizando a DiscoBot como usuario de mensajería. Como DiscoBot no estaba activo en la categoría vinculada al canal —por supuesto—, fue eliminado automáticamente del canal, y por lo tanto, el mensaje de chat programado que configuramos no pudo ser entregado.
No lo sé con certeza, pero siento que esto es un Contribute > Bug
[discourse-automation] Error al enviar mensaje de chat:
[1/25] [policy] 'no_silenced_user' ✅
[2/25] [contract] 'default' ✅
[3/25] [model] 'channel' ✅
[4/25] [policy] 'allowed_to_join_channel' ✅
[5/25] [policy] 'allowed_to_create_message_in_channel' ✅
[6/25] [step] 'enforce_system_membership' ✅
[7/25] [model] 'channel_membership' ❌
[8/25] [model] 'reply'
[9/25] [policy] 'ensure_reply_consistency'
[10/25] [model] 'thread'
[11/25] [policy] 'ensure_valid_thread_for_channel'
[12/25] [policy] 'ensure_thread_matches_parent'
[13/25] [model] 'uploads'
[14/25] [model] 'message'
[15/25] [transaction]
[16/25] [step] 'save_message'
[17/25] [step] 'delete_drafts'
[18/25] [step] 'post_process_thread'
[19/25] [step] 'create_webhook_event'
[20/25] [step] 'update_channel_last_message'
[21/25] [step] 'update_membership_last_read'
[22/25] [step] 'process_direct_message_channel'
[23/25] [step] 'publish_new_thread'
[24/25] [step] 'publish_new_message_events'
[25/25] [step] 'publish_user_tracking_state'
/var/www/discourse/plugins/chat/app/services/service/base.rb:143:in `call': Modelo no encontrado (ArgumentError)
raise ArgumentError, "Modelo no encontrado" if !optional && context[name].blank?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
from /var/www/discourse/plugins/chat/app/services/service/base.rb:368:in `block in run!'
from /var/www/discourse/plugins/chat/app/services/service/base.rb:368:in `each'
from /var/www/discourse/plugins/chat/app/services/service/base.rb:368:in `run!'
from /var/www/discourse/plugins/chat/app/services/service/base.rb:361:in `run'
from <internal:kernel>:90:in `tap'
from /var/www/discourse/plugins/chat/app/services/service/base.rb:229:in `call'
from /var/www/discourse/plugins/chat/plugin.rb:451:in `block (3 levels) in activate!'
from /var/www/discourse/plugins/discourse-automation/app/models/discourse_automation/automation.rb:131:in `trigger!'
from /var/www/discourse/plugins/discourse-automation/app/controllers/discourse_automation/automatio...