Steem Messeger Version Alpha 1.02 (Presentación y guía de uso)

in Colombia-Original6 days ago (edited)

Registro 3: 1/08/2025 - Steem Messeger Version Alpha 1.02
Versión de Python: 3.10
Modulo para interactuar: beem
Asistente AI (para programación): Microsoft Copilot
Objetivo: Presentar una versión 100% funcional, establecer este artículo como una guía de usuario, suministrar la aplicación para Windows (.exe) y código fuente

Han sido días (y algunas noches) de mucho trabajo, de editar código, crear funciones, materializar ideas, insultar a Microsoft Copilot por su falta de capacidad para aportar soluciones eficientes y su gran habilidad para dañar funciones que ya estaban operativas, ser insultado por Microsoft Copilot porque el bicho ya sabe defenderse, aprender, reír y todo menos aburrimiento. La mejor parte es cuando miras un producto totalmente funcional y sientes ese orgullo en el pecho en saber que es el fruto de todo tu esfuerzo, especialmente porque es algo que querías ver materializado con todo tu corazón.

En los artículos anteriores presenté La Idea, y en siguiente ya teníamos un script funcional capaz de recibir mensajes encriptados o no encriptados desde STEEM y pasarlos al bot de telegram totalmente legible.

El siguiente paso se suponía que era agregar mejoras al script para conseguir enviar mensajes desde Telegram a STEEM, sinceramente fue algo que logré al día siguiente, pero me di de cuenta que por ese camino terminaría con muchos artículos llenos de códigos e información técnica en mi blog antes de lograr el objetivo y la verdad no creo que sea algo conveniente, especialmente porque no hay seguridad que todos mis lectores estén familiarizados con Python, scripts, módulos y todas esas cosas que no conocen, no les importa y no instalaran en sus computadoras para probar los scripts.

Así que decidí hablar (publicar) menos y trabajar más hasta obtener algo que cualquiera pueda utilizar sin necesidad de mirar algún código, solo abrir y chatear. Soy así de impaciente, si es algo que puedo hacer ahora lo haré y no esperaré de forma innecesaria, así que es para mí todo un honor presentar ante ustedes la primera versión funcional desde un .exe (portable) de Steem Messenger.

image.png
Interfaz de usuario

Tengo muchas cosas que decir y explicar, pero no quiero saturar el artículo así que a partir de aquí esto se convierte en solo dar los detalles importantes sobre la aplicación.

Ya que el articulo promete ser largo te suministro un índice para que puedas encontrar la información que sea más importante para ti con mayor rapidez guiándote por los subtítulos:

Índice
📁 Sobre el Archivo

💬 ¿Qué es Steem Messenger Version Alpha 1.02?

Manejo de Credenciales

📤 Envío de mensajes desde la aplicación Steem Messenger

📥 Recepción de mensajes desde STEEM en la aplicación Steem Messenger

🔁 Espejo en Telegram

🚫 Manejo de LISTA NEGRA (Blacklist)

⚠️ Manejo de Errores

📎 Enlaces para descargar

🛡️ Aviso de seguridad super importante

Sobre el Archivo

SteemMessenger_alpha_v1.exe es un archivo compilado mediante pyinstaller de un script creado en Python 3.10, la interfaz de usuario (GUI) ha sido creada dentro del mismo script con tkinter.

El archivo tiene un peso de 33.8 MB y es compatible con Windows 8+, probablemente corra en Windows 7 pero no es algo que haya probado así que no lo puedo garantizar, la versión de Windows debe ser de 64 Bits.

Para ejecutar el archivo no necesitas instalar Python ni los módulos utilizados ya que el .exe lleva integrado todo lo que necesita para funcionar sin problemas, tu disfrutas más y sufres menos buscando y descargando cosas, aunque, es posible (tal vez no) que te haga descargar Microsoft Visual C++ Redistributable, si lo hace ya sabes dónde encontrarlo 😉.

