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?
Threads oder Unterprogramme?
- __blackjack__
- User
- Beiträge: 13103
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@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.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Ok ich habe jetzt __deets__ Beispiel eingebaut.
Entweder der Bot schreibt gar nichts oder Endlosschleife. (je nach Typ der Variable, int str)
bzw.
Es scheint ja irgendwas zu funktionieren, aber halt nicht so wie es soll xD
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
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
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.
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
ich teste jetzt erstma mit den 2 variablen, was die überhaupt abliefern.
melde mich mit erkenntnissen oder verzweiflung
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".
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".