Seite 1 von 2
Re: Threads oder Unterprogramme?
Verfasst: Montag 24. September 2018, 16:37
von Nemi
ok dann versteh ich python einfach falsch.
Kenne es nur von anderen Sprachen, dass man Funktionen immer aufrufen muss. Habe in dem Beispiel vorhin zb nicht gesehen, dass Tick aufgerufen wird un dachte deshalb es wird nicht benutzt.
Also läuft Tick dauerhaft mit?
Re: Threads oder Unterprogramme?
Verfasst: Montag 24. September 2018, 16:43
von __blackjack__
@Nemi: Das hat nichts mit Python zu tun. Auch in Python muss man Funktionen aufrufen. Das scheint halt die API von diesem Chatbotdingens zu sein, dass das ein Modul haben will, und da nachschaut ob es eine Funktion mit dem Namen `Tick()` gibt, und die dann regelmässig aufruft. ”Normal” ist das für Python nicht. Die API ist so nicht wirklich schön.
Re: Threads oder Unterprogramme?
Verfasst: Montag 24. September 2018, 17:04
von Nemi
Ok ich habe jetzt __deets__ Beispiel eingebaut.
Entweder der Bot schreibt gar nichts oder Endlosschleife. (je nach Typ der Variable, int str)
Code: Alles auswählen
# Random thread to use
def Tick():
if int(MsgTimeStamp) is not 0 and int(MsgTimeStamp) <= int(datetime.datetime.now().strftime("%y%m%d%H%M%S")):
TalkingBot(random.randint(1, 10))
return
bzw.
Code: Alles auswählen
# Random thread to use
def Tick():
if MsgTimeStamp is not None and MsgTimeStamp <= int(datetime.datetime.now().strftime("%y%m%d%H%M%S")):
TalkingBot(random.randint(1, 10))
return
Es scheint ja irgendwas zu funktionieren, aber halt nicht so wie es soll xD
Re: Threads oder Unterprogramme?
Verfasst: Montag 24. September 2018, 17:24
von __deets__
Warum machst du diesen datetime-Kram? Das ist komplett Unfug. Warum hast du nicht benutzt, was ich geschrieben habe? Wenigstens zum ausprobieren? Und was tut TalkingBot?
Re: Threads oder Unterprogramme?
Verfasst: Montag 24. September 2018, 17:26
von __deets__
Nemi hat geschrieben: Montag 24. September 2018, 16:37
Kenne es nur von anderen Sprachen, dass man Funktionen immer aufrufen muss. Habe in dem Beispiel vorhin zb nicht gesehen, dass Tick aufgerufen wird un dachte deshalb es wird nicht benutzt.
Also läuft Tick dauerhaft mit?
Wenn du das von anderen Sprachen so kennst, warum hat dich das bei Execute nicht auch gewundert? Das wird doch auch nur aufgerufen, wenn es was zu tun gibt, und laeuft nicht in einer Endlosschleife oder wird von dir selbst aufgerufen.
Re: Threads oder Unterprogramme?
Verfasst: Montag 24. September 2018, 17:33
von Nemi
ich benutze die timestamps auch für de datenbank, deswegen das format mit YYMMDDHHMMSS, ist ja deswegen nicht falsch oder? und talkingbot ist einfach nur eine auswahl der texte, je nachdem welche randomzahl rauskommt, kommt ein anderer text.
ich teste jetzt erstma mit den 2 variablen, was die überhaupt abliefern.
melde mich mit erkenntnissen oder verzweiflung
Re: Threads oder Unterprogramme?
Verfasst: Montag 24. September 2018, 17:38
von __deets__
Doch, es ist falsch. Du erzeugst einen String, den du zum int machen willst. Das geht nicht. Und es funktioniert auch nicht sinnvoll mit der Execute-Funktionalitaet zur Verzoegerung zusammen.
Und auch von None einfach auf 0 zu wechseln, aber gleichzeitig den is-Operator beizubehalten, ist nicht richtig.
Offensichtlich ueberfordert dich die Komplexitaet deines Problems. Das ist ja nicht weiter wild, das wirst du schon lernen. Aber dadurch, das du aus einem einfachen Beispiel erstmal ein kompliziertes machst, und danach dann feststellst "ja, geht nicht", wobei die Fehlerursachen irgendwo liegen koennen, machst du dir das selbst schwerer, als es noetig ist. Und uns. Denn so kann ich nur sagen "geht halt nicht".
Re: Threads oder Unterprogramme?
Verfasst: Montag 24. September 2018, 22:30
von Nemi
UPDATE: Problem gelöst. Es lag am falschen Verständnis für Variablen.
Globale Variablen werden in Python anders angelegt und genutzt als in autoit und ähnlichem.
Danke für die ganzen Tips und Hilfestellungen <3