Ya que es un archivo compilado de la forma más básica posible es probable que algún mecanismo de seguridad como antivirus, Windows Defender, Smart Screen u otro lo detecten como virus o poco seguro, es tu decisión confiar en mi creación (siempre y cuando la hayas descargado de un enlace provisto por mí) o detenerte en ese punto.

¿Qué es Steem Mensenger Version Alpha 1.02?

Para mí un sueño hecho realidad, para ti una aplicación creada para correr en Windows de manera portable sin necesidad de instalar nada, en palabras simples su función es permitir que usuarios de Steem puedan enviarse mensajes con una interfaz amigable con capacidad de espejo en la app de Telegram.

¿Qué hace? ¿Cómo usarla?

A partir de aquí te muestro una guía descriptiva e ilustrada sobre el uso de la aplicación para que podamos usarla sin problemas.

image.png

  1. Nombre del archivo y versión
  2. Nombre de la aplicación y Logo
  3. Espacio donde introduces tu nombre de usuario de Steem (el que enviará y recibirá mensajes) sin @.
  4. Los métodos disponibles para cargar tus llaves, debes escoger entre uno de ellos.
  5. Botón para cargar el usuario y llaves que se usaran en la aplicación.
  6. Botón para establecer la conexión y comenzar a enviar/recibir mensajes.
  7. Selector para crear o no espejo en Telegram
  8. Cuadro de notificaciones donde aparecerán los mensajes enviados, recibidos, errores, y prints del proceso.
  9. Cuadro para entrada de texto para escribir y enviar mensajes (se puede enviar mediante la tecla intro o el botón SEND)
  10. Botón SEND para enviar los mensajes que estén en el cuadro para entrada de texto.
  11. Botón que abrirá el navegador y te traerá hasta este artículo para que obtengas información en esta guía que con mucho cariño estoy escribiendo para ti.
  12. Créditos 😎.

Manejo de Credenciales

Steem Messenger versión Alpha 1.02 requiere las siguientes credenciales para funcionar correctamente:

  • TELEGRAM_TOKEN: Este es un token obtenido de Telegram y servirá para poder registrar tus operaciones en la API de Telegram, es necesario para que Steem Messenger pueda interactuar con la aplicación de Telegram. La forma de obtenerlo ya fue explicada en el artículo Una idea un proyecto: STEEM MESSENGER - STEEM <-> TELEGRAM PARTE 1

  • CHAT_ID: Es un identificador de Telegram que sirve para apuntar a donde van tus mensajes y de dónde vienen, míralo como un número de identificación que le asigna Telegram a tu Bot de Telegram para que se le puedan enviar mensajes desde la API. Steem Messenger lo requiere para que todos los mensajes se procesen en el chat con el bot de Telegram de forma correcta. La forma de obtenerlo ya fue explicada en el artículo Una idea un proyecto: STEEM MESSENGER - STEEM <-> TELEGRAM PARTE 1

  • STEEM_MEMO_KEY: Se trata de la clave memo privada asociada a tu cuenta de Steem, esta clave se usa para encriptar y desencriptar los memos que están incluidos en la transferencia de fondos que haces desde tu wallet de Steem, solo sirve para eso, se obtiene en tu wallet de steem en la sección permisos - Memo Key. Steem Messenger es una aplicación de mensajería con prioridad en la privacidad, por eso todos los mensajes desde la aplicación son encriptados de forma automática antes de ser enviados, la STEEM_MEMO_KEY es necesaria para hacer esta encriptación bajo la misma arquitectura que lo hace STEEM y además poder recibir mensajes encriptados desde STEEM y desencriptarlos correctamente.

  • *
    STEEM_ACTIVE_KEY:
    Esta es la que usas para acceder a tu SteemWallet y hacer transferencias, la encuentras en tu Wallet, Permisos - Active Key, la necesidad de Steem Messenger para el uso de esta clave ha sido para mí la mayor causa de preocupación, Steem Messenger usa esta clave para hacer transferencias, los mensajes, para poder ser encriptados están basados en memos, y no se pueden enviar memos sin transferir nada, cada mensaje enviado de Steem Messenger irá acompañado de una transferencia por un valor de 0.001 STEEM al receptor del mensaje. Steem Messenger solo se conecta con la API de STEEM y la API de Telegram, no envía ni recibe datos entre otros servidores. Aun así, no puedo pedirte que confíes en mí, es por eso que también daré el Script con que fue creada la aplicación para que sea auditada y el comando para que la puedas compilar por ti mismo desde el script donde todo el código está claro.

