Salve ragazzi, stamattina ho sviluppato(o almeno ci ho provato) un bot Telegram da usare con gli amici. Sul pc questo mi funziona perfettamente, il problema è che non so come metterlo su openshift. Ci ho provato seguendo dei tutorial su youtube inserendo in diversi modi il codice nel file wsgi ma incorro sempre in errori e non funziona mai. Mi chiedevo se dovessi gestire manualmente le richieste http ma se così fosse vi chiederei da dove iniziare visto che sono ignorante in materia.
Allego il codice del bot(non me ne vogliate se è scadente)
Spoiler: |
Codice:
import telegram
import time
bot = telegram.Bot(token = '***TOKEN***')
print (bot.getMe())
x = 0
LAST_UPDATE_ID = None
nuovoMessaggio = False
comandi = {'/ciao':'Buongiorno anche a te', '/coso':'coso a te!'}
Ultimo_messaggio = bot.getUpdates()[-1].update_id - 1
def main(nuovoMessaggio):
global Ultimo_messaggio
global x
AggiornaID()
#if x == 0:
#print('vecchio messaggio = ' +str(Ultimo_messaggio))
#print('nuovo = ' + str(nuovoMessaggio))
#x = 1
if nuovoMessaggio > Ultimo_messaggio:
Ultimo_messaggio = Ultimo_messaggio + 1
print('vecchio messaggio = ' +str(Ultimo_messaggio))
Bot()
x = 0
return
def gestisciMessaggio(testo, IdChat):
#print('entro in gestisci messaggio')
comando = testo
if comando in comandi:
#print('comando presente')
risposta = comandi[comando]
bot.sendMessage(chat_id = IdChat, text = risposta)
else:
#print('comando assente')
#print(comando)
risposta = "Comando sconosciuto"
return
def Bot():
#print('LastupdateID =' + str(LAST_UPDATE_ID))
for update in bot.getUpdates(offset = LAST_UPDATE_ID):
#print('Visualizzo l''update con id ' + str(LAST_UPDATE_ID))
print(update)
if update.message and update.update_id == LAST_UPDATE_ID:
#print('e un messaggio')
messaggio =update.message
testoMess = messaggio.text
IdChat = messaggio.chat_id
gestisciMessaggio(testoMess, IdChat)
else:
#print('non e un messaggio')
risposta = "Posso rispondere solo a messaggi di testo"
bot.sendMessage(chat_id = IdChat, text = risposta)
return
def AggiornaID():
time.sleep(1)
global LAST_UPDATE_ID
try:
LAST_UPDATE_ID = bot.getUpdates()[-1].update_id
except (IndexError):
LAST_UPDATE_ID = None
return
while True:
try:
LAST_UPDATE_ID = bot.getUpdates()[-1].update_id
except (IndexError):
LAST_UPDATE_ID = None
while True:
main(LAST_UPDATE_ID)
|
Illuminatemi vi prego.
Grazie a tutti anticipatamente.