Retocando nuestro Bot de Telegram

telegram-buttom

Hace unas cuantas semanas les había explicado como crear un bot de Telegram. En esa entrada lo que hicimos fue como se dice en la jerga de los programadores “hardcodear” nuestro Token que nos da @BotFather, es decir, meter a mano en una variable el token para que después se vincule el bot con nuestro código y se pueda usar.

Haciendo esto tenía un problema, al querer guardar y dejar mi código en Github tenía que, una vez pusheado el código, modificar en Github el token, sacándolo ya que cualquiera podría tomar el control sobre mi bot con ese Token (a menos que cambie el nro de token constantemente).

Esto era algo que me molestaba mucho, asi que investigué un poco (perdón a los programadores mas expertos de Python, como yo estoy empezando esto no lo sabía) y vi que podía crear un archivo .py aparte para usarlo como librería y guardar mi token ahí y al hacer un push de mi código no tengo que modificar nada en el archivo sino que solamente no tengo que pushear esa librería creada o en todo caso agregarla al archivo .gitignore para que git ni siquiera me pregunte que quiere que haga con ese archivo.

Asi que les voy a mostrar como hacer eso:

  1. Vamos a crear un archivo llamado token.py el cual solo contendrá nuestro token guardado en una variable, de la siguiente manera: token_id='el token propiamente dicho con comillas simples'
  2. En nuestro archivo commands.py o el archivo principal que creamos para el bot vamos a importar nuestro archivo como librería escribiendo: import token Esto lo escribimos debajo de los mismos import que tenemos anteriormente en el código.
  3. En nuestra varible TOKEN que habíamos creado vamos reemplazar el token puesto por la variable de nuestra librería creada. Por ejemplo: TOKEN = token.token_id Esto hace que llamemos a la librería y con el punto indicamos que variable de la librería queremos.

Guardamos y listo. Podemos commitear nuestro código sin tener que estar cambiando el token después y ver que nadie nos lo robe. Al no tener datos constantes impuestos hace también que el código pueda ser reutilizado de una manera muy sencilla para otras cosas.

Les recomiendo tambien chequear el post de @Zagur el cual nos enseña como utilizar un bot para poder ejecutar scripts bash o incluso comandos en nuestras distros linux.

Les dejo algunas imágenes para que vean los resultados:

Paso 1 - Archivo token.py: token1

Paso 2 - Se importa la librería creada: token2

Paso 3 - Se ingresa la variable creada en el archivo token.py en nuestro código principal token3

Ante cualquier duda pueden dejarme cualquier comentario o pueden enviarme un mail a neoranger@openmailbox.org

Escrito el February 1, 2016