Skip to main content

Scapi installieren

Unsere Scapi Hauptdatei kann hier gefunden werden. Platziere diese Datei einfach in dem Ordner, wo du den Bot programmieren willst. Du kannst herausfinden wie du Scapi in deinem Code einbinden kannst indem du dir den Code unten anschaust. Wir empfehlen dir das du außerdem mal einen Blick in unserem Scapi Bot Ordner verschaffst um zu verstehen wie ein Bot aufgebaut ist und funktioniert.

Verwendung von scapi in deinem Code

Scapi wird mit jedem Update einfacher. Um Scapi in deinem Code einzubinden, verwende Python’s import Statement.
Wir empfehlen YAML für die Konfigurationsdateien zu verwenden. Du kannst YAML mithilfe von pip installieren. (pip install pyyaml)

Schreibe deinen ersten Bot (stbmv1)

Dieser Dokumentationsteil gilt nur für Scapi Legacy v1.0.0 (stbmv1) oder höher

Die ersten Schritte

Um die Basics deines Bots aufzubauen, benötigst du ein Bot-Objekt. Dieses kannst du mithilfe unserer Bot-Objektklasse erstellen:
In dieser Tabelle siehst du alle verfügbaren Argumente mit ihrer Bedeutung Damit der Bot sich im Server auch einloggt, musst du noch eine wichtige Funktion hinzufügen

Flags

Flags sind ein wichtiger Teil beim Programmieren deines Scapi-Bots. Du benötigst Flags um z.B. festzulegen ob du Nachrichten von Nutzern in deinen Bot-Logs sehen willst, oder ob du die Nachrichteneingabe innerhalb der Konsole aktivieren willst. Die Definierung deiner Flags könnte so aussehen:
In dieser Tabelle siehst du alle verfügbaren Flags mit ihrer Bedeutung

Berechtigungen

Ein weiterer Teil deines Bots sind Berechtigungen. Diese überprüfen ob der Nutzer, der einen Command ausgeführt hat, auch die nötigen Berechtigungen besitzt. Außerdem kannst du auch festlegen, wer der Bot-Owner ist. In Scapi gibt es eine Funktion, welche benutzerdefinierte Werte für die Berechtigungsverwaltung annimmt. Mithilfe dieser Funktion kannst du den Bot-Owner festlegen, oder eine Custom-Liste erstellen, und diese anschließend auch innerhalb von Commands verwenden. Das festlegen des Owners und einer Custom-Liste kann wie folgt vorgenommen werden:

Commands (@commands Modul)

Damit der Bot auch ein Sinn und Zweck hat, braucht der Bot Commands. Ein einfacher Commands sieht wie folgt aus:
Scapi hat 2 verschiedene Methoden um einen Bot zu schreiben. Eine Methode ist neuer und sauberer ist allerdings noch nicht vollständig entwickelt. Diese Methode heißt Commands. Dieser Teil erklärt wie du einen Command mithilfe des Command-Modules schreiben kannst.Für die andere Methode kannst du dir diesen Dokumentationsteil anschauen
Um klarzustellen, wofür was steht, ist hier nun eine detalierte Erklärung:

Commands (Originale Methode)

Wie du hier erfahren hast, besitzt Scapi 2 verschiedene Methoden um ein Bot-Command zu schreiben. Dieser Teil zeigt dir, wie du die andere Methode verwendest. Diese ist etwas mehr schwierig, kann aber mehr angepasst werden. Diese Methode wird weiterhin für reine on_message Events verwendet um reine Nachrichten zu akzeptieren & zu verarbeiten.
Wir empfehlen die Verwendung der Commands-Methode da diese mehr Features besitzt & mehr Support bietet als die Originale Methode (z.B. Berechtigungen)

Events

Es gibt bestimmte Events, die der Bot bei etwas bestimmten aufrufen kann. Einer dieser Events heißt on_ready. Dieses Event wird aufgerufen, wenn du den Bot startest. Du musst nur bei der Bot.run() Funktion als Argument die on_ready Funktion übergeben. Ein on_ready Event kann so aussehen:

Den Bot starten

Um den Bot zu starten musst du zuerst darauf achten, welche Command Methode du verwendest.

Beispielbot (Stable v1.0)

Dieser Beispielbot gilt nur für Scapi Legacy v1.0.0 (stbmv1)
Dies ist ein Beispiel wie eine Konfiguration in YAML aussehen könnte:

Schreibe deinen ersten Bot (stbmv2)

Dieser Dokumentationsteil gilt nur für Scapi v0.12.0 (stbmv2) oder höher

Die ersten Schritte

