[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:

Captura de pantalla (79)

Captura de pantalla (80)

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»‘.


10 comentarios, deja el tuyo

Deja tu 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.

  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

  6.   Cesar P. Moreno dijo

    Esto me permitiria publicar en facebook, linkedin, y demas redes sociales? o no me enterado para que sirve…
    Linux lo domino bastante.