Há algum tempo, enfrentamos um problema com o Discourse-Automation, no qual não conseguimos enviar mensagens de bate-papo regularmente. Usamos essa funcionalidade para enviar notícias semanais no canal de chat. Percebi nos logs que as mensagens de chat falharam ao serem enviadas devido a problemas de permissão.
Acho que o remetente configurado no Discourse-Automation deveria simplesmente ignorar as configurações de permissão do canal, já que isso é definido pelo administrador. De fato, estou usando o DiscoBot como usuário de envio. Como o DiscoBot não estava ativo na categoria vinculada ao canal — claro —, ele foi automaticamente removido do canal, e a mensagem de chat agendada que configuramos ficou, portanto, indisponível para entrega.
Não tenho certeza, mas sinto que isso é um Contribute > Bug.
[discourse-automation] Falha ao enviar mensagem 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 não encontrado (ArgumentError)
raise ArgumentError, "Modelo não 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...