Um die Basics deines Bots aufzubauen, benötigst du ein Bot-Objekt. Dieses kannst du mithilfe unserer Bot-Objektklasse erstellen:
In dieser Tabelle siehst du alle verfügbaren Argumente mit ihrer Bedeutung
Das Argument json ist erst seit Scapi v0.12.1 verfügbar
Das Argument prefix ist erst seit Scapi v0.13.1b2 verfügbar
Damit der Bot sich im Server auch einloggt, musst du noch eine wichtige Funktion hinzufügen

Flags

Flags sind ein wichtiger Teil beim Programmieren deines Scapi-Bots. Du benötigst Flags um z.B. festzulegen ob du Nachrichten von Nutzern in deinen Bot-Logs sehen willst, oder ob du die Nachrichteneingabe innerhalb der Konsole aktivieren willst. Die Definierung deiner Flags könnte so aussehen:
In dieser Tabelle siehst du alle verfügbaren Flags mit ihrer Bedeutung

Berechtigungen

Ein weiterer Teil deines Bots sind Berechtigungen. Diese überprüfen ob der Nutzer, der einen Command ausgeführt hat, auch die nötigen Berechtigungen besitzt. Außerdem kannst du auch festlegen, wer der Bot-Owner ist. In Scapi gibt es eine Funktion, welche benutzerdefinierte Werte für die Berechtigungsverwaltung annimmt. Mithilfe dieser Funktion kannst du den Bot-Owner festlegen, oder eine Custom-Liste erstellen, und diese anschließend auch innerhalb von Commands verwenden. Das festlegen des Owners und einer Custom-Liste kann wie folgt vorgenommen werden:

Commands (Commands Modul)

Damit der Bot auch ein Sinn und Zweck hat, braucht der Bot Commands. Ein einfacher Commands sieht wie folgt aus:
Scapi hat 2 verschiedene Methoden um einen Bot zu schreiben. Eine Methode ist neuer und sauberer ist allerdings noch nicht vollständig entwickelt. Diese Methode heißt Commands. Dieser Teil erklärt wie du einen Command mithilfe des Command-Modules schreiben kannst.Die ältere Methode ist seit Scapi v0.12.1 veraltet und sollte daher auch nicht mehr verwendet werden
Um klarzustellen, wofür was steht, ist hier nun eine detalierte Erklärung: Hier findest du noch weitere Commands

Commands (Originale Methode)

Die Offizielle Unterstützung für die Originale Methode wurde seit Scapi 0.12.1 abgeschafft.Zur Weiterverwendung der Originalen Methode empfehlen wir die neue @on_message Methode (Seit v0.13). Bei fehlender Funktionalität bitte ein Issue auf unserem GitHub öffnenFalls du trotzdem aus was auch immer welchen Gründen diese Methode verwenden möchtest, schaue dir bitte diesen Teil der Dokumentation an

Events

Es gibt bestimmte Events, die der Bot bei etwas bestimmten aufrufen kann.

@on_message Event

Ab Scapi v0.13 haben wir eine verbesserte Version der Originalen Message-Methode hinzugefügt. Diese verwendet unseren modernen Python-Standard und Python-Dekoratoren. Die Implementierung in deinem Bot-Code ist sehr einfach. Du benötigst nur mindestens Scapi v0.13 oder höher. Ein Bot-Message-Event kann so aussehen:
Nicht alle Funktionen der alten Originalen Methode konnten übernommen werden, daher ist die @on_message Methode mehr eingeschränkt.Folgende Funktionen konnten bis jetzt nicht implementiert werden (Aber könnten in Zukunft in einer anderen Form auftreten):
  • Nutzung von .startswith()
  • Das erkennen von spezifischen Wörtern innerhalb der Nachricht
Dieses Feature dient aktuell nur dazu, um z.B. ein normales Wort eines Nutzers zu verarbeiten, und darauf zu antworten.

@on_ready Event

Dieses Event wird aufgerufen, wenn du den Bot startest. Du musst nur bei der Bot.run() Funktion als Argument die on_ready Funktion übergeben. Ein on_ready Event kann so aussehen:

Den Bot starten

Um den Bot zu starten musst du zuerst darauf achten, welche Command Methode du verwendest.

Beispielbot (v0.12.0 oder höher)

Dieser Beispielbot gilt nur für Scapi v0.12.0 (stbmv2) oder höher
Die Offizielle Unterstützung für die Originale Methode wurde seit Scapi v0.12.1 abgeschafft. Du kannst hier mehr darüber lesen
Du kannst Scapi (@json-communication/@main) hier erhalten. Die folgenden Code-Stücke zeigen dir wie du einen einfachen Bot mit Scapi (stbmv2) erstellen kannst.
Das Ändern des zugewiesenen Wertes von json zu False aktiviert den Kompatiblitätsmodus. Beachte das dies noch nicht vollständig entwickelt wurde.