Questo forum utilizza i cookies
Questo forum fa uso di cookie per migliorare l'esperienza utente. I cookie sono piccoli file di testo memorizzati sul tuo browser. I cookie impostati dal forum possono essere utilizzati solo su questo sito e non costituiscono rischio per la sicurezza, vengono utilizzati unicamente per memorizzare le tue preferenze. Navigando sul sito accetti che RaspberryItaly installi i cookie sul tuo browser.
Per maggiori informazioni consulta l'informativa sui Cookie di RasberryItaly

Un cookie verra memorizzato nel browser indipendentemente dalla scelta per evitare che questa domanda ti venga posta di nuovo. Sarai in grado di modificare le impostazioni dei cookie in qualsiasi momento utilizzando il link nel footer.
  • Benvenuti su RaspberryItaly!
Benvenuto ospite! Login Login con Facebook Registrati Login with Facebook


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Tags
telegram python da principiante con problema

[Problema] problema da principiante con Python-Telegram
#4
Avevo già guardato rpinotify, ma per il mio utilizzo mi sembrava esagerato. Curiosando un po' sono riuscito a mettere insieme questo. Arrivato fino a qui mi piacerebbe farlo funzionare....
Il problema è che se invio un comando al raspberry dopo non mi esegue l'invio dei messaggi (testo e audio) a telegram e viceversa.
Riesco far rimanere in attesa le due funzioni contemporaneamente sino a quando non ne esegue una dopodichè esegue solo quella.
Codice:
import sys
import os
import telepot
import datetime
import time
import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BCM)
GPIO.setup(16, GPIO.IN, pull_up_down=GPIO.PUD_UP)
input_state = GPIO.input(16)
"""
Ctrl-C per uscire.
"""


id_a = [111111,2222222,3333333,4444444,5555555]


def handle(msg):
   chat_id = msg['chat']['id']
   command = msg['text']
   sender = msg['from']['id']

   print 'Got command: %s' % command
   
     
   if sender in id_a:
      if command == '/ciao':
          bot.sendMessage(chat_id, 'Hei, ciao!')
       
      elif command == '/riavvia':
          bot.sendMessage(chat_id, 'Riavvio in corso...')
          os.system("sudo reboot")
#fine invio comandi al raspberry da telegram inizio codice invio messaggi da raspberry a Telegram
   while True:
       if input_state == False:    
           bot.sendMessage(chat_id, 'Messaggio di testo') #invio messaggio di testo
           time.sleep(3)#tempo in secondi dal messaggio di testo all'inizio registrazione messaggio
           os.system("arecord -d 20 -f cd -t raw -D plughw:1 | oggenc - -r -o f.ogg") #registra il messaggio e lo converte in file.ogg
           bot.sendAudio(chat_id, open('f.ogg', 'rb'), title='audio')#invia il file.ogg
   
      else:
           bot.sendMessage(chat_id, 'Non sei autorizzato a darmi ordini!')
           bot.sendMessage(chat_id, sender)
     

bot = telepot.Bot('il mio token')
bot.message_loop(handle)


while 1:
   time.sleep(10)
Risposta
  


Messaggi in questa discussione
RE: problema da principiante con Python-Telegram - da farinel - 22/01/2018, 21:04

Vai al forum:


Navigazione: 1 Ospite(i)
Forum con nuovi Post
Forum senza nuovi post
Forum bloccato
Forum Redirect