Após a instalação, siga as instruções abaixo antes de habilitar o plugin
Antes de habilitar este plugin, você precisa criar uma conta para ser usada como um “bot de Assistente de Usuário”. Embora este plugin possa criar automaticamente um usuário bot ou usar o @Discobot existente, não recomendo fazer isso, pois os usuários bot criados pelo plugin não podem ser modificados no painel de administração. Você pode conceder a ele qualquer permissão que desejar, pois, na verdade, o código relevante é especialmente escrito para fazer o bot sempre agir como Admin, mas sugiro que seja melhor conceder a ele permissões de Admin ou moderador. Durante o desenvolvimento, às vezes bugs desconhecidos que não consigo reproduzir de forma estável são causados por esse motivo.
Em seguida, você precisa criar um tópico, que pode ser uma mensagem privada ou um tópico público. Preencha seu topic_id em SiteSetting.topic_op_admin_logger_topic. Se topic_op_admin_enable_topic_log estiver ativado, o bot acima criará posts de log mais detalhados dentro do tópico.
Após criar o robô assistente de usuário, anote seu ID de usuário e, em seguida, preencha-o em SiteSetting.topic_op_admin_bot_user_id acima.
Abrir certas configurações sem seguir as etapas acima corretamente pode causar erros ou até mesmo quebrar seu site
Você já considerou ver se é possível vincular o bot ao grupo de moderação de categoria? Como mod/admin completo, na minha opinião, pode ser arriscado.
Existem alguns plugins que estiveram na categoria de plugins marcados como experimentais até que fossem considerados fora da fase de desenvolvimento, como o Who’s Online.
Talvez @Canapin possa dar uma olhada na categoria e discutir com você.
Plugins são códigos que rodam junto com o Discourse. Não é um problema para o bot ter quaisquer permissões, de Admin a TL0, pois na verdade é apenas um objeto de operações de código, e ele tem permissões ilimitadas.
Na verdade, já terminei de desenvolver esta parte do plugin. Mas eu teria receio de publicar este plugin em Plugin, dadas as consequências mais catastróficas se um plugin (em vez de um componente de tema) der errado.
Vou lançá-lo oficialmente após o plugin ser lançado no meu fórum e após um período de verificação.
@Lhc_fl isso parece super útil, mas permite que o OP poste em seu próprio tópico enquanto ele está fechado, como um moderador ou administrador poderia? Para nós, isso parece um fluxo muito melhor do que fazê-los desbloquear, postar e, em seguida, rebloquear.
Estou planejando adicionar este recurso - mas estive ocupado recentemente e não tenho muito tempo para olhar meu plugin. Qualquer pessoa interessada pode enviar um pull request.
é possível transformá-lo em um componente de tema? mais pessoas poderão usá-lo,
não temos permissão para instalar plugins na instância, mas poderíamos instalar um componente de tema.
você poderia adicionar “Dividir e mesclar tópicos” à lista de permissões?
obrigado…
Desculpe, mas este plugin é incompatível com a nova versão do Discourse devido à atualização do ember.js, mas estou muito ocupado no momento para corrigi-lo. Se alguém estiver disposto a corrigi-lo, por favor, envie um PR no Github.
chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:393
SyntaxError: Unexpected token '<', "<!DOCTYPE "... is not valid JSON
at D.parse [as parseJSON] (<anonymous>)
at l (chunk.7b3110aa5b5be8…1d8cd9.js:393:63167)
at p (chunk.7b3110aa5b5be8…1d8cd9.js:393:63847)
at k (chunk.7b3110aa5b5be8…41d8cd9.js:308:3688)
at w (chunk.7b3110aa5b5be8…41d8cd9.js:308:3581)
at f (chunk.7b3110aa5b5be8…41d8cd9.js:308:3077)
at invoke (chunk.7b3110aa5b5be8…41d8cd9.js:121:10063)
at m.flush (chunk.7b3110aa5b5be8…41d8cd9.js:121:9140)
at g.flush (chunk.7b3110aa5b5be8…41d8cd9.js:121:11012)
at q._end (chunk.7b3110aa5b5be8…41d8cd9.js:121:16062)
at q.end (chunk.7b3110aa5b5be8…41d8cd9.js:121:13189)
at q._run (chunk.7b3110aa5b5be8…41d8cd9.js:121:16576)
at q.run (chunk.7b3110aa5b5be8…41d8cd9.js:121:13722)
at c (chunk.7b3110aa5b5be8…41d8cd9.js:161:53419)
at t.error (chunk.7b3110aa5b5be8…41d8cd9.js:302:131483)
at l (chunk.7b3110aa5b5be8…41d8cd9.js:191:58317)
at Object.fireWith [as rejectWith] (chunk.7b3110aa5b5be8…41d8cd9.js:191:59062)
at C (chunk.7b3110aa5b5be8…41d8cd9.js:194:5783)
at XMLHttpRequest.<anonymous> (chunk.7b3110aa5b5be8…41d8cd9.js:194:8211)
l @ chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:393
p @ chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:393
k @ chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:308
w @ chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:308
f @ chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:308
invoke @ chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:121
flush @ chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:121
flush @ chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:121
_end @ chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:121
end @ chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:121
_run @ chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:121
run @ chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:121
c @ chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:161
t.error @ chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:302
l @ chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:191
fireWith @ chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:191
C @ chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:194
<anonymous> @ chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:194
XMLHttpRequest.send
send @ chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:194
ajax @ chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:194
o @ chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:302
<anonymous> @ chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:308
e @ chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:308
D @ chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:302
submit @ request-op-admin-form.js:106
<anonymous> @ chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:421
invoke @ chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:121
flush @ chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:121
flush @ chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:121
_end @ chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:121
end @ chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:121
_runExpiredTimers @ chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:121
setTimeout
setTimeout @ chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:121
_installTimerTimeout @ chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:121
_reinstallTimerTimeout @ chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:121
_later @ chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:121
later @ chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:121
T @ chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:161
_triggerAction @ chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:421
click @ chunk.7b3110aa5b5be8…8f9.d41d8cd9.js:421