Hilfe bei Bot Programmierung

  • Heyho,


    Ich habe angefangen einen Bot zu schreiben, jedoch habe ich ein Problem:


    Der Bot soll einer Spezifischen Servergruppe (der Unverifizierten Gruppe) eine Nachricht senden das er sich mit "!verify" verifizieren kann und dann seine Servergruppe erhält. Mit "!deny" kann er die Regeln nicht akzeptieren. Jedoch wenn bestimme Query Clients joinen und sofort wieder austimen, kommt immer dieser Fehler https://hastebin.com/patuwayafo. Ich habe auch angegeben das der Bot nur echten Voice-Clients eine Nachricht schicken soll jedoch macht er es trotzdem bei Querys die danach austimen. Hier mein Code: https://hastebin.com/iyohakokof


    Ich bin absoluter Anfänger und habe schon lange nicht mehr mit Java gearbeitet also verzeiht mir bitte den Kidcode :D


    MfG Elia

  • der error:

    code:

  • Ich persönlich kenne mich mit der JAVA API leider nicht aus, aber mich macht dieses c.isRegularClient() etwas stutzig. Kannst du nicht den Typ des Clients irgendwie prüfen? Der Client Typ ist in der Regel ein integer bzw. boolischer Wert (z.B. 0 oder 1).


    Hast du einen Link zur Dokumentation dieser API für uns, wo z.B. isRegularClient() beschrieben wird?

  • Ich hatte denn Entwickler bereits gefragt und er meinte das c.isRegularClient() richtig währe.
    Habe bereits Jakob angeschrieben er hat aber noch nicht geantwortet :(


    Eine Dokumentation habe ich leider dafür nicht gefunden.

  • wenn du der TeamSpeak Query innerhalb 10 minuten einen command ausführst dann wird deine verbindung immer getrennt, du hast da 2 möglichkeiten, entweder du schickst in absehbarer zeit welche im idealfall unter 10 minuten des letztens commands ein neuen command schickst oder du schickst ein " \r\n" (das vorangegagene space ist hierbei nötig)

  • Ddas hat nichts mit Java zu tun, das hat mit der Query zu tun sondern damit das dich der TeamSpeak Server nach 10 minuten inaktivität trennt.

    Das passiert auch wenn du eine andere Sprache nutzt, darum solltest du ja auch entweder einen command innerhalb von 10 minuten senden oder eben halt das 2. beispiel um unnötigen möglichen overhead zu vermeiden die durch einen command entstehen würden.


    Schick einfach einen whoami command das sollte reichen