Como se señala en el punto 4 hay 3 formas para cargar las llaves y hacer funcionar la aplicación:

  • Mediante Credenciales Genéricas en Windows (Embedded keys in the system): Este método consiste en guardar las llaves en forma de credenciales en el sistema operativo, permanecerán ahí encriptadas y cuando escojas la opción Embedded keys in the system la aplicación las tomará del sistema operativo. Para hacerlo busca (en la barra de búsquedas del sistema operativo) Administrador de credenciales y ve a Credenciales de Windows

image.png

Luego busca Credenciales Genéricas y das clic en Agregar una Credencial Genérica

image.png

se abrirá una ventana como esta:

image.png

De esa forma registramos nuestras credenciales en el sistema operativo, debes guardarla con los datos que te daré a continuación que es donde la aplicación las buscará, de lo contrario no va a encontrarlas.

  • Steem Active

image.png

  • Steem Memo Key
    image.png

  • TELEGRAM_TOKEN

image.png

  • CHAT_ID

image.png

En dirección de red o internet colocas lo mismo que yo al igual que en Usuario, en contraseña va la llave que corresponda, lo que hace el sistema es que encapsula las llaves y cuando la app las quiere tomar apunta a esa dirección de red o internet y toma lo que está dentro de ese usuario, colocar algo distinto es como darle a la aplicación una dirección equivocada donde buscar.

image.png

  • La segunda opción (Load keys from .txt file) es menos complicada pero implica tener tus contraseñas en un archivo .txt en la misma carpeta donde está la aplicación, el archivo se debe llamar keys.txt y dentro debe contener las llaves en el siguiente formato:

image.png
Las contraseñas aquí mostradas no pertenecen a ninguna cuenta, solo se generaron con fines ilustrativos

El mismo nombre para la variable, sin espacios entre el nombre de la variable, el signo de igualdad y la contraseña.

image.png

  • La tercera opción (Enter keys manually) no requiere tener las contraseñas almacenadas en el computador, sin embargo, tendrás que introducirlas una a una cada vez que ejecutes la aplicación y elijas esa opción.

En caso de escoger la tercera opción se te solicitaran de una en una las llaves desde el cuadro de notificaciones, podrás introducir la llave correspondiente desde el cuadro para entrada de texto, pero no debes dar intro (del teclado) ni SEND para que no se interprete como un intento de enviar un mensaje, en este caso aparecerá un botón temporal llamado Process Data.

image.png

Cuando se te solicita una contraseña luego de colocarla presionas Process Data para que se procese correctamente, primero solicita la Steem Active, luego la Steem Memo:

image.png

Luego el Token de Telegram

image.png

Y finalmente el Chat ID

image.png

Después que hayas cargado las claves usando cualquiera de los tres métodos posibles, si todo fue correcto verás el mensaje:
✅ Keys loaded and validated successfully.

Y se habilitará el botón "Start Messenger", puedes pulsarlo para comenzar a usar la aplicación (Si vas a usar Telegram como espejo debe estar marcada la casilla Connect Telegram cuando pulsas este botón).

image.png

Envío de mensajes desde la aplicación Steem Messeger

El formato para enviar mensajes es el siguiente:
ususario: Mensaje

Te dejo una imagen de ejemplo:

image.png

Luego puedes pulsar la tecla intro en tu teclado o el botón SEND en la aplicación y el mensaje se enviará, lo veras en el cuadro de notificaciones junto con una confirmación que indica si se envió o falló.

image.png

