[Python] Publicar en redes sociales desde Telegram.

Por el simple hecho de ahorrar tiempo a la hora de publicar en redes sociales, cree un pequeño programa en Python con ayuda de los Bots de Telegram. El programa funciona de la siguiente manera: “Mensaje” > Bot en Python (API Telegram Py > Facebook API Py) > “Facebook” > “Twitter”. El programa es Open Source y funciona perfectamente en Linux, Windows y quizá OS X (Creo).

Instalación

Simplemente hay que clonar el repositorio de GitHub:

git clone https://github.com/XTickXIvanX/Telegram2FB.git

Instalamos los requerimientos:

pip install DictObject requests facebook-sdk

Creamos el Bot y obtenemos el token:

https://core.telegram.org/bots

Creamos una nueva app de Facebook:

https://developers.facebook.com/apps/

Una vez creada obtenemos nuestro access token en:

https://developers.facebook.com/tools/explorer/

Otorgamos los siguientes permisos al generarla:

Modificamos el archivo Run.py del programa y remplasamos los tres puntos de la variable API_KEY=”…” por el token de Telegram y los tres puntos de la variable graph = facebook.GraphAPI(access_token=’…’) por el token de Facebook.

Vinculamos nuestra cuenta de Twitter a Facebook para tuitear lo que publicamos en Facebook.

Ejecutamos el programa:
python Run.py

¡Ya esta!

Ahora solo queda abrir Telegram y enviar un mensaje(es) a nuestro Bot: ‘/publicar “Inserte aqui lo que desea publicar”‘.


9 comentarios

  1.   elav dijo

    Joder que genial.. Justo estaba buscando la forma de publicar en todas mis redes sociales al mismo tiempo 😀

    1. A mi me es útil para ahorrar un poco de pasta cuando salgo de casa y no hay una red WiFi abierta D:

  2.   K dijo

    Hola, buen aporte, peroal intentar en MAcOS, con python 2.7.6, , tengo este error:

    /Library/Python/2.7/site-packages/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.

    1.    K dijo

      Ya lo solucione, faltaban algunas dependecias a instalar.

      1. Perfecto! 😀 Si tienes alguno otro problema puedes reportarlo en https://github.com/XTickXIvanX/Telegram2FB/issues 😉

  3.   Matias dijo

    Como manejas para que no cualquiera pueda usar tu bot?

    1. Facil. En la linea 38 modificas “/publicar” por “/loquequierasperoqueotronosepa”, en la 40 modificas (“/publicar “, “”) por (“/loquequierasperoqueotronosepa “, “”) (El espacio es necesario).
      Así nadie podrá utilizarlo mas que tu.

  4.   Yasmany dijo

    Saludos he seguido todos los pasos y al correr el script se cierra de una vez, este es el error:

    Informacion del Bot: {u’ok’: True, u’result’: {u’username’: u’yacopy_bot’, u’first_name’: u’telegram2fb’, u’id’: my_id}}
    {u’message’: {u’date’: 1439307530, u’text’: u’/publicar “Hello”‘, u’from’: {u’first_name’: nombre, u’last_name’: apellido, u’id’: id}
    Traceback (most recent call last):
    File “Run.py”, line 43, in
    graph.put_wall_post(message=pong1)
    File “/usr/local/lib/python2.7/dist-packages/facebook.py”, line 159, in put_wall_post
    **attachment)
    File “/usr/local/lib/python2.7/dist-packages/facebook.py”, line 140, in put_object
    post_args=data)
    File “/usr/local/lib/python2.7/dist-packages/facebook.py”, line 297, in request
    response = _parse_json(e.read())
    File “/usr/lib/python2.7/dist-packages/simplejson/__init__.py”, line 488, in loads
    return _default_decoder.decode(s)
    File “/usr/lib/python2.7/dist-packages/simplejson/decoder.py”, line 370, in decode
    obj, end = self.raw_decode(s)
    File “/usr/lib/python2.7/dist-packages/simplejson/decoder.py”, line 389, in raw_decode
    return self.scan_once(s, idx=_w(s, idx).end())
    simplejson.scanner.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

  5.   Jame dijo

    Excelente…

    Necesito un bot para publicar desde Telegram en Twitter

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.