Was ist der richtige Prozess für benutzerdefinierte Automatisierung?

Ich bin neu und habe einige Fragen zu diesem Tutorial zum Erstellen benutzerdefinierter Automatisierungen.

Ich habe zum ersten Mal versucht, ein Automatisierungsskript direkt in der Entwicklungsumgebung von GitHub Codespaces zu schreiben (ich verstehe die Syntax nicht, der Code wurde von Claude geschrieben).
Nach der Änderung sollte die Dateistruktur wie folgt aussehen:

plugins/automation/
├── lib/
│   └── discourse_automation/
│       ├── scripts.rb                 # Geändert
│       └── scripts/
│           ├── ...                    # Andere Skripte
│           └── remove_expired_group_members.rb  # Neu hinzugefügt
└── config/
    └── locales/
        ├── server.en.yml              # Geändert
        ├── client.en.yml              # Geändert
        ├── server.zh_CN.yml           # Geändert
        └── client.zh_CN.yml           # Geändert

Ich bin mir jedoch nicht sicher, ob dies in einer Produktionsumgebung möglich ist.
Außerdem weiß ich nicht, ob diese Änderungen bei einem Rebuild oder einem Update des Automation-Plugins verloren gehen, daher traue ich mich nicht, es in der Produktionsumgebung zu versuchen. Vielleicht sollte ich einen Funktionsantrag stellen, damit die Plugin-Maintainer es hinzufügen?

Ich hoffe, erfahrene Benutzer können mir den richtigen Prozess von der Erstellung eines Tests bis zur Anwendung in der Produktionsumgebung mitteilen.
Vielen Dank!

1 „Gefällt mir“

Ich glaube, es wird ein neues Plugin dafür geben müssen.

Sie können sich das ansehen:

3 „Gefällt mir“

Ich habe den von Ihnen angegebenen Link überprüft.
Könnten Sie mir bitte erklären, warum ich Plugins anstelle von Skripten in der Automatisierungs-Plugin verwenden sollte?

  1. Ich bin kein Profi, und das Erstellen von Plugins scheint schwieriger zu sein.
  2. Ich muss viele Funktionen implementieren, was anscheinend die Erstellung vieler Plugins erfordert (obwohl ich Plugins auch mag, weil man sie teilen kann).
1 „Gefällt mir“

Wenn ich mich nicht irre, werden Änderungen am Plugin bei der nächsten Aktualisierung überschrieben.

4 „Gefällt mir“

OK, das ist genau das, was ich befürchtet habe
Bedeutet die benutzerdefinierte Automatisierung dann wenig für den Benutzer? :joy:
Ich werde mir noch einmal die Dokumentation ansehen, und wenn das nicht funktioniert, werde ich versuchen, ein Plugin zu erstellen.

2 „Gefällt mir“

Ich denke, dem Tutorial (das ein Entwurf ist) fehlen diese Informationen. Es erklärt, wie man neue Automatisierungen erstellt, aber nicht, wo man dies tut. Die Antworten erwähnen jedoch Plugin-Beispiele, wie das von @NateDhaliwal verlinkte.

Simon schlägt außerdem vor, sich das Data Explorer Plugin anzusehen: Create custom Automations - #6 by simon.

Kommt darauf an, was Sie mit „Benutzer“ meinen? :smile: Als Entwickler können Sie sicherlich ein neues Plugin erstellen, das Automatisierungen hinzufügt. Das ist der richtige Weg.

Da Sie erwähnen, dass Sie Code nicht verstehen, aber KI dafür nutzen können, finden Sie diese Diskussion vielleicht interessant. Claude & Discourse-related development. How good is it?.

Ich experimentiere gerade damit (habe aber nur vage Ahnung von Code – nicht genug, um selbst ein einfaches Plugin zu erstellen!) und werde meine jüngsten Erfahrungen damit bald teilen.

Da Claude Sie angewiesen hat, das Automatisierungs-Plugin zu bearbeiten, möchten Sie vielleicht Ihre Prompts verfeinern und die KI anweisen, tatsächliche gute Praktiken zu befolgen.

3 „Gefällt mir“

Nein. Was sie zu einer benutzerdefinierten Automatisierung macht, ist, dass sie nicht integriert ist. Sie müssen eine neue in einem Plugin hinzufügen. GitHub - scossar/automation-script-example: An example of how to add a custom script to the Discourse Automation plugin., verlinkt im Tutorial. Sie können damit beginnen und versuchen, der KI mitzuteilen, dass Sie eine neue Anpassung hinzufügen möchten.

Was soll Ihre benutzerdefinierte Automatisierung bewirken?

1 „Gefällt mir“

Ich benötige ein automatisiertes Skript, das abgelaufene Gruppenmitglieder automatisch entfernt.
Man legt die Gruppe und die Dauer fest, und der Benutzer wird nach Ablauf automatisch entfernt.

Beispiel:
Einstellung: VIP-Gruppe, 30 Tage Dauer.
Benutzer, die der VIP-Gruppe beitreten, werden nach 30 Tagen entfernt.

Ich bin zunehmend verwirrt und weiß nicht, ob das Automatisierungs-Plugin meine selbst geschriebenen Automatisierungsskripte speichern kann (vorherige Kommentare deuten darauf hin, dass sie überschrieben werden).

Wie würden Sie das Automatisierungs-Plugin verwenden, wenn Sie an meiner Stelle wären?
Könnten Sie Ihre Verwendungsmethode genau beschreiben (wenn die eingebauten Skripte und Trigger des Automatisierungs-Plugins die Anforderungen nicht erfüllen)?
Ich denke, ich könnte aus der Beschreibung Ihres Szenarios lernen, wie benutzerdefinierte Funktionen funktionieren.

Wie werden Benutzer zur VIP-Gruppe hinzugefügt? Oder es wäre wahrscheinlich sinnvoll, dass das, was sie zur Gruppe hinzufügt, sie auch wieder entfernt. Das macht zum Beispiel das Abonnement-Plugin.

Automatisierungen werden nicht entfernt, aber das Bearbeiten von Code in Ihrem Container schon.

Sie benötigen einen Auslöser dafür, wann ein Benutzer zu einer Gruppe hinzugefügt wird, und eine Aktion, um ihn nach einer bestimmten Zeit wieder aus der Gruppe zu entfernen. Ich bin mir nicht sicher, wie einfach das zu bewerkstelligen ist.

1 „Gefällt mir“