Donde
To: A quien enviaste
MSG: El mensaje que enviaste
BID: El monto que se usó en la transferencia para enviar el mensaje (siempre 0.001 STEEM)
✅ Message sent to 'creating' with encrypted memo. = Confirma que el mensaje fue enviado o indica si no se envió por algún error (todos los mensajes son encriptados antes de ser enviados)

La ventaja de usar el método de transferencias para enviar mensajes son básicamente 2:

  1. Los mensajes son encriptados y no pasan por ningún servidor centralizado por lo tanto hay una privacidad al más alto nivel en la que solo conocerán el contenido del mensaje quien lo ha enviado y a quien se le ha enviado.

  2. El destinatario puede ser cualquier usuario de STEEM y no tiene que estar corriendo Steem Messenger para ver el mensaje o eviarte mensajes a Steem Messenger ya que todo está ocurriendo en las SteemWallet del emisor y el receptor de manera simultánea que en Steem Messenger.

image.png
image.png

Recepción de mensajes desde STEEM en la aplicación Steem Messeger

Cuando la aplicación está corriendo, todas las transferencias que recibas en tu Wallet de Steem serán recibidas por Steem Messenger en forma de mensajes tomando el memo de la transferencia como contenido del mensaje.

¡No importa si es un mensaje público o encriptado, podrás recibirlo en Steem Messenger!

image.png

Como puedes notar el mensaje llega con el siguiente formato:

