zunächst muss mich erst mal als ein Python-Neuling auten
Ich habe ein kleines Programm angepasst, in dem ich diverse Aktionen ausführen lassen möchte, sobald ich bei Telegram im Bot gewisse "Befehle" schreibe.
Also gebe ich z.B. Test ein, erscheint im Bot (testweise) die Nachricht "oh du verstehst mich". Soweit so gut.
Nun möchte ich per Befehl das "Endlos-Programm" beenden lassen.
Bei der Eingabe von "Ende" soll das Programm stoppen. Habe schon diverse Sachen wie sys.exit(), raise SystemExit ausprobiert, aber es läuft immer weiter.
Anbei das tolle Programm:
Code: Alles auswählen
import sys
import time
import telepot
import os
from telepot.loop import MessageLoop
def handle(msg):
content_type, chat_type, chat_id = telepot.glance(msg)
print(content_type, chat_type, chat_id)
if content_type == 'text':
bot.sendMessage(chat_id, msg['text'])
if msg['text'] == 'Test':
bot.sendMessage(chat_id, 'oh du verstehst mich')
elif msg['text'] == 'Start':
bot.sendMessage(chat_id, 'was soll denn gestartet werden?')
[b][color=#FF0000] elif msg['text'] == 'Ende':
bot.sendMessage(chat_id, 'Programm wird beendet')
exit()[/color][/b]
else: bot.sendMessage(chat_id, 'keine Ahnung was du möchtest')
print (chat_id)
print (bot)
bot = telepot.Bot('X64xxxxxxx:AxxxxxPMQexxxxxr5xxxGjxxxxTtixxxxhhxxx')
MessageLoop(bot, handle).run_as_thread()
print ('Listening ...')
# Keep the program running.
while 1:
time.sleep(10)
Danke schon mal und Grüße
Thomas