É possível criar meus próprios scripts sem nenhum problema? Basta colocá-los na pasta e, com as atualizações do plugin, nada acontece? Ou preciso criar um plugin que se interaja com este plugin? Por exemplo, preciso de um script para criar um tópico. Existe um script de criação de postagens, mas preciso criar tópicos automáticos. Obrigado!
Sim, ele precisa de um plugin para definir um script personalizado.
Algo como isto em plugin.rb
after_initialize do
if defined?(DiscourseAutomation)
add_automation_scriptable("my_custom_script") do
# ...
end
end
end
Eu tentei, mas diz:
Não foi possível encontrar o script lb-script para a automação testing, certifique-se de que o plugin associado está instalado
Talvez eu esteja errado, mas devo criar um arquivo separado ou tudo bem colocar tudo no arquivo plugin.rb?
Mostre-me algum código ou será difícil para mim ajudá-lo ![]()
Acabei de tentar com o script pós-inicialização copiado da pasta de scripts do plugin Automation:
after_initialize do
if defined?(DiscourseAutomation)
add_automation_scriptable("lb-script") do
version 1
placeholder :creator_username
field :creator, component: :user
field :topic, component: :text, required: true
field :post, component: :post, required: true
triggerables %i[recurring point_in_time]
script do |context, fields, automation|
creator_username = fields.dig("creator", "value") || Discourse.system_user.username
placeholders = { creator_username: creator_username }.merge(context["placeholders"] || {})
creator = User.find_by!(username: creator_username)
PostCreator.new(
creator,
topic_id: fields.dig("topic", "value"),
raw: fields.dig("post", "value"),
).create!
end
end
end
end
Não tenho contexto sobre o que você está fazendo aqui, aqui está um exemplo completo em um plugin externo: discourse-assign/plugin.rb at main · discourse/discourse-assign · GitHub
Não entendo qual é a diferença em comparação com o que fiz. Obviamente, usei o post script apenas para ver se funcionava. Mas quando vou criar uma automação, ele não me encontra nenhum gatilho e diz que não consegue encontrar o script. Mas o código deveria me permitir escolher entre os 2 gatilhos para criar um post, certo? Eu estou definitivamente errado, mas não entendo realmente.
tem certeza que seu novo plugin está habilitado?
Sim, claro. Está absolutamente ativado.
Você pode tentar usar assign localmente e ver se consegue exibi-lo na lista? Se não, há algo mais acontecendo.
Posso confirmar que o Atribuição Aleatória funciona mesmo que o plugin Atribuição não esteja ativado. Provavelmente há algo que estou perdendo, não quero tomar seu tempo.
Descobri qual era o problema.
Mudei lb-script para lb_script e agora funciona. Evidentemente, você não pode usar o símbolo de hífen (-).