Telebot - mehrstufige Nachrichten
Verfasst: Freitag 13. September 2019, 16:40
Hallo,
kurz zu mir. Ich habe bis vor einem Monat noch keinerlei Sachen in Richtung programmieren unternommen.
Ich habe einen Raspberry Pi geschenkt bekommen und wollte damit ein bisschen rumspielen.
Ich kann deshalb auch nicht richtig programmieren, mein Code ist lediglich mehr oder weniger abgeschrieben bzw. was ich in anderen Codes verstanden habe, habe ich versucht für meinen zu nutzen.
Mit dieser Anleitung habe ich meinen Telegrambot erstellt: https://www.instructables.com/id/Set-up ... pberry-Pi/
Mein Problem ist nun:
Ich würde gern wie eine Art Untermenü aufrufen - z.B. ich schreibe dem Pi er soll herunterfahren und er "fragt" mich um wie viel Uhr und die gesendete Uhrzeit soll verwendet werden. (command 6 im code)
Ich habe auch schon mal gelesen, dass es die Möglichkeit gibt mit Buttons zu arbeiten die die Antwortmöglichkeiten zeigen aber nie richtig verstanden....
Ich habe schon eingies versucht aber nie hinbekommen, hoffe ihr könnt mir weiterhelfen.
Danke im Voraus
kurz zu mir. Ich habe bis vor einem Monat noch keinerlei Sachen in Richtung programmieren unternommen.
Ich habe einen Raspberry Pi geschenkt bekommen und wollte damit ein bisschen rumspielen.
Ich kann deshalb auch nicht richtig programmieren, mein Code ist lediglich mehr oder weniger abgeschrieben bzw. was ich in anderen Codes verstanden habe, habe ich versucht für meinen zu nutzen.
Mit dieser Anleitung habe ich meinen Telegrambot erstellt: https://www.instructables.com/id/Set-up ... pberry-Pi/
Mein Problem ist nun:
Ich würde gern wie eine Art Untermenü aufrufen - z.B. ich schreibe dem Pi er soll herunterfahren und er "fragt" mich um wie viel Uhr und die gesendete Uhrzeit soll verwendet werden. (command 6 im code)
Ich habe auch schon mal gelesen, dass es die Möglichkeit gibt mit Buttons zu arbeiten die die Antwortmöglichkeiten zeigen aber nie richtig verstanden....
Ich habe schon eingies versucht aber nie hinbekommen, hoffe ihr könnt mir weiterhelfen.
Danke im Voraus

Code: Alles auswählen
import sys
import time
import random
import telepot
import os
import datetime
import urllib
time.sleep(20) # Zeit bis Pi hochgefahren ist und WLAN steht
def start(): # Nachricht, wenn Pi hochgefahren ist
chat_id = #xxxxxxxxx
bot.sendMessage(chat_id, str("online"))
def getTime(value):
if value == "Zeit":
return '{:%H:%M:%S}'.format(datetime.datetime.now())
elif value=="Stunde":
return '{:%H}'.format(datetime.datetime.now())
elif value == "Minute":
return '{:%M}'.format(datetime.datetime.now())
def handle(msg):
chat_id = msg ['chat']['id']
command = msg ['text']
Zeit = getTime("Zeit")
print ('Resived: %s') % command
if command == '/command1': # Zufallszahl
print Zeit
bot.sendMessage(chat_id, random.randint(1,100))
elif command == '/command2': # aktuelle Zeit
print Zeit
bot.sendMessage(chat_id, (Zeit))
elif command == '/command3': # Pi auschalten
print Zeit
bot.sendMessage(chat_id, ("fahre herunter"))
print "herunterfahren"
os.system("sudo shutdown -h now")
sys.exit()
elif command == '/command4': # Pi neustarten
print Zeit
bot.sendMessage(chat_id, ("starte neu"))
print "Neustart"
os.system("sudo shutdown -r now")
sys.exit()
elif command == '/command5': # Snapshot von Dax
print Zeit
urllib.urlretrieve("https://www.boerse-frankfurt.de/assets/dax_cam/daxcam_big.jpg?reload=0.02539507756348014","daxcam_big.jpg")
time.sleep(3)
bot.sendMessage(chat_id, ("Dax (realtime):"))
bot.sendDocument (chat_id, document = open("/home/pi/daxcam_big.jpg"))
time.sleep(3)
os.remove("/home/pi/daxcam_big.jpg")
#-----------------------------------------------------------
elif command == '/command6': # mit Uhrzeit herunterfahren
bot.sendMessage(chat_id, ("Um wie viel Uhr soll der Pi heruntergefahren werden?"))
# warten auf Eingabe der Uhrzeit
bot.sendMessage(chat_id,("herunterfahren um x Uhr"))
#-----------------------------------------------------------
bot = telepot.Bot('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')
bot.message_loop(handle)
Stunde = getTime("Stunde")
Minute = getTime("Minute")
print "I am listening..."
print "Startzeit:",Stunde,":",Minute,"Uhr"
print
start()
while 1:
Zeit = getTime ("Zeit")
Stunde = getTime ("Stunde")
Minute = getTime ("Minute")
hour = int(Stunde)
min = int(Minute)
time.sleep(10)
if hour == 23 and min == 15: # Pi nach Uhrzeit herunterfahren
print ("automatisch ausschalten")
print (Zeit)
chat_id = #xxxxxxxxxxxx
bot.sendMessage(chat_id, str("Zeit zum Ausschalten"))
time.sleep(10)
os.system("sudo shutdown -h now")
sys.exit()