FROM: Quien te ha enviado
MSG: El mensaje que te ha enviado (si inicia con # es porque se trata de un mensaje que te enviaron de forma encriptada)
BID: La cantidad de STEEM que te han transferido al enviarte el mensaje.
❌ Telegram bot is disabled. Esto aparece aquí para indicar que el espejo con Telegram está desactivado, por lo tanto, este mensaje no llegará a la aplicación de Telegram.

Espejo en Telegram

Si marcamos la opción Connect Telegram las cosas se pondrán aún más interesantes.

Este botón se puede marcar y desmarcar en cualquier momento, sin embargo, para que funcione debe estar marcado cuando presionas Start Messenger, luego de eso, mientras esté marcado podrás enviar mensajes a STEEM usando la aplicación Telegram en tu ordenador o teléfono y recibir los mensajes y avisos de Steem Messenger, el formato al enviar y recibir es el mismo que para Steem Messenger.

En Telegram los mensajes son enviados al bot que creamos en Telegram siguiendo las instrucciones de este articulo para que puedan ser procesados correctamente con tu aplicación Steem Messenger.

image.png

Steem Messenger es capaz de detectar cuando el mensaje ha sido enviado desde la aplicación Telegram y lo notifica antes de mostrar lo que se ha enviado con Telegram message received para indicar que se recibió un mensaje desde Telegram con los datos que luego muestra, finalmente toma los resultados del envió (si fue enviado o no) y los muestra, pero además los envía a Telegram para que llegue como una confirmación de que el mensaje fue enviado.

Cuando Connect Telegram está habilitado los mensajes recibidos desde Steem también se reflejan en Telegram

image.png

Steem Messenger puede manejar mensajes con un máximo de 1380 caracteres (limite que permite la blockchain de STEEM para el memo) y soporte de emojis.

Manejo de LISTA NEGRA (Blacklist)

Si, también pensé en todos esos SPAMs que llegan a la Wallet, no quiero que la aplicación se vea oscurecida por ellos, así que se ha integrado una blacklist para bloquear a usuarios no deseados, si su nombre está en la blacklist Steem Messenger ignorará el mensaje, al llegar dirá que está en blacklist y a Telegram nunca llegará ni mensaje ni notificación de recibo, aunque la opción Connect Telegram esté habilitada.

La blacklist es una función muy sencilla de manejar, se trata de un archivo con formato .txt que debe tener el nombre blacklist.txt y estar almacenado en el mismo lugar donde esta almacenada la aplicación Steem Messenger que estás corriendo.

El formato de la blacklist es el siguiente:

image.png

Si alguien que está en esa lista te envía un mensaje ocurre lo siguiente:

image.png

Manejo de Errores

He puesto un enorme esfuerzo por hacer que la aplicación sea capaz de manejar cualquier error que se me ocurrió pudiese cometer un usuario durante su uso indicándole lo que está haciendo mal para que pueda corregirlo, así que estoy seguro de que cualquiera la podrá usar incluso sin leer está guía tan larga y detallada que he escrito, la aplicación es capaz de:

  • Detectar cuando se está intentando ingresar con un usuario que no existe en STEEM
  • Cuando se está intentando ingresar con contraseñas que no pertenecen al usuario.
  • Cuando se intenta enviar un mensaje a un usuario que no existe.
  • Cuando se intenta enviar un mensaje que no cumple con el formato para enviar mensajes.
  • Cuando se intenta enviar un mensaje que supera el límite de los 1380 caracteres.
  • Entre muchos otros.

Aun así, recuerda que estamos en la fase Alpha, hay mucho que depurar, mejorar e implementar por lo tanto estaría agradecido si puedes probarla y dejarme tu apreciación o inquietudes en los comentarios.

Enlaces para descargar
  • Steem_Messenger.rar: Contiene SteemMessenger_alpha_v1.exe, keys.txt con las contraseñas de ejemplo para guiarte en el formato, solo reemplaza esas que no pertenecen a nadie por las tuyas correspondientes (si vas a usar la opción 2 para cargar contraseñas) y blacklist.txt para que puedas bloquear al usuario o usuarios de los que no quieras recibir mensajes.

Download Steem_Messenger.rar

  • SM_Source.rar: Contiene el archivo SteemMessenger_alpha_v1.py que lleva el código fuente desde donde se ha compilado la aplicación y el archivo requirements.txt que contiene la lista de módulos adicionales que debes instalar para que el script pueda correr sin problemas.

Download SM_Source.rar

Advertencia: Si vas a usar el archivo ejecutable .exe asegúrate de haberlo descargado desde el enlace suministrado por mí, ya que he compartido el código fuente personas con malas intenciones pueden crear replicas con código malicioso, por favor descarga solo desde los enlaces que el fabricante (Yo) ha proporcionado.

Sort:  

Wow, I didn't expect you to have an .exe ready so quickly. Congratulations! It must have been a lot of work, not to mention this elaborate post.

Gracias por la apreciación, la verdad he trabajado sin descanso porque quería tener lista esta versión funcional, por eso siento una gran satisfacción con el producto final, ahora voy a tomarme unos días de descanso mientras pienso en nuevas ideas a implementar, por ahora quiero implementar que traduzca mensajes recibidos en cualquier idioma a un idioma configurado para que puedas recibir todos los mensajes en ese idioma y buscar alternativas más confiables a las existentes para el manejo de contraseñas, también esperaré a ver si recibo apreciaciones o sugerencias de otros usuarios que la puedan probar, ya veremos.

Saludos amigo.!

 4 days ago 

Hola amigo, como has estado?

Oye de verdad te felicito, es usted terco como mula, ha logrado lo que se ha propuesto.
Me causa curiosidad ver como funciona steem messenger, sobre todo lo de usar telegram como espejo.
Tomé del post lo que pude entender porque tienes razón, es un lenguaje que pocos manejamos jejeje.

Saludos.

Libre de Plagio
Libre de Bot
#steemexclusive
club

Banner_de_LinkedIn_Tecnologia_Abstracto_Azul_y_Blanco_19.gif


Te sugiero votar por @cotina como Witness, sino sabes cómo hacerlo, podrías revisar esta publicación: https://steemit.com/hive-113376/@colombiaoriginal/colombia-original-apoyando-a-cotina-como-witness.

Hola amiga... cuando algo se me mete en la cabeza no tengo paz hasta no concretarlo... y esto es algo que llevaba tiempo ahi. Jeje..

Usarlo es simple, sin necesidad de códigos de programación ni nada. Solo descarga el archivo .exe le das soble clic y ya estará ahí. Cualquier cosa no dudes en preguntar y si lo llegas a probar me encantaría conocer tu opinión...