FRIKIdelTO

Barra progreso en bot Telegram

Apr 28th, 2020
641
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.51 KB | None | 0 0
  1. # MUESTRA UN MENSAJE Y UNA BARRA DE PROGRESO EN EL CHAT DEL BOT
  2. def procesando(texto, porcentaje, cid, mid):
  3.     vacia = '⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜'
  4.     llena = '⬛⬛⬛⬛⬛⬛⬛⬛⬛⬛'
  5.     cuadros = int(porcentaje/10)
  6.     barra = llena[0:cuadros] + vacia[0:10-cuadros]
  7.     str_porcentaje = str(porcentaje)
  8.     if len(str_porcentaje) == 1:
  9.         str_porcentaje = "  " + str_porcentaje
  10.     elif len(str_porcentaje) == 2:
  11.         str_porcentaje = " " + str_porcentaje
  12.     barra_y_porcentaje = texto + "\n" + barra + " <code>" + str_porcentaje + "%</code>"
  13.     if porcentaje == 0 and mid == 0: # la primera vez crea el mensaje
  14.         mensaje = bot.send_message(cid, barra_y_porcentaje, parse_mode='HTML')
  15.         return mensaje.message_id
  16.     else: # las demás veces edita el mensaje creado anteriormente
  17.         if porcentaje < 100: # si es menos del 100% se edita el mensaje
  18.             bot.edit_message_text(chat_id=cid, message_id=mid, text=barra_y_porcentaje, parse_mode='HTML')
  19.             return mid
  20.         else:
  21.             if porcentaje == 100: # si ha llegado al 100% se muestra la barra llena 1 segundo y luego se borra el mensaje
  22.                 bot.edit_message_text(chat_id=cid, message_id=mid, text=barra_y_porcentaje, parse_mode='HTML')
  23.                 time.sleep(1)
  24.                 bot.delete_message(cid, mid)
  25.             else: # si es más del 100% borra el mensaje (para cuando se produzcan errores en el proceso que llama esta función)
  26.                 bot.delete_message(cid, mid)
Advertisement
Add Comment
Please, Sign In to add comment