Après l’installation, veuillez suivre les instructions ci-dessous avant d’activer le plugin
Avant d’activer ce plugin, vous devez créer un compte à utiliser comme bot « Assistant utilisateur ». Bien que ce plugin puisse créer automatiquement un utilisateur bot ou utiliser le @Discobot existant, je ne recommande pas de le faire, car les utilisateurs bots créés par le plugin ne peuvent pas être modifiés dans le panneau d’administration. Vous pouvez lui accorder toutes les permissions que vous souhaitez, car en fait, le code pertinent est spécialement écrit pour que le bot agisse toujours en tant qu’administrateur, mais je suggère qu’il est préférable de lui accorder les permissions d’administrateur ou de modérateur. Pendant le développement, des bugs inconnus que je ne peux pas reproduire de manière stable sont parfois causés pour cette raison.
Ensuite, vous devez créer un sujet, qui peut être un message privé ou un sujet public. Remplissez son topic_id dans SiteSetting.topic_op_admin_logger_topic. Si topic_op_admin_enable_topic_log est activé, le bot ci-dessus créera des publications de journal plus détaillées dans le sujet.
Après avoir créé le robot assistant utilisateur, notez son ID utilisateur, puis remplissez-le dans SiteSetting.topic_op_admin_bot_user_id ci-dessus.
L’ouverture de certains paramètres sans suivre correctement les étapes ci-dessus peut entraîner des erreurs, voire endommager votre site web.
Avez-vous envisagé de voir si vous pouviez lier le bot au groupe de modération de catégorie ? En tant que modérateur/administrateur complet, à mon avis, cela pourrait être risqué.
Il existe quelques plugins qui ont été marqués comme expérimentaux dans la catégorie des plugins jusqu’à ce qu’ils soient considérés comme sortis de la phase de développement, comme Who’s Online.
Peut-être que @Canapin pourrait examiner la catégorie et en discuter avec vous.
Les plugins sont du code qui s’exécute aux côtés de Discourse. Il n’y a aucun problème à ce que le bot ait des permissions quelconques, de l’administrateur au TL0, car en réalité, il ne s’agit que d’un objet d’opérations de code, et il dispose de permissions illimitées.
En fait, j’ai maintenant terminé le développement de cette partie du plugin. Mais je serais prudent quant à la publication de ce plugin dans Plugin étant donné les conséquences plus catastrophiques si un plugin (plutôt qu’un composant de thème) se trompe.
Je le publierai officiellement après le lancement du plugin sur mon forum et après une période de vérification.
@Lhc_fl cela semble super utile, mais cela permet-il à l’OP de publier sur son propre sujet pendant qu’il est fermé, comme un modérateur ou un administrateur pourrait le faire ? Pour nous, cela semble un bien meilleur flux que de le faire déverrouiller, publier, puis le re-verrouiller.
Je prévois d’ajouter cette fonctionnalité - mais j’ai été occupé récemment et je n’ai pas beaucoup de temps pour m’occuper de mon plugin. Quiconque est intéressé peut soumettre une pull request.
est-il possible d’en faire un composant de thème ? Plus de gens pourront l’utiliser,
nous n’avons pas la permission d’installer de plugin sur l’instance, mais nous pourrions installer un composant de thème.
pourriez-vous ajouter la fonctionnalité “Diviser et fusionner des sujets” à la liste des permissions ?
Je suis désolé que ce plugin soit incompatible avec la nouvelle version de Discourse en raison de la mise à niveau d’Ember.js, mais je suis trop occupé pour le corriger actuellement. Si quelqu’un est disposé à le corriger, veuillez ouvrir une Pull Request sur 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…1d8cd9.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…1d8cd9.js:191:58317)
at Object.fireWith [as rejectWith] (chunk.7b3110aa5b5be8…1d8cd9.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