• If you need help or want to discuss things, you now can also join us on our Discord Server!
  • A first preview of the unlimited version of SinusBot can be found in the Upcoming Changes thread. A version for Windows will follow, but we don't have a release date, yet.

Solved Skripte müssen sich nicht an Regeln halten!?

Yasu

Active Member
Hallo zusammen,

ich habe gerade durch Zufall entdeckt, dass Befehle, welche durch Skripte eingeführt werden, Befehle auch dann verarbeiten, wenn sie dies eigentlich nicht tun sollten.

Laut den Instanz-EInstellungen sollten alle Instanzen Nachrichten im Server- und Channelchat ignorieren. Wenn ich nun beispielsweise die Nachricht !listplaylist in den Serverchat sende, erhalte ich von JEDEM einzelnen Bot die folgenden Nachrichten:

Code:
<10:12:44> "Mandora - Musikbot": I'm not allowed to listen to commands on the server chat, sorry.
<10:12:44> "Mandora - Musikbot": No playlist has been selected, therefore listing up the existing playlists:
<10:12:44> "Mandora - Musikbot": > Alle

Der Befehl !help löst zwar auch eine Nachricht von jedem einzelnen Bot aus, dort bekomme ich aber nur:

Code:
<10:16:03> "Mandora - Musikbot": I'm not allowed to listen to commands on the server chat, sorry.
 

flyth

is reticulating splines
Staff member
Developer
Contributor
Die Scriptengine bzw die Befehle dort kennen von sich aus keine Berechtigungen - die Scripts selbst müssen (sofern es gewünscht ist) Berechtigungen selbst prüfen. Dass die Engine das selbst nicht tut liegt daran, dass Dinge wie Song X abspielen aus verschiedensten Gründen passieren kann (zum Beispiel nachdem bei Twitter etwas gepostet wurde) und nicht nur durch zusätzliche Befehle im Chat.
Schreib am besten den Autor des Scripts an und frage dort an, ob eine Überprüfung eingebaut werden könnte. Möglich ist das.

Die doppelte Ausgabe (also auch die dass Befehle nicht angenommen werden) kannst du verhindern, indem du das Commandprefix in den Einstellungen auf etwas anderes stellst.
 

Yasu

Active Member
Oke, das ist natürlich nachvollziehbar, wenn auch etwas kontraproduktiv...
Dann werde ich mich mal an den Scriptautor wenden.
 

flyth

is reticulating splines
Staff member
Developer
Contributor
Wieso ist das kontraproduktiv? Die Scriptengine stellt so ziemlich alles was der Bot kann auch zur Verfügung. Jetzt zu erraten was das Script da macht oder Dinge automatisch einzuschränken, würde die Möglichkeiten drastisch reduzieren.

So wie es jetzt ist können Leute als Berechtigungssystem beispielsweise ihre eigene Datenbank nutzen, die hinter ihrer Website liegt.
 

Yasu

Active Member
Ich meinte damit einfach nur, dass es sinnvoller gewesen wäre ein Event für Befehle zu machen, welches nur auslöst wenn der Befehl im richtigen Chat ausgeführt wird und es somit vom Chat-Event zu trennen.

Dieses Verhalten ist einfach absolut unerwartet und es wäre mir nicht aufgefallen, wenn ich nicht ausversehen in den Channelchat statt den Privaten-Chat geschrieben hätte.
 

flyth

is reticulating splines
Staff member
Developer
Contributor
Du hast recht, ein solches zusätzliches Event macht durchaus Sinn. Ich werde es mal in die nächste Version packen.
Dennoch denke ich, dass das aktuelle Chat-Event funktioniert, wie es sollte (weil's eben auf den Chat reagiert und nicht _nur_ auf Commands) und ein zusätzliches Event den (ich unterstelle das einfach mal) fauleren Script-Autoren damit unter die Arme greifen kann.

Überhaupt ist es geplant, dass das gesamte Command-Handling in ein Script ausgelagert wird, um noch flexibler zu sein :)

Vielen Dank jedenfalls für das Feedback!